fabric 5.3.0 → 6.0.0-beta1

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 (533) hide show
  1. package/.babelrc +11 -0
  2. package/.babelrcAlt +19 -0
  3. package/.browserslistrc +5 -0
  4. package/.eslintrc.js +43 -0
  5. package/.eslintrc.json +38 -46
  6. package/.eslintrc_tests +12 -0
  7. package/.gitattributes +2 -0
  8. package/.prettierignore +16 -0
  9. package/.prettierrc +4 -0
  10. package/CHANGELOG.md +491 -189
  11. package/CONTRIBUTING.md +226 -58
  12. package/README.md +188 -239
  13. package/bower.json +1 -3
  14. package/dist/fabric.d.ts +1021 -0
  15. package/dist/index.cjs +28027 -0
  16. package/dist/index.cjs.map +1 -0
  17. package/dist/index.d.ts +2 -0
  18. package/dist/index.min.js +1 -0
  19. package/dist/index.mjs +27964 -0
  20. package/dist/index.mjs.map +1 -0
  21. package/dist/index.node.cjs +28092 -0
  22. package/dist/index.node.cjs.map +1 -0
  23. package/dist/index.node.d.ts +15 -0
  24. package/dist/index.node.mjs +28035 -0
  25. package/dist/index.node.mjs.map +1 -0
  26. package/dist/src/Collection.d.ts +126 -0
  27. package/dist/src/CommonMethods.d.ts +32 -0
  28. package/dist/src/EventTypeDefs.d.ts +226 -0
  29. package/dist/src/Intersection.d.ts +100 -0
  30. package/dist/src/Observable.d.ts +54 -0
  31. package/dist/src/Pattern.d.ts +104 -0
  32. package/dist/src/Point.d.ts +232 -0
  33. package/dist/src/Shadow.d.ts +87 -0
  34. package/dist/src/brushes/BaseBrush.d.ts +105 -0
  35. package/dist/src/brushes/CircleBrush.d.ts +49 -0
  36. package/dist/src/brushes/PatternBrush.d.ts +23 -0
  37. package/dist/src/brushes/PencilBrush.d.ts +92 -0
  38. package/dist/src/brushes/SprayBrush.d.ts +79 -0
  39. package/dist/src/cache.d.ts +46 -0
  40. package/dist/src/canvas/Canvas.d.ts +567 -0
  41. package/dist/src/canvas/SelectableCanvas.d.ts +723 -0
  42. package/dist/src/canvas/StaticCanvas.d.ts +751 -0
  43. package/dist/src/canvas/TextEditingManager.d.ts +17 -0
  44. package/dist/src/canvas/canvas_gestures.mixin.d.ts +2 -0
  45. package/dist/src/color/Color.d.ts +174 -0
  46. package/dist/src/color/color_map.d.ts +155 -0
  47. package/dist/src/color/constants.d.ts +22 -0
  48. package/dist/src/color/util.d.ts +12 -0
  49. package/dist/src/config.d.ts +115 -0
  50. package/dist/src/constants.d.ts +14 -0
  51. package/dist/src/controls/Control.d.ts +228 -0
  52. package/dist/src/controls/changeWidth.d.ts +13 -0
  53. package/dist/src/controls/controls.render.d.ts +29 -0
  54. package/dist/src/controls/default_controls.d.ts +50 -0
  55. package/dist/src/controls/drag.d.ts +12 -0
  56. package/dist/src/controls/polyControl.d.ts +5 -0
  57. package/dist/src/controls/rotate.d.ts +12 -0
  58. package/dist/src/controls/scale.d.ts +47 -0
  59. package/dist/src/controls/scaleSkew.d.ts +39 -0
  60. package/dist/src/controls/skew.d.ts +33 -0
  61. package/dist/src/controls/util.d.ts +41 -0
  62. package/dist/src/controls/wrapWithFireEvent.d.ts +8 -0
  63. package/dist/src/controls/wrapWithFixedAnchor.d.ts +9 -0
  64. package/dist/src/env/browser.d.ts +3 -0
  65. package/dist/src/env/index.d.ts +7 -0
  66. package/dist/src/env/node.d.ts +3 -0
  67. package/dist/src/env/types.d.ts +15 -0
  68. package/dist/src/filters/BaseFilter.d.ts +156 -0
  69. package/dist/src/filters/BlendColor.d.ts +80 -0
  70. package/dist/src/filters/BlendImage.d.ts +90 -0
  71. package/dist/src/filters/Blur.d.ts +50 -0
  72. package/dist/src/filters/Boilerplate.d.ts +46 -0
  73. package/dist/src/filters/Brightness.d.ts +46 -0
  74. package/dist/src/filters/Canvas2dFilterBackend.d.ts +27 -0
  75. package/dist/src/filters/ColorMatrix.d.ts +62 -0
  76. package/dist/src/filters/ColorMatrixFilters.d.ts +1169 -0
  77. package/dist/src/filters/Composed.d.ts +47 -0
  78. package/dist/src/filters/Contrast.d.ts +44 -0
  79. package/dist/src/filters/Convolute.d.ts +82 -0
  80. package/dist/src/filters/FilterBackend.d.ts +14 -0
  81. package/dist/src/filters/Gamma.d.ts +53 -0
  82. package/dist/src/filters/Grayscale.d.ts +45 -0
  83. package/dist/src/filters/HueRotation.d.ts +24 -0
  84. package/dist/src/filters/Invert.d.ts +54 -0
  85. package/dist/src/filters/Noise.d.ts +53 -0
  86. package/dist/src/filters/Pixelate.d.ts +43 -0
  87. package/dist/src/filters/RemoveColor.d.ts +62 -0
  88. package/dist/src/filters/Resize.d.ts +134 -0
  89. package/dist/src/filters/Saturation.d.ts +47 -0
  90. package/dist/src/filters/Vibrance.d.ts +47 -0
  91. package/dist/src/filters/WebGLFilterBackend.d.ts +126 -0
  92. package/dist/src/filters/WebGLProbe.d.ts +28 -0
  93. package/dist/src/filters/typedefs.d.ts +49 -0
  94. package/dist/src/gradient/Gradient.d.ts +149 -0
  95. package/dist/src/gradient/constants.d.ts +15 -0
  96. package/dist/src/gradient/parser/index.d.ts +4 -0
  97. package/dist/src/gradient/parser/misc.d.ts +4 -0
  98. package/dist/src/gradient/parser/parseColorStops.d.ts +6 -0
  99. package/dist/src/gradient/parser/parseCoords.d.ts +17 -0
  100. package/dist/src/gradient/typedefs.d.ts +93 -0
  101. package/dist/src/mixins/eraser_brush.mixin.d.ts +2 -0
  102. package/dist/src/mixins/stateful.mixin.d.ts +18 -0
  103. package/dist/src/parkinglot/canvas_animation.mixin.d.ts +2 -0
  104. package/dist/src/parkinglot/straighten.d.ts +2 -0
  105. package/dist/src/parser/applyViewboxTransform.d.ts +5 -0
  106. package/dist/src/parser/attributes.d.ts +6 -0
  107. package/dist/src/parser/constants.d.ts +54 -0
  108. package/dist/src/parser/doesSomeParentMatch.d.ts +2 -0
  109. package/dist/src/parser/elementById.d.ts +6 -0
  110. package/dist/src/parser/elementMatchesRule.d.ts +5 -0
  111. package/dist/src/parser/elements_parser.d.ts +3 -0
  112. package/dist/src/parser/getCSSRules.d.ts +7 -0
  113. package/dist/src/parser/getGlobalStylesForElement.d.ts +5 -0
  114. package/dist/src/parser/getGradientDefs.d.ts +7 -0
  115. package/dist/src/parser/getMultipleNodes.d.ts +2 -0
  116. package/dist/src/parser/getSvgRegex.d.ts +2 -0
  117. package/dist/src/parser/hasAncestorWithNodeName.d.ts +2 -0
  118. package/dist/src/parser/loadSVGFromString.d.ts +12 -0
  119. package/dist/src/parser/loadSVGFromURL.d.ts +13 -0
  120. package/dist/src/parser/normalizeAttr.d.ts +2 -0
  121. package/dist/src/parser/normalizeValue.d.ts +2 -0
  122. package/dist/src/parser/parseAttributes.d.ts +9 -0
  123. package/dist/src/parser/parseElements.d.ts +11 -0
  124. package/dist/src/parser/parseFontDeclaration.d.ts +10 -0
  125. package/dist/src/parser/parsePointsAttribute.d.ts +12 -0
  126. package/dist/src/parser/parseSVGDocument.d.ts +15 -0
  127. package/dist/src/parser/parseStyleAttribute.d.ts +9 -0
  128. package/dist/src/parser/parseStyleObject.d.ts +2 -0
  129. package/dist/src/parser/parseStyleString.d.ts +2 -0
  130. package/dist/src/parser/parseTransformAttribute.d.ts +10 -0
  131. package/dist/src/parser/parseUseDirectives.d.ts +2 -0
  132. package/dist/src/parser/percent.d.ts +9 -0
  133. package/dist/src/parser/recursivelyParseGradientsXlink.d.ts +2 -0
  134. package/dist/src/parser/rotateMatrix.d.ts +2 -0
  135. package/dist/src/parser/scaleMatrix.d.ts +2 -0
  136. package/dist/src/parser/selectorMatches.d.ts +2 -0
  137. package/dist/src/parser/setStrokeFillOpacity.d.ts +6 -0
  138. package/dist/src/parser/skewMatrix.d.ts +2 -0
  139. package/dist/src/parser/translateMatrix.d.ts +2 -0
  140. package/dist/src/shapes/ActiveSelection.d.ts +66 -0
  141. package/dist/src/shapes/Circle.d.ts +80 -0
  142. package/dist/src/shapes/Ellipse.d.ts +74 -0
  143. package/dist/src/shapes/Group.d.ts +381 -0
  144. package/dist/src/shapes/IText/DraggableTextDelegate.d.ts +78 -0
  145. package/dist/src/shapes/IText/IText.d.ts +322 -0
  146. package/dist/src/shapes/IText/ITextBehavior.d.ts +285 -0
  147. package/dist/src/shapes/IText/ITextClickBehavior.d.ts +81 -0
  148. package/dist/src/shapes/IText/ITextKeyBehavior.d.ts +193 -0
  149. package/dist/src/shapes/IText/constants.d.ts +13 -0
  150. package/dist/src/shapes/Image.d.ts +283 -0
  151. package/dist/src/shapes/Line.d.ts +117 -0
  152. package/dist/src/shapes/Object/AnimatableObject.d.ts +33 -0
  153. package/dist/src/shapes/Object/FabricObject.d.ts +9 -0
  154. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +74 -0
  155. package/dist/src/shapes/Object/InteractiveObject.d.ts +282 -0
  156. package/dist/src/shapes/Object/Object.d.ts +906 -0
  157. package/dist/src/shapes/Object/ObjectGeometry.d.ts +343 -0
  158. package/dist/src/shapes/Object/ObjectOrigin.d.ts +178 -0
  159. package/dist/src/shapes/Object/StackedObject.d.ts +62 -0
  160. package/dist/src/shapes/Object/defaultValues.d.ts +77 -0
  161. package/dist/src/shapes/Path.d.ts +123 -0
  162. package/dist/src/shapes/Polygon.d.ts +7 -0
  163. package/dist/src/shapes/Polyline.d.ts +130 -0
  164. package/dist/src/shapes/Rect.d.ts +62 -0
  165. package/dist/src/shapes/Text/StyledText.d.ts +118 -0
  166. package/dist/src/shapes/Text/Text.d.ts +656 -0
  167. package/dist/src/shapes/Text/TextSVGExportMixin.d.ts +32 -0
  168. package/dist/src/shapes/Textbox.d.ts +170 -0
  169. package/dist/src/shapes/Triangle.d.ts +17 -0
  170. package/dist/src/typedefs.d.ts +93 -0
  171. package/dist/src/util/animation/AnimationBase.d.ts +54 -0
  172. package/dist/src/util/animation/AnimationFrameProvider.d.ts +8 -0
  173. package/dist/src/util/animation/AnimationRegistry.d.ts +29 -0
  174. package/dist/src/util/animation/ArrayAnimation.d.ts +10 -0
  175. package/dist/src/util/animation/ColorAnimation.d.ts +11 -0
  176. package/dist/src/util/animation/ValueAnimation.d.ts +10 -0
  177. package/dist/src/util/animation/animate.d.ts +37 -0
  178. package/dist/src/util/animation/easing.d.ts +130 -0
  179. package/dist/src/util/animation/types.d.ts +87 -0
  180. package/dist/src/util/applyMixins.d.ts +8 -0
  181. package/dist/src/util/class_registry.d.ts +14 -0
  182. package/dist/src/util/dom_event.d.ts +5 -0
  183. package/dist/src/util/dom_misc.d.ts +40 -0
  184. package/dist/src/util/dom_request.d.ts +14 -0
  185. package/dist/src/util/dom_style.d.ts +7 -0
  186. package/dist/src/util/fireEvent.d.ts +3 -0
  187. package/dist/src/util/internals/cloneDeep.d.ts +2 -0
  188. package/dist/src/util/internals/getRandomInt.d.ts +8 -0
  189. package/dist/src/util/internals/ifNaN.d.ts +8 -0
  190. package/dist/src/util/internals/index.d.ts +4 -0
  191. package/dist/src/util/internals/removeFromArray.d.ts +9 -0
  192. package/dist/src/util/internals/uid.d.ts +2 -0
  193. package/dist/src/util/lang_class.d.ts +12 -0
  194. package/dist/src/util/lang_string.d.ts +22 -0
  195. package/dist/src/util/misc/boundingBoxFromPoints.d.ts +9 -0
  196. package/dist/src/util/misc/capValue.d.ts +2 -0
  197. package/dist/src/util/misc/cos.d.ts +10 -0
  198. package/dist/src/util/misc/dom.d.ts +28 -0
  199. package/dist/src/util/misc/findScaleTo.d.ts +29 -0
  200. package/dist/src/util/misc/groupSVGElements.d.ts +9 -0
  201. package/dist/src/util/misc/isTransparent.d.ts +11 -0
  202. package/dist/src/util/misc/matrix.d.ts +92 -0
  203. package/dist/src/util/misc/mergeClipPaths.d.ts +23 -0
  204. package/dist/src/util/misc/objectEnlive.d.ts +56 -0
  205. package/dist/src/util/misc/objectTransforms.d.ts +68 -0
  206. package/dist/src/util/misc/pick.d.ts +8 -0
  207. package/dist/src/util/misc/planeChange.d.ts +84 -0
  208. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +51 -0
  209. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +81 -0
  210. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +25 -0
  211. package/dist/src/util/misc/projectStroke/index.d.ts +11 -0
  212. package/dist/src/util/misc/projectStroke/types.d.ts +23 -0
  213. package/dist/src/util/misc/radiansDegreesConversion.d.ts +14 -0
  214. package/dist/src/util/misc/resolveOrigin.d.ts +9 -0
  215. package/dist/src/util/misc/rotatePoint.d.ts +12 -0
  216. package/dist/src/util/misc/sin.d.ts +10 -0
  217. package/dist/src/util/misc/svgParsing.d.ts +53 -0
  218. package/dist/src/util/misc/textStyles.d.ts +32 -0
  219. package/dist/src/util/misc/toFixed.d.ts +8 -0
  220. package/dist/src/util/misc/vectors.d.ts +57 -0
  221. package/dist/src/util/path.d.ts +108 -0
  222. package/dist/src/util/transform_matrix_removal.d.ts +14 -0
  223. package/dist/src/util/types.d.ts +19 -0
  224. package/fabric.ts +427 -0
  225. package/index.node.ts +43 -0
  226. package/index.ts +1 -0
  227. package/package.json +90 -39
  228. package/publish.js +0 -26
  229. package/rollup.config.mjs +79 -0
  230. package/rollup.test.config.js +24 -0
  231. package/scripts/build.mjs +50 -0
  232. package/scripts/buildLock.mjs +115 -0
  233. package/scripts/buildReporter.mjs +15 -0
  234. package/scripts/buildStats.mjs +139 -0
  235. package/scripts/dirname.mjs +14 -0
  236. package/scripts/index.mjs +679 -0
  237. package/scripts/transform_files.mjs +504 -0
  238. package/src/Collection.ts +311 -0
  239. package/src/CommonMethods.ts +63 -0
  240. package/src/EventTypeDefs.ts +294 -0
  241. package/src/Intersection.ts +273 -0
  242. package/src/Observable.ts +175 -0
  243. package/src/Pattern.ts +211 -0
  244. package/src/Point.ts +388 -0
  245. package/src/Shadow.ts +215 -0
  246. package/src/brushes/{base_brush.class.js → BaseBrush.ts} +65 -42
  247. package/src/brushes/CircleBrush.ts +145 -0
  248. package/src/brushes/PatternBrush.ts +70 -0
  249. package/src/brushes/PencilBrush.ts +300 -0
  250. package/src/brushes/SprayBrush.ts +219 -0
  251. package/src/cache.ts +89 -0
  252. package/src/canvas/Canvas.ts +1672 -0
  253. package/src/canvas/SelectableCanvas.ts +1636 -0
  254. package/src/canvas/StaticCanvas.ts +1709 -0
  255. package/src/canvas/TextEditingManager.ts +48 -0
  256. package/src/canvas/canvas_gestures.mixin.ts +207 -0
  257. package/src/color/Color.ts +404 -0
  258. package/src/color/color_map.ts +154 -0
  259. package/src/color/constants.ts +26 -0
  260. package/src/color/util.ts +32 -0
  261. package/src/config.ts +159 -0
  262. package/src/constants.ts +19 -0
  263. package/src/controls/Control.ts +377 -0
  264. package/src/controls/changeWidth.ts +52 -0
  265. package/src/controls/controls.render.ts +138 -0
  266. package/src/controls/default_controls.ts +132 -0
  267. package/src/controls/drag.ts +31 -0
  268. package/src/controls/polyControl.ts +135 -0
  269. package/src/controls/rotate.ts +87 -0
  270. package/src/controls/scale.ts +277 -0
  271. package/src/controls/scaleSkew.ts +92 -0
  272. package/src/controls/skew.ts +242 -0
  273. package/src/controls/util.ts +154 -0
  274. package/src/controls/wrapWithFireEvent.ts +25 -0
  275. package/src/controls/wrapWithFixedAnchor.ts +20 -0
  276. package/src/env/browser.ts +28 -0
  277. package/src/env/index.ts +19 -0
  278. package/src/env/node.ts +52 -0
  279. package/src/env/types.ts +15 -0
  280. package/src/filters/{base_filter.class.js → BaseFilter.ts} +201 -149
  281. package/src/filters/BlendColor.ts +258 -0
  282. package/src/filters/BlendImage.ts +254 -0
  283. package/src/filters/Blur.ts +202 -0
  284. package/src/filters/Boilerplate.ts +91 -0
  285. package/src/filters/Brightness.ts +93 -0
  286. package/src/filters/Canvas2dFilterBackend.ts +65 -0
  287. package/src/filters/ColorMatrix.ts +156 -0
  288. package/src/filters/ColorMatrixFilters.ts +106 -0
  289. package/src/filters/Composed.ts +85 -0
  290. package/src/filters/Contrast.ts +94 -0
  291. package/src/filters/Convolute.ts +341 -0
  292. package/src/filters/FilterBackend.ts +32 -0
  293. package/src/filters/Gamma.ts +127 -0
  294. package/src/filters/Grayscale.ts +137 -0
  295. package/src/filters/HueRotation.ts +66 -0
  296. package/src/filters/Invert.ts +117 -0
  297. package/src/filters/Noise.ts +109 -0
  298. package/src/filters/Pixelate.ts +114 -0
  299. package/src/filters/RemoveColor.ts +148 -0
  300. package/src/filters/Resize.ts +540 -0
  301. package/src/filters/Saturation.ts +100 -0
  302. package/src/filters/Vibrance.ts +103 -0
  303. package/src/filters/WebGLFilterBackend.ts +430 -0
  304. package/src/filters/WebGLProbe.ts +62 -0
  305. package/src/filters/typedefs.ts +65 -0
  306. package/src/gradient/Gradient.ts +401 -0
  307. package/src/gradient/constants.ts +12 -0
  308. package/src/gradient/parser/index.ts +3 -0
  309. package/src/gradient/parser/misc.ts +13 -0
  310. package/src/gradient/parser/parseColorStops.ts +55 -0
  311. package/src/gradient/parser/parseCoords.ts +73 -0
  312. package/src/gradient/typedefs.ts +104 -0
  313. package/src/mixins/{eraser_brush.mixin.js → eraser_brush.mixin.ts} +350 -239
  314. package/src/mixins/stateful.mixin.ts +104 -0
  315. package/src/parkinglot/canvas_animation.mixin.ts +121 -0
  316. package/src/parkinglot/straighten.ts +58 -0
  317. package/src/parser/applyViewboxTransform.ts +162 -0
  318. package/src/parser/attributes.ts +25 -0
  319. package/src/parser/constants.ts +118 -0
  320. package/src/parser/doesSomeParentMatch.ts +19 -0
  321. package/src/parser/elementById.ts +23 -0
  322. package/src/parser/elementMatchesRule.ts +19 -0
  323. package/src/parser/elements_parser.ts +191 -0
  324. package/src/parser/getCSSRules.ts +62 -0
  325. package/src/parser/getGlobalStylesForElement.ts +19 -0
  326. package/src/parser/getGradientDefs.ts +32 -0
  327. package/src/parser/getMultipleNodes.ts +15 -0
  328. package/src/parser/getSvgRegex.ts +5 -0
  329. package/src/parser/hasAncestorWithNodeName.ts +14 -0
  330. package/src/parser/loadSVGFromString.ts +26 -0
  331. package/src/parser/loadSVGFromURL.ts +40 -0
  332. package/src/parser/normalizeAttr.ts +10 -0
  333. package/src/parser/normalizeValue.ts +63 -0
  334. package/src/parser/parseAttributes.ts +90 -0
  335. package/src/parser/parseElements.ts +28 -0
  336. package/src/parser/parseFontDeclaration.ts +44 -0
  337. package/src/parser/parsePointsAttribute.ts +36 -0
  338. package/src/parser/parseSVGDocument.ts +106 -0
  339. package/src/parser/parseStyleAttribute.ts +27 -0
  340. package/src/parser/parseStyleObject.ts +15 -0
  341. package/src/parser/parseStyleString.ts +16 -0
  342. package/src/parser/parseTransformAttribute.ts +155 -0
  343. package/src/parser/parseUseDirectives.ts +79 -0
  344. package/src/parser/percent.ts +27 -0
  345. package/src/parser/recursivelyParseGradientsXlink.ts +42 -0
  346. package/src/parser/rotateMatrix.ts +21 -0
  347. package/src/parser/scaleMatrix.ts +9 -0
  348. package/src/parser/selectorMatches.ts +25 -0
  349. package/src/parser/setStrokeFillOpacity.ts +40 -0
  350. package/src/parser/skewMatrix.ts +6 -0
  351. package/src/parser/translateMatrix.ts +8 -0
  352. package/src/shapes/ActiveSelection.ts +157 -0
  353. package/src/shapes/Circle.ts +205 -0
  354. package/src/shapes/Ellipse.ts +154 -0
  355. package/src/shapes/Group.ts +1053 -0
  356. package/src/shapes/IText/DraggableTextDelegate.ts +394 -0
  357. package/src/shapes/IText/IText.ts +666 -0
  358. package/src/shapes/IText/ITextBehavior.ts +1055 -0
  359. package/src/shapes/IText/ITextClickBehavior.ts +321 -0
  360. package/src/shapes/IText/ITextKeyBehavior.ts +683 -0
  361. package/src/shapes/IText/constants.ts +47 -0
  362. package/src/shapes/Image.ts +789 -0
  363. package/src/shapes/Line.ts +329 -0
  364. package/src/shapes/Object/AnimatableObject.ts +106 -0
  365. package/src/shapes/Object/FabricObject.ts +19 -0
  366. package/src/shapes/Object/FabricObjectSVGExportMixin.ts +277 -0
  367. package/src/shapes/Object/InteractiveObject.ts +645 -0
  368. package/src/shapes/Object/Object.ts +1896 -0
  369. package/src/shapes/Object/ObjectGeometry.ts +830 -0
  370. package/src/shapes/Object/ObjectOrigin.ts +354 -0
  371. package/src/shapes/Object/StackedObject.ts +191 -0
  372. package/src/shapes/Object/defaultValues.ts +112 -0
  373. package/src/shapes/Path.ts +395 -0
  374. package/src/shapes/Polygon.ts +19 -0
  375. package/src/shapes/Polyline.ts +333 -0
  376. package/src/shapes/Rect.ts +199 -0
  377. package/src/shapes/Text/StyledText.ts +319 -0
  378. package/src/shapes/Text/Text.ts +1948 -0
  379. package/src/shapes/Text/TextSVGExportMixin.ts +288 -0
  380. package/src/shapes/Textbox.ts +471 -0
  381. package/src/shapes/Triangle.ts +45 -0
  382. package/src/typedefs.ts +119 -0
  383. package/src/util/animation/AnimationBase.ts +166 -0
  384. package/src/util/animation/AnimationFrameProvider.ts +28 -0
  385. package/src/util/animation/AnimationRegistry.ts +58 -0
  386. package/src/util/animation/ArrayAnimation.ts +27 -0
  387. package/src/util/animation/ColorAnimation.ts +74 -0
  388. package/src/util/animation/ValueAnimation.ts +29 -0
  389. package/src/util/animation/animate.ts +74 -0
  390. package/src/util/animation/easing.ts +327 -0
  391. package/src/util/animation/types.ts +136 -0
  392. package/src/util/applyMixins.ts +22 -0
  393. package/src/util/class_registry.ts +54 -0
  394. package/src/util/dom_event.ts +28 -0
  395. package/src/util/dom_misc.ts +138 -0
  396. package/src/util/dom_request.ts +64 -0
  397. package/src/util/dom_style.ts +20 -0
  398. package/src/util/fireEvent.ts +15 -0
  399. package/src/util/internals/cloneDeep.ts +2 -0
  400. package/src/util/internals/getRandomInt.ts +8 -0
  401. package/src/util/internals/ifNaN.ts +9 -0
  402. package/src/util/internals/index.ts +3 -0
  403. package/src/util/internals/removeFromArray.ts +14 -0
  404. package/src/util/internals/uid.ts +3 -0
  405. package/src/util/lang_class.ts +90 -0
  406. package/src/util/lang_string.ts +79 -0
  407. package/src/util/misc/boundingBoxFromPoints.ts +37 -0
  408. package/src/util/misc/capValue.ts +2 -0
  409. package/src/util/misc/cos.ts +24 -0
  410. package/src/util/misc/dom.ts +50 -0
  411. package/src/util/misc/findScaleTo.ts +44 -0
  412. package/src/util/misc/groupSVGElements.ts +15 -0
  413. package/src/util/misc/isTransparent.ts +51 -0
  414. package/src/util/misc/matrix.ts +207 -0
  415. package/src/util/misc/mergeClipPaths.ts +40 -0
  416. package/src/util/misc/objectEnlive.ts +189 -0
  417. package/src/util/misc/objectTransforms.ts +129 -0
  418. package/src/util/misc/pick.ts +17 -0
  419. package/src/util/misc/planeChange.ts +136 -0
  420. package/src/util/misc/projectStroke/StrokeLineCapProjections.ts +112 -0
  421. package/src/util/misc/projectStroke/StrokeLineJoinProjections.ts +231 -0
  422. package/src/util/misc/projectStroke/StrokeProjectionsBase.ts +75 -0
  423. package/src/util/misc/projectStroke/index.ts +53 -0
  424. package/src/util/misc/projectStroke/types.ts +24 -0
  425. package/src/util/misc/radiansDegreesConversion.ts +18 -0
  426. package/src/util/misc/resolveOrigin.ts +22 -0
  427. package/src/util/misc/rotatePoint.ts +15 -0
  428. package/src/util/misc/sin.ts +26 -0
  429. package/src/util/misc/svgParsing.ts +181 -0
  430. package/src/util/misc/textStyles.ts +133 -0
  431. package/src/util/misc/toFixed.ts +8 -0
  432. package/src/util/misc/vectors.ts +82 -0
  433. package/src/util/path.ts +941 -0
  434. package/src/util/transform_matrix_removal.ts +60 -0
  435. package/src/util/types.ts +78 -0
  436. package/tsconfig.json +106 -0
  437. package/HEADER.js +0 -203
  438. package/build.js +0 -287
  439. package/dist/fabric.js +0 -31187
  440. package/dist/fabric.min.js +0 -1
  441. package/old-travis-reference.yml +0 -97
  442. package/src/brushes/circle_brush.class.js +0 -144
  443. package/src/brushes/pattern_brush.class.js +0 -61
  444. package/src/brushes/pencil_brush.class.js +0 -310
  445. package/src/brushes/spray_brush.class.js +0 -219
  446. package/src/canvas.class.js +0 -1312
  447. package/src/color.class.js +0 -636
  448. package/src/control.class.js +0 -339
  449. package/src/controls.actions.js +0 -740
  450. package/src/controls.render.js +0 -99
  451. package/src/elements_parser.js +0 -152
  452. package/src/filters/2d_backend.class.js +0 -65
  453. package/src/filters/blendcolor_filter.class.js +0 -251
  454. package/src/filters/blendimage_filter.class.js +0 -247
  455. package/src/filters/blur_filter.class.js +0 -217
  456. package/src/filters/brightness_filter.class.js +0 -113
  457. package/src/filters/colormatrix_filter.class.js +0 -159
  458. package/src/filters/composed_filter.class.js +0 -72
  459. package/src/filters/contrast_filter.class.js +0 -113
  460. package/src/filters/convolute_filter.class.js +0 -352
  461. package/src/filters/filter_boilerplate.js +0 -111
  462. package/src/filters/filter_generator.js +0 -85
  463. package/src/filters/gamma_filter.class.js +0 -136
  464. package/src/filters/grayscale_filter.class.js +0 -154
  465. package/src/filters/hue_rotation.class.js +0 -107
  466. package/src/filters/invert_filter.class.js +0 -111
  467. package/src/filters/noise_filter.class.js +0 -134
  468. package/src/filters/pixelate_filter.class.js +0 -137
  469. package/src/filters/removecolor_filter.class.js +0 -173
  470. package/src/filters/resize_filter.class.js +0 -490
  471. package/src/filters/saturate_filter.class.js +0 -119
  472. package/src/filters/vibrance_filter.class.js +0 -122
  473. package/src/filters/webgl_backend.class.js +0 -396
  474. package/src/globalFabric.js +0 -4
  475. package/src/gradient.class.js +0 -490
  476. package/src/intersection.class.js +0 -172
  477. package/src/log.js +0 -11
  478. package/src/mixins/animation.mixin.js +0 -231
  479. package/src/mixins/canvas_dataurl_exporter.mixin.js +0 -97
  480. package/src/mixins/canvas_events.mixin.js +0 -974
  481. package/src/mixins/canvas_gestures.mixin.js +0 -149
  482. package/src/mixins/canvas_grouping.mixin.js +0 -177
  483. package/src/mixins/canvas_serialization.mixin.js +0 -228
  484. package/src/mixins/collection.mixin.js +0 -170
  485. package/src/mixins/default_controls.js +0 -114
  486. package/src/mixins/itext.svg_export.js +0 -241
  487. package/src/mixins/itext_behavior.mixin.js +0 -940
  488. package/src/mixins/itext_click_behavior.mixin.js +0 -278
  489. package/src/mixins/itext_key_behavior.mixin.js +0 -694
  490. package/src/mixins/object.svg_export.js +0 -258
  491. package/src/mixins/object_geometry.mixin.js +0 -683
  492. package/src/mixins/object_interactivity.mixin.js +0 -314
  493. package/src/mixins/object_origin.mixin.js +0 -255
  494. package/src/mixins/object_stacking.mixin.js +0 -80
  495. package/src/mixins/object_straightening.mixin.js +0 -80
  496. package/src/mixins/observable.mixin.js +0 -141
  497. package/src/mixins/shared_methods.mixin.js +0 -94
  498. package/src/mixins/stateful.mixin.js +0 -107
  499. package/src/mixins/text_style.mixin.js +0 -324
  500. package/src/parser.js +0 -1090
  501. package/src/pattern.class.js +0 -189
  502. package/src/point.class.js +0 -337
  503. package/src/shadow.class.js +0 -195
  504. package/src/shapes/active_selection.class.js +0 -155
  505. package/src/shapes/circle.class.js +0 -210
  506. package/src/shapes/ellipse.class.js +0 -181
  507. package/src/shapes/group.class.js +0 -593
  508. package/src/shapes/image.class.js +0 -764
  509. package/src/shapes/itext.class.js +0 -526
  510. package/src/shapes/line.class.js +0 -324
  511. package/src/shapes/object.class.js +0 -2008
  512. package/src/shapes/path.class.js +0 -384
  513. package/src/shapes/polygon.class.js +0 -81
  514. package/src/shapes/polyline.class.js +0 -268
  515. package/src/shapes/rect.class.js +0 -187
  516. package/src/shapes/text.class.js +0 -1696
  517. package/src/shapes/textbox.class.js +0 -461
  518. package/src/shapes/triangle.class.js +0 -93
  519. package/src/static_canvas.class.js +0 -1881
  520. package/src/util/anim_ease.js +0 -398
  521. package/src/util/animate.js +0 -254
  522. package/src/util/animate_color.js +0 -74
  523. package/src/util/dom_event.js +0 -50
  524. package/src/util/dom_misc.js +0 -300
  525. package/src/util/dom_request.js +0 -54
  526. package/src/util/dom_style.js +0 -70
  527. package/src/util/lang_array.js +0 -94
  528. package/src/util/lang_class.js +0 -115
  529. package/src/util/lang_object.js +0 -75
  530. package/src/util/lang_string.js +0 -110
  531. package/src/util/misc.js +0 -1330
  532. package/src/util/named_accessors.mixin.js +0 -428
  533. package/src/util/path.js +0 -829
