@arc-ui/components 9.2.0 → 10.0.3

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 CHANGED
@@ -724,20 +724,37 @@ var ButtonIcon = function (_a) {
724
724
  };
725
725
 
726
726
  /**
727
- * Use `Image` to render a single image, or set of images, with support for image fitting.
727
+ * Use `Image` to render a single image, or set of images, with support for
728
+ * image fitting and art direction.
728
729
  */
729
730
  var Image = function (_a) {
730
731
  var _b;
731
- var alt = _a.alt, _c = _a.anchor, anchor = _c === void 0 ? "C" : _c, fillColor = _a.fillColor, fit = _a.fit, height = _a.height, loading = _a.loading, overlay = _a.overlay, sizes = _a.sizes, src = _a.src, srcSet = _a.srcSet, width = _a.width, props = __rest(_a, ["alt", "anchor", "fillColor", "fit", "height", "loading", "overlay", "sizes", "src", "srcSet", "width"]);
732
+ var alt = _a.alt, _c = _a.anchor, anchor = _c === void 0 ? "C" : _c, children = _a.children, fillColor = _a.fillColor, fit = _a.fit, height = _a.height, loading = _a.loading, overlay = _a.overlay, sizes = _a.sizes, src = _a.src, srcSet = _a.srcSet, width = _a.width, props = __rest(_a, ["alt", "anchor", "children", "fillColor", "fit", "height", "loading", "overlay", "sizes", "src", "srcSet", "width"]);
733
+ React.useEffect(function () {
734
+ React__default["default"].Children.map(children, function (item) {
735
+ if (item && item.type !== ImageSource) {
736
+ throw new Error("Illegal child passed to <Image />. Ensure to only use <Image.Source />.");
737
+ }
738
+ });
739
+ }, [children]);
740
+ var img = (React__default["default"].createElement("img", { className: "arc-Image-img", alt: alt, height: fit === "cover" ? undefined : height, loading: loading, sizes: children ? undefined : sizes, src: src, srcSet: children ? undefined : srcSet, width: fit === "cover" ? undefined : width }));
732
741
  return (React__default["default"].createElement("div", __assign({ className: classNames((_b = {
733
742
  "arc-Image": true,
734
743
  "arc-Image--cover": fit === "cover"
735
744
  },
736
745
  _b["arc-Image--anchor".concat(anchor)] = fit === "cover",
737
746
  _b[suffixModifier("arc-Image--overlay", overlay || "")] = overlay,
738
- _b)), style: __assign(__assign(__assign(__assign({}, (fillColor && { backgroundColor: fillColor })), (fit === "cover" && { backgroundImage: "url(".concat(src, ")") })), (height && { height: "".concat(height, "px") })), (width && { width: "".concat(width, "px") })) }, filterDataAttrs(props)),
739
- React__default["default"].createElement("img", { className: "arc-Image-img", alt: alt, height: height, loading: loading, sizes: sizes, src: src, srcSet: srcSet, width: width })));
747
+ _b)), style: __assign(__assign(__assign({}, (fillColor && { backgroundColor: fillColor })), (fit === "cover" && height ? { height: "".concat(height, "px") } : null)), (fit === "cover" && width ? { width: "".concat(width, "px") } : null)) }, filterDataAttrs(props)), children ? (React__default["default"].createElement("picture", null,
748
+ children,
749
+ " ",
750
+ img)) : (React__default["default"].createElement(React__default["default"].Fragment, null, img))));
751
+ };
752
+ var ImageSource = function (_a) {
753
+ var height = _a.height, media = _a.media, srcSet = _a.srcSet, sizes = _a.sizes, type = _a.type; _a.width; var props = __rest(_a, ["height", "media", "srcSet", "sizes", "type", "width"]);
754
+ return (React__default["default"].createElement("source", __assign({ height: height, media: media, sizes: sizes, srcSet: srcSet, type: type }, filterDataAttrs(props))));
740
755
  };
756
+ ImageSource.displayName = "Image.Source";
757
+ Image.Source = ImageSource;
741
758
 
742
759
  /**
743
760
  * Use `Heading` to display heading text.
@@ -1924,7 +1941,7 @@ var Provider = Context.Provider;
1924
1941
  */
1925
1942
  var SiteHeader = function (_a) {
1926
1943
  var _b;
1927
- var children = _a.children, basket = _a.basket, _c = _a.hasLogin, hasLogin = _c === void 0 ? true : _c, _d = _a.isTransparent, isTransparent = _d === void 0 ? false : _d, _e = _a.loginHref, loginHref = _e === void 0 ? "/login" : _e, _f = _a.loginTitle, loginTitle = _f === void 0 ? "Login / Register" : _f, _g = _a.logoHref, logoHref = _g === void 0 ? "/" : _g, _h = _a.logoLabel, logoLabel = _h === void 0 ? "Home" : _h, search = _a.search, subBrand = _a.subBrand, props = __rest(_a, ["children", "basket", "hasLogin", "isTransparent", "loginHref", "loginTitle", "logoHref", "logoLabel", "search", "subBrand"]);
1944
+ var children = _a.children, basket = _a.basket, _c = _a.hasLogin, hasLogin = _c === void 0 ? true : _c, _d = _a.isTransparent, isTransparent = _d === void 0 ? false : _d, _e = _a.loginHref, loginHref = _e === void 0 ? "/login" : _e, _f = _a.loginTitle, loginTitle = _f === void 0 ? "Log in / Register" : _f, _g = _a.logoHref, logoHref = _g === void 0 ? "/" : _g, _h = _a.logoLabel, logoLabel = _h === void 0 ? "Home" : _h, search = _a.search, subBrand = _a.subBrand, props = __rest(_a, ["children", "basket", "hasLogin", "isTransparent", "loginHref", "loginTitle", "logoHref", "logoLabel", "search", "subBrand"]);
1928
1945
  var _j = React.useState(false), hasClientSideJavaScript = _j[0], setHasClientSideJavaScript = _j[1];
1929
1946
  var _k = React.useState(false), menuOpen = _k[0], setMenuOpen = _k[1];
1930
1947
  var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcBreakpointL, "px)"));