fabric 6.5.4 → 6.6.0

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 (79) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/index.js +24 -2
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.min.js +1 -1
  5. package/dist/index.min.js.map +1 -1
  6. package/dist/index.min.mjs +1 -1
  7. package/dist/index.min.mjs.map +1 -1
  8. package/dist/index.mjs +24 -2
  9. package/dist/index.mjs.map +1 -1
  10. package/dist/index.node.cjs +24 -2
  11. package/dist/index.node.cjs.map +1 -1
  12. package/dist/index.node.mjs +24 -2
  13. package/dist/index.node.mjs.map +1 -1
  14. package/dist/package.json.min.mjs +1 -1
  15. package/dist/package.json.mjs +1 -1
  16. package/dist/src/brushes/PencilBrush.d.ts +3 -3
  17. package/dist/src/brushes/PencilBrush.d.ts.map +1 -1
  18. package/dist/src/brushes/PencilBrush.min.mjs.map +1 -1
  19. package/dist/src/brushes/PencilBrush.mjs.map +1 -1
  20. package/dist/src/canvas/StaticCanvas.d.ts +1 -0
  21. package/dist/src/canvas/StaticCanvas.d.ts.map +1 -1
  22. package/dist/src/canvas/StaticCanvas.min.mjs +1 -1
  23. package/dist/src/canvas/StaticCanvas.min.mjs.map +1 -1
  24. package/dist/src/canvas/StaticCanvas.mjs +12 -1
  25. package/dist/src/canvas/StaticCanvas.mjs.map +1 -1
  26. package/dist/src/shapes/Group.d.ts.map +1 -1
  27. package/dist/src/shapes/Image.d.ts +2 -0
  28. package/dist/src/shapes/Image.d.ts.map +1 -1
  29. package/dist/src/shapes/Image.min.mjs +1 -1
  30. package/dist/src/shapes/Image.min.mjs.map +1 -1
  31. package/dist/src/shapes/Image.mjs +4 -1
  32. package/dist/src/shapes/Image.mjs.map +1 -1
  33. package/dist/src/shapes/Object/Object.d.ts +1 -0
  34. package/dist/src/shapes/Object/Object.d.ts.map +1 -1
  35. package/dist/src/shapes/Object/Object.min.mjs +1 -1
  36. package/dist/src/shapes/Object/Object.min.mjs.map +1 -1
  37. package/dist/src/shapes/Object/Object.mjs +5 -1
  38. package/dist/src/shapes/Object/Object.mjs.map +1 -1
  39. package/dist/src/shapes/Object/types/BorderProps.d.ts +1 -1
  40. package/dist/src/typedefs.d.ts +5 -1
  41. package/dist/src/typedefs.d.ts.map +1 -1
  42. package/dist/src/util/index.d.ts +1 -1
  43. package/dist/src/util/index.d.ts.map +1 -1
  44. package/dist/src/util/index.min.mjs +1 -1
  45. package/dist/src/util/index.mjs +1 -1
  46. package/dist/src/util/misc/dom.d.ts +1 -0
  47. package/dist/src/util/misc/dom.d.ts.map +1 -1
  48. package/dist/src/util/misc/dom.min.mjs +1 -1
  49. package/dist/src/util/misc/dom.min.mjs.map +1 -1
  50. package/dist/src/util/misc/dom.mjs +4 -1
  51. package/dist/src/util/misc/dom.mjs.map +1 -1
  52. package/dist-extensions/src/brushes/PencilBrush.d.ts +3 -3
  53. package/dist-extensions/src/brushes/PencilBrush.d.ts.map +1 -1
  54. package/dist-extensions/src/canvas/StaticCanvas.d.ts +1 -0
  55. package/dist-extensions/src/canvas/StaticCanvas.d.ts.map +1 -1
  56. package/dist-extensions/src/shapes/Group.d.ts.map +1 -1
  57. package/dist-extensions/src/shapes/Image.d.ts +2 -0
  58. package/dist-extensions/src/shapes/Image.d.ts.map +1 -1
  59. package/dist-extensions/src/shapes/Object/Object.d.ts +1 -0
  60. package/dist-extensions/src/shapes/Object/Object.d.ts.map +1 -1
  61. package/dist-extensions/src/shapes/Object/types/BorderProps.d.ts +1 -1
  62. package/dist-extensions/src/typedefs.d.ts +5 -1
  63. package/dist-extensions/src/typedefs.d.ts.map +1 -1
  64. package/dist-extensions/src/util/index.d.ts +1 -1
  65. package/dist-extensions/src/util/index.d.ts.map +1 -1
  66. package/dist-extensions/src/util/misc/dom.d.ts +1 -0
  67. package/dist-extensions/src/util/misc/dom.d.ts.map +1 -1
  68. package/package.json +2 -1
  69. package/src/brushes/PencilBrush.ts +3 -3
  70. package/src/canvas/StaticCanvas.spec.ts +25 -0
  71. package/src/canvas/StaticCanvas.ts +17 -1
  72. package/src/color/color.test.ts +261 -0
  73. package/src/shapes/Image.ts +3 -1
  74. package/src/shapes/Object/Object.ts +8 -0
  75. package/src/shapes/Object/types/BorderProps.ts +1 -1
  76. package/src/typedefs.ts +5 -1
  77. package/src/util/index.ts +1 -0
  78. package/src/util/misc/dom.spec.ts +22 -0
  79. package/src/util/misc/dom.ts +9 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  ## [next]