@@ -0,0 +1,54 @@
1
+ export declare const cssRules: {};
2
+ export declare const gradientDefs: {};
3
+ export declare const clipPaths: {};
4
+ export declare const storage: {
5
+ cssRules: {};
6
+ gradientDefs: {};
7
+ clipPaths: {};
8
+ };
9
+ export declare const reNum = "(?:[-+]?(?:\\d+|\\d*\\.\\d+)(?:[eE][-+]?\\d+)?)";
10
+ export declare const svgNS = "http://www.w3.org/2000/svg";
11
+ export declare const commaWsp = "(?:\\s+,?\\s*|,\\s*)";
12
+ export declare const rePathCommand: RegExp;
13
+ export declare const reFontDeclaration: RegExp;
14
+ export declare const svgValidTagNames: string[], svgViewBoxElements: string[], svgInvalidAncestors: string[], svgValidParents: string[], attributesMap: {
15
+ cx: string;
16
+ x: string;
17
+ r: string;
18
+ cy: string;
19
+ y: string;
20
+ display: string;
21
+ visibility: string;
22
+ transform: string;
23
+ 'fill-opacity': string;
24
+ 'fill-rule': string;
25
+ 'font-family': string;
26
+ 'font-size': string;
27
+ 'font-style': string;
28
+ 'font-weight': string;
29
+ 'letter-spacing': string;
30
+ 'paint-order': string;
31
+ 'stroke-dasharray': string;
32
+ 'stroke-dashoffset': string;
33
+ 'stroke-linecap': string;
34
+ 'stroke-linejoin': string;
35
+ 'stroke-miterlimit': string;
36
+ 'stroke-opacity': string;
37
+ 'stroke-width': string;
38
+ 'text-decoration': string;
39
+ 'text-anchor': string;
40
+ opacity: string;
41
+ 'clip-path': string;
42
+ 'clip-rule': string;
43
+ 'vector-effect': string;
44
+ 'image-rendering': string;
45
+ }, colorAttributes: {
46
+ stroke: string;
47
+ fill: string;
48
+ }, fSize = "font-size", cPath = "clip-path";
49
+ export declare const svgValidTagNamesRegEx: RegExp;
50
+ export declare const svgViewBoxElementsRegEx: RegExp;
51
+ export declare const svgInvalidAncestorsRegEx: RegExp;
52
+ export declare const svgValidParentsRegEx: RegExp;
53
+ export declare const reViewBoxAttrValue: RegExp;
54
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare function doesSomeParentMatch(element: any, selectors: any): boolean;
2
+ //# sourceMappingURL=doesSomeParentMatch.d.ts.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @private
3
+ * to support IE8 missing getElementById on SVGdocument and on node xmlDOM
4
+ */
5
+ export declare function elementById(doc: any, id: any): any;
6
+ //# sourceMappingURL=elementById.d.ts.map
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @private
3
+ */
4
+ export declare function elementMatchesRule(element: any, selectors: any): boolean;
5
+ //# sourceMappingURL=elementMatchesRule.d.ts.map
@@ -0,0 +1,3 @@
1
+ declare const ElementsParser: (elements: any, callback: any, options: any, reviver: any, parsingOptions: any, doc: any) => void;
2
+ export { ElementsParser };
3
+ //# sourceMappingURL=elements_parser.d.ts.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Returns CSS rules for a given SVG document
3
+ * @param {SVGDocument} doc SVG document to parse
4
+ * @return {Object} CSS rules of this document
5
+ */
6
+ export declare function getCSSRules(doc: any): {};
7
+ //# sourceMappingURL=getCSSRules.d.ts.map
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @private
3
+ */
4
+ export declare function getGlobalStylesForElement(element: any, svgUid: any): {};
5
+ //# sourceMappingURL=getGlobalStylesForElement.d.ts.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Parses an SVG document, returning all of the gradient declarations found in it
3
+ * @param {SVGDocument} doc SVG document to parse
4
+ * @return {Object} Gradient definitions; key corresponds to element id, value -- to gradient definition element
5
+ */
6
+ export declare function getGradientDefs(doc: any): {};
7
+ //# sourceMappingURL=getGradientDefs.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare function getMultipleNodes(doc: any, nodeNames: any): any[];
2
+ //# sourceMappingURL=getMultipleNodes.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare function getSvgRegex(arr: any): RegExp;
2
+ //# sourceMappingURL=getSvgRegex.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare function hasAncestorWithNodeName(element: any, nodeName: any): boolean;
2
+ //# sourceMappingURL=hasAncestorWithNodeName.d.ts.map
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Takes string corresponding to an SVG document, and parses it into a set of fabric objects
3
+ * @memberOf fabric
4
+ * @param {String} string
5
+ * @param {Function} callback
6
+ * @param {Function} [reviver] Method for further parsing of SVG elements, called after each fabric object created.
7
+ * @param {Object} [options] Object containing options for parsing
8
+ * @param {String} [options.crossOrigin] crossOrigin crossOrigin setting to use for external resources
9
+ * @param {AbortSignal} [options.signal] handle aborting, see https://developer.mozilla.org/en-US/docs/Web/API/AbortController/signal
10
+ */
11
+ export declare function loadSVGFromString(string: any, callback: any, reviver: any, options: any): void;
12
+ //# sourceMappingURL=loadSVGFromString.d.ts.map
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Takes url corresponding to an SVG document, and parses it into a set of fabric objects.
3
+ * Note that SVG is fetched via XMLHttpRequest, so it needs to conform to SOP (Same Origin Policy)
4
+ * @memberOf fabric
5
+ * @param {String} url
6
+ * @param {Function} callback
7
+ * @param {Function} [reviver] Method for further parsing of SVG elements, called after each fabric object created.
8
+ * @param {Object} [options] Object containing options for parsing
9
+ * @param {String} [options.crossOrigin] crossOrigin crossOrigin setting to use for external resources
10
+ * @param {AbortSignal} [options.signal] handle aborting, see https://developer.mozilla.org/en-US/docs/Web/API/AbortController/signal
11
+ */
12
+ export declare function loadSVGFromURL(url: any, callback: any, reviver: any, options: any): void;
13
+ //# sourceMappingURL=loadSVGFromURL.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare function normalizeAttr(attr: any): any;
2
+ //# sourceMappingURL=normalizeAttr.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare function normalizeValue(attr: any, value: any, parentAttributes: any, fontSize: any): any;
2
+ //# sourceMappingURL=normalizeValue.d.ts.map
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Returns an object of attributes' name/value, given element and an array of attribute names;
3
+ * Parses parent "g" nodes recursively upwards.
4
+ * @param {SVGElement | HTMLElement} element Element to parse
5
+ * @param {Array} attributes Array of attributes to parse
6
+ * @return {Object} object containing parsed attributes' names/values
7
+ */
8
+ export declare function parseAttributes(element: SVGElement | HTMLElement, attributes: string[], svgUid?: string): Record<string, any>;
9
+ //# sourceMappingURL=parseAttributes.d.ts.map
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Transforms an array of svg elements to corresponding fabric.* instances
3
+ * @static
4
+ * @memberOf fabric
5
+ * @param {Array} elements Array of elements to parse
6
+ * @param {Function} callback Being passed an array of fabric instances (transformed from SVG elements)
7
+ * @param {Object} [options] Options object
8
+ * @param {Function} [reviver] Method for further parsing of SVG elements, called after each fabric object created.
9
+ */
10
+ export declare function parseElements(elements: any, callback: any, options: any, reviver: any, parsingOptions: any): void;
11
+ //# sourceMappingURL=parseElements.d.ts.map
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Parses a short font declaration, building adding its properties to a style object
3
+ * @static
4
+ * @function
5
+ * @memberOf fabric
6
+ * @param {String} value font declaration
7
+ * @param {Object} oStyle definition
8
+ */
9
+ export declare function parseFontDeclaration(value: any, oStyle: any): void;
10
+ //# sourceMappingURL=parseFontDeclaration.d.ts.map
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Parses "points" attribute, returning an array of values
3
+ * @static
4
+ * @memberOf fabric
5
+ * @param {String} points points attribute string
6
+ * @return {Array} array of points
7
+ */
8
+ export declare function parsePointsAttribute(points: any): {
9
+ x: number;
10
+ y: number;
11
+ }[] | null;
12
+ //# sourceMappingURL=parsePointsAttribute.d.ts.map
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Parses an SVG document, converts it to an array of corresponding fabric.* instances and passes them to a callback
3
+ * @static
4
+ * @function
5
+ * @memberOf fabric
6
+ * @param {SVGDocument} doc SVG document to parse
7
+ * @param {Function} callback Callback to call when parsing is finished;
8
+ * It's being passed an array of elements (parsed from a document).
9
+ * @param {Function} [reviver] Method for further parsing of SVG elements, called after each fabric object created.
10
+ * @param {Object} [parsingOptions] options for parsing document
11
+ * @param {String} [parsingOptions.crossOrigin] crossOrigin settings
12
+ * @param {AbortSignal} [parsingOptions.signal] see https://developer.mozilla.org/en-US/docs/Web/API/AbortController/signal
13
+ */
14
+ export declare function parseSVGDocument(doc: any, callback: any, reviver: any, parsingOptions: any): void;
15
+ //# sourceMappingURL=parseSVGDocument.d.ts.map
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Parses "style" attribute, retuning an object with values
3
+ * @static
4
+ * @memberOf fabric
5
+ * @param {SVGElement} element Element to parse
6
+ * @return {Object} Objects with values parsed from style attribute of an element
7
+ */
8
+ export declare function parseStyleAttribute(element: any): {};
9
+ //# sourceMappingURL=parseStyleAttribute.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare function parseStyleObject(style: any, oStyle: any): void;
2
+ //# sourceMappingURL=parseStyleObject.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare function parseStyleString(style: any, oStyle: any): void;
2
+ //# sourceMappingURL=parseStyleString.d.ts.map
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Parses "transform" attribute, returning an array of values
3
+ * @static
4
+ * @function
5
+ * @memberOf fabric
6
+ * @param {String} attributeValue String containing attribute value
7
+ * @return {Array} Array of 6 elements representing transformation matrix
8
+ */
9
+ export declare function parseTransformAttribute(attributeValue: any): any;
10
+ //# sourceMappingURL=parseTransformAttribute.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare function parseUseDirectives(doc: any): void;
2
+ //# sourceMappingURL=parseUseDirectives.d.ts.map
@@ -0,0 +1,9 @@
1
+ export declare function isPercent(value: string | null): boolean | "" | null;
2
+ /**
3
+ *
4
+ * @param value
5
+ * @param valueIfNaN
6
+ * @returns ∈ [0, 1]
7
+ */
8
+ export declare function parsePercent(value: string | number | null | undefined, valueIfNaN?: number): number;
9
+ //# sourceMappingURL=percent.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare function recursivelyParseGradientsXlink(doc: any, gradient: any): void;
2
+ //# sourceMappingURL=recursivelyParseGradientsXlink.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare function rotateMatrix(matrix: any, args: any): void;
2
+ //# sourceMappingURL=rotateMatrix.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare function scaleMatrix(matrix: any, args: any): void;
2
+ //# sourceMappingURL=scaleMatrix.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare function selectorMatches(element: any, selector: any): boolean;
2
+ //# sourceMappingURL=selectorMatches.d.ts.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @private
3
+ * @param {Object} attributes Array of attributes to parse
4
+ */
5
+ export declare function setStrokeFillOpacity(attributes: any): any;
6
+ //# sourceMappingURL=setStrokeFillOpacity.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare function skewMatrix(matrix: any, args: any, pos: any): void;
2
+ //# sourceMappingURL=skewMatrix.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare function translateMatrix(matrix: any, args: any): void;
2
+ //# sourceMappingURL=translateMatrix.d.ts.map
@@ -0,0 +1,66 @@
1
+ import { ControlRenderingStyleOverride } from '../controls/controls.render';
2
+ import { TClassProperties } from '../typedefs';
3
+ import { Group } from './Group';
4
+ import type { FabricObject } from './Object/FabricObject';
5
+ export declare class ActiveSelection extends Group {
6
+ _objects: FabricObject[];
7
+ constructor(objects?: FabricObject[], options?: any, objectsRelativeToGroup?: boolean);
8
+ /**
9
+ * @private
10
+ */
11
+ _shouldSetNestedCoords(): boolean;
12
+ /**
13
+ * @private
14
+ * @param {FabricObject} object
15
+ * @param {boolean} [removeParentTransform] true if object is in canvas coordinate plane
16
+ * @returns {boolean} true if object entered group
17
+ */
18
+ enterGroup(object: FabricObject, removeParentTransform?: boolean): boolean;
19
+ /**
20
+ * we want objects to retain their canvas ref when exiting instance
21
+ * @private
22
+ * @param {FabricObject} object
23
+ * @param {boolean} [removeParentTransform] true if object should exit group without applying group's transform to it
24
+ */
25
+ exitGroup(object: FabricObject, removeParentTransform?: boolean): void;
26
+ /**
27
+ * @private
28
+ * @param {'added'|'removed'} type
29
+ * @param {FabricObject[]} targets
30
+ */
31
+ _onAfterObjectsChange(type: 'added' | 'removed', targets: FabricObject[]): void;
32
+ /**
33
+ * If returns true, deselection is cancelled.
34
+ * @since 2.0.0
35
+ * @return {Boolean} [cancel]
36
+ */
37
+ onDeselect(): boolean;
38
+ /**
39
+ * Returns string representation of a group
40
+ * @return {String}
41
+ */
42
+ toString(): string;
43
+ /**
44
+ * Decide if the object should cache or not. Create its own cache level
45
+ * objectCaching is a global flag, wins over everything
46
+ * needsItsOwnCache should be used when the object drawing method requires
47
+ * a cache step. None of the fabric classes requires it.
48
+ * Generally you do not cache objects in groups because the group outside is cached.
49
+ * @return {Boolean}
50
+ */
51
+ shouldCache(): boolean;
52
+ /**
53
+ * Check if this group or its parent group are caching, recursively up
54
+ * @return {Boolean}
55
+ */
56
+ isOnACache(): boolean;
57
+ /**
58
+ * Renders controls and borders for the object
59
+ * @param {CanvasRenderingContext2D} ctx Context to render on
60
+ * @param {Object} [styleOverride] properties to override the object style
61
+ * @param {Object} [childrenOverride] properties to override the children overrides
62
+ */
63
+ _renderControls(ctx: CanvasRenderingContext2D, styleOverride?: ControlRenderingStyleOverride, childrenOverride?: ControlRenderingStyleOverride): void;
64
+ }
65
+ export declare const activeSelectionDefaultValues: Partial<TClassProperties<ActiveSelection>>;
66
+ //# sourceMappingURL=ActiveSelection.d.ts.map
@@ -0,0 +1,80 @@
1
+ import { FabricObject } from './Object/FabricObject';
2
+ import { TClassProperties } from '../typedefs';
3
+ export declare class Circle extends FabricObject {
4
+ /**
5
+ * Radius of this circle
6
+ * @type Number
7
+ * @default 0
8
+ */
9
+ radius: number;
10
+ /**
11
+ * degrees of start of the circle.
12
+ * probably will change to degrees in next major version
13
+ * @type Number 0 - 359
14
+ * @default 0
15
+ */
16
+ startAngle: number;
17
+ /**
18
+ * End angle of the circle
19
+ * probably will change to degrees in next major version
20
+ * @type Number 1 - 360
21
+ * @default 360
22
+ */
23
+ endAngle: number;
24
+ /**
25
+ * @private
26
+ * @param {String} key
27
+ * @param {*} value
28
+ */
29
+ _set(key: string, value: any): this;
30
+ /**
31
+ * @private
32
+ * @param {CanvasRenderingContext2D} ctx context to render on
33
+ */
34
+ _render(ctx: CanvasRenderingContext2D): void;
35
+ /**
36
+ * Returns horizontal radius of an object (according to how an object is scaled)
37
+ * @return {Number}
38
+ */
39
+ getRadiusX(): number;
40
+ /**
41
+ * Returns vertical radius of an object (according to how an object is scaled)
42
+ * @return {Number}
43
+ */
44
+ getRadiusY(): number;
45
+ /**
46
+ * Sets radius of an object (and updates width accordingly)
47
+ */
48
+ setRadius(value: number): void;
49
+ /**
50
+ * Returns object representation of an instance
51
+ * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
52
+ * @return {Object} object representation of an instance
53
+ */
54
+ toObject(propertiesToInclude?: string[]): object;
55
+ /**
56
+ * Returns svg representation of an instance
57
+ * @return {Array} an array of strings with the specific svg representation
58
+ * of the instance
59
+ */
60
+ _toSVG(): (string | number)[];
61
+ /**
62
+ * List of attribute names to account for when parsing SVG element (used by {@link Circle.fromElement})
63
+ * @static
64
+ * @memberOf Circle
65
+ * @see: http://www.w3.org/TR/SVG/shapes.html#CircleElement
66
+ */
67
+ static ATTRIBUTE_NAMES: string[];
68
+ /**
69
+ * Returns {@link Circle} instance from an SVG element
70
+ * @static
71
+ * @memberOf Circle
72
+ * @param {SVGElement} element Element to parse
73
+ * @param {Function} [callback] Options callback invoked after parsing is finished
74
+ * @param {Object} [options] Partial Circle object to default missing properties on the element.
75
+ * @throws {Error} If value of `r` attribute is missing or invalid
76
+ */
77
+ static fromElement(element: SVGElement, callback: (circle: Circle) => any): void;
78
+ }
79
+ export declare const circleDefaultValues: Partial<TClassProperties<Circle>>;
80
+ //# sourceMappingURL=Circle.d.ts.map
@@ -0,0 +1,74 @@
1
+ import { TClassProperties } from '../typedefs';
2
+ import { FabricObject } from './Object/FabricObject';
3
+ export declare class Ellipse extends FabricObject {
4
+ /**
5
+ * Horizontal radius
6
+ * @type Number
7
+ * @default
8
+ */
9
+ rx: number;
10
+ /**
11
+ * Vertical radius
12
+ * @type Number
13
+ * @default
14
+ */
15
+ ry: number;
16
+ /**
17
+ * Constructor
18
+ * @param {Object} [options] Options object
19
+ * @return {Ellipse} thisArg
20
+ */
21
+ constructor(options: Record<string, unknown>);
22
+ /**
23
+ * @private
24
+ * @param {String} key
25
+ * @param {*} value
26
+ * @return {Ellipse} thisArg
27
+ */
28
+ _set(key: string, value: any): this;
29
+ /**
30
+ * Returns horizontal radius of an object (according to how an object is scaled)
31
+ * @return {Number}
32
+ */
33
+ getRx(): number;
34
+ /**
35
+ * Returns Vertical radius of an object (according to how an object is scaled)
36
+ * @return {Number}
37
+ */
38
+ getRy(): number;
39
+ /**
40
+ * Returns object representation of an instance
41
+ * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
42
+ * @return {Object} object representation of an instance
43
+ */
44
+ toObject(propertiesToInclude?: string[]): Record<string, any>;
45
+ /**
46
+ * Returns svg representation of an instance
47
+ * @return {Array} an array of strings with the specific svg representation
48
+ * of the instance
49
+ */
50
+ _toSVG(): (string | number)[];
51
+ /**
52
+ * @private
53
+ * @param {CanvasRenderingContext2D} ctx context to render on
54
+ */
55
+ _render(ctx: CanvasRenderingContext2D): void;
56
+ /**
57
+ * List of attribute names to account for when parsing SVG element (used by {@link Ellipse.fromElement})
58
+ * @static
59
+ * @memberOf Ellipse
60
+ * @see http://www.w3.org/TR/SVG/shapes.html#EllipseElement
61
+ */
62
+ static ATTRIBUTE_NAMES: string[];
63
+ /**
64
+ * Returns {@link Ellipse} instance from an SVG element
65
+ * @static
66
+ * @memberOf Ellipse
67
+ * @param {SVGElement} element Element to parse
68
+ * @param {Function} [callback] Options callback invoked after parsing is finished
69
+ * @return {Ellipse}
70
+ */
71
+ static fromElement(element: SVGElement, callback: (ellipse: Ellipse) => void): void;
72
+ }
73
+ export declare const ellipseDefaultValues: Partial<TClassProperties<Ellipse>>;
74
+ //# sourceMappingURL=Ellipse.d.ts.map