fabric-vectr 6.7.12 → 6.7.13
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.
- package/dist/index.js +25 -8
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/index.min.mjs +1 -1
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.mjs +25 -8
- package/dist/index.mjs.map +1 -1
- package/dist/index.node.cjs +25 -8
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.mjs +25 -8
- package/dist/index.node.mjs.map +1 -1
- package/dist/package.json.min.mjs +1 -1
- package/dist/package.json.mjs +1 -1
- package/dist/src/Pattern/Pattern.d.ts.map +1 -1
- package/dist/src/Pattern/Pattern.min.mjs +1 -1
- package/dist/src/Pattern/Pattern.min.mjs.map +1 -1
- package/dist/src/Pattern/Pattern.mjs +5 -1
- package/dist/src/Pattern/Pattern.mjs.map +1 -1
- package/dist/src/shapes/Image.d.ts +2 -2
- package/dist/src/shapes/Image.d.ts.map +1 -1
- package/dist/src/shapes/Image.min.mjs +1 -1
- package/dist/src/shapes/Image.min.mjs.map +1 -1
- package/dist/src/shapes/Image.mjs +4 -2
- package/dist/src/shapes/Image.mjs.map +1 -1
- package/dist/src/util/misc/objectEnlive.d.ts +6 -1
- package/dist/src/util/misc/objectEnlive.d.ts.map +1 -1
- package/dist/src/util/misc/objectEnlive.min.mjs +1 -1
- package/dist/src/util/misc/objectEnlive.min.mjs.map +1 -1
- package/dist/src/util/misc/objectEnlive.mjs +16 -5
- package/dist/src/util/misc/objectEnlive.mjs.map +1 -1
- package/dist-extensions/src/Pattern/Pattern.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Image.d.ts +2 -2
- package/dist-extensions/src/shapes/Image.d.ts.map +1 -1
- package/dist-extensions/src/util/misc/objectEnlive.d.ts +6 -1
- package/dist-extensions/src/util/misc/objectEnlive.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Pattern/Pattern.spec.ts +63 -0
- package/src/Pattern/Pattern.ts +3 -1
- package/src/shapes/Image.spec.ts +21 -2
- package/src/shapes/Image.ts +24 -12
- package/src/util/misc/objectEnlive.spec.ts +49 -2
- package/src/util/misc/objectEnlive.ts +29 -5
package/dist/index.node.mjs
CHANGED
|
@@ -416,7 +416,7 @@ class Cache {
|
|
|
416
416
|
}
|
|
417
417
|
const cache = new Cache();
|
|
418
418
|
|
|
419
|
-
var version = "6.7.
|
|
419
|
+
var version = "6.7.13";
|
|
420
420
|
|
|
421
421
|
// use this syntax so babel plugin see this import here
|
|
422
422
|
const VERSION = version;
|
|
@@ -1864,7 +1864,8 @@ const composeMatrix = options => {
|
|
|
1864
1864
|
const loadImage = function (url) {
|
|
1865
1865
|
let {
|
|
1866
1866
|
signal,
|
|
1867
|
-
crossOrigin = null
|
|
1867
|
+
crossOrigin = null,
|
|
1868
|
+
fallbackToEmptyImage = false
|
|
1868
1869
|
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1869
1870
|
return new Promise(function (resolve, reject) {
|
|
1870
1871
|
if (signal && signal.aborted) {
|
|
@@ -1881,9 +1882,12 @@ const loadImage = function (url) {
|
|
|
1881
1882
|
once: true
|
|
1882
1883
|
});
|
|
1883
1884
|
}
|
|
1884
|
-
const
|
|
1885
|
+
const cleanup = function () {
|
|
1885
1886
|
img.onload = img.onerror = null;
|
|
1886
1887
|
abort && (signal === null || signal === void 0 ? void 0 : signal.removeEventListener('abort', abort));
|
|
1888
|
+
};
|
|
1889
|
+
const done = function () {
|
|
1890
|
+
cleanup();
|
|
1887
1891
|
resolve(img);
|
|
1888
1892
|
};
|
|
1889
1893
|
if (!url) {
|
|
@@ -1892,8 +1896,15 @@ const loadImage = function (url) {
|
|
|
1892
1896
|
}
|
|
1893
1897
|
img.onload = done;
|
|
1894
1898
|
img.onerror = function () {
|
|
1895
|
-
|
|
1896
|
-
|
|
1899
|
+
const failedSrc = img.src;
|
|
1900
|
+
cleanup();
|
|
1901
|
+
if (fallbackToEmptyImage) {
|
|
1902
|
+
log('warn', 'Image failed to load, continuing with an empty image source', failedSrc);
|
|
1903
|
+
img.src = '';
|
|
1904
|
+
resolve(img);
|
|
1905
|
+
return;
|
|
1906
|
+
}
|
|
1907
|
+
reject(new FabricError(`Error loading ${failedSrc}`));
|
|
1897
1908
|
};
|
|
1898
1909
|
crossOrigin && (img.crossOrigin = crossOrigin);
|
|
1899
1910
|
img.src = url;
|
|
@@ -4096,9 +4107,13 @@ class Pattern {
|
|
|
4096
4107
|
patternTransform,
|
|
4097
4108
|
...otherOptions
|
|
4098
4109
|
} = _ref2;
|
|
4110
|
+
const {
|
|
4111
|
+
crossOrigin
|
|
4112
|
+
} = otherOptions;
|
|
4099
4113
|
const img = await loadImage(source, {
|
|
4100
4114
|
...options,
|
|
4101
|
-
crossOrigin
|
|
4115
|
+
crossOrigin,
|
|
4116
|
+
fallbackToEmptyImage: true
|
|
4102
4117
|
});
|
|
4103
4118
|
return new this({
|
|
4104
4119
|
...otherOptions,
|
|
@@ -26000,11 +26015,13 @@ class FabricImage extends FabricObject {
|
|
|
26000
26015
|
} = _ref;
|
|
26001
26016
|
return Promise.all([loadImage(src, {
|
|
26002
26017
|
...options,
|
|
26003
|
-
crossOrigin
|
|
26018
|
+
crossOrigin,
|
|
26019
|
+
fallbackToEmptyImage: true
|
|
26004
26020
|
}), f && enlivenObjects(f, options),
|
|
26005
26021
|
// TODO: redundant - handled by enlivenObjectEnlivables
|
|
26006
26022
|
rf && enlivenObjects([rf], options), enlivenObjectEnlivables(object, options)]).then(_ref2 => {
|
|
26007
|
-
let [el, filters = [],
|
|
26023
|
+
let [el, filters = [], resizeFilters = [], hydratedProps = {}] = _ref2;
|
|
26024
|
+
const [resizeFilter] = resizeFilters;
|
|
26008
26025
|
return new this(el, {
|
|
26009
26026
|
...object,
|
|
26010
26027
|
// TODO: this creates a difference between image creation and restoring from JSON
|