4
4
 
5
+ ## [6.6.0]
6
+
7
+ - feat(): Add webp to ImageFormat [#10435](https://github.com/fabricjs/fabric.js/pull/10435)
8
+ - fix(): Allow for node-canvas images to work with the FabricImage class by making classList optional. [#10412](https://github.com/fabricjs/fabric.js/pull/10412)
9
+ - fix(): Allow for brush subclassing moving some properties from private to protected. [#10416](https://github.com/fabricjs/fabric.js/pull/10416)
10
+ - feat(): Add method toBlob. [#3283](https://github.com/fabricjs/fabric.js/issues/3283)
11
+
5
12
  ## [6.5.4]
6
13
 
7
14
  - docs() perf(): Reorder caching conditions for most common scenario and docs fixes. [#10366](https://github.com/fabricjs/fabric.js/pull/10366)
package/dist/index.js CHANGED
@@ -411,7 +411,7 @@
411
411
  }
412
412
  const cache = new Cache();
413
413
 
414
- var version = "6.5.4";
414
+ var version = "6.6.0";
415
415
 
416
416
  // use this syntax so babel plugin see this import here
417
417
  const VERSION = version;
@@ -1585,6 +1585,9 @@
1585
1585
  const isHTMLCanvas = canvas => {
1586
1586
  return !!canvas && canvas.getContext !== undefined;
1587
1587
  };
1588
+ const toBlob = (canvasEl, format, quality) => new Promise((resolve, _) => {
1589
+ canvasEl.toBlob(resolve, "image/".concat(format), quality);
1590
+ });
1588
1591
 
1589
1592
  /**
1590
1593
  * Transforms degrees to radians.
@@ -4146,6 +4149,17 @@
4146
4149
  const finalMultiplier = multiplier * (enableRetinaScaling ? this.getRetinaScaling() : 1);
4147
4150
  return toDataURL(this.toCanvasElement(finalMultiplier, options), format, quality);
4148
4151
  }
4152
+ toBlob() {
4153
+ let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4154
+ const {
4155
+ format = 'png',
4156
+ quality = 1,
4157
+ multiplier = 1,
4158
+ enableRetinaScaling = false
4159
+ } = options;
4160
+ const finalMultiplier = multiplier * (enableRetinaScaling ? this.getRetinaScaling() : 1);
4161
+ return toBlob(this.toCanvasElement(finalMultiplier, options), format, quality);
4162
+ }
4149
4163
 
4150
4164
  /**
4151
4165
  * Create a new HTMLCanvas element painted with the current canvas content.
@@ -7693,6 +7707,10 @@
7693
7707
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7694
7708
  return toDataURL(this.toCanvasElement(options), options.format || 'png', options.quality || 1);
7695
7709
  }
7710
+ toBlob() {
7711
+ let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7712
+ return toBlob(this.toCanvasElement(options), options.format || 'png', options.quality || 1);
7713
+ }
7696
7714
 
7697
7715
  /**
7698
7716
  * Returns true if any of the specified types is identical to the type of an instance
@@ -13046,6 +13064,7 @@
13046
13064
  string: lang_string,
13047
13065
  stylesFromArray: stylesFromArray,
13048
13066
  stylesToArray: stylesToArray,
13067
+ toBlob: toBlob,
13049
13068
  toDataURL: toDataURL,
13050
13069
  toFixed: toFixed,
13051
13070
  transformPath: transformPath,
@@ -24198,13 +24217,14 @@
24198
24217
  * @param {Partial<TSize>} [size] Options object
24199
24218
  */
24200
24219
  setElement(element) {
24220
+ var _element$classList;
24201
24221
  let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
24202
24222
  this.removeTexture(this.cacheKey);
24203
24223
  this.removeTexture("".concat(this.cacheKey, "_filtered"));
24204
24224
  this._element = element;
24205
24225
  this._originalElement = element;
24206
24226
  this._setWidthHeight(size);
24207
- element.classList.add(FabricImage.CSS_CANVAS);
24227
+ (_element$classList = element.classList) === null || _element$classList === void 0 || _element$classList.add(FabricImage.CSS_CANVAS);
24208
24228
  if (this.filters.length !== 0) {
24209
24229
  this.applyFilters();
24210
24230
  }
@@ -24671,7 +24691,9 @@
24671
24691
 
24672
24692
  /**
24673
24693
  * Default CSS class name for canvas
24694
+ * Will be removed from fabric 7
24674
24695
  * @static
24696
+ * @deprecated
24675
24697
  * @type String
24676
24698
  * @default
24677
24699
  */