@trafilea/afrodita-components 6.56.1 → 6.56.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.
package/build/index.js CHANGED
@@ -4000,12 +4000,25 @@ var buildImageUrl = function (_a) {
4000
4000
 
4001
4001
  var Img$1 = newStyled.img(templateObject_1$2u || (templateObject_1$2u = __makeTemplateObject(["\n height: ", ";\n width: ", ";\n border-radius: ", ";\n object-fit: ", ";\n object-position: ", ";\n"], ["\n height: ", ";\n width: ", ";\n border-radius: ", ";\n object-fit: ", ";\n object-position: ", ";\n"])), function (props) { return props.height; }, function (props) { return props.width; }, function (props) { return props.borderRadius; }, function (props) { return props.objectFit; }, function (props) { return props.objectPosition; });
4002
4002
  var Image$3 = function (_a) {
4003
- var src = _a.src, srcSet = _a.srcSet, _b = _a.sizes, sizes = _b === void 0 ? '100vw' : _b, _c = _a.loading, loading = _c === void 0 ? 'lazy' : _c, _d = _a.decoding, decoding = _d === void 0 ? 'async' : _d, alt = _a.alt, height = _a.height, width = _a.width, borderRadius = _a.borderRadius, objectFit = _a.objectFit, objectPosition = _a.objectPosition, quality = _a.quality, rest = __rest(_a, ["src", "srcSet", "sizes", "loading", "decoding", "alt", "height", "width", "borderRadius", "objectFit", "objectPosition", "quality"]);
4004
- var config = useTheme().config;
4003
+ var src = _a.src, srcSet = _a.srcSet, _b = _a.sizes, sizes = _b === void 0 ? '100vw' : _b, _c = _a.loading, loading = _c === void 0 ? 'lazy' : _c, _d = _a.decoding, decoding = _d === void 0 ? 'async' : _d, alt = _a.alt, height = _a.height, width = _a.width, borderRadius = _a.borderRadius, objectFit = _a.objectFit, objectPosition = _a.objectPosition, quality = _a.quality, fallbackImg = _a.fallbackImg, rest = __rest(_a, ["src", "srcSet", "sizes", "loading", "decoding", "alt", "height", "width", "borderRadius", "objectFit", "objectPosition", "quality", "fallbackImg"]);
4004
+ var _e = useTheme(), config = _e.config, assets = _e.assets;
4005
+ var _f = React$2.useState(0), errorStage = _f[0], setErrorStage = _f[1];
4005
4006
  var source = (config === null || config === void 0 ? void 0 : config.useTrafileaImages)
4006
4007
  ? buildImageUrl({ cdn: config.cdn, src: src, height: height, width: width, quality: quality })
4007
4008
  : src;
4008
- return (jsxRuntime.jsx(Img$1, __assign$1({ src: source, srcSet: srcSet, sizes: sizes, loading: loading, decoding: decoding, alt: alt, height: height, width: width, borderRadius: borderRadius, objectFit: objectFit, objectPosition: objectPosition }, rest), void 0));
4009
+ var handleError = function (e) {
4010
+ var fallbackCdn = "".concat(assets.cdn, "/images/fallback_img.svg");
4011
+ var imgElement = e.target;
4012
+ if (errorStage === 0 && fallbackImg) {
4013
+ imgElement.src = fallbackImg;
4014
+ setErrorStage(1);
4015
+ }
4016
+ else if (errorStage <= 1) {
4017
+ imgElement.src = fallbackCdn;
4018
+ setErrorStage(2);
4019
+ }
4020
+ };
4021
+ return (jsxRuntime.jsx(Img$1, __assign$1({ onError: handleError, src: source, srcSet: srcSet, sizes: sizes, loading: loading, decoding: decoding, alt: alt, height: height, width: width, borderRadius: borderRadius, objectFit: objectFit, objectPosition: objectPosition }, rest), void 0));
4009
4022
  };
4010
4023
  var templateObject_1$2u;
4011
4024