fabric 6.0.0-beta16 → 6.0.0-beta18

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 (379) hide show
  1. package/.gitpod.yml +4 -0
  2. package/.prettierignore +1 -0
  3. package/CHANGELOG.md +39 -0
  4. package/dist/fabric.d.ts +1 -0
  5. package/dist/fabric.d.ts.map +1 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +2319 -2305
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.min.js +1 -1
  10. package/dist/index.mjs +2319 -2306
  11. package/dist/index.mjs.map +1 -1
  12. package/dist/index.node.cjs +2330 -2318
  13. package/dist/index.node.cjs.map +1 -1
  14. package/dist/index.node.d.ts.map +1 -0
  15. package/dist/index.node.mjs +2330 -2319
  16. package/dist/index.node.mjs.map +1 -1
  17. package/dist/src/ClassRegistry.d.ts +1 -1
  18. package/dist/src/ClassRegistry.d.ts.map +1 -0
  19. package/dist/src/Collection.d.ts.map +1 -0
  20. package/dist/src/CommonMethods.d.ts.map +1 -0
  21. package/dist/src/EventTypeDefs.d.ts +4 -4
  22. package/dist/src/EventTypeDefs.d.ts.map +1 -0
  23. package/dist/src/Intersection.d.ts.map +1 -0
  24. package/dist/src/LayoutManager/LayoutManager.d.ts +9 -0
  25. package/dist/src/LayoutManager/LayoutManager.d.ts.map +1 -0
  26. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.d.ts.map +1 -0
  27. package/dist/src/LayoutManager/LayoutStrategies/FitContentLayout.d.ts.map +1 -0
  28. package/dist/src/LayoutManager/LayoutStrategies/FixedLayout.d.ts.map +1 -0
  29. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +0 -4
  30. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +1 -0
  31. package/dist/src/LayoutManager/LayoutStrategies/utils.d.ts.map +1 -0
  32. package/dist/src/LayoutManager/constants.d.ts.map +1 -0
  33. package/dist/src/LayoutManager/index.d.ts.map +1 -0
  34. package/dist/src/LayoutManager/types.d.ts +0 -1
  35. package/dist/src/LayoutManager/types.d.ts.map +1 -0
  36. package/dist/src/Observable.d.ts.map +1 -0
  37. package/dist/src/Pattern/Pattern.d.ts +2 -2
  38. package/dist/src/Pattern/Pattern.d.ts.map +1 -0
  39. package/dist/src/Pattern/index.d.ts.map +1 -0
  40. package/dist/src/Pattern/types.d.ts +4 -1
  41. package/dist/src/Pattern/types.d.ts.map +1 -0
  42. package/dist/src/Point.d.ts.map +1 -0
  43. package/dist/src/Shadow.d.ts.map +1 -0
  44. package/dist/src/brushes/BaseBrush.d.ts.map +1 -0
  45. package/dist/src/brushes/CircleBrush.d.ts.map +1 -0
  46. package/dist/src/brushes/PatternBrush.d.ts.map +1 -0
  47. package/dist/src/brushes/PencilBrush.d.ts.map +1 -0
  48. package/dist/src/brushes/SprayBrush.d.ts.map +1 -0
  49. package/dist/src/brushes/typedefs.d.ts.map +1 -0
  50. package/dist/src/cache.d.ts.map +1 -0
  51. package/dist/src/canvas/Canvas.d.ts +0 -16
  52. package/dist/src/canvas/Canvas.d.ts.map +1 -0
  53. package/dist/src/canvas/CanvasOptions.d.ts +1 -4
  54. package/dist/src/canvas/CanvasOptions.d.ts.map +1 -0
  55. package/dist/src/canvas/DOMManagers/CanvasDOMManager.d.ts.map +1 -0
  56. package/dist/src/canvas/DOMManagers/StaticCanvasDOMManager.d.ts.map +1 -0
  57. package/dist/src/canvas/DOMManagers/util.d.ts.map +1 -0
  58. package/dist/src/canvas/SelectableCanvas.d.ts +17 -11
  59. package/dist/src/canvas/SelectableCanvas.d.ts.map +1 -0
  60. package/dist/src/canvas/StaticCanvas.d.ts +5 -6
  61. package/dist/src/canvas/StaticCanvas.d.ts.map +1 -0
  62. package/dist/src/canvas/StaticCanvasOptions.d.ts.map +1 -0
  63. package/dist/src/canvas/TextEditingManager.d.ts.map +1 -0
  64. package/dist/src/canvas/canvas_gestures.mixin.d.ts.map +1 -0
  65. package/dist/src/color/Color.d.ts.map +1 -0
  66. package/dist/src/color/color_map.d.ts.map +1 -0
  67. package/dist/src/color/constants.d.ts.map +1 -0
  68. package/dist/src/color/typedefs.d.ts.map +1 -0
  69. package/dist/src/color/util.d.ts.map +1 -0
  70. package/dist/src/config.d.ts.map +1 -0
  71. package/dist/src/constants.d.ts.map +1 -0
  72. package/dist/src/controls/Control.d.ts.map +1 -0
  73. package/dist/src/controls/changeWidth.d.ts.map +1 -0
  74. package/dist/src/controls/commonControls.d.ts.map +1 -0
  75. package/dist/src/controls/controlRendering.d.ts.map +1 -0
  76. package/dist/src/controls/drag.d.ts.map +1 -0
  77. package/dist/src/controls/fireEvent.d.ts.map +1 -0
  78. package/dist/src/controls/index.d.ts.map +1 -0
  79. package/dist/src/controls/polyControl.d.ts.map +1 -0
  80. package/dist/src/controls/rotate.d.ts.map +1 -0
  81. package/dist/src/controls/scale.d.ts.map +1 -0
  82. package/dist/src/controls/scaleSkew.d.ts.map +1 -0
  83. package/dist/src/controls/skew.d.ts.map +1 -0
  84. package/dist/src/controls/util.d.ts +1 -1
  85. package/dist/src/controls/util.d.ts.map +1 -0
  86. package/dist/src/controls/wrapWithFireEvent.d.ts.map +1 -0
  87. package/dist/src/controls/wrapWithFixedAnchor.d.ts.map +1 -0
  88. package/dist/src/env/browser.d.ts.map +1 -0
  89. package/dist/src/env/index.d.ts +7 -1
  90. package/dist/src/env/index.d.ts.map +1 -0
  91. package/dist/src/env/node.d.ts.map +1 -0
  92. package/dist/src/env/types.d.ts +3 -3
  93. package/dist/src/env/types.d.ts.map +1 -0
  94. package/dist/src/filters/BaseFilter.d.ts.map +1 -0
  95. package/dist/src/filters/BlendColor.d.ts.map +1 -0
  96. package/dist/src/filters/BlendImage.d.ts.map +1 -0
  97. package/dist/src/filters/Blur.d.ts.map +1 -0
  98. package/dist/src/filters/Boilerplate.d.ts.map +1 -0
  99. package/dist/src/filters/Brightness.d.ts.map +1 -0
  100. package/dist/src/filters/Canvas2dFilterBackend.d.ts.map +1 -0
  101. package/dist/src/filters/ColorMatrix.d.ts.map +1 -0
  102. package/dist/src/filters/ColorMatrixFilters.d.ts.map +1 -0
  103. package/dist/src/filters/Composed.d.ts.map +1 -0
  104. package/dist/src/filters/Contrast.d.ts.map +1 -0
  105. package/dist/src/filters/Convolute.d.ts.map +1 -0
  106. package/dist/src/filters/FilterBackend.d.ts.map +1 -0
  107. package/dist/src/filters/GLProbes/GLProbe.d.ts.map +1 -0
  108. package/dist/src/filters/GLProbes/NodeGLProbe.d.ts.map +1 -0
  109. package/dist/src/filters/GLProbes/WebGLProbe.d.ts.map +1 -0
  110. package/dist/src/filters/Gamma.d.ts.map +1 -0
  111. package/dist/src/filters/Grayscale.d.ts.map +1 -0
  112. package/dist/src/filters/HueRotation.d.ts.map +1 -0
  113. package/dist/src/filters/Invert.d.ts.map +1 -0
  114. package/dist/src/filters/Noise.d.ts.map +1 -0
  115. package/dist/src/filters/Pixelate.d.ts.map +1 -0
  116. package/dist/src/filters/RemoveColor.d.ts.map +1 -0
  117. package/dist/src/filters/Resize.d.ts.map +1 -0
  118. package/dist/src/filters/Saturation.d.ts.map +1 -0
  119. package/dist/src/filters/Vibrance.d.ts.map +1 -0
  120. package/dist/src/filters/WebGLFilterBackend.d.ts +9 -7
  121. package/dist/src/filters/WebGLFilterBackend.d.ts.map +1 -0
  122. package/dist/src/filters/filters.d.ts.map +1 -0
  123. package/dist/src/filters/index.d.ts +1 -1
  124. package/dist/src/filters/index.d.ts.map +1 -0
  125. package/dist/src/filters/shaders/baseFilter.d.ts.map +1 -0
  126. package/dist/src/filters/shaders/blendColor.d.ts.map +1 -0
  127. package/dist/src/filters/shaders/blendImage.d.ts.map +1 -0
  128. package/dist/src/filters/shaders/blur.d.ts.map +1 -0
  129. package/dist/src/filters/shaders/brightness.d.ts.map +1 -0
  130. package/dist/src/filters/shaders/colorMatrix.d.ts.map +1 -0
  131. package/dist/src/filters/shaders/constrast.d.ts.map +1 -0
  132. package/dist/src/filters/shaders/convolute.d.ts.map +1 -0
  133. package/dist/src/filters/shaders/gamma.d.ts.map +1 -0
  134. package/dist/src/filters/shaders/grayscale.d.ts.map +1 -0
  135. package/dist/src/filters/shaders/invert.d.ts.map +1 -0
  136. package/dist/src/filters/shaders/noise.d.ts.map +1 -0
  137. package/dist/src/filters/shaders/pixelate.d.ts.map +1 -0
  138. package/dist/src/filters/shaders/removeColor.d.ts.map +1 -0
  139. package/dist/src/filters/shaders/saturation.d.ts.map +1 -0
  140. package/dist/src/filters/shaders/vibrance.d.ts.map +1 -0
  141. package/dist/src/filters/typedefs.d.ts.map +1 -0
  142. package/dist/src/filters/utils.d.ts +7 -0
  143. package/dist/src/filters/utils.d.ts.map +1 -0
  144. package/dist/src/gradient/Gradient.d.ts.map +1 -0
  145. package/dist/src/gradient/constants.d.ts.map +1 -0
  146. package/dist/src/gradient/index.d.ts.map +1 -0
  147. package/dist/src/gradient/parser/misc.d.ts.map +1 -0
  148. package/dist/src/gradient/parser/parseColorStops.d.ts.map +1 -0
  149. package/dist/src/gradient/parser/parseCoords.d.ts.map +1 -0
  150. package/dist/src/gradient/typedefs.d.ts +1 -1
  151. package/dist/src/gradient/typedefs.d.ts.map +1 -0
  152. package/dist/src/mixins/eraser_brush.mixin.d.ts.map +1 -0
  153. package/dist/src/parkinglot/canvas_animation.mixin.d.ts.map +1 -0
  154. package/dist/src/parkinglot/straighten.d.ts.map +1 -0
  155. package/dist/src/parser/applyViewboxTransform.d.ts.map +1 -0
  156. package/dist/src/parser/attributes.d.ts.map +1 -0
  157. package/dist/src/parser/constants.d.ts.map +1 -0
  158. package/dist/src/parser/doesSomeParentMatch.d.ts.map +1 -0
  159. package/dist/src/parser/elementMatchesRule.d.ts.map +1 -0
  160. package/dist/src/parser/elements_parser.d.ts.map +1 -0
  161. package/dist/src/parser/getCSSRules.d.ts.map +1 -0
  162. package/dist/src/parser/getGlobalStylesForElement.d.ts.map +1 -0
  163. package/dist/src/parser/getGradientDefs.d.ts.map +1 -0
  164. package/dist/src/parser/getMultipleNodes.d.ts.map +1 -0
  165. package/dist/src/parser/getSvgRegex.d.ts.map +1 -0
  166. package/dist/src/parser/hasInvalidAncestor.d.ts.map +1 -0
  167. package/dist/src/parser/loadSVGFromString.d.ts.map +1 -0
  168. package/dist/src/parser/loadSVGFromURL.d.ts.map +1 -0
  169. package/dist/src/parser/normalizeAttr.d.ts.map +1 -0
  170. package/dist/src/parser/normalizeValue.d.ts.map +1 -0
  171. package/dist/src/parser/parseAttributes.d.ts.map +1 -0
  172. package/dist/src/parser/parseFontDeclaration.d.ts.map +1 -0
  173. package/dist/src/parser/parsePointsAttribute.d.ts.map +1 -0
  174. package/dist/src/parser/parseSVGDocument.d.ts.map +1 -0
  175. package/dist/src/parser/parseStyleAttribute.d.ts.map +1 -0
  176. package/dist/src/parser/parseStyleObject.d.ts.map +1 -0
  177. package/dist/src/parser/parseStyleString.d.ts.map +1 -0
  178. package/dist/src/parser/parseTransformAttribute.d.ts.map +1 -0
  179. package/dist/src/parser/parseUseDirectives.d.ts.map +1 -0
  180. package/dist/src/parser/percent.d.ts.map +1 -0
  181. package/dist/src/parser/recursivelyParseGradientsXlink.d.ts.map +1 -0
  182. package/dist/src/parser/selectorMatches.d.ts.map +1 -0
  183. package/dist/src/parser/setStrokeFillOpacity.d.ts.map +1 -0
  184. package/dist/src/parser/typedefs.d.ts.map +1 -0
  185. package/dist/src/shapes/ActiveSelection.d.ts +8 -8
  186. package/dist/src/shapes/ActiveSelection.d.ts.map +1 -0
  187. package/dist/src/shapes/Circle.d.ts.map +1 -0
  188. package/dist/src/shapes/Ellipse.d.ts.map +1 -0
  189. package/dist/src/shapes/Group.d.ts +6 -4
  190. package/dist/src/shapes/Group.d.ts.map +1 -0
  191. package/dist/src/shapes/IText/DraggableTextDelegate.d.ts.map +1 -0
  192. package/dist/src/shapes/IText/IText.d.ts.map +1 -0
  193. package/dist/src/shapes/IText/ITextBehavior.d.ts.map +1 -0
  194. package/dist/src/shapes/IText/ITextClickBehavior.d.ts.map +1 -0
  195. package/dist/src/shapes/IText/ITextKeyBehavior.d.ts.map +1 -0
  196. package/dist/src/shapes/IText/constants.d.ts.map +1 -0
  197. package/dist/src/shapes/Image.d.ts +1 -1
  198. package/dist/src/shapes/Image.d.ts.map +1 -0
  199. package/dist/src/shapes/Line.d.ts.map +1 -0
  200. package/dist/src/shapes/Object/AnimatableObject.d.ts +1 -1
  201. package/dist/src/shapes/Object/AnimatableObject.d.ts.map +1 -0
  202. package/dist/src/shapes/Object/FabricObject.d.ts.map +1 -0
  203. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +1 -0
  204. package/dist/src/shapes/Object/InteractiveObject.d.ts +5 -2
  205. package/dist/src/shapes/Object/InteractiveObject.d.ts.map +1 -0
  206. package/dist/src/shapes/Object/Object.d.ts +3 -2
  207. package/dist/src/shapes/Object/Object.d.ts.map +1 -0
  208. package/dist/src/shapes/Object/ObjectGeometry.d.ts +4 -0
  209. package/dist/src/shapes/Object/ObjectGeometry.d.ts.map +1 -0
  210. package/dist/src/shapes/Object/ObjectOrigin.d.ts.map +1 -0
  211. package/dist/src/shapes/Object/StackedObject.d.ts.map +1 -0
  212. package/dist/src/shapes/Object/defaultValues.d.ts +46 -46
  213. package/dist/src/shapes/Object/defaultValues.d.ts.map +1 -0
  214. package/dist/src/shapes/Object/types/BaseProps.d.ts +30 -26
  215. package/dist/src/shapes/Object/types/BaseProps.d.ts.map +1 -0
  216. package/dist/src/shapes/Object/types/BorderProps.d.ts.map +1 -0
  217. package/dist/src/shapes/Object/types/ControlProps.d.ts.map +1 -0
  218. package/dist/src/shapes/Object/types/FabricObjectProps.d.ts +0 -30
  219. package/dist/src/shapes/Object/types/FabricObjectProps.d.ts.map +1 -0
  220. package/dist/src/shapes/Object/types/FillStrokeProps.d.ts.map +1 -0
  221. package/dist/src/shapes/Object/types/LockInteractionProps.d.ts.map +1 -0
  222. package/dist/src/shapes/Object/types/ObjectProps.d.ts +2 -10
  223. package/dist/src/shapes/Object/types/ObjectProps.d.ts.map +1 -0
  224. package/dist/src/shapes/Object/types/ObjectTransformProps.d.ts +34 -0
  225. package/dist/src/shapes/Object/types/ObjectTransformProps.d.ts.map +1 -0
  226. package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts.map +1 -0
  227. package/dist/src/shapes/Object/types/index.d.ts.map +1 -0
  228. package/dist/src/shapes/Path.d.ts +9 -9
  229. package/dist/src/shapes/Path.d.ts.map +1 -0
  230. package/dist/src/shapes/Polygon.d.ts.map +1 -0
  231. package/dist/src/shapes/Polyline.d.ts +5 -1
  232. package/dist/src/shapes/Polyline.d.ts.map +1 -0
  233. package/dist/src/shapes/Rect.d.ts.map +1 -0
  234. package/dist/src/shapes/Text/StyledText.d.ts +7 -3
  235. package/dist/src/shapes/Text/StyledText.d.ts.map +1 -0
  236. package/dist/src/shapes/Text/Text.d.ts.map +1 -0
  237. package/dist/src/shapes/Text/TextSVGExportMixin.d.ts +1 -1
  238. package/dist/src/shapes/Text/TextSVGExportMixin.d.ts.map +1 -0
  239. package/dist/src/shapes/Text/constants.d.ts.map +1 -0
  240. package/dist/src/shapes/Textbox.d.ts +3 -2
  241. package/dist/src/shapes/Textbox.d.ts.map +1 -0
  242. package/dist/src/shapes/Triangle.d.ts.map +1 -0
  243. package/dist/src/typedefs.d.ts.map +1 -0
  244. package/dist/src/util/animation/AnimationBase.d.ts.map +1 -0
  245. package/dist/src/util/animation/AnimationFrameProvider.d.ts.map +1 -0
  246. package/dist/src/util/animation/AnimationRegistry.d.ts.map +1 -0
  247. package/dist/src/util/animation/ArrayAnimation.d.ts.map +1 -0
  248. package/dist/src/util/animation/ColorAnimation.d.ts.map +1 -0
  249. package/dist/src/util/animation/ValueAnimation.d.ts.map +1 -0
  250. package/dist/src/util/animation/animate.d.ts.map +1 -0
  251. package/dist/src/util/animation/easing.d.ts.map +1 -0
  252. package/dist/src/util/animation/index.d.ts.map +1 -0
  253. package/dist/src/util/animation/types.d.ts.map +1 -0
  254. package/dist/src/util/applyMixins.d.ts.map +1 -0
  255. package/dist/src/util/dom_event.d.ts.map +1 -0
  256. package/dist/src/util/dom_misc.d.ts.map +1 -0
  257. package/dist/src/util/dom_style.d.ts.map +1 -0
  258. package/dist/src/util/index.d.ts.map +1 -0
  259. package/dist/src/util/internals/cleanupSvgAttribute.d.ts.map +1 -0
  260. package/dist/src/util/internals/cloneDeep.d.ts.map +1 -0
  261. package/dist/src/util/internals/console.d.ts.map +1 -0
  262. package/dist/src/util/internals/dom_request.d.ts.map +1 -0
  263. package/dist/src/util/internals/findRight.d.ts.map +1 -0
  264. package/dist/src/util/internals/getRandomInt.d.ts.map +1 -0
  265. package/dist/src/util/internals/ifNaN.d.ts.map +1 -0
  266. package/dist/src/util/internals/index.d.ts.map +1 -0
  267. package/dist/src/util/internals/removeFromArray.d.ts.map +1 -0
  268. package/dist/src/util/internals/uid.d.ts.map +1 -0
  269. package/dist/src/util/lang_string.d.ts.map +1 -0
  270. package/dist/src/util/misc/boundingBoxFromPoints.d.ts.map +1 -0
  271. package/dist/src/util/misc/capValue.d.ts.map +1 -0
  272. package/dist/src/util/misc/cos.d.ts.map +1 -0
  273. package/dist/src/util/misc/dom.d.ts.map +1 -0
  274. package/dist/src/util/misc/findScaleTo.d.ts.map +1 -0
  275. package/dist/src/util/misc/groupSVGElements.d.ts.map +1 -0
  276. package/dist/src/util/misc/isTransparent.d.ts.map +1 -0
  277. package/dist/src/util/misc/matrix.d.ts.map +1 -0
  278. package/dist/src/util/misc/mergeClipPaths.d.ts.map +1 -0
  279. package/dist/src/util/misc/objectEnlive.d.ts.map +1 -0
  280. package/dist/src/util/misc/objectTransforms.d.ts.map +1 -0
  281. package/dist/src/util/misc/pick.d.ts.map +1 -0
  282. package/dist/src/util/misc/planeChange.d.ts.map +1 -0
  283. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts.map +1 -0
  284. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts.map +1 -0
  285. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts.map +1 -0
  286. package/dist/src/util/misc/projectStroke/index.d.ts.map +1 -0
  287. package/dist/src/util/misc/projectStroke/types.d.ts.map +1 -0
  288. package/dist/src/util/misc/radiansDegreesConversion.d.ts.map +1 -0
  289. package/dist/src/util/misc/resolveOrigin.d.ts.map +1 -0
  290. package/dist/src/util/misc/rotatePoint.d.ts.map +1 -0
  291. package/dist/src/util/misc/sin.d.ts.map +1 -0
  292. package/dist/src/util/misc/svgParsing.d.ts.map +1 -0
  293. package/dist/src/util/misc/textStyles.d.ts.map +1 -0
  294. package/dist/src/util/misc/toFixed.d.ts.map +1 -0
  295. package/dist/src/util/misc/vectors.d.ts.map +1 -0
  296. package/dist/src/util/path/index.d.ts.map +1 -0
  297. package/dist/src/util/path/regex.d.ts.map +1 -0
  298. package/dist/src/util/path/typechecks.d.ts.map +1 -0
  299. package/dist/src/util/path/typedefs.d.ts.map +1 -0
  300. package/dist/src/util/transform_matrix_removal.d.ts.map +1 -0
  301. package/dist/src/util/typeAssertions.d.ts +2 -0
  302. package/dist/src/util/typeAssertions.d.ts.map +1 -0
  303. package/fabric.ts +1 -0
  304. package/index.node.ts +8 -2
  305. package/package.json +7 -8
  306. package/src/ClassRegistry.ts +1 -1
  307. package/src/EventTypeDefs.ts +6 -6
  308. package/src/LayoutManager/LayoutManager.spec.ts +30 -63
  309. package/src/LayoutManager/LayoutManager.ts +34 -32
  310. package/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts +4 -0
  311. package/src/LayoutManager/LayoutStrategies/FitContentLayout.ts +3 -0
  312. package/src/LayoutManager/LayoutStrategies/FixedLayout.ts +3 -0
  313. package/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts +0 -7
  314. package/src/LayoutManager/LayoutStrategies/utils.ts +11 -8
  315. package/src/LayoutManager/README.md +1 -4
  316. package/src/LayoutManager/__snapshots__/LayoutManager.spec.ts.snap +4 -39
  317. package/src/LayoutManager/types.ts +0 -1
  318. package/src/Pattern/Pattern.ts +2 -2
  319. package/src/Pattern/types.ts +4 -1
  320. package/src/benchmarks/pathCloning.mjs +111 -0
  321. package/src/benchmarks/pathData.mjs +5 -0
  322. package/src/canvas/Canvas.ts +34 -79
  323. package/src/canvas/CanvasOptions.ts +1 -4
  324. package/src/canvas/SelectableCanvas.spec.ts +48 -0
  325. package/src/canvas/SelectableCanvas.ts +84 -66
  326. package/src/canvas/StaticCanvas.ts +4 -9
  327. package/src/canvas/__tests__/__snapshots__/eventData.test.ts.snap +2 -2
  328. package/src/canvas/__tests__/eventData.test.ts +759 -33
  329. package/src/config.ts +2 -1
  330. package/src/controls/Control.spec.ts +9 -2
  331. package/src/controls/polyControl.ts +26 -38
  332. package/src/controls/scale.test.ts +135 -0
  333. package/src/controls/scale.ts +9 -0
  334. package/src/controls/util.ts +1 -1
  335. package/src/env/browser.ts +4 -15
  336. package/src/env/index.ts +12 -3
  337. package/src/env/node.ts +0 -8
  338. package/src/env/types.ts +3 -3
  339. package/src/filters/Composed.ts +3 -1
  340. package/src/filters/GLProbes/WebGLProbe.ts +1 -0
  341. package/src/filters/WebGLFilterBackend.ts +29 -74
  342. package/src/filters/index.ts +1 -1
  343. package/src/filters/utils.ts +47 -0
  344. package/src/gradient/Gradient.ts +1 -1
  345. package/src/gradient/typedefs.ts +1 -1
  346. package/src/parkinglot/straighten.ts +7 -0
  347. package/src/parser/getCSSRules.spec.ts +13 -0
  348. package/src/parser/getCSSRules.ts +3 -6
  349. package/src/shapes/ActiveSelection.spec.ts +9 -56
  350. package/src/shapes/ActiveSelection.ts +14 -11
  351. package/src/shapes/Group.spec.ts +249 -5
  352. package/src/shapes/Group.ts +42 -27
  353. package/src/shapes/IText/DraggableTextDelegate.ts +1 -2
  354. package/src/shapes/IText/ITextBehavior.ts +13 -9
  355. package/src/shapes/IText/ITextKeyBehavior.ts +1 -1
  356. package/src/shapes/Image.ts +1 -1
  357. package/src/shapes/Object/AnimatableObject.ts +4 -2
  358. package/src/shapes/Object/InteractiveObject.spec.ts +24 -3
  359. package/src/shapes/Object/InteractiveObject.ts +27 -16
  360. package/src/shapes/Object/Object.spec.ts +32 -0
  361. package/src/shapes/Object/Object.ts +11 -9
  362. package/src/shapes/Object/ObjectGeometry.ts +13 -6
  363. package/src/shapes/Object/__snapshots__/InteractiveObject.spec.ts.snap +1 -7
  364. package/src/shapes/Object/defaultValues.ts +45 -43
  365. package/src/shapes/Object/types/BaseProps.ts +33 -29
  366. package/src/shapes/Object/types/FabricObjectProps.ts +0 -34
  367. package/src/shapes/Object/types/ObjectProps.ts +5 -11
  368. package/src/shapes/Object/types/ObjectTransformProps.ts +37 -0
  369. package/src/shapes/Path.ts +1 -2
  370. package/src/shapes/Polyline.spec.ts +109 -0
  371. package/src/shapes/Polyline.ts +24 -10
  372. package/src/shapes/Text/StyledText.spec.ts +37 -0
  373. package/src/shapes/Text/StyledText.ts +20 -8
  374. package/src/shapes/Text/TextSVGExportMixin.ts +1 -1
  375. package/src/shapes/Textbox.ts +6 -10
  376. package/src/util/misc/objectEnlive.ts +17 -10
  377. package/src/util/typeAssertions.spec.ts +125 -0
  378. package/src/util/typeAssertions.ts +15 -5
  379. package/src/shapes/__snapshots__/ActiveSelection.spec.ts.snap +0 -22
