@arc-ui/components 9.2.0 → 10.0.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.
package/dist/index.es.js CHANGED
@@ -1,4 +1,4 @@
1
- import React, { createContext, useContext, forwardRef, useState, useEffect, Fragment, useRef } from 'react';
1
+ import React, { createContext, useContext, forwardRef, useEffect, useState, Fragment, useRef } from 'react';
2
2
 
3
3
  /*! *****************************************************************************
4
4
  Copyright (c) Microsoft Corporation.
@@ -716,20 +716,37 @@ var ButtonIcon = function (_a) {
716
716
  };
717
717
 
718
718
  /**
719
- * Use `Image` to render a single image, or set of images, with support for image fitting.
719
+ * Use `Image` to render a single image, or set of images, with support for
720
+ * image fitting and art direction.
720
721
  */
721
722
  var Image = function (_a) {
722
723
  var _b;
723
- 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"]);
724
+ 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"]);
725
+ useEffect(function () {
726
+ React.Children.map(children, function (item) {
727
+ if (item && item.type !== ImageSource) {
728
+ throw new Error("Illegal child passed to <Image />. Ensure to only use <Image.Source />.");
729
+ }
730
+ });
731
+ }, [children]);
732
+ var img = (React.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 }));
724
733
  return (React.createElement("div", __assign({ className: classNames((_b = {
725
734
  "arc-Image": true,
726
735
  "arc-Image--cover": fit === "cover"
727
736
  },
728
737
  _b["arc-Image--anchor".concat(anchor)] = fit === "cover",
729
738
  _b[suffixModifier("arc-Image--overlay", overlay || "")] = overlay,
730
- _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)),
731
- React.createElement("img", { className: "arc-Image-img", alt: alt, height: height, loading: loading, sizes: sizes, src: src, srcSet: srcSet, width: width })));
739
+ _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.createElement("picture", null,
740
+ children,
741
+ " ",
742
+ img)) : (React.createElement(React.Fragment, null, img))));
743
+ };
744
+ var ImageSource = function (_a) {
745
+ 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"]);
746
+ return (React.createElement("source", __assign({ height: height, media: media, sizes: sizes, srcSet: srcSet, type: type }, filterDataAttrs(props))));
732
747
  };
748
+ ImageSource.displayName = "Image.Source";
749
+ Image.Source = ImageSource;
733
750
 
734
751
  /**
735
752
  * Use `Heading` to display heading text.
@@ -1916,7 +1933,7 @@ var Provider = Context.Provider;
1916
1933
  */
1917
1934
  var SiteHeader = function (_a) {
1918
1935
  var _b;
1919
- 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"]);
1936
+ 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"]);
1920
1937
  var _j = useState(false), hasClientSideJavaScript = _j[0], setHasClientSideJavaScript = _j[1];
1921
1938
  var _k = useState(false), menuOpen = _k[0], setMenuOpen = _k[1];
1922
1939
  var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcBreakpointL, "px)"));