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.mjs
CHANGED
|
@@ -360,7 +360,7 @@ class Cache {
|
|
|
360
360
|
}
|
|
361
361
|
const cache = new Cache();
|
|
362
362
|
|
|
363
|
-
var version = "6.7.
|
|
363
|
+
var version = "6.7.13";
|
|
364
364
|
|
|
365
365
|
// use this syntax so babel plugin see this import here
|
|
366
366
|
const VERSION = version;
|
|
@@ -1808,7 +1808,8 @@ const composeMatrix = options => {
|
|
|
1808
1808
|
const loadImage = function (url) {
|
|
1809
1809
|
let {
|
|
1810
1810
|
signal,
|
|
1811
|
-
crossOrigin = null
|
|
1811
|
+
crossOrigin = null,
|
|
1812
|
+
fallbackToEmptyImage = false
|
|
1812
1813
|
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1813
1814
|
return new Promise(function (resolve, reject) {
|
|
1814
1815
|
if (signal && signal.aborted) {
|
|
@@ -1825,9 +1826,12 @@ const loadImage = function (url) {
|
|
|
1825
1826
|
once: true
|
|
1826
1827
|
});
|
|
1827
1828
|
}
|
|
1828
|
-
const
|
|
1829
|
+
const cleanup = function () {
|
|
1829
1830
|
img.onload = img.onerror = null;
|
|
1830
1831
|
abort && (signal === null || signal === void 0 ? void 0 : signal.removeEventListener('abort', abort));
|
|
1832
|
+
};
|
|
1833
|
+
const done = function () {
|
|
1834
|
+
cleanup();
|
|
1831
1835
|
resolve(img);
|
|
1832
1836
|
};
|
|
1833
1837
|
if (!url) {
|
|
@@ -1836,8 +1840,15 @@ const loadImage = function (url) {
|
|
|
1836
1840
|
}
|
|
1837
1841
|
img.onload = done;
|
|
1838
1842
|
img.onerror = function () {
|
|
1839
|
-
|
|
1840
|
-
|
|
1843
|
+
const failedSrc = img.src;
|
|
1844
|
+
cleanup();
|
|
1845
|
+
if (fallbackToEmptyImage) {
|
|
1846
|
+
log('warn', 'Image failed to load, continuing with an empty image source', failedSrc);
|
|
1847
|
+
img.src = '';
|
|
1848
|
+
resolve(img);
|
|
1849
|
+
return;
|
|
1850
|
+
}
|
|
1851
|
+
reject(new FabricError(`Error loading ${failedSrc}`));
|
|
1841
1852
|
};
|
|
1842
1853
|
crossOrigin && (img.crossOrigin = crossOrigin);
|
|
1843
1854
|
img.src = url;
|
|
@@ -4040,9 +4051,13 @@ class Pattern {
|
|
|
4040
4051
|
patternTransform,
|
|
4041
4052
|
...otherOptions
|
|
4042
4053
|
} = _ref2;
|
|
4054
|
+
const {
|
|
4055
|
+
crossOrigin
|
|
4056
|
+
} = otherOptions;
|
|
4043
4057
|
const img = await loadImage(source, {
|
|
4044
4058
|
...options,
|
|
4045
|
-
crossOrigin
|
|
4059
|
+
crossOrigin,
|
|
4060
|
+
fallbackToEmptyImage: true
|
|
4046
4061
|
});
|
|
4047
4062
|
return new this({
|
|
4048
4063
|
...otherOptions,
|
|
@@ -25944,11 +25959,13 @@ class FabricImage extends FabricObject {
|
|
|
25944
25959
|
} = _ref;
|
|
25945
25960
|
return Promise.all([loadImage(src, {
|
|
25946
25961
|
...options,
|
|
25947
|
-
crossOrigin
|
|
25962
|
+
crossOrigin,
|
|
25963
|
+
fallbackToEmptyImage: true
|
|
25948
25964
|
}), f && enlivenObjects(f, options),
|
|
25949
25965
|
// TODO: redundant - handled by enlivenObjectEnlivables
|
|
25950
25966
|
rf && enlivenObjects([rf], options), enlivenObjectEnlivables(object, options)]).then(_ref2 => {
|
|
25951
|
-
let [el, filters = [],
|
|
25967
|
+
let [el, filters = [], resizeFilters = [], hydratedProps = {}] = _ref2;
|
|
25968
|
+
const [resizeFilter] = resizeFilters;
|
|
25952
25969
|
return new this(el, {
|
|
25953
25970
|
...object,
|
|
25954
25971
|
// TODO: this creates a difference between image creation and restoring from JSON
|