package/.gitpod.yml CHANGED
@@ -16,3 +16,7 @@ tasks:
16
16
  - name: Vanilla
17
17
  init: npm install
18
18
  command: npm start vanilla -- --no-watch
19
+
20
+ - name: Vue.js
21
+ init: gp sync-await deps
22
+ command: npm start vue -- --no-watch
package/.prettierignore CHANGED
@@ -12,6 +12,7 @@ before_commit
12
12
  **/dist/
13
13
  /lib/
14
14
  /test/
15
+ /website/
15
16
  .next/
16
17
  .parcel-cache/
17
18
  /docs/
package/CHANGELOG.md CHANGED
@@ -2,6 +2,44 @@
2
2
 
3
3
  ## [next]
4
4
 
5
+ ## [6.0.0-beta18]
6
+
7
+ - fix(StyledText): add ability to unset style (issue #9578) [#9597](https://github.com/fabricjs/fabric.js/pull/9597)
8
+ - CD(): expose vue deployed app [#9615](https://github.com/fabricjs/fabric.js/pull/9615)
9
+ - chore(): Upgrade Rollup to 4.9.5 [#9613](https://github.com/fabricjs/fabric.js/pull/9613)
10
+ - chore(): Upgrade rollup and plugins at latest 3 [#9612](https://github.com/fabricjs/fabric.js/pull/9612)
11
+ - fix(WebGLFilterBackend) Destroy the context of queryWebgl test function, remove automatic perf checkup, make it explicit with a function [#8932](https://github.com/fabricjs/fabric.js/pull/8932)
12
+ - tests(): migrate target hit tests to jest and drag and drop test to playwright [#9333](https://github.com/fabricjs/fabric.js/pull/9333)
13
+ - fix(SVGParser): avoid crashing on SVG that use @import css feature [#9602](https://github.com/fabricjs/fabric.js/pull/9602)
14
+ - fix(): compositionEnd event handler is not registered correctly. (regression from f91362c ) [#9610](https://github.com/fabricjs/fabric.js/pull/9610)
15
+ - ci(): Add a test case from the multiple selection use case for groups [#9599](https://github.com/fabricjs/fabric.js/pull/9599)
16
+ - refactor(env): Change the way the environment and retina are initialized [#9480](https://github.com/fabricjs/fabric.js/pull/9480)
17
+ - chore(TS): fix type of modifed event that could cause unexpected behaviour in dev code [#9596](https://github.com/fabricjs/fabric.js/pull/9596)
18
+ - fix(LayoutManager): remove unnecessary check [#9591](https://github.com/fabricjs/fabric.js/pull/9591)
19
+ - fix(Text) Fix style transfer issue on a line that is not empty [#9461](https://github.com/fabricjs/fabric.js/pull/9461)
20
+ - ci(): add a vue template [#9502](https://github.com/fabricjs/fabric.js/pull/9502)
21
+ - refactor(): `getActiveControl` now returns the key, the corner and the coordinates [#9515](https://github.com/fabricjs/fabric.js/pull/9515)
22
+ - fix(Controls): forbid scaling to avoid NaN issues on scaling zero sized objects. #9475 [#9563](https://github.com/fabricjs/fabric.js/pull/9563)
23
+ - feat(LayoutManager): BREAKING remove `shouldResetTransform` handling from LayoutManager [#9581](https://github.com/fabricjs/fabric.js/pull/9581)
24
+ - refactor(): rm active selection ref [#9561](https://github.com/fabricjs/fabric.js/pull/9561)
25
+ - feat(Next.js sandbox): simpler canvas hook [#9577](https://github.com/fabricjs/fabric.js/pull/9577)
26
+ - fix(): fix modify polygon points with zero sized polygons ( particular case of axis oriented lines ) [#9575](https://github.com/fabricjs/fabric.js/pull/9575)
27
+ - fix(Polyline, Polygon): Fix wrong pathOffset for polyline with the normal bounding box calculation. [#9460](https://github.com/fabricjs/fabric.js/pull/9460)
28
+
29
+ ## [6.0.0-beta17]
30
+
31
+ - refactor(): Rewrite how typeAssertion works to avoid isType and add tests for subclasses [#9570](https://github.com/fabricjs/fabric.js/pull/9570)
32
+ - fix(): perform layout on poly change + initialization object subscription [#9537](https://github.com/fabricjs/fabric.js/pull/9537)
33
+ - fix(): Addressing path cloning slowness ( partially ) [#9573](https://github.com/fabricjs/fabric.js/pull/9573)
34
+ - fix(): `exactBoundingBox` stroke calculations [#9572](https://github.com/fabricjs/fabric.js/pull/9572)
35
+ - feat(): Add save/restore ability to group LayoutManager [#9564](https://github.com/fabricjs/fabric.js/pull/9564)
36
+ - fix(): Remove unwanted set type warning [#9569](https://github.com/fabricjs/fabric.js/pull/9569)
37
+ - refactor(): Separate defaults for base fabric object vs interactive object. Also some moving around of variables [#9474](https://github.com/fabricjs/fabric.js/pull/9474)
38
+ - refactor(): Change how LayoutManager handles restoring groups [#9522](https://github.com/fabricjs/fabric.js/pull/9522)
39
+ - fix(BaseConfiguration): set `devicePixelRatio` from window [#9470](https://github.com/fabricjs/fabric.js/pull/9470)
40
+ - fix(): bubble dirty flag for group only when true [#9540](https://github.com/fabricjs/fabric.js/pull/9540)
41
+ - test() Backport a test to capture a failing text style situation [#9531](https://github.com/fabricjs/fabric.js/pull/9531)
42
+
5
43
  ## [6.0.0-beta16]
6
44
 
7
45
  - fix(): block `enterEditing` after `endCurrentTransform` [#9513](https://github.com/fabricjs/fabric.js/pull/9513)
@@ -109,6 +147,7 @@
109
147
  - ci(): properly checkout head for stats [#9080](https://github.com/fabricjs/fabric.js/pull/9080)
110
148
  - fix(Text): `_getFontDeclaration` wasn't considering fontFamily from the style object [#9082](https://github.com/fabricjs/fabric.js/pull/9082)
111
149
  - chore(TS): Fix ITextBehaviour enterEditing type [#9075](https://github.com/fabricjs/fabric.js/pull/9075)
150
+ - cd(node): ban `package.json` main entry [#9068](https://github.com/fabricjs/fabric.js/pull/9068)
112
151
  - chore(TS): export FabricObjectProps and GroupProps [#9025](https://github.com/fabricjs/fabric.js/pull/9025)
113
152
  - chore(TS): Replace BaseFabricObject with FabricObject [#9016](https://github.com/fabricjs/fabric.js/pull/9016)
114
153
  - refactor(svgImport): remove the css/gradient/clipPath global definitions [#9030](https://github.com/fabricjs/fabric.js/pull/9030)
package/dist/fabric.d.ts CHANGED
@@ -78,6 +78,7 @@ export type { CompleteTextStyleDeclaration, TextStyleDeclaration, TextStyle, } f
78
78
  export type { GroupEvents, GroupProps, GroupOwnProps, SerializedGroupProps, } from './src/shapes/Group';
79
79
  export { Group } from './src/shapes/Group';
80
80
  export * from './src/LayoutManager';
81
+ export type { SerializedLayoutManager } from './src/LayoutManager';
81
82
  export type { ActiveSelectionOptions, MultiSelectionStacking, } from './src/shapes/ActiveSelection';
82
83
  export { ActiveSelection } from './src/shapes/ActiveSelection';
83
84
  export { FabricImage,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fabric.d.ts","sourceRoot":"","sources":["../fabric.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}