fabric 6.0.0 → 6.0.2

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 (269) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +8 -18
  3. package/dist/fabric.d.ts +4 -0
  4. package/dist/fabric.d.ts.map +1 -1
  5. package/dist/fabric.min.mjs +1 -1
  6. package/dist/fabric.mjs +1 -0
  7. package/dist/fabric.mjs.map +1 -1
  8. package/dist/index.js +146 -107
  9. package/dist/index.js.map +1 -1
  10. package/dist/index.min.js +1 -1
  11. package/dist/index.min.js.map +1 -1
  12. package/dist/index.min.mjs +1 -1
  13. package/dist/index.min.mjs.map +1 -1
  14. package/dist/index.mjs +146 -108
  15. package/dist/index.mjs.map +1 -1
  16. package/dist/index.node.cjs +146 -107
  17. package/dist/index.node.cjs.map +1 -1
  18. package/dist/index.node.mjs +146 -108
  19. package/dist/index.node.mjs.map +1 -1
  20. package/dist/package.json.min.mjs +1 -1
  21. package/dist/package.json.mjs +1 -1
  22. package/dist/src/EventTypeDefs.d.ts +2 -1
  23. package/dist/src/EventTypeDefs.d.ts.map +1 -1
  24. package/dist/src/LayoutManager/LayoutManager.d.ts.map +1 -1
  25. package/dist/src/LayoutManager/LayoutManager.min.mjs +1 -1
  26. package/dist/src/LayoutManager/LayoutManager.min.mjs.map +1 -1
  27. package/dist/src/LayoutManager/LayoutManager.mjs +13 -8
  28. package/dist/src/LayoutManager/LayoutManager.mjs.map +1 -1
  29. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs +1 -1
  30. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.min.mjs.map +1 -1
  31. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs +3 -3
  32. package/dist/src/LayoutManager/LayoutStrategies/ClipPathLayout.mjs.map +1 -1
  33. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts +1 -1
  34. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.d.ts.map +1 -1
  35. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs +1 -1
  36. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.min.mjs.map +1 -1
  37. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs +15 -9
  38. package/dist/src/LayoutManager/LayoutStrategies/LayoutStrategy.mjs.map +1 -1
  39. package/dist/src/Observable.d.ts +8 -0
  40. package/dist/src/Observable.d.ts.map +1 -1
  41. package/dist/src/Observable.min.mjs.map +1 -1
  42. package/dist/src/Observable.mjs +8 -0
  43. package/dist/src/Observable.mjs.map +1 -1
  44. package/dist/src/canvas/SelectableCanvas.d.ts.map +1 -1
  45. package/dist/src/canvas/SelectableCanvas.min.mjs +1 -1
  46. package/dist/src/canvas/SelectableCanvas.min.mjs.map +1 -1
  47. package/dist/src/canvas/SelectableCanvas.mjs +5 -5
  48. package/dist/src/canvas/SelectableCanvas.mjs.map +1 -1
  49. package/dist/src/canvas/StaticCanvas.d.ts +1 -1
  50. package/dist/src/constants.d.ts +16 -0
  51. package/dist/src/constants.d.ts.map +1 -1
  52. package/dist/src/constants.min.mjs +1 -1
  53. package/dist/src/constants.min.mjs.map +1 -1
  54. package/dist/src/constants.mjs +17 -1
  55. package/dist/src/constants.mjs.map +1 -1
  56. package/dist/src/controls/Control.d.ts.map +1 -1
  57. package/dist/src/controls/Control.min.mjs +1 -1
  58. package/dist/src/controls/Control.min.mjs.map +1 -1
  59. package/dist/src/controls/Control.mjs +2 -1
  60. package/dist/src/controls/Control.mjs.map +1 -1
  61. package/dist/src/controls/changeWidth.min.mjs +1 -1
  62. package/dist/src/controls/changeWidth.min.mjs.map +1 -1
  63. package/dist/src/controls/changeWidth.mjs +2 -2
  64. package/dist/src/controls/changeWidth.mjs.map +1 -1
  65. package/dist/src/controls/commonControls.d.ts.map +1 -1
  66. package/dist/src/controls/commonControls.min.mjs +1 -1
  67. package/dist/src/controls/commonControls.min.mjs.map +1 -1
  68. package/dist/src/controls/commonControls.mjs +4 -3
  69. package/dist/src/controls/commonControls.mjs.map +1 -1
  70. package/dist/src/controls/controlRendering.min.mjs +1 -1
  71. package/dist/src/controls/controlRendering.min.mjs.map +1 -1
  72. package/dist/src/controls/controlRendering.mjs +3 -3
  73. package/dist/src/controls/controlRendering.mjs.map +1 -1
  74. package/dist/src/controls/drag.min.mjs +1 -1
  75. package/dist/src/controls/drag.min.mjs.map +1 -1
  76. package/dist/src/controls/drag.mjs +2 -2
  77. package/dist/src/controls/drag.mjs.map +1 -1
  78. package/dist/src/controls/polyControl.d.ts.map +1 -1
  79. package/dist/src/controls/polyControl.min.mjs +1 -1
  80. package/dist/src/controls/polyControl.min.mjs.map +1 -1
  81. package/dist/src/controls/polyControl.mjs +2 -1
  82. package/dist/src/controls/polyControl.mjs.map +1 -1
  83. package/dist/src/controls/rotate.d.ts.map +1 -1
  84. package/dist/src/controls/rotate.min.mjs +1 -1
  85. package/dist/src/controls/rotate.min.mjs.map +1 -1
  86. package/dist/src/controls/rotate.mjs +2 -1
  87. package/dist/src/controls/rotate.mjs.map +1 -1
  88. package/dist/src/controls/scale.d.ts.map +1 -1
  89. package/dist/src/controls/scale.min.mjs +1 -1
  90. package/dist/src/controls/scale.min.mjs.map +1 -1
  91. package/dist/src/controls/scale.mjs +8 -7
  92. package/dist/src/controls/scale.mjs.map +1 -1
  93. package/dist/src/controls/scaleSkew.d.ts.map +1 -1
  94. package/dist/src/controls/scaleSkew.min.mjs +1 -1
  95. package/dist/src/controls/scaleSkew.min.mjs.map +1 -1
  96. package/dist/src/controls/scaleSkew.mjs +3 -2
  97. package/dist/src/controls/scaleSkew.mjs.map +1 -1
  98. package/dist/src/controls/skew.d.ts.map +1 -1
  99. package/dist/src/controls/skew.min.mjs +1 -1
  100. package/dist/src/controls/skew.min.mjs.map +1 -1
  101. package/dist/src/controls/skew.mjs +7 -7
  102. package/dist/src/controls/skew.mjs.map +1 -1
  103. package/dist/src/filters/Blur.min.mjs +1 -1
  104. package/dist/src/filters/Blur.min.mjs.map +1 -1
  105. package/dist/src/filters/Blur.mjs +1 -1
  106. package/dist/src/filters/Blur.mjs.map +1 -1
  107. package/dist/src/filters/Pixelate.min.mjs +1 -1
  108. package/dist/src/filters/Pixelate.min.mjs.map +1 -1
  109. package/dist/src/filters/Pixelate.mjs +1 -1
  110. package/dist/src/filters/Pixelate.mjs.map +1 -1
  111. package/dist/src/parser/attributes.d.ts.map +1 -1
  112. package/dist/src/parser/attributes.min.mjs +1 -1
  113. package/dist/src/parser/attributes.min.mjs.map +1 -1
  114. package/dist/src/parser/attributes.mjs +3 -1
  115. package/dist/src/parser/attributes.mjs.map +1 -1
  116. package/dist/src/parser/elements_parser.min.mjs +1 -1
  117. package/dist/src/parser/elements_parser.min.mjs.map +1 -1
  118. package/dist/src/parser/elements_parser.mjs +3 -3
  119. package/dist/src/parser/elements_parser.mjs.map +1 -1
  120. package/dist/src/parser/normalizeValue.min.mjs +1 -1
  121. package/dist/src/parser/normalizeValue.min.mjs.map +1 -1
  122. package/dist/src/parser/normalizeValue.mjs +7 -7
  123. package/dist/src/parser/normalizeValue.mjs.map +1 -1
  124. package/dist/src/parser/parseTransformAttribute.min.mjs +1 -1
  125. package/dist/src/parser/parseTransformAttribute.min.mjs.map +1 -1
  126. package/dist/src/parser/parseTransformAttribute.mjs +5 -5
  127. package/dist/src/parser/parseTransformAttribute.mjs.map +1 -1
  128. package/dist/src/shapes/Circle.d.ts.map +1 -1
  129. package/dist/src/shapes/Circle.min.mjs +1 -1
  130. package/dist/src/shapes/Circle.min.mjs.map +1 -1
  131. package/dist/src/shapes/Circle.mjs +3 -2
  132. package/dist/src/shapes/Circle.mjs.map +1 -1
  133. package/dist/src/shapes/Ellipse.min.mjs +1 -1
  134. package/dist/src/shapes/Ellipse.min.mjs.map +1 -1
  135. package/dist/src/shapes/Ellipse.mjs +3 -3
  136. package/dist/src/shapes/Ellipse.mjs.map +1 -1
  137. package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs +1 -1
  138. package/dist/src/shapes/IText/DraggableTextDelegate.min.mjs.map +1 -1
  139. package/dist/src/shapes/IText/DraggableTextDelegate.mjs +3 -3
  140. package/dist/src/shapes/IText/DraggableTextDelegate.mjs.map +1 -1
  141. package/dist/src/shapes/IText/IText.min.mjs +1 -1
  142. package/dist/src/shapes/IText/IText.min.mjs.map +1 -1
  143. package/dist/src/shapes/IText/IText.mjs +3 -3
  144. package/dist/src/shapes/IText/IText.mjs.map +1 -1
  145. package/dist/src/shapes/IText/ITextBehavior.min.mjs +1 -1
  146. package/dist/src/shapes/IText/ITextBehavior.min.mjs.map +1 -1
  147. package/dist/src/shapes/IText/ITextBehavior.mjs +2 -2
  148. package/dist/src/shapes/IText/ITextBehavior.mjs.map +1 -1
  149. package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs +1 -1
  150. package/dist/src/shapes/IText/ITextKeyBehavior.min.mjs.map +1 -1
  151. package/dist/src/shapes/IText/ITextKeyBehavior.mjs +2 -2
  152. package/dist/src/shapes/IText/ITextKeyBehavior.mjs.map +1 -1
  153. package/dist/src/shapes/Image.min.mjs +1 -1
  154. package/dist/src/shapes/Image.min.mjs.map +1 -1
  155. package/dist/src/shapes/Image.mjs +2 -2
  156. package/dist/src/shapes/Image.mjs.map +1 -1
  157. package/dist/src/shapes/Object/AnimatableObject.d.ts.map +1 -1
  158. package/dist/src/shapes/Object/AnimatableObject.min.mjs +1 -1
  159. package/dist/src/shapes/Object/AnimatableObject.min.mjs.map +1 -1
  160. package/dist/src/shapes/Object/AnimatableObject.mjs +2 -1
  161. package/dist/src/shapes/Object/AnimatableObject.mjs.map +1 -1
  162. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.d.ts.map +1 -1
  163. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs +1 -1
  164. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.min.mjs.map +1 -1
  165. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs +4 -4
  166. package/dist/src/shapes/Object/FabricObjectSVGExportMixin.mjs.map +1 -1
  167. package/dist/src/shapes/Object/InteractiveObject.d.ts.map +1 -1
  168. package/dist/src/shapes/Object/InteractiveObject.min.mjs +1 -1
  169. package/dist/src/shapes/Object/InteractiveObject.min.mjs.map +1 -1
  170. package/dist/src/shapes/Object/InteractiveObject.mjs +2 -1
  171. package/dist/src/shapes/Object/InteractiveObject.mjs.map +1 -1
  172. package/dist/src/shapes/Object/Object.d.ts +9 -7
  173. package/dist/src/shapes/Object/Object.d.ts.map +1 -1
  174. package/dist/src/shapes/Object/Object.min.mjs +1 -1
  175. package/dist/src/shapes/Object/Object.min.mjs.map +1 -1
  176. package/dist/src/shapes/Object/Object.mjs +14 -12
  177. package/dist/src/shapes/Object/Object.mjs.map +1 -1
  178. package/dist/src/shapes/Object/ObjectGeometry.min.mjs +1 -1
  179. package/dist/src/shapes/Object/ObjectGeometry.min.mjs.map +1 -1
  180. package/dist/src/shapes/Object/ObjectGeometry.mjs +3 -3
  181. package/dist/src/shapes/Object/ObjectGeometry.mjs.map +1 -1
  182. package/dist/src/shapes/Object/defaultValues.d.ts.map +1 -1
  183. package/dist/src/shapes/Object/defaultValues.min.mjs +1 -1
  184. package/dist/src/shapes/Object/defaultValues.min.mjs.map +1 -1
  185. package/dist/src/shapes/Object/defaultValues.mjs +4 -4
  186. package/dist/src/shapes/Object/defaultValues.mjs.map +1 -1
  187. package/dist/src/shapes/Object/types/ControlProps.d.ts +4 -3
  188. package/dist/src/shapes/Object/types/ControlProps.d.ts.map +1 -1
  189. package/dist/src/shapes/Polyline.d.ts.map +1 -1
  190. package/dist/src/shapes/Polyline.min.mjs +1 -1
  191. package/dist/src/shapes/Polyline.min.mjs.map +1 -1
  192. package/dist/src/shapes/Polyline.mjs +3 -3
  193. package/dist/src/shapes/Polyline.mjs.map +1 -1
  194. package/dist/src/shapes/Text/Text.d.ts +2 -2
  195. package/dist/src/shapes/Text/Text.d.ts.map +1 -1
  196. package/dist/src/shapes/Text/Text.min.mjs +1 -1
  197. package/dist/src/shapes/Text/Text.min.mjs.map +1 -1
  198. package/dist/src/shapes/Text/Text.mjs +5 -5
  199. package/dist/src/shapes/Text/Text.mjs.map +1 -1
  200. package/dist/src/shapes/Text/TextSVGExportMixin.d.ts.map +1 -1
  201. package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs +1 -1
  202. package/dist/src/shapes/Text/TextSVGExportMixin.min.mjs.map +1 -1
  203. package/dist/src/shapes/Text/TextSVGExportMixin.mjs +2 -1
  204. package/dist/src/shapes/Text/TextSVGExportMixin.mjs.map +1 -1
  205. package/dist/src/shapes/Text/constants.min.mjs +1 -1
  206. package/dist/src/shapes/Text/constants.min.mjs.map +1 -1
  207. package/dist/src/shapes/Text/constants.mjs +2 -2
  208. package/dist/src/shapes/Text/constants.mjs.map +1 -1
  209. package/dist/src/util/misc/objectEnlive.d.ts +1 -0
  210. package/dist/src/util/misc/objectEnlive.d.ts.map +1 -1
  211. package/dist/src/util/misc/objectEnlive.min.mjs.map +1 -1
  212. package/dist/src/util/misc/objectEnlive.mjs +1 -0
  213. package/dist/src/util/misc/objectEnlive.mjs.map +1 -1
  214. package/dist/src/util/misc/svgParsing.min.mjs +1 -1
  215. package/dist/src/util/misc/svgParsing.min.mjs.map +1 -1
  216. package/dist/src/util/misc/svgParsing.mjs +2 -2
  217. package/dist/src/util/misc/svgParsing.mjs.map +1 -1
  218. package/dist/src/util/transform_matrix_removal.min.mjs +1 -1
  219. package/dist/src/util/transform_matrix_removal.min.mjs.map +1 -1
  220. package/dist/src/util/transform_matrix_removal.mjs +3 -3
  221. package/dist/src/util/transform_matrix_removal.mjs.map +1 -1
  222. package/fabric.ts +4 -0
  223. package/package.json +1 -1
  224. package/src/EventTypeDefs.ts +14 -6
  225. package/src/LayoutManager/LayoutManager.ts +28 -19
  226. package/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts +2 -2
  227. package/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts +7 -7
  228. package/src/Observable.ts +8 -0
  229. package/src/canvas/SelectableCanvas.ts +25 -11
  230. package/src/canvas/canvas_gestures.mixin.ts +6 -5
  231. package/src/constants.ts +17 -0
  232. package/src/controls/Control.ts +2 -1
  233. package/src/controls/changeWidth.ts +2 -2
  234. package/src/controls/commonControls.ts +4 -3
  235. package/src/controls/controlRendering.ts +3 -3
  236. package/src/controls/drag.ts +2 -2
  237. package/src/controls/polyControl.ts +2 -1
  238. package/src/controls/rotate.ts +2 -1
  239. package/src/controls/scale.ts +8 -7
  240. package/src/controls/scaleSkew.ts +3 -2
  241. package/src/controls/skew.ts +14 -7
  242. package/src/filters/Blur.ts +1 -1
  243. package/src/filters/Pixelate.ts +1 -1
  244. package/src/parser/attributes.ts +4 -2
  245. package/src/parser/elements_parser.ts +3 -3
  246. package/src/parser/normalizeValue.ts +7 -7
  247. package/src/parser/parseTransformAttribute.ts +5 -5
  248. package/src/shapes/Circle.ts +3 -2
  249. package/src/shapes/Ellipse.ts +3 -3
  250. package/src/shapes/IText/DraggableTextDelegate.ts +3 -3
  251. package/src/shapes/IText/IText.ts +3 -3
  252. package/src/shapes/IText/ITextBehavior.ts +2 -2
  253. package/src/shapes/IText/ITextKeyBehavior.ts +2 -2
  254. package/src/shapes/Image.ts +2 -2
  255. package/src/shapes/Object/AnimatableObject.ts +2 -1
  256. package/src/shapes/Object/FabricObjectSVGExportMixin.ts +4 -6
  257. package/src/shapes/Object/InteractiveObject.ts +2 -1
  258. package/src/shapes/Object/Object.ts +16 -11
  259. package/src/shapes/Object/ObjectGeometry.ts +3 -3
  260. package/src/shapes/Object/defaultValues.ts +17 -8
  261. package/src/shapes/Object/types/ControlProps.ts +4 -3
  262. package/src/shapes/Polyline.spec.ts +0 -1
  263. package/src/shapes/Polyline.ts +12 -4
  264. package/src/shapes/Text/Text.ts +7 -7
  265. package/src/shapes/Text/TextSVGExportMixin.ts +3 -2
  266. package/src/shapes/Text/constants.ts +3 -3
  267. package/src/util/misc/objectEnlive.ts +1 -0
  268. package/src/util/misc/svgParsing.ts +2 -2
  269. package/src/util/transform_matrix_removal.ts +3 -3
@@ -16,7 +16,15 @@ import { FabricObject, cacheProperties } from './Object/FabricObject';
16
16
  import type { FabricObjectProps, SerializedObjectProps } from './Object/types';
17
17
  import type { ObjectEvents } from '../EventTypeDefs';
18
18
  import { cloneDeep } from '../util/internals/cloneDeep';
19
- import { CENTER, LEFT, TOP } from '../constants';
19
+ import {
20
+ CENTER,
21
+ LEFT,
22
+ SCALE_X,
23
+ SCALE_Y,
24
+ SKEW_X,
25
+ SKEW_Y,
26
+ TOP,
27
+ } from '../constants';
20
28
  import type { CSSRules } from '../parser/typedefs';
21
29
 
22
30
  export const polylineDefaultValues: Partial<TClassProperties<Polyline>> = {
@@ -71,8 +79,8 @@ export class Polyline<
71
79
  * @todo check if you really need to recalculate for all cases
72
80
  */
73
81
  static layoutProperties: (keyof Polyline)[] = [
74
- 'skewX',
75
- 'skewY',
82
+ SKEW_X,
83
+ SKEW_Y,
76
84
  'strokeLineCap',
77
85
  'strokeLineJoin',
78
86
  'strokeMiterLimit',
@@ -282,7 +290,7 @@ export class Polyline<
282
290
  if (
283
291
  this.exactBoundingBox &&
284
292
  changed &&
285
- (((key === 'scaleX' || key === 'scaleY') &&
293
+ (((key === SCALE_X || key === SCALE_Y) &&
286
294
  this.strokeUniform &&
287
295
  (this.constructor as typeof Polyline).layoutProperties.includes(
288
296
  'strokeUniform'
@@ -1,5 +1,5 @@
1
1
  import { cache } from '../../cache';
2
- import { DEFAULT_SVG_FONT_SIZE } from '../../constants';
2
+ import { DEFAULT_SVG_FONT_SIZE, FILL, STROKE } from '../../constants';
3
3
  import type { ObjectEvents } from '../../EventTypeDefs';
4
4
  import type {
5
5
  CompleteTextStyleDeclaration,
@@ -94,7 +94,7 @@ interface UniqueTextProps {
94
94
  charSpacing: number;
95
95
  lineHeight: number;
96
96
  fontSize: number;
97
- fontWeight: string;
97
+ fontWeight: string | number;
98
98
  fontFamily: string;
99
99
  fontStyle: string;
100
100
  pathSide: TPathSide;
@@ -176,7 +176,7 @@ export class FabricText<
176
176
  * @type {(Number|String)}
177
177
  * @default
178
178
  */
179
- declare fontWeight: string;
179
+ declare fontWeight: string | number;
180
180
 
181
181
  /**
182
182
  * Font family
@@ -621,7 +621,7 @@ export class FabricText<
621
621
  * @param {CanvasRenderingContext2D} ctx Context to render on
622
622
  */
623
623
  _renderText(ctx: CanvasRenderingContext2D) {
624
- if (this.paintFirst === 'stroke') {
624
+ if (this.paintFirst === STROKE) {
625
625
  this._renderTextStroke(ctx);
626
626
  this._renderTextFill(ctx);
627
627
  } else {
@@ -1100,7 +1100,7 @@ export class FabricText<
1100
1100
  * @param {CanvasRenderingContext2D} ctx Context to render on
1101
1101
  */
1102
1102
  _renderTextFill(ctx: CanvasRenderingContext2D) {
1103
- if (!this.fill && !this.styleHas('fill')) {
1103
+ if (!this.fill && !this.styleHas(FILL)) {
1104
1104
  return;
1105
1105
  }
1106
1106
 
@@ -1572,7 +1572,7 @@ export class FabricText<
1572
1572
  let boxStart = 0;
1573
1573
  let boxWidth = 0;
1574
1574
  let lastDecoration = this.getValueOfPropertyAt(i, 0, type);
1575
- let lastFill = this.getValueOfPropertyAt(i, 0, 'fill');
1575
+ let lastFill = this.getValueOfPropertyAt(i, 0, FILL);
1576
1576
  let currentDecoration;
1577
1577
  let currentFill;
1578
1578
  const top = topOffset + maxHeight * (1 - this._fontSizeFraction);
@@ -1581,7 +1581,7 @@ export class FabricText<
1581
1581
  for (let j = 0, jlen = line.length; j < jlen; j++) {
1582
1582
  const charBox = this.__charBounds[i][j] as Required<GraphemeBBox>;
1583
1583
  currentDecoration = this.getValueOfPropertyAt(i, j, type);
1584
- currentFill = this.getValueOfPropertyAt(i, j, 'fill');
1584
+ currentFill = this.getValueOfPropertyAt(i, j, FILL);
1585
1585
  const currentSize = this.getHeightOfChar(i, j);
1586
1586
  const currentDy = this.getValueOfPropertyAt(i, j, 'deltaY');
1587
1587
  if (path && currentDecoration && currentFill) {
@@ -8,6 +8,7 @@ import { FabricObjectSVGExportMixin } from '../Object/FabricObjectSVGExportMixin
8
8
  import { type TextStyleDeclaration } from './StyledText';
9
9
  import { JUSTIFY } from '../Text/constants';
10
10
  import type { FabricText } from './Text';
11
+ import { STROKE, FILL } from '../../constants';
11
12
 
12
13
  const multipleSpacesRegex = / +/g;
13
14
  const dblQuoteRegex = /"/g;
@@ -326,7 +327,7 @@ export class TextSVGExportMixin extends FabricObjectSVGExportMixin {
326
327
  const textDecoration = this.getSvgTextDecoration(style);
327
328
 
328
329
  return [
329
- stroke ? colorPropToSVG('stroke', stroke) : '',
330
+ stroke ? colorPropToSVG(STROKE, stroke) : '',
330
331
  strokeWidth ? `stroke-width: ${strokeWidth}; ` : '',
331
332
  fontFamily
332
333
  ? `font-family: ${
@@ -339,7 +340,7 @@ export class TextSVGExportMixin extends FabricObjectSVGExportMixin {
339
340
  fontStyle ? `font-style: ${fontStyle}; ` : '',
340
341
  fontWeight ? `font-weight: ${fontWeight}; ` : '',
341
342
  textDecoration ? `text-decoration: ${textDecoration}; ` : textDecoration,
342
- fill ? colorPropToSVG('fill', fill) : '',
343
+ fill ? colorPropToSVG(FILL, fill) : '',
343
344
  deltaY ? `baseline-shift: ${-deltaY}; ` : '',
344
345
  useWhiteSpace ? 'white-space: pre; ' : '',
345
346
  ].join('');
@@ -1,4 +1,4 @@
1
- import { LEFT, reNewline } from '../../constants';
1
+ import { FILL, LEFT, STROKE, reNewline } from '../../constants';
2
2
  import type { TClassProperties } from '../../typedefs';
3
3
  import type { FabricText } from './Text';
4
4
 
@@ -52,9 +52,9 @@ export type StylePropertiesType =
52
52
  export const styleProperties: Readonly<StylePropertiesType[]> = [
53
53
  ...fontProperties,
54
54
  ...textDecorationProperties,
55
- 'stroke',
55
+ STROKE,
56
56
  'strokeWidth',
57
- 'fill',
57
+ FILL,
58
58
  'deltaY',
59
59
  'textBackgroundColor',
60
60
  ] as const;
@@ -81,6 +81,7 @@ export type EnlivenObjectOptions = Abortable & {
81
81
  };
82
82
 
83
83
  /**
84
+ * @TODO type this correctly.
84
85
  * Creates corresponding fabric instances from their object representations
85
86
  * @param {Object[]} objects Objects to enliven
86
87
  * @param {EnlivenObjectOptions} [options]
@@ -1,6 +1,6 @@
1
1
  import { Color } from '../../color/Color';
2
2
  import { config } from '../../config';
3
- import { DEFAULT_SVG_FONT_SIZE, NONE } from '../../constants';
3
+ import { DEFAULT_SVG_FONT_SIZE, FILL, NONE } from '../../constants';
4
4
  import type {
5
5
  TBBox,
6
6
  TMat2D,
@@ -176,7 +176,7 @@ export const createSVGRect = (
176
176
  { left, top, width, height }: TBBox,
177
177
  precision = config.NUM_FRACTION_DIGITS
178
178
  ) => {
179
- const svgColor = colorPropToSVG('fill', color, false);
179
+ const svgColor = colorPropToSVG(FILL, color, false);
180
180
  const [x, y, w, h] = [left, top, width, height].map((value) =>
181
181
  toFixed(value, precision)
182
182
  );
@@ -1,4 +1,4 @@
1
- import { CENTER } from '../constants';
1
+ import { CENTER, SCALE_X, SCALE_Y } from '../constants';
2
2
  import type { FabricImage } from '../shapes/Image';
3
3
  import type { FabricObject } from '../shapes/Object/FabricObject';
4
4
  import type { TMat2D } from '../typedefs';
@@ -23,8 +23,8 @@ const _assignTransformMatrixProps = (
23
23
  );
24
24
  object.flipX = false;
25
25
  object.flipY = false;
26
- object.set('scaleX', scaleX);
27
- object.set('scaleY', scaleY);
26
+ object.set(SCALE_X, scaleX);
27
+ object.set(SCALE_Y, scaleY);
28
28
  object.angle = angle;
29
29
  object.skewX = skewX;
30
30
  object.skewY = 0;