fabric 5.3.0-browser → 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 +142 -88
  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,123 @@
1
+ import { Point } from '../Point';
2
+ import { PathData, TClassProperties } from '../typedefs';
3
+ import { type TPathSegmentsInfo } from '../util/path';
4
+ import { FabricObject } from './Object/FabricObject';
5
+ export declare class Path extends FabricObject {
6
+ /**
7
+ * Array of path points
8
+ * @type Array
9
+ * @default
10
+ */
11
+ path: PathData;
12
+ pathOffset: Point;
13
+ fromSVG?: boolean;
14
+ sourcePath?: string;
15
+ segmentsInfo?: TPathSegmentsInfo[];
16
+ /**
17
+ * Constructor
18
+ * @param {Array|String} path Path data (sequence of coordinates and corresponding "command" tokens)
19
+ * @param {Object} [options] Options object
20
+ * @return {Path} thisArg
21
+ */
22
+ constructor(path: PathData | string, { path, left, top, ...options }?: any);
23
+ /**
24
+ * @private
25
+ * @param {PathData | string} path Path data (sequence of coordinates and corresponding "command" tokens)
26
+ * @param {boolean} [adjustPosition] pass true to reposition the object according to the bounding box
27
+ * @returns {Point} top left position of the bounding box, useful for complementary positioning
28
+ */
29
+ _setPath(path: PathData | string, adjustPosition?: boolean): Point;
30
+ /**
31
+ * @private
32
+ * @param {CanvasRenderingContext2D} ctx context to render path on
33
+ */
34
+ _renderPathCommands(ctx: CanvasRenderingContext2D): void;
35
+ /**
36
+ * @private
37
+ * @param {CanvasRenderingContext2D} ctx context to render path on
38
+ */
39
+ _render(ctx: CanvasRenderingContext2D): void;
40
+ /**
41
+ * Returns string representation of an instance
42
+ * @return {String} string representation of an instance
43
+ */
44
+ toString(): string;
45
+ /**
46
+ * Returns object representation of an instance
47
+ * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
48
+ * @return {Object} object representation of an instance
49
+ */
50
+ toObject(propertiesToInclude?: (keyof this)[]): {
51
+ path: (string | number)[][];
52
+ };
53
+ /**
54
+ * Returns dataless object representation of an instance
55
+ * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
56
+ * @return {Object} object representation of an instance
57
+ */
58
+ toDatalessObject(propertiesToInclude?: (keyof this)[]): {
59
+ path: (string | number)[][];
60
+ };
61
+ /**
62
+ * Returns svg representation of an instance
63
+ * @return {Array} an array of strings with the specific svg representation
64
+ * of the instance
65
+ */
66
+ _toSVG(): string[];
67
+ _getOffsetTransform(): string;
68
+ /**
69
+ * Returns svg clipPath representation of an instance
70
+ * @param {Function} [reviver] Method for further parsing of svg representation.
71
+ * @return {String} svg representation of an instance
72
+ */
73
+ toClipPathSVG(reviver: any): string;
74
+ /**
75
+ * Returns svg representation of an instance
76
+ * @param {Function} [reviver] Method for further parsing of svg representation.
77
+ * @return {String} svg representation of an instance
78
+ */
79
+ toSVG(reviver: any): string;
80
+ /**
81
+ * Returns number representation of an instance complexity
82
+ * @return {Number} complexity of this instance
83
+ */
84
+ complexity(): number;
85
+ setDimensions(): Point;
86
+ /**
87
+ * @private
88
+ */
89
+ _calcDimensions(): {
90
+ left: number;
91
+ top: number;
92
+ pathOffset: Point;
93
+ width: number;
94
+ height: number;
95
+ };
96
+ /**
97
+ * List of attribute names to account for when parsing SVG element (used by `Path.fromElement`)
98
+ * @static
99
+ * @memberOf Path
100
+ * @see http://www.w3.org/TR/SVG/paths.html#PathElement
101
+ */
102
+ static ATTRIBUTE_NAMES: string[];
103
+ /**
104
+ * Creates an instance of Path from an object
105
+ * @static
106
+ * @memberOf Path
107
+ * @param {Object} object
108
+ * @returns {Promise<Path>}
109
+ */
110
+ static fromObject(object: any): Promise<import("./Object/Object").FabricObject<import("../EventTypeDefs").ObjectEvents>>;
111
+ /**
112
+ * Creates an instance of Path from an SVG <path> element
113
+ * @static
114
+ * @memberOf Path
115
+ * @param {SVGElement} element to parse
116
+ * @param {Function} callback Callback to invoke when an Path instance is created
117
+ * @param {Object} [options] Options object
118
+ * @param {Function} [callback] Options callback invoked after parsing is finished
119
+ */
120
+ static fromElement(element: any, callback: any, options: any): void;
121
+ }
122
+ export declare const pathDefaultValues: Partial<TClassProperties<Path>>;
123
+ //# sourceMappingURL=Path.d.ts.map
@@ -0,0 +1,7 @@
1
+ import { TClassProperties } from '../typedefs';
2
+ import { Polyline } from './Polyline';
3
+ export declare class Polygon extends Polyline {
4
+ protected isOpen(): boolean;
5
+ }
6
+ export declare const polygonDefaultValues: Partial<TClassProperties<Polygon>>;
7
+ //# sourceMappingURL=Polygon.d.ts.map
@@ -0,0 +1,130 @@
1
+ import { IPoint, Point } from '../Point';
2
+ import { TClassProperties } from '../typedefs';
3
+ import { FabricObject } from './Object/FabricObject';
4
+ export declare class Polyline extends FabricObject {
5
+ /**
6
+ * Points array
7
+ * @type Array
8
+ * @default
9
+ */
10
+ points: IPoint[];
11
+ /**
12
+ * WARNING: Feature in progress
13
+ * Calculate the exact bounding box taking in account strokeWidth on acute angles
14
+ * this will be turned to true by default on fabric 6.0
15
+ * maybe will be left in as an optimization since calculations may be slow
16
+ * @deprecated
17
+ * @type Boolean
18
+ * @default false
19
+ */
20
+ exactBoundingBox: boolean;
21
+ private initialized;
22
+ /**
23
+ * A list of properties that if changed trigger a recalculation of dimensions
24
+ * @todo check if you really need to recalculate for all cases
25
+ */
26
+ strokeBBoxAffectingProperties: (keyof this)[];
27
+ fromSVG: boolean;
28
+ pathOffset: Point;
29
+ strokeOffset: Point;
30
+ /**
31
+ * Constructor
32
+ * @param {Array} points Array of points (where each point is an object with x and y)
33
+ * @param {Object} [options] Options object
34
+ * @return {Polyline} thisArg
35
+ * @example
36
+ * var poly = new Polyline([
37
+ * { x: 10, y: 10 },
38
+ * { x: 50, y: 30 },
39
+ * { x: 40, y: 70 },
40
+ * { x: 60, y: 50 },
41
+ * { x: 100, y: 150 },
42
+ * { x: 40, y: 100 }
43
+ * ], {
44
+ * stroke: 'red',
45
+ * left: 100,
46
+ * top: 100
47
+ * });
48
+ */
49
+ constructor(points?: IPoint[], { left, top, ...options }?: any);
50
+ protected isOpen(): boolean;
51
+ private _projectStrokeOnPoints;
52
+ /**
53
+ * Calculate the polygon bounding box
54
+ * @private
55
+ */
56
+ _calcDimensions(): {
57
+ left: number;
58
+ top: number;
59
+ width: number;
60
+ height: number;
61
+ pathOffset: Point;
62
+ strokeOffset: Point;
63
+ };
64
+ setDimensions(): void;
65
+ setBoundingBox(adjustPosition?: boolean): void;
66
+ /**
67
+ * @override stroke is taken in account in size
68
+ */
69
+ _getNonTransformedDimensions(): Point;
70
+ /**
71
+ * @override stroke and skewing are taken into account when projecting stroke on points,
72
+ * therefore we don't want the default calculation to account for skewing as well
73
+ *
74
+ * @private
75
+ */
76
+ _getTransformedDimensions(options?: any): Point;
77
+ /**
78
+ * Recalculates dimensions when changing skew and scale
79
+ * @private
80
+ */
81
+ _set(key: string, value: any): this;
82
+ /**
83
+ * Returns object representation of an instance
84
+ * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
85
+ * @return {Object} Object representation of an instance
86
+ */
87
+ toObject(propertiesToInclude?: string[]): object;
88
+ /**
89
+ * Returns svg representation of an instance
90
+ * @return {Array} an array of strings with the specific svg representation
91
+ * of the instance
92
+ */
93
+ _toSVG(): string[];
94
+ /**
95
+ * @private
96
+ * @param {CanvasRenderingContext2D} ctx Context to render on
97
+ */
98
+ _render(ctx: CanvasRenderingContext2D): void;
99
+ /**
100
+ * Returns complexity of an instance
101
+ * @return {Number} complexity of this instance
102
+ */
103
+ complexity(): number;
104
+ /**
105
+ * List of attribute names to account for when parsing SVG element (used by {@link Polyline.fromElement})
106
+ * @static
107
+ * @memberOf Polyline
108
+ * @see: http://www.w3.org/TR/SVG/shapes.html#PolylineElement
109
+ */
110
+ static ATTRIBUTE_NAMES: string[];
111
+ /**
112
+ * Returns Polyline instance from an SVG element
113
+ * @static
114
+ * @memberOf Polyline
115
+ * @param {SVGElement} element Element to parser
116
+ * @param {Function} callback callback function invoked after parsing
117
+ * @param {Object} [options] Options object
118
+ */
119
+ static fromElement(element: SVGElement, callback: (poly: Polyline | null) => any, options?: any): any;
120
+ /**
121
+ * Returns Polyline instance from an object representation
122
+ * @static
123
+ * @memberOf Polyline
124
+ * @param {Object} object Object to create an instance from
125
+ * @returns {Promise<Polyline>}
126
+ */
127
+ static fromObject(object: Record<string, unknown>): Promise<import("./Object/Object").FabricObject<import("../EventTypeDefs").ObjectEvents>>;
128
+ }
129
+ export declare const polylineDefaultValues: Partial<TClassProperties<Polyline>>;
130
+ //# sourceMappingURL=Polyline.d.ts.map
@@ -0,0 +1,62 @@
1
+ import { TClassProperties } from '../typedefs';
2
+ import { FabricObject } from './Object/FabricObject';
3
+ export declare class Rect extends FabricObject {
4
+ /**
5
+ * Horizontal border radius
6
+ * @type Number
7
+ * @default
8
+ */
9
+ rx: number;
10
+ /**
11
+ * Vertical border radius
12
+ * @type Number
13
+ * @default
14
+ */
15
+ ry: number;
16
+ /**
17
+ * Constructor
18
+ * @param {Object} [options] Options object
19
+ * @return {Object} thisArg
20
+ */
21
+ constructor(options: Record<string, unknown>);
22
+ /**
23
+ * Initializes rx/ry attributes
24
+ * @private
25
+ */
26
+ _initRxRy(): void;
27
+ /**
28
+ * @private
29
+ * @param {CanvasRenderingContext2D} ctx Context to render on
30
+ */
31
+ _render(ctx: CanvasRenderingContext2D): void;
32
+ /**
33
+ * Returns object representation of an instance
34
+ * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
35
+ * @return {Object} object representation of an instance
36
+ */
37
+ toObject(propertiesToInclude?: string[]): Record<string, any>;
38
+ /**
39
+ * Returns svg representation of an instance
40
+ * @return {Array} an array of strings with the specific svg representation
41
+ * of the instance
42
+ */
43
+ _toSVG(): string[];
44
+ /**
45
+ * List of attribute names to account for when parsing SVG element (used by `Rect.fromElement`)
46
+ * @static
47
+ * @memberOf Rect
48
+ * @see: http://www.w3.org/TR/SVG/shapes.html#RectElement
49
+ */
50
+ static ATTRIBUTE_NAMES: string[];
51
+ /**
52
+ * Returns {@link Rect} instance from an SVG element
53
+ * @static
54
+ * @memberOf Rect
55
+ * @param {SVGElement} element Element to parse
56
+ * @param {Function} callback callback function invoked after parsing
57
+ * @param {Object} [options] Options object
58
+ */
59
+ static fromElement(element: SVGElement, callback: (rect: Rect | null) => void, options?: {}): void;
60
+ }
61
+ export declare const rectDefaultValues: Partial<TClassProperties<Rect>>;
62
+ //# sourceMappingURL=Rect.d.ts.map
@@ -0,0 +1,118 @@
1
+ import { ObjectEvents } from '../../EventTypeDefs';
2
+ import { FabricObject } from '../Object/FabricObject';
3
+ export type TextStyleDeclaration = Record<string, any>;
4
+ export type TextStyle = {
5
+ [line: number | string]: {
6
+ [char: number | string]: TextStyleDeclaration;
7
+ };
8
+ };
9
+ export declare abstract class StyledText<EventSpec extends ObjectEvents> extends FabricObject<EventSpec> {
10
+ abstract styles: TextStyle;
11
+ protected abstract _textLines: string[][];
12
+ protected abstract _forceClearCache: boolean;
13
+ protected abstract _styleProperties: string[];
14
+ abstract get2DCursorLocation(selectionStart: number, skipWrapping?: boolean): {
15
+ charIndex: number;
16
+ lineIndex: number;
17
+ };
18
+ /**
19
+ * Returns true if object has no styling or no styling in a line
20
+ * @param {Number} lineIndex , lineIndex is on wrapped lines.
21
+ * @return {Boolean}
22
+ */
23
+ isEmptyStyles(lineIndex?: number): boolean;
24
+ /**
25
+ * Returns true if object has a style property or has it ina specified line
26
+ * This function is used to detect if a text will use a particular property or not.
27
+ * @param {String} property to check for
28
+ * @param {Number} lineIndex to check the style on
29
+ * @return {Boolean}
30
+ */
31
+ styleHas(property: string, lineIndex?: number): boolean;
32
+ /**
33
+ * Check if characters in a text have a value for a property
34
+ * whose value matches the textbox's value for that property. If so,
35
+ * the character-level property is deleted. If the character
36
+ * has no other properties, then it is also deleted. Finally,
37
+ * if the line containing that character has no other characters
38
+ * then it also is deleted.
39
+ *
40
+ * @param {string} property The property to compare between characters and text.
41
+ */
42
+ cleanStyle(property: string): false | undefined;
43
+ /**
44
+ * Remove a style property or properties from all individual character styles
45
+ * in a text object. Deletes the character style object if it contains no other style
46
+ * props. Deletes a line style object if it contains no other character styles.
47
+ *
48
+ * @param {String} props The property to remove from character styles.
49
+ */
50
+ removeStyle(property: string): void;
51
+ private _extendStyles;
52
+ /**
53
+ * Gets style of a current selection/cursor (at the start position)
54
+ * @param {Number} startIndex Start index to get styles at
55
+ * @param {Number} endIndex End index to get styles at, if not specified startIndex + 1
56
+ * @param {Boolean} [complete] get full style or not
57
+ * @return {Array} styles an array with one, zero or more Style objects
58
+ */
59
+ getSelectionStyles(startIndex: number, endIndex?: number, complete?: boolean): TextStyleDeclaration[];
60
+ /**
61
+ * Gets style of a current selection/cursor position
62
+ * @param {Number} position to get styles at
63
+ * @param {Boolean} [complete] full style if true
64
+ * @return {Object} style Style object at a specified index
65
+ * @private
66
+ */
67
+ getStyleAtPosition(position: number, complete?: boolean): TextStyleDeclaration;
68
+ /**
69
+ * Sets style of a current selection, if no selection exist, do not set anything.
70
+ * @param {Object} styles Styles object
71
+ * @param {Number} startIndex Start index to get styles at
72
+ * @param {Number} [endIndex] End index to get styles at, if not specified startIndex + 1
73
+ */
74
+ setSelectionStyles(styles: object, startIndex: number, endIndex?: number): void;
75
+ /**
76
+ * get the reference, not a clone, of the style object for a given character
77
+ * @param {Number} lineIndex
78
+ * @param {Number} charIndex
79
+ * @return {Object} style object
80
+ */
81
+ _getStyleDeclaration(lineIndex: number, charIndex: number): TextStyleDeclaration | null;
82
+ /**
83
+ * return a new object that contains all the style property for a character
84
+ * the object returned is newly created
85
+ * @param {Number} lineIndex of the line where the character is
86
+ * @param {Number} charIndex position of the character on the line
87
+ * @return {Object} style object
88
+ */
89
+ getCompleteStyleDeclaration(lineIndex: number, charIndex: number): TextStyleDeclaration;
90
+ /**
91
+ * @param {Number} lineIndex
92
+ * @param {Number} charIndex
93
+ * @param {Object} style
94
+ * @private
95
+ */
96
+ protected _setStyleDeclaration(lineIndex: number, charIndex: number, style: object): void;
97
+ /**
98
+ *
99
+ * @param {Number} lineIndex
100
+ * @param {Number} charIndex
101
+ * @private
102
+ */
103
+ protected _deleteStyleDeclaration(lineIndex: number, charIndex: number): void;
104
+ /**
105
+ * @param {Number} lineIndex
106
+ * @return {Boolean} if the line exists or not
107
+ * @private
108
+ */
109
+ protected _getLineStyle(lineIndex: number): boolean;
110
+ /**
111
+ * Set the line style to an empty object so that is initialized
112
+ * @param {Number} lineIndex
113
+ * @private
114
+ */
115
+ protected _setLineStyle(lineIndex: number): void;
116
+ protected _deleteLineStyle(lineIndex: number): void;
117
+ }
118
+ //# sourceMappingURL=StyledText.d.ts.map