fabric 5.3.0 → 6.0.0-beta3

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 (604) hide show
  1. package/.babelrc +11 -0
  2. package/.babelrcAlt +19 -0
  3. package/.browserslistrc +5 -0
  4. package/.eslintignore +3 -0
  5. package/.eslintrc.js +43 -0
  6. package/.eslintrc.json +38 -46
  7. package/.eslintrc_tests +12 -0
  8. package/.gitattributes +2 -0
  9. package/.gitpod.yml +17 -1
  10. package/.prettierignore +19 -0
  11. package/.prettierrc +4 -0
  12. package/CHANGELOG.md +532 -189
  13. package/CONTRIBUTING.md +224 -59
  14. package/README.md +200 -235
  15. package/bower.json +1 -3
  16. package/dist/fabric.d.ts +42 -0
  17. package/dist/index.d.ts +2 -0
  18. package/dist/index.js +27582 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/index.min.js +1 -0
  21. package/dist/index.mjs +27519 -0
  22. package/dist/index.mjs.map +1 -0
  23. package/dist/index.node.cjs +27663 -0
  24. package/dist/index.node.cjs.map +1 -0
  25. package/dist/index.node.d.ts +14 -0
  26. package/dist/index.node.mjs +27606 -0
  27. package/dist/index.node.mjs.map +1 -0
  28. package/dist/src/ClassRegistry.d.ts +13 -0
  29. package/dist/src/Collection.d.ts +136 -0
  30. package/dist/src/CommonMethods.d.ts +32 -0
  31. package/dist/src/EventTypeDefs.d.ts +227 -0
  32. package/dist/src/Intersection.d.ts +112 -0
  33. package/dist/src/Observable.d.ts +60 -0
  34. package/dist/src/Pattern.d.ts +113 -0
  35. package/dist/src/Point.d.ts +232 -0
  36. package/dist/src/Shadow.d.ts +97 -0
  37. package/dist/src/brushes/BaseBrush.d.ts +105 -0
  38. package/dist/src/brushes/CircleBrush.d.ts +49 -0
  39. package/dist/src/brushes/PatternBrush.d.ts +23 -0
  40. package/dist/src/brushes/PencilBrush.d.ts +92 -0
  41. package/dist/src/brushes/SprayBrush.d.ts +79 -0
  42. package/dist/src/cache.d.ts +47 -0
  43. package/dist/src/canvas/Canvas.d.ts +548 -0
  44. package/dist/src/canvas/SelectableCanvas.d.ts +754 -0
  45. package/dist/src/canvas/StaticCanvas.d.ts +778 -0
  46. package/dist/src/canvas/TextEditingManager.d.ts +17 -0
  47. package/dist/src/canvas/canvas_gestures.mixin.d.ts +2 -0
  48. package/dist/src/color/Color.d.ts +174 -0
  49. package/dist/src/color/color_map.d.ts +155 -0
  50. package/dist/src/color/constants.d.ts +22 -0
  51. package/dist/src/color/util.d.ts +12 -0
  52. package/dist/src/config.d.ts +115 -0
  53. package/dist/src/constants.d.ts +14 -0
  54. package/dist/src/controls/Control.d.ts +228 -0
  55. package/dist/src/controls/changeWidth.d.ts +13 -0
  56. package/dist/src/controls/commonControls.d.ts +28 -0
  57. package/dist/src/controls/controlRendering.d.ts +29 -0
  58. package/dist/src/controls/drag.d.ts +12 -0
  59. package/dist/src/controls/index.d.ts +13 -0
  60. package/dist/src/controls/polyControl.d.ts +5 -0
  61. package/dist/src/controls/rotate.d.ts +12 -0
  62. package/dist/src/controls/scale.d.ts +47 -0
  63. package/dist/src/controls/scaleSkew.d.ts +39 -0
  64. package/dist/src/controls/skew.d.ts +33 -0
  65. package/dist/src/controls/util.d.ts +41 -0
  66. package/dist/src/controls/wrapWithFireEvent.d.ts +8 -0
  67. package/dist/src/controls/wrapWithFixedAnchor.d.ts +9 -0
  68. package/dist/src/env/browser.d.ts +3 -0
  69. package/dist/src/env/index.d.ts +15 -0
  70. package/dist/src/env/node.d.ts +5 -0
  71. package/dist/src/env/types.d.ts +15 -0
  72. package/dist/src/filters/BaseFilter.d.ts +153 -0
  73. package/dist/src/filters/BlendColor.d.ts +80 -0
  74. package/dist/src/filters/BlendImage.d.ts +92 -0
  75. package/dist/src/filters/Blur.d.ts +51 -0
  76. package/dist/src/filters/Boilerplate.d.ts +48 -0
  77. package/dist/src/filters/Brightness.d.ts +47 -0
  78. package/dist/src/filters/Canvas2dFilterBackend.d.ts +27 -0
  79. package/dist/src/filters/ColorMatrix.d.ts +63 -0
  80. package/dist/src/filters/ColorMatrixFilters.d.ts +545 -0
  81. package/dist/src/filters/Composed.d.ts +45 -0
  82. package/dist/src/filters/Contrast.d.ts +45 -0
  83. package/dist/src/filters/Convolute.d.ts +82 -0
  84. package/dist/src/filters/FilterBackend.d.ts +14 -0
  85. package/dist/src/filters/GLProbes/GLProbe.d.ts +11 -0
  86. package/dist/src/filters/GLProbes/NodeGLProbe.d.ts +11 -0
  87. package/dist/src/filters/GLProbes/WebGLProbe.d.ts +20 -0
  88. package/dist/src/filters/Gamma.d.ts +54 -0
  89. package/dist/src/filters/Grayscale.d.ts +46 -0
  90. package/dist/src/filters/HueRotation.d.ts +24 -0
  91. package/dist/src/filters/Invert.d.ts +55 -0
  92. package/dist/src/filters/Noise.d.ts +54 -0
  93. package/dist/src/filters/Pixelate.d.ts +44 -0
  94. package/dist/src/filters/RemoveColor.d.ts +63 -0
  95. package/dist/src/filters/Resize.d.ts +136 -0
  96. package/dist/src/filters/Saturation.d.ts +48 -0
  97. package/dist/src/filters/Vibrance.d.ts +48 -0
  98. package/dist/src/filters/WebGLFilterBackend.d.ts +126 -0
  99. package/dist/src/filters/filters.d.ts +21 -0
  100. package/dist/src/filters/index.d.ts +5 -0
  101. package/dist/src/filters/shaders/baseFilter.d.ts +4 -0
  102. package/dist/src/filters/shaders/blendColor.d.ts +13 -0
  103. package/dist/src/filters/shaders/blendImage.d.ts +3 -0
  104. package/dist/src/filters/shaders/blur.d.ts +2 -0
  105. package/dist/src/filters/shaders/brightness.d.ts +2 -0
  106. package/dist/src/filters/shaders/colorMatrix.d.ts +2 -0
  107. package/dist/src/filters/shaders/constrast.d.ts +2 -0
  108. package/dist/src/filters/shaders/convolute.d.ts +11 -0
  109. package/dist/src/filters/shaders/gamma.d.ts +2 -0
  110. package/dist/src/filters/shaders/grayscale.d.ts +3 -0
  111. package/dist/src/filters/shaders/invert.d.ts +2 -0
  112. package/dist/src/filters/shaders/noise.d.ts +2 -0
  113. package/dist/src/filters/shaders/pixelate.d.ts +2 -0
  114. package/dist/src/filters/shaders/removeColor.d.ts +2 -0
  115. package/dist/src/filters/shaders/saturation.d.ts +2 -0
  116. package/dist/src/filters/shaders/vibrance.d.ts +2 -0
  117. package/dist/src/filters/typedefs.d.ts +49 -0
  118. package/dist/src/gradient/Gradient.d.ts +149 -0
  119. package/dist/src/gradient/constants.d.ts +15 -0
  120. package/dist/src/gradient/parser/index.d.ts +4 -0
  121. package/dist/src/gradient/parser/misc.d.ts +4 -0
  122. package/dist/src/gradient/parser/parseColorStops.d.ts +3 -0
  123. package/dist/src/gradient/parser/parseCoords.d.ts +17 -0
  124. package/dist/src/gradient/typedefs.d.ts +93 -0
  125. package/dist/src/mixins/eraser_brush.mixin.d.ts +2 -0
  126. package/dist/src/parkinglot/canvas_animation.mixin.d.ts +2 -0
  127. package/dist/src/parkinglot/straighten.d.ts +2 -0
  128. package/dist/src/parser/applyViewboxTransform.d.ts +5 -0
  129. package/dist/src/parser/attributes.d.ts +6 -0
  130. package/dist/src/parser/constants.d.ts +53 -0
  131. package/dist/src/parser/doesSomeParentMatch.d.ts +2 -0
  132. package/dist/src/parser/elementById.d.ts +6 -0
  133. package/dist/src/parser/elementMatchesRule.d.ts +5 -0
  134. package/dist/src/parser/elements_parser.d.ts +3 -0
  135. package/dist/src/parser/getCSSRules.d.ts +7 -0
  136. package/dist/src/parser/getGlobalStylesForElement.d.ts +5 -0
  137. package/dist/src/parser/getGradientDefs.d.ts +7 -0
  138. package/dist/src/parser/getMultipleNodes.d.ts +2 -0
  139. package/dist/src/parser/getSvgRegex.d.ts +2 -0
  140. package/dist/src/parser/hasAncestorWithNodeName.d.ts +2 -0
  141. package/dist/src/parser/index.d.ts +10 -0
  142. package/dist/src/parser/loadSVGFromString.d.ts +12 -0
  143. package/dist/src/parser/loadSVGFromURL.d.ts +13 -0
  144. package/dist/src/parser/normalizeAttr.d.ts +2 -0
  145. package/dist/src/parser/normalizeValue.d.ts +2 -0
  146. package/dist/src/parser/parseAttributes.d.ts +9 -0
  147. package/dist/src/parser/parseElements.d.ts +11 -0
  148. package/dist/src/parser/parseFontDeclaration.d.ts +10 -0
  149. package/dist/src/parser/parsePointsAttribute.d.ts +12 -0
  150. package/dist/src/parser/parseSVGDocument.d.ts +15 -0
  151. package/dist/src/parser/parseStyleAttribute.d.ts +9 -0
  152. package/dist/src/parser/parseStyleObject.d.ts +2 -0
  153. package/dist/src/parser/parseStyleString.d.ts +2 -0
  154. package/dist/src/parser/parseTransformAttribute.d.ts +10 -0
  155. package/dist/src/parser/parseUseDirectives.d.ts +2 -0
  156. package/dist/src/parser/percent.d.ts +9 -0
  157. package/dist/src/parser/recursivelyParseGradientsXlink.d.ts +2 -0
  158. package/dist/src/parser/rotateMatrix.d.ts +2 -0
  159. package/dist/src/parser/scaleMatrix.d.ts +2 -0
  160. package/dist/src/parser/selectorMatches.d.ts +2 -0
  161. package/dist/src/parser/setStrokeFillOpacity.d.ts +6 -0
  162. package/dist/src/parser/skewMatrix.d.ts +2 -0
  163. package/dist/src/parser/translateMatrix.d.ts +2 -0
  164. package/dist/src/shapes/ActiveSelection.d.ts +82 -0
  165. package/dist/src/shapes/Circle.d.ts +99 -0
  166. package/dist/src/shapes/Ellipse.d.ts +84 -0
  167. package/dist/src/shapes/Group.d.ts +408 -0
  168. package/dist/src/shapes/IText/DraggableTextDelegate.d.ts +78 -0
  169. package/dist/src/shapes/IText/IText.d.ts +335 -0
  170. package/dist/src/shapes/IText/ITextBehavior.d.ts +287 -0
  171. package/dist/src/shapes/IText/ITextClickBehavior.d.ts +83 -0
  172. package/dist/src/shapes/IText/ITextKeyBehavior.d.ts +195 -0
  173. package/dist/src/shapes/IText/constants.d.ts +13 -0
  174. package/dist/src/shapes/Image.d.ts +311 -0
  175. package/dist/src/shapes/Line.d.ts +126 -0
  176. package/dist/src/shapes/Object/AnimatableObject.d.ts +33 -0
  177. package/dist/src/shapes/Object/FabricObject.d.ts +11 -0
  178. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts +74 -0
  179. package/dist/src/shapes/Object/InteractiveObject.d.ts +296 -0
  180. package/dist/src/shapes/Object/Object.d.ts +594 -0
  181. package/dist/src/shapes/Object/ObjectGeometry.d.ts +327 -0
  182. package/dist/src/shapes/Object/ObjectOrigin.d.ts +109 -0
  183. package/dist/src/shapes/Object/StackedObject.d.ts +72 -0
  184. package/dist/src/shapes/Object/defaultValues.d.ts +76 -0
  185. package/dist/src/shapes/Object/types/BaseProps.d.ts +84 -0
  186. package/dist/src/shapes/Object/types/BorderProps.d.ts +37 -0
  187. package/dist/src/shapes/Object/types/ControlProps.d.ts +62 -0
  188. package/dist/src/shapes/Object/types/FabricObjectProps.d.ts +96 -0
  189. package/dist/src/shapes/Object/types/FillStrokeProps.d.ts +80 -0
  190. package/dist/src/shapes/Object/types/LockInteractionProps.d.ts +51 -0
  191. package/dist/src/shapes/Object/types/ObjectProps.d.ts +42 -0
  192. package/dist/src/shapes/Object/types/SerializedObjectProps.d.ts +66 -0
  193. package/dist/src/shapes/Object/types/index.d.ts +6 -0
  194. package/dist/src/shapes/Path.d.ts +130 -0
  195. package/dist/src/shapes/Polygon.d.ts +9 -0
  196. package/dist/src/shapes/Polyline.d.ts +140 -0
  197. package/dist/src/shapes/Rect.d.ts +76 -0
  198. package/dist/src/shapes/Text/StyledText.d.ts +119 -0
  199. package/dist/src/shapes/Text/Text.d.ts +673 -0
  200. package/dist/src/shapes/Text/TextSVGExportMixin.d.ts +32 -0
  201. package/dist/src/shapes/Text/constants.d.ts +7 -0
  202. package/dist/src/shapes/Textbox.d.ts +185 -0
  203. package/dist/src/shapes/Triangle.d.ts +25 -0
  204. package/dist/src/typedefs.d.ts +90 -0
  205. package/dist/src/util/animation/AnimationBase.d.ts +54 -0
  206. package/dist/src/util/animation/AnimationFrameProvider.d.ts +3 -0
  207. package/dist/src/util/animation/AnimationRegistry.d.ts +29 -0
  208. package/dist/src/util/animation/ArrayAnimation.d.ts +10 -0
  209. package/dist/src/util/animation/ColorAnimation.d.ts +11 -0
  210. package/dist/src/util/animation/ValueAnimation.d.ts +10 -0
  211. package/dist/src/util/animation/animate.d.ts +37 -0
  212. package/dist/src/util/animation/easing.d.ts +130 -0
  213. package/dist/src/util/animation/types.d.ts +87 -0
  214. package/dist/src/util/applyMixins.d.ts +8 -0
  215. package/dist/src/util/dom_event.d.ts +5 -0
  216. package/dist/src/util/dom_misc.d.ts +39 -0
  217. package/dist/src/util/dom_request.d.ts +14 -0
  218. package/dist/src/util/dom_style.d.ts +7 -0
  219. package/dist/src/util/fireEvent.d.ts +3 -0
  220. package/dist/src/util/index.d.ts +35 -0
  221. package/dist/src/util/internals/cloneDeep.d.ts +2 -0
  222. package/dist/src/util/internals/getRandomInt.d.ts +8 -0
  223. package/dist/src/util/internals/ifNaN.d.ts +8 -0
  224. package/dist/src/util/internals/index.d.ts +4 -0
  225. package/dist/src/util/internals/removeFromArray.d.ts +9 -0
  226. package/dist/src/util/internals/uid.d.ts +2 -0
  227. package/dist/src/util/lang_string.d.ts +22 -0
  228. package/dist/src/util/misc/boundingBoxFromPoints.d.ts +9 -0
  229. package/dist/src/util/misc/capValue.d.ts +2 -0
  230. package/dist/src/util/misc/cos.d.ts +10 -0
  231. package/dist/src/util/misc/dom.d.ts +28 -0
  232. package/dist/src/util/misc/findScaleTo.d.ts +29 -0
  233. package/dist/src/util/misc/groupSVGElements.d.ts +9 -0
  234. package/dist/src/util/misc/isTransparent.d.ts +11 -0
  235. package/dist/src/util/misc/matrix.d.ts +92 -0
  236. package/dist/src/util/misc/mergeClipPaths.d.ts +23 -0
  237. package/dist/src/util/misc/objectEnlive.d.ts +56 -0
  238. package/dist/src/util/misc/objectTransforms.d.ts +68 -0
  239. package/dist/src/util/misc/pick.d.ts +9 -0
  240. package/dist/src/util/misc/planeChange.d.ts +84 -0
  241. package/dist/src/util/misc/projectStroke/StrokeLineCapProjections.d.ts +51 -0
  242. package/dist/src/util/misc/projectStroke/StrokeLineJoinProjections.d.ts +81 -0
  243. package/dist/src/util/misc/projectStroke/StrokeProjectionsBase.d.ts +25 -0
  244. package/dist/src/util/misc/projectStroke/index.d.ts +11 -0
  245. package/dist/src/util/misc/projectStroke/types.d.ts +23 -0
  246. package/dist/src/util/misc/radiansDegreesConversion.d.ts +14 -0
  247. package/dist/src/util/misc/resolveOrigin.d.ts +9 -0
  248. package/dist/src/util/misc/rotatePoint.d.ts +12 -0
  249. package/dist/src/util/misc/sin.d.ts +10 -0
  250. package/dist/src/util/misc/svgParsing.d.ts +53 -0
  251. package/dist/src/util/misc/textStyles.d.ts +32 -0
  252. package/dist/src/util/misc/toFixed.d.ts +8 -0
  253. package/dist/src/util/misc/vectors.d.ts +57 -0
  254. package/dist/src/util/path/index.d.ts +96 -0
  255. package/dist/src/util/path/regex.d.ts +3 -0
  256. package/dist/src/util/path/typechecks.d.ts +24 -0
  257. package/dist/src/util/path/typedefs.d.ts +220 -0
  258. package/dist/src/util/transform_matrix_removal.d.ts +14 -0
  259. package/dist/src/util/types.d.ts +19 -0
  260. package/fabric.ts +51 -0
  261. package/index.node.ts +37 -0
  262. package/index.ts +1 -0
  263. package/package.json +100 -40
  264. package/publish.js +0 -26
  265. package/rollup.config.mjs +91 -0
  266. package/rollup.test.config.js +24 -0
  267. package/scripts/build.mjs +50 -0
  268. package/scripts/buildLock.mjs +115 -0
  269. package/scripts/buildReporter.mjs +15 -0
  270. package/scripts/buildStats.mjs +139 -0
  271. package/scripts/dirname.mjs +14 -0
  272. package/scripts/git.mjs +36 -0
  273. package/scripts/index.mjs +564 -0
  274. package/scripts/sandbox.mjs +149 -0
  275. package/src/ClassRegistry.ts +56 -0
  276. package/src/Collection.ts +346 -0
  277. package/src/CommonMethods.ts +63 -0
  278. package/src/EventTypeDefs.ts +296 -0
  279. package/src/Intersection.ts +302 -0
  280. package/src/Observable.ts +181 -0
  281. package/src/Pattern.ts +227 -0
  282. package/src/Point.ts +388 -0
  283. package/src/Shadow.ts +214 -0
  284. package/src/brushes/{base_brush.class.js → BaseBrush.ts} +65 -42
  285. package/src/brushes/CircleBrush.ts +145 -0
  286. package/src/brushes/PatternBrush.ts +70 -0
  287. package/src/brushes/PencilBrush.ts +300 -0
  288. package/src/brushes/SprayBrush.ts +219 -0
  289. package/src/cache.ts +90 -0
  290. package/src/canvas/Canvas.ts +1607 -0
  291. package/src/canvas/SelectableCanvas.ts +1608 -0
  292. package/src/canvas/StaticCanvas.ts +1734 -0
  293. package/src/canvas/TextEditingManager.ts +48 -0
  294. package/src/canvas/canvas_gestures.mixin.ts +207 -0
  295. package/src/color/Color.ts +404 -0
  296. package/src/color/color_map.ts +154 -0
  297. package/src/color/constants.ts +26 -0
  298. package/src/color/util.ts +32 -0
  299. package/src/config.ts +159 -0
  300. package/src/constants.ts +20 -0
  301. package/src/controls/Control.ts +380 -0
  302. package/src/controls/changeWidth.ts +52 -0
  303. package/src/controls/commonControls.ts +105 -0
  304. package/src/controls/controlRendering.ts +138 -0
  305. package/src/controls/drag.ts +31 -0
  306. package/src/controls/index.ts +22 -0
  307. package/src/controls/polyControl.ts +135 -0
  308. package/src/controls/rotate.ts +87 -0
  309. package/src/controls/scale.ts +277 -0
  310. package/src/controls/scaleSkew.ts +92 -0
  311. package/src/controls/skew.ts +242 -0
  312. package/src/controls/util.ts +154 -0
  313. package/src/controls/wrapWithFireEvent.ts +25 -0
  314. package/src/controls/wrapWithFixedAnchor.ts +20 -0
  315. package/src/env/browser.ts +32 -0
  316. package/src/env/index.ts +24 -0
  317. package/src/env/node.ts +56 -0
  318. package/src/env/types.ts +15 -0
  319. package/src/filters/{base_filter.class.js → BaseFilter.ts} +192 -151
  320. package/src/filters/BlendColor.ts +217 -0
  321. package/src/filters/BlendImage.ts +228 -0
  322. package/src/filters/Blur.ts +179 -0
  323. package/src/filters/Boilerplate.ts +94 -0
  324. package/src/filters/Brightness.ts +83 -0
  325. package/src/filters/Canvas2dFilterBackend.ts +65 -0
  326. package/src/filters/ColorMatrix.ts +145 -0
  327. package/src/filters/ColorMatrixFilters.ts +77 -0
  328. package/src/filters/Composed.ts +76 -0
  329. package/src/filters/Contrast.ts +82 -0
  330. package/src/filters/Convolute.ts +184 -0
  331. package/src/filters/FilterBackend.ts +34 -0
  332. package/src/filters/GLProbes/GLProbe.ts +11 -0
  333. package/src/filters/GLProbes/NodeGLProbe.ts +15 -0
  334. package/src/filters/GLProbes/WebGLProbe.ts +46 -0
  335. package/src/filters/Gamma.ts +110 -0
  336. package/src/filters/Grayscale.ts +102 -0
  337. package/src/filters/HueRotation.ts +62 -0
  338. package/src/filters/Invert.ts +99 -0
  339. package/src/filters/Noise.ts +94 -0
  340. package/src/filters/Pixelate.ts +96 -0
  341. package/src/filters/RemoveColor.ts +135 -0
  342. package/src/filters/Resize.ts +538 -0
  343. package/src/filters/Saturation.ts +87 -0
  344. package/src/filters/Vibrance.ts +88 -0
  345. package/src/filters/WebGLFilterBackend.ts +430 -0
  346. package/src/filters/filters.ts +28 -0
  347. package/src/filters/index.ts +5 -0
  348. package/src/filters/shaders/baseFilter.ts +19 -0
  349. package/src/filters/shaders/blendColor.ts +33 -0
  350. package/src/filters/shaders/blendImage.ts +32 -0
  351. package/src/filters/shaders/blur.ts +24 -0
  352. package/src/filters/shaders/brightness.ts +11 -0
  353. package/src/filters/shaders/colorMatrix.ts +12 -0
  354. package/src/filters/shaders/constrast.ts +11 -0
  355. package/src/filters/shaders/convolute.ts +154 -0
  356. package/src/filters/shaders/gamma.ts +15 -0
  357. package/src/filters/shaders/grayscale.ts +36 -0
  358. package/src/filters/shaders/invert.ts +19 -0
  359. package/src/filters/shaders/noise.ts +16 -0
  360. package/src/filters/shaders/pixelate.ts +19 -0
  361. package/src/filters/shaders/removeColor.ts +13 -0
  362. package/src/filters/shaders/saturation.ts +15 -0
  363. package/src/filters/shaders/vibrance.ts +16 -0
  364. package/src/filters/typedefs.ts +65 -0
  365. package/src/gradient/Gradient.ts +406 -0
  366. package/src/gradient/constants.ts +12 -0
  367. package/src/gradient/parser/index.ts +3 -0
  368. package/src/gradient/parser/misc.ts +13 -0
  369. package/src/gradient/parser/parseColorStops.ts +56 -0
  370. package/src/gradient/parser/parseCoords.ts +73 -0
  371. package/src/gradient/typedefs.ts +104 -0
  372. package/src/mixins/{eraser_brush.mixin.js → eraser_brush.mixin.ts} +350 -239
  373. package/src/parkinglot/canvas_animation.mixin.ts +121 -0
  374. package/src/parkinglot/straighten.ts +58 -0
  375. package/src/parser/applyViewboxTransform.ts +157 -0
  376. package/src/parser/attributes.ts +25 -0
  377. package/src/parser/constants.ts +115 -0
  378. package/src/parser/doesSomeParentMatch.ts +19 -0
  379. package/src/parser/elementById.ts +21 -0
  380. package/src/parser/elementMatchesRule.ts +16 -0
  381. package/src/parser/elements_parser.ts +191 -0
  382. package/src/parser/getCSSRules.ts +62 -0
  383. package/src/parser/getGlobalStylesForElement.ts +19 -0
  384. package/src/parser/getGradientDefs.ts +31 -0
  385. package/src/parser/getMultipleNodes.ts +15 -0
  386. package/src/parser/getSvgRegex.ts +5 -0
  387. package/src/parser/hasAncestorWithNodeName.ts +14 -0
  388. package/src/parser/index.ts +9 -0
  389. package/src/parser/loadSVGFromString.ts +26 -0
  390. package/src/parser/loadSVGFromURL.ts +40 -0
  391. package/src/parser/normalizeAttr.ts +10 -0
  392. package/src/parser/normalizeValue.ts +63 -0
  393. package/src/parser/parseAttributes.ts +90 -0
  394. package/src/parser/parseElements.ts +28 -0
  395. package/src/parser/parseFontDeclaration.ts +44 -0
  396. package/src/parser/parsePointsAttribute.ts +34 -0
  397. package/src/parser/parseSVGDocument.ts +93 -0
  398. package/src/parser/parseStyleAttribute.ts +27 -0
  399. package/src/parser/parseStyleObject.ts +15 -0
  400. package/src/parser/parseStyleString.ts +16 -0
  401. package/src/parser/parseTransformAttribute.ts +155 -0
  402. package/src/parser/parseUseDirectives.ts +78 -0
  403. package/src/parser/percent.ts +27 -0
  404. package/src/parser/recursivelyParseGradientsXlink.ts +42 -0
  405. package/src/parser/rotateMatrix.ts +21 -0
  406. package/src/parser/scaleMatrix.ts +9 -0
  407. package/src/parser/selectorMatches.ts +25 -0
  408. package/src/parser/setStrokeFillOpacity.ts +40 -0
  409. package/src/parser/skewMatrix.ts +6 -0
  410. package/src/parser/translateMatrix.ts +8 -0
  411. package/src/shapes/ActiveSelection.ts +189 -0
  412. package/src/shapes/Circle.ts +242 -0
  413. package/src/shapes/Ellipse.ts +179 -0
  414. package/src/shapes/Group.ts +1100 -0
  415. package/src/shapes/IText/DraggableTextDelegate.ts +382 -0
  416. package/src/shapes/IText/IText.ts +693 -0
  417. package/src/shapes/IText/ITextBehavior.ts +1064 -0
  418. package/src/shapes/IText/ITextClickBehavior.ts +325 -0
  419. package/src/shapes/IText/ITextKeyBehavior.ts +685 -0
  420. package/src/shapes/IText/constants.ts +47 -0
  421. package/src/shapes/Image.ts +841 -0
  422. package/src/shapes/Line.ts +346 -0
  423. package/src/shapes/Object/AnimatableObject.ts +106 -0
  424. package/src/shapes/Object/FabricObject.ts +29 -0
  425. package/src/shapes/Object/FabricObjectSVGExportMixin.ts +277 -0
  426. package/src/shapes/Object/InteractiveObject.ts +672 -0
  427. package/src/shapes/Object/Object.ts +1561 -0
  428. package/src/shapes/Object/ObjectGeometry.ts +813 -0
  429. package/src/shapes/Object/ObjectOrigin.ts +276 -0
  430. package/src/shapes/Object/StackedObject.ts +206 -0
  431. package/src/shapes/Object/defaultValues.ts +108 -0
  432. package/src/shapes/Object/types/BaseProps.ts +96 -0
  433. package/src/shapes/Object/types/BorderProps.ts +40 -0
  434. package/src/shapes/Object/types/ControlProps.ts +69 -0
  435. package/src/shapes/Object/types/FabricObjectProps.ts +111 -0
  436. package/src/shapes/Object/types/FillStrokeProps.ts +90 -0
  437. package/src/shapes/Object/types/LockInteractionProps.ts +57 -0
  438. package/src/shapes/Object/types/ObjectProps.ts +46 -0
  439. package/src/shapes/Object/types/SerializedObjectProps.ts +73 -0
  440. package/src/shapes/Object/types/index.ts +8 -0
  441. package/src/shapes/Path.ts +416 -0
  442. package/src/shapes/Polygon.ts +20 -0
  443. package/src/shapes/Polyline.ts +359 -0
  444. package/src/shapes/Rect.ts +233 -0
  445. package/src/shapes/Text/StyledText.ts +329 -0
  446. package/src/shapes/Text/Text.ts +1884 -0
  447. package/src/shapes/Text/TextSVGExportMixin.ts +288 -0
  448. package/src/shapes/Text/constants.ts +91 -0
  449. package/src/shapes/Textbox.ts +477 -0
  450. package/src/shapes/Triangle.ts +60 -0
  451. package/src/typedefs.ts +115 -0
  452. package/src/util/animation/AnimationBase.ts +166 -0
  453. package/src/util/animation/AnimationFrameProvider.ts +9 -0
  454. package/src/util/animation/AnimationRegistry.ts +58 -0
  455. package/src/util/animation/ArrayAnimation.ts +27 -0
  456. package/src/util/animation/ColorAnimation.ts +74 -0
  457. package/src/util/animation/ValueAnimation.ts +29 -0
  458. package/src/util/animation/animate.ts +74 -0
  459. package/src/util/animation/easing.ts +327 -0
  460. package/src/util/animation/types.ts +136 -0
  461. package/src/util/applyMixins.ts +22 -0
  462. package/src/util/dom_event.ts +28 -0
  463. package/src/util/dom_misc.ts +121 -0
  464. package/src/util/dom_request.ts +64 -0
  465. package/src/util/dom_style.ts +20 -0
  466. package/src/util/fireEvent.ts +15 -0
  467. package/src/util/index.ts +102 -0
  468. package/src/util/internals/cloneDeep.ts +2 -0
  469. package/src/util/internals/getRandomInt.ts +8 -0
  470. package/src/util/internals/ifNaN.ts +9 -0
  471. package/src/util/internals/index.ts +3 -0
  472. package/src/util/internals/removeFromArray.ts +14 -0
  473. package/src/util/internals/uid.ts +3 -0
  474. package/src/util/lang_string.ts +79 -0
  475. package/src/util/misc/boundingBoxFromPoints.ts +37 -0
  476. package/src/util/misc/capValue.ts +2 -0
  477. package/src/util/misc/cos.ts +24 -0
  478. package/src/util/misc/dom.ts +50 -0
  479. package/src/util/misc/findScaleTo.ts +44 -0
  480. package/src/util/misc/groupSVGElements.ts +15 -0
  481. package/src/util/misc/isTransparent.ts +28 -0
  482. package/src/util/misc/matrix.ts +207 -0
  483. package/src/util/misc/mergeClipPaths.ts +40 -0
  484. package/src/util/misc/objectEnlive.ts +189 -0
  485. package/src/util/misc/objectTransforms.ts +129 -0
  486. package/src/util/misc/pick.ts +29 -0
  487. package/src/util/misc/planeChange.ts +136 -0
  488. package/src/util/misc/projectStroke/StrokeLineCapProjections.ts +112 -0
  489. package/src/util/misc/projectStroke/StrokeLineJoinProjections.ts +226 -0
  490. package/src/util/misc/projectStroke/StrokeProjectionsBase.ts +75 -0
  491. package/src/util/misc/projectStroke/index.ts +53 -0
  492. package/src/util/misc/projectStroke/types.ts +24 -0
  493. package/src/util/misc/radiansDegreesConversion.ts +18 -0
  494. package/src/util/misc/resolveOrigin.ts +22 -0
  495. package/src/util/misc/rotatePoint.ts +15 -0
  496. package/src/util/misc/sin.ts +26 -0
  497. package/src/util/misc/svgParsing.ts +181 -0
  498. package/src/util/misc/textStyles.ts +134 -0
  499. package/src/util/misc/toFixed.ts +8 -0
  500. package/src/util/misc/vectors.ts +82 -0
  501. package/src/util/path/index.ts +1038 -0
  502. package/src/util/path/regex.ts +41 -0
  503. package/src/util/path/typechecks.ts +145 -0
  504. package/src/util/path/typedefs.ts +305 -0
  505. package/src/util/transform_matrix_removal.ts +60 -0
  506. package/src/util/types.ts +78 -0
  507. package/tsconfig.json +106 -0
  508. package/HEADER.js +0 -203
  509. package/build.js +0 -287
  510. package/dist/fabric.js +0 -31187
  511. package/dist/fabric.min.js +0 -1
  512. package/old-travis-reference.yml +0 -97
  513. package/src/brushes/circle_brush.class.js +0 -144
  514. package/src/brushes/pattern_brush.class.js +0 -61
  515. package/src/brushes/pencil_brush.class.js +0 -310
  516. package/src/brushes/spray_brush.class.js +0 -219
  517. package/src/canvas.class.js +0 -1312
  518. package/src/color.class.js +0 -636
  519. package/src/control.class.js +0 -339
  520. package/src/controls.actions.js +0 -740
  521. package/src/controls.render.js +0 -99
  522. package/src/elements_parser.js +0 -152
  523. package/src/filters/2d_backend.class.js +0 -65
  524. package/src/filters/blendcolor_filter.class.js +0 -251
  525. package/src/filters/blendimage_filter.class.js +0 -247
  526. package/src/filters/blur_filter.class.js +0 -217
  527. package/src/filters/brightness_filter.class.js +0 -113
  528. package/src/filters/colormatrix_filter.class.js +0 -159
  529. package/src/filters/composed_filter.class.js +0 -72
  530. package/src/filters/contrast_filter.class.js +0 -113
  531. package/src/filters/convolute_filter.class.js +0 -352
  532. package/src/filters/filter_boilerplate.js +0 -111
  533. package/src/filters/filter_generator.js +0 -85
  534. package/src/filters/gamma_filter.class.js +0 -136
  535. package/src/filters/grayscale_filter.class.js +0 -154
  536. package/src/filters/hue_rotation.class.js +0 -107
  537. package/src/filters/invert_filter.class.js +0 -111
  538. package/src/filters/noise_filter.class.js +0 -134
  539. package/src/filters/pixelate_filter.class.js +0 -137
  540. package/src/filters/removecolor_filter.class.js +0 -173
  541. package/src/filters/resize_filter.class.js +0 -490
  542. package/src/filters/saturate_filter.class.js +0 -119
  543. package/src/filters/vibrance_filter.class.js +0 -122
  544. package/src/filters/webgl_backend.class.js +0 -396
  545. package/src/globalFabric.js +0 -4
  546. package/src/gradient.class.js +0 -490
  547. package/src/intersection.class.js +0 -172
  548. package/src/log.js +0 -11
  549. package/src/mixins/animation.mixin.js +0 -231
  550. package/src/mixins/canvas_dataurl_exporter.mixin.js +0 -97
  551. package/src/mixins/canvas_events.mixin.js +0 -974
  552. package/src/mixins/canvas_gestures.mixin.js +0 -149
  553. package/src/mixins/canvas_grouping.mixin.js +0 -177
  554. package/src/mixins/canvas_serialization.mixin.js +0 -228
  555. package/src/mixins/collection.mixin.js +0 -170
  556. package/src/mixins/default_controls.js +0 -114
  557. package/src/mixins/itext.svg_export.js +0 -241
  558. package/src/mixins/itext_behavior.mixin.js +0 -940
  559. package/src/mixins/itext_click_behavior.mixin.js +0 -278
  560. package/src/mixins/itext_key_behavior.mixin.js +0 -694
  561. package/src/mixins/object.svg_export.js +0 -258
  562. package/src/mixins/object_geometry.mixin.js +0 -683
  563. package/src/mixins/object_interactivity.mixin.js +0 -314
  564. package/src/mixins/object_origin.mixin.js +0 -255
  565. package/src/mixins/object_stacking.mixin.js +0 -80
  566. package/src/mixins/object_straightening.mixin.js +0 -80
  567. package/src/mixins/observable.mixin.js +0 -141
  568. package/src/mixins/shared_methods.mixin.js +0 -94
  569. package/src/mixins/stateful.mixin.js +0 -107
  570. package/src/mixins/text_style.mixin.js +0 -324
  571. package/src/parser.js +0 -1090
  572. package/src/pattern.class.js +0 -189
  573. package/src/point.class.js +0 -337
  574. package/src/shadow.class.js +0 -195
  575. package/src/shapes/active_selection.class.js +0 -155
  576. package/src/shapes/circle.class.js +0 -210
  577. package/src/shapes/ellipse.class.js +0 -181
  578. package/src/shapes/group.class.js +0 -593
  579. package/src/shapes/image.class.js +0 -764
  580. package/src/shapes/itext.class.js +0 -526
  581. package/src/shapes/line.class.js +0 -324
  582. package/src/shapes/object.class.js +0 -2008
  583. package/src/shapes/path.class.js +0 -384
  584. package/src/shapes/polygon.class.js +0 -81
  585. package/src/shapes/polyline.class.js +0 -268
  586. package/src/shapes/rect.class.js +0 -187
  587. package/src/shapes/text.class.js +0 -1696
  588. package/src/shapes/textbox.class.js +0 -461
  589. package/src/shapes/triangle.class.js +0 -93
  590. package/src/static_canvas.class.js +0 -1881
  591. package/src/util/anim_ease.js +0 -398
  592. package/src/util/animate.js +0 -254
  593. package/src/util/animate_color.js +0 -74
  594. package/src/util/dom_event.js +0 -50
  595. package/src/util/dom_misc.js +0 -300
  596. package/src/util/dom_request.js +0 -54
  597. package/src/util/dom_style.js +0 -70
  598. package/src/util/lang_array.js +0 -94
  599. package/src/util/lang_class.js +0 -115
  600. package/src/util/lang_object.js +0 -75
  601. package/src/util/lang_string.js +0 -110
  602. package/src/util/misc.js +0 -1330
  603. package/src/util/named_accessors.mixin.js +0 -428
  604. package/src/util/path.js +0 -829
@@ -0,0 +1,93 @@
1
+ import { Percent, TMat2D } from '../typedefs';
2
+ export type GradientUnits = 'pixels' | 'percentage';
3
+ export type GradientType = 'linear' | 'radial';
4
+ export type GradientCoordValue = number | Percent | string;
5
+ export type ColorStop = {
6
+ color: string;
7
+ offset: number;
8
+ opacity?: number;
9
+ };
10
+ export type LinearGradientCoords<T extends GradientCoordValue> = {
11
+ /**
12
+ * X coordiante of the first point
13
+ */
14
+ x1: T;
15
+ /**
16
+ * Y coordiante of the first point
17
+ */
18
+ y1: T;
19
+ /**
20
+ * X coordiante of the second point
21
+ */
22
+ x2: T;
23
+ /**
24
+ * Y coordiante of the second point
25
+ */
26
+ y2: T;
27
+ };
28
+ export type RadialGradientCoords<T extends GradientCoordValue> = {
29
+ /**
30
+ * X coordiante of the first focal point
31
+ */
32
+ x1: T;
33
+ /**
34
+ * Y coordiante of the first focal point
35
+ */
36
+ y1: T;
37
+ /**
38
+ * X coordiante of the second focal point
39
+ */
40
+ x2: T;
41
+ /**
42
+ * Y coordiante of the second focal point
43
+ */
44
+ y2: T;
45
+ /**
46
+ * radius of the inner circle
47
+ */
48
+ r1: T;
49
+ /**
50
+ * radius of the outer circle
51
+ */
52
+ r2: T;
53
+ };
54
+ export type GradientCoords<T extends GradientType> = T extends 'linear' ? LinearGradientCoords<number> : RadialGradientCoords<number>;
55
+ export type GradientOptions<T extends GradientType> = {
56
+ type?: T;
57
+ gradientUnits?: GradientUnits;
58
+ colorStops?: ColorStop[];
59
+ coords: Partial<GradientCoords<T>>;
60
+ /**
61
+ * @todo rename?
62
+ */
63
+ gradientTransform?: TMat2D;
64
+ id?: string;
65
+ /**
66
+ * SVG import compatibility
67
+ */
68
+ offsetX?: number;
69
+ /**
70
+ * SVG import compatibility
71
+ */
72
+ offsetY?: number;
73
+ };
74
+ export type SVGOptions = {
75
+ /**
76
+ * width part of the viewBox attribute on svg
77
+ */
78
+ viewBoxWidth: number;
79
+ /**
80
+ * height part of the viewBox attribute on svg
81
+ */
82
+ viewBoxHeight: number;
83
+ /**
84
+ * width part of the svg tag if viewBox is not specified
85
+ */
86
+ width: number;
87
+ /**
88
+ * height part of the svg tag if viewBox is not specified
89
+ */
90
+ height: number;
91
+ opacity: string | null;
92
+ };
93
+ //# sourceMappingURL=typedefs.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=eraser_brush.mixin.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=canvas_animation.mixin.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=straighten.d.ts.map
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Add a <g> element that envelop all child elements and makes the viewbox transformMatrix descend on all elements
3
+ */
4
+ export declare function applyViewboxTransform(element: any): {};
5
+ //# sourceMappingURL=applyViewboxTransform.d.ts.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Attributes parsed from all SVG elements
3
+ * @type array
4
+ */
5
+ export declare const SHARED_ATTRIBUTES: string[];
6
+ //# sourceMappingURL=attributes.d.ts.map
@@ -0,0 +1,53 @@
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: string;
12
+ export declare const reFontDeclaration: RegExp;
13
+ export declare const svgValidTagNames: string[], svgViewBoxElements: string[], svgInvalidAncestors: string[], svgValidParents: string[], attributesMap: {
14
+ cx: string;
15
+ x: string;
16
+ r: string;
17
+ cy: string;
18
+ y: string;
19
+ display: string;
20
+ visibility: string;
21
+ transform: string;
22
+ 'fill-opacity': string;
23
+ 'fill-rule': string;
24
+ 'font-family': string;
25
+ 'font-size': string;
26
+ 'font-style': string;
27
+ 'font-weight': string;
28
+ 'letter-spacing': string;
29
+ 'paint-order': string;
30
+ 'stroke-dasharray': string;
31
+ 'stroke-dashoffset': string;
32
+ 'stroke-linecap': string;
33
+ 'stroke-linejoin': string;
34
+ 'stroke-miterlimit': string;
35
+ 'stroke-opacity': string;
36
+ 'stroke-width': string;
37
+ 'text-decoration': string;
38
+ 'text-anchor': string;
39
+ opacity: string;
40
+ 'clip-path': string;
41
+ 'clip-rule': string;
42
+ 'vector-effect': string;
43
+ 'image-rendering': string;
44
+ }, colorAttributes: {
45
+ stroke: string;
46
+ fill: string;
47
+ }, fSize = "font-size", cPath = "clip-path";
48
+ export declare const svgValidTagNamesRegEx: RegExp;
49
+ export declare const svgViewBoxElementsRegEx: RegExp;
50
+ export declare const svgInvalidAncestorsRegEx: RegExp;
51
+ export declare const svgValidParentsRegEx: RegExp;
52
+ export declare const reViewBoxAttrValue: RegExp;
53
+ //# 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: Document, id: string): Element | undefined;
6
+ //# sourceMappingURL=elementById.d.ts.map
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @private
3
+ */
4
+ export declare function elementMatchesRule(element: HTMLElement, selectors: string[]): 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,10 @@
1
+ export { loadSVGFromURL } from './loadSVGFromURL';
2
+ export { loadSVGFromString } from './loadSVGFromString';
3
+ export { parseAttributes } from './parseAttributes';
4
+ export { parseElements } from './parseElements';
5
+ export { parseStyleAttribute } from './parseStyleAttribute';
6
+ export { parsePointsAttribute } from './parsePointsAttribute';
7
+ export { parseTransformAttribute } from './parseTransformAttribute';
8
+ export { getCSSRules } from './getCSSRules';
9
+ export { parseFontDeclaration } from './parseFontDeclaration';
10
+ //# sourceMappingURL=index.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: HTMLElement, selector: string): 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,82 @@
1
+ import type { ControlRenderingStyleOverride } from '../controls/controlRendering';
2
+ import { Group } from './Group';
3
+ import type { FabricObject } from './Object/FabricObject';
4
+ export declare class ActiveSelection extends Group {
5
+ _objects: FabricObject[];
6
+ /**
7
+ * controls how selected objects are added during a multiselection event
8
+ * - `canvas-stacking` adds the selected object to the active selection while respecting canvas object stacking order
9
+ * - `selection-order` adds the selected object to the top of the stack,
10
+ * meaning that the stack is ordered by the order in which objects were selected
11
+ * @default `canvas-stacking`
12
+ */
13
+ multiSelectionStacking: 'canvas-stacking' | 'selection-order';
14
+ constructor(objects?: FabricObject[], options?: any, objectsRelativeToGroup?: boolean);
15
+ /**
16
+ * @private
17
+ */
18
+ _shouldSetNestedCoords(): boolean;
19
+ /**
20
+ * @private
21
+ * @override we don't want the selection monitor to be active
22
+ */
23
+ __objectSelectionMonitor(): void;
24
+ /**
25
+ * Adds objects with respect to {@link multiSelectionStacking}
26
+ * @param targets object to add to selection
27
+ */
28
+ multiSelectAdd(...targets: FabricObject[]): void;
29
+ /**
30
+ * @private
31
+ * @param {FabricObject} object
32
+ * @param {boolean} [removeParentTransform] true if object is in canvas coordinate plane
33
+ * @returns {boolean} true if object entered group
34
+ */
35
+ enterGroup(object: FabricObject, removeParentTransform?: boolean): boolean;
36
+ /**
37
+ * we want objects to retain their canvas ref when exiting instance
38
+ * @private
39
+ * @param {FabricObject} object
40
+ * @param {boolean} [removeParentTransform] true if object should exit group without applying group's transform to it
41
+ */
42
+ exitGroup(object: FabricObject, removeParentTransform?: boolean): void;
43
+ /**
44
+ * @private
45
+ * @param {'added'|'removed'} type
46
+ * @param {FabricObject[]} targets
47
+ */
48
+ _onAfterObjectsChange(type: 'added' | 'removed', targets: FabricObject[]): void;
49
+ /**
50
+ * If returns true, deselection is cancelled.
51
+ * @since 2.0.0
52
+ * @return {Boolean} [cancel]
53
+ */
54
+ onDeselect(): boolean;
55
+ /**
56
+ * Returns string representation of a group
57
+ * @return {String}
58
+ */
59
+ toString(): string;
60
+ /**
61
+ * Decide if the object should cache or not. Create its own cache level
62
+ * objectCaching is a global flag, wins over everything
63
+ * needsItsOwnCache should be used when the object drawing method requires
64
+ * a cache step. None of the fabric classes requires it.
65
+ * Generally you do not cache objects in groups because the group outside is cached.
66
+ * @return {Boolean}
67
+ */
68
+ shouldCache(): boolean;
69
+ /**
70
+ * Check if this group or its parent group are caching, recursively up
71
+ * @return {Boolean}
72
+ */
73
+ isOnACache(): boolean;
74
+ /**
75
+ * Renders controls and borders for the object
76
+ * @param {CanvasRenderingContext2D} ctx Context to render on
77
+ * @param {Object} [styleOverride] properties to override the object style
78
+ * @param {Object} [childrenOverride] properties to override the children overrides
79
+ */
80
+ _renderControls(ctx: CanvasRenderingContext2D, styleOverride?: ControlRenderingStyleOverride, childrenOverride?: ControlRenderingStyleOverride): void;
81
+ }
82
+ //# sourceMappingURL=ActiveSelection.d.ts.map
@@ -0,0 +1,99 @@
1
+ import type { ObjectEvents } from '../EventTypeDefs';
2
+ import { FabricObject } from './Object/FabricObject';
3
+ import { TClassProperties } from '../typedefs';
4
+ import { FabricObjectProps, SerializedObjectProps, TProps } from './Object/types';
5
+ interface UniqueCircleProps {
6
+ /**
7
+ * Radius of this circle
8
+ * @type Number
9
+ * @default 0
10
+ */
11
+ radius: number;
12
+ /**
13
+ * degrees of start of the circle.
14
+ * probably will change to degrees in next major version
15
+ * @type Number 0 - 359
16
+ * @default 0
17
+ */
18
+ startAngle: number;
19
+ /**
20
+ * End angle of the circle
21
+ * probably will change to degrees in next major version
22
+ * @type Number 1 - 360
23
+ * @default 360
24
+ */
25
+ endAngle: number;
26
+ }
27
+ export interface SerializedCircleProps extends SerializedObjectProps, UniqueCircleProps {
28
+ }
29
+ export interface CircleProps extends FabricObjectProps, UniqueCircleProps {
30
+ }
31
+ export declare const circleDefaultValues: UniqueCircleProps;
32
+ export declare class Circle<Props extends TProps<CircleProps> = Partial<CircleProps>, SProps extends SerializedCircleProps = SerializedCircleProps, EventSpec extends ObjectEvents = ObjectEvents> extends FabricObject<Props, SProps, EventSpec> implements UniqueCircleProps {
33
+ radius: number;
34
+ startAngle: number;
35
+ endAngle: number;
36
+ static cacheProperties: string[];
37
+ static ownDefaults: Record<string, any>;
38
+ static getDefaults(): Record<string, any>;
39
+ /**
40
+ * @private
41
+ * @param {String} key
42
+ * @param {*} value
43
+ */
44
+ _set(key: string, value: any): this;
45
+ /**
46
+ * @private
47
+ * @param {CanvasRenderingContext2D} ctx context to render on
48
+ */
49
+ _render(ctx: CanvasRenderingContext2D): void;
50
+ /**
51
+ * Returns horizontal radius of an object (according to how an object is scaled)
52
+ * @return {Number}
53
+ */
54
+ getRadiusX(): number;
55
+ /**
56
+ * Returns vertical radius of an object (according to how an object is scaled)
57
+ * @return {Number}
58
+ */
59
+ getRadiusY(): number;
60
+ /**
61
+ * Sets radius of an object (and updates width accordingly)
62
+ */
63
+ setRadius(value: number): void;
64
+ /**
65
+ * Returns object representation of an instance
66
+ * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
67
+ * @return {Object} object representation of an instance
68
+ */
69
+ toObject<T extends Omit<Props & TClassProperties<this>, keyof SProps>, K extends keyof T = never>(propertiesToInclude?: K[]): Pick<T, K> & SProps;
70
+ /**
71
+ * Returns svg representation of an instance
72
+ * @return {Array} an array of strings with the specific svg representation
73
+ * of the instance
74
+ */
75
+ _toSVG(): (string | number)[];
76
+ /**
77
+ * List of attribute names to account for when parsing SVG element (used by {@link Circle.fromElement})
78
+ * @static
79
+ * @memberOf Circle
80
+ * @see: http://www.w3.org/TR/SVG/shapes.html#CircleElement
81
+ */
82
+ static ATTRIBUTE_NAMES: string[];
83
+ /**
84
+ * Returns {@link Circle} instance from an SVG element
85
+ * @static
86
+ * @memberOf Circle
87
+ * @param {SVGElement} element Element to parse
88
+ * @param {Function} [callback] Options callback invoked after parsing is finished
89
+ * @param {Object} [options] Partial Circle object to default missing properties on the element.
90
+ * @throws {Error} If value of `r` attribute is missing or invalid
91
+ */
92
+ static fromElement(element: SVGElement, callback: (circle: Circle) => any): void;
93
+ /**
94
+ * @todo how do we declare this??
95
+ */
96
+ static fromObject<T extends TProps<SerializedCircleProps>>(object: T): Promise<Circle<Partial<CircleProps>, SerializedCircleProps, ObjectEvents>>;
97
+ }
98
+ export {};
99
+ //# sourceMappingURL=Circle.d.ts.map