@arc-ui/components 6.0.0 → 6.3.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.js CHANGED
@@ -377,6 +377,10 @@ var BrandLogo = function (_a) {
377
377
  } }, filterDataAttrs(props)), label ? React__default["default"].createElement("span", { className: "arc-BrandLogo-text" }, label) : null));
378
378
  };
379
379
 
380
+ /**
381
+ * Do not edit directly
382
+ * Generated file
383
+ */
380
384
  const ArcBreakpointM = 768;
381
385
  const ArcBreakpointL = 1024;
382
386
  const iconsSelected = [
@@ -694,8 +698,8 @@ var Button = React.forwardRef(function (_a, ref) {
694
698
  var ButtonIcon = function (_a) {
695
699
  var icon = _a.icon, isChevron = _a.isChevron, isBeforeText = _a.isBeforeText;
696
700
  return (React__default["default"].createElement("span", { className: classNames({
697
- "arc-ButtonIcon": true,
698
- "arc-ButtonIcon--chevron": isChevron
701
+ "arc-Button-icon": true,
702
+ "arc-Button-icon--chevron": isChevron
699
703
  }) }, isChevron ? (React__default["default"].createElement(Icon, { icon: "btChevron".concat(isBeforeText ? "Left" : "Right", "2px") })) : (React__default["default"].createElement(Icon, { icon: icon }))));
700
704
  };
701
705
 
@@ -739,7 +743,7 @@ var Heading = function (_a) {
739
743
  };
740
744
  var HeadingProposition = function (_a) {
741
745
  var children = _a.children;
742
- return React__default["default"].createElement("span", { className: "arc-HeadingProposition" }, children);
746
+ return React__default["default"].createElement("span", { className: "arc-Heading-proposition" }, children);
743
747
  };
744
748
  HeadingProposition.displayName = "Heading.Proposition";
745
749
  Heading.Proposition = HeadingProposition;
@@ -784,12 +788,12 @@ var useInteractionMode = function () {
784
788
  };
785
789
  if (typeof window !== "undefined") {
786
790
  document.addEventListener("keydown", onKeyDown, true);
787
- document.addEventListener("mousedown", onPointerDown, true);
791
+ document.addEventListener("click", onPointerDown, true);
788
792
  }
789
793
  return function () {
790
794
  if (typeof window !== "undefined") {
791
795
  document.removeEventListener("keydown", onKeyDown);
792
- document.removeEventListener("mousedown", onPointerDown);
796
+ document.removeEventListener("click", onPointerDown);
793
797
  }
794
798
  };
795
799
  }, []);
@@ -897,13 +901,13 @@ var Card = function (_a) {
897
901
  var CardBlock = function (_a) {
898
902
  var _b = _a.align, align = _b === void 0 ? "left" : _b, children = _a.children, _c = _a.isFullWidth, isFullWidth = _c === void 0 ? false : _c, _d = _a.grow, grow = _d === void 0 ? false : _d;
899
903
  return (React__default["default"].createElement("div", { className: classNames({
900
- "arc-CardBlock": true,
901
- "arc-CardBlock--alignCenter": align === "center",
902
- "arc-CardBlock--alignRight": align === "right",
903
- "arc-CardBlock--fullWidth": isFullWidth,
904
- "arc-CardBlock--grow": grow
904
+ "arc-Card-block": true,
905
+ "arc-Card-block--alignCenter": align === "center",
906
+ "arc-Card-block--alignRight": align === "right",
907
+ "arc-Card-block--fullWidth": isFullWidth,
908
+ "arc-Card-block--grow": grow
905
909
  }) },
906
- React__default["default"].createElement("div", { className: "arc-CardBlock-inner" }, children)));
910
+ React__default["default"].createElement("div", { className: "arc-Card-blockInner" }, children)));
907
911
  };
908
912
  CardBlock.displayName = "Card.Block";
909
913
  Card.Block = CardBlock;
@@ -913,7 +917,7 @@ Card.Block = CardBlock;
913
917
  var CardImage = function (_a) {
914
918
  var _b = _a.alt, alt = _b === void 0 ? "" : _b, _c = _a.height, height = _c === void 0 ? 176 : _c, src = _a.src, srcSet = _a.srcSet;
915
919
  return (React__default["default"].createElement("div", { className: classNames({
916
- "arc-CardImage": true
920
+ "arc-Card-image": true
917
921
  }) },
918
922
  React__default["default"].createElement(Image, { alt: alt, fit: "cover", src: src, srcSet: srcSet, height: height })));
919
923
  };
@@ -926,13 +930,13 @@ var CardLink = function (_a) {
926
930
  var actionId = _a.actionId, isButton = _a.isButton, children = _a.children, fill = _a.fill, href = _a.href, stretch = _a.stretch, target = _a.target;
927
931
  var surface = React.useContext(Context$3).surface;
928
932
  return (React__default["default"].createElement("a", { "aria-describedby": actionId, className: classNames({
929
- "arc-CardLink": true,
930
- "arc-CardLink--button": isButton,
931
- "arc-CardLink--onDarkSurface": surface === "dark" && fill !== "neutral",
932
- "arc-CardLink--stretch": stretch
933
+ "arc-Card-link": true,
934
+ "arc-Card-link--button": isButton,
935
+ "arc-Card-link--onDarkSurface": surface === "dark" && fill !== "neutral",
936
+ "arc-Card-link--stretch": stretch
933
937
  }), href: href, rel: target === "_blank" ? "noopener noreferrer" : undefined, tabIndex: isButton ? -1 : undefined, target: target },
934
- React__default["default"].createElement("span", { className: "arc-CardLink-text" }, children),
935
- isButton && (React__default["default"].createElement("span", { className: "arc-CardLink-icon" },
938
+ React__default["default"].createElement("span", { className: "arc-Card-linkText" }, children),
939
+ isButton && (React__default["default"].createElement("span", { className: "arc-Card-linkIcon" },
936
940
  React__default["default"].createElement(Icon, { icon: "btChevronRight2px", size: 8 })))));
937
941
  };
938
942
 
@@ -1072,24 +1076,24 @@ var Col = function (_a) {
1072
1076
  var _b;
1073
1077
  var align = _a.align, children = _a.children, _c = _a.isDebugVisible, isDebugVisible = _c === void 0 ? false : _c, offset = _a.offset, offsetS = _a.offsetS, offsetM = _a.offsetM, offsetL = _a.offsetL, offsetXL = _a.offsetXL, span = _a.span, spanS = _a.spanS, spanM = _a.spanM, spanL = _a.spanL, spanXL = _a.spanXL, props = __rest(_a, ["align", "children", "isDebugVisible", "offset", "offsetS", "offsetM", "offsetL", "offsetXL", "span", "spanS", "spanM", "spanL", "spanXL"]);
1074
1078
  return (React__default["default"].createElement("div", __assign({ className: classNames((_b = {},
1075
- _b["arc-Col"] = true,
1076
- _b[suffixModifier("arc-Col--align", align || "")] = align,
1077
- _b["arc-Col--".concat(span)] = typeof span !== "undefined",
1078
- _b["arc-Col--S".concat(spanS)] = typeof spanS !== "undefined",
1079
- _b["arc-Col--M".concat(spanM)] = typeof spanM !== "undefined",
1080
- _b["arc-Col--L".concat(spanL)] = typeof spanL !== "undefined",
1081
- _b["arc-Col--XL".concat(spanXL)] = typeof spanXL !== "undefined",
1082
- _b["arc-Col--offset"] = typeof offset !== "undefined" ||
1079
+ _b["arc-Columns-col"] = true,
1080
+ _b[suffixModifier("arc-Columns-col--align", align || "")] = align,
1081
+ _b["arc-Columns-col--".concat(span)] = typeof span !== "undefined",
1082
+ _b["arc-Columns-col--s".concat(spanS)] = typeof spanS !== "undefined",
1083
+ _b["arc-Columns-col--m".concat(spanM)] = typeof spanM !== "undefined",
1084
+ _b["arc-Columns-col--l".concat(spanL)] = typeof spanL !== "undefined",
1085
+ _b["arc-Columns-col--xL".concat(spanXL)] = typeof spanXL !== "undefined",
1086
+ _b["arc-Columns-col--offset"] = typeof offset !== "undefined" ||
1083
1087
  typeof offsetS !== "undefined" ||
1084
1088
  typeof offsetM !== "undefined" ||
1085
1089
  typeof offsetL !== "undefined" ||
1086
1090
  typeof offsetXL !== "undefined",
1087
- _b["arc-Col--offset".concat(offset)] = typeof offset !== "undefined",
1088
- _b["arc-Col--offsetS".concat(offsetS)] = typeof offsetS !== "undefined",
1089
- _b["arc-Col--offsetM".concat(offsetM)] = typeof offsetM !== "undefined",
1090
- _b["arc-Col--offsetL".concat(offsetL)] = typeof offsetL !== "undefined",
1091
- _b["arc-Col--offsetXL".concat(offsetXL)] = typeof offsetXL !== "undefined",
1092
- _b["arc-Col--debugVisible"] = isDebugVisible,
1091
+ _b["arc-Columns-col--offset".concat(offset)] = typeof offset !== "undefined",
1092
+ _b["arc-Columns-col--offsetS".concat(offsetS)] = typeof offsetS !== "undefined",
1093
+ _b["arc-Columns-col--offsetM".concat(offsetM)] = typeof offsetM !== "undefined",
1094
+ _b["arc-Columns-col--offsetL".concat(offsetL)] = typeof offsetL !== "undefined",
1095
+ _b["arc-Columns-col--offsetXL".concat(offsetXL)] = typeof offsetXL !== "undefined",
1096
+ _b["arc-Columns-col--debugVisible"] = isDebugVisible,
1093
1097
  _b)) }, filterDataAttrs(props)), children));
1094
1098
  };
1095
1099
  Col.displayName = "Columns.Col";
@@ -1170,9 +1174,9 @@ var GroupItem = function (_a) {
1170
1174
  var _b;
1171
1175
  var children = _a.children, _c = _a.grow, grow = _c === void 0 ? false : _c, _d = _a.isDebugVisible, isDebugVisible = _d === void 0 ? false : _d, props = __rest(_a, ["children", "grow", "isDebugVisible"]);
1172
1176
  return (React__default["default"].createElement("div", __assign({ className: classNames((_b = {},
1173
- _b["arc-GroupItem"] = true,
1174
- _b["arc-GroupItem--grow"] = grow,
1175
- _b["arc-GroupItem--debugVisible"] = isDebugVisible,
1177
+ _b["arc-Group-item"] = true,
1178
+ _b["arc-Group-item--grow"] = grow,
1179
+ _b["arc-Group-item--debugVisible"] = isDebugVisible,
1176
1180
  _b)) }, filterDataAttrs(props)), children));
1177
1181
  };
1178
1182
  GroupItem.displayName = "Group.Item";
@@ -1516,7 +1520,9 @@ var Panel = function (_a) {
1516
1520
  // and the click is not on a SubNavItem-link.
1517
1521
  // This ensures that one SubNavItem Panel per NavItem always remains open.
1518
1522
  (subNavItemRef &&
1519
- !e.target.classList.contains(subNavLink)) ||
1523
+ !e.target.classList.contains(subNavLink) &&
1524
+ !e.target.classList.contains("".concat(subNavLink, "Title")) &&
1525
+ !e.target.classList.contains("".concat(subNavLink, "SubTitle"))) ||
1520
1526
  // Panel is inside a SubNavItem
1521
1527
  // and the click is not inside the Panel's NavItem parent.
1522
1528
  // This prevents SubNavItem Panels in sibling NavItems from being closed.
@@ -1644,12 +1650,31 @@ var NavItemRehydrator = (function (el, hydrate) { return __awaiter(void 0, void
1644
1650
  });
1645
1651
  }); });
1646
1652
 
1653
+ /**
1654
+ * Use `Text` to display text.
1655
+ */
1656
+ var Text = function (_a) {
1657
+ var _b;
1658
+ var _c = _a.align, align = _c === void 0 ? "left" : _c, children = _a.children, _d = _a.isInline, isInline = _d === void 0 ? false : _d, _e = _a.isMeasured, isMeasured = _e === void 0 ? false : _e, _f = _a.size, size = _f === void 0 ? "m" : _f, _g = _a.tone, tone = _g === void 0 ? "default" : _g, props = __rest(_a, ["align", "children", "isInline", "isMeasured", "size", "tone"]);
1659
+ var surface = React.useContext(Context$3).surface;
1660
+ return (React__default["default"].createElement("span", __assign({ className: classNames((_b = {
1661
+ "arc-Text": true
1662
+ },
1663
+ _b[suffixModifier("arc-Text--align", align)] = align !== "left",
1664
+ _b["arc-Text--inline"] = isInline,
1665
+ _b["arc-Text--measured"] = isMeasured,
1666
+ _b["arc-Text--size".concat(size && size.toUpperCase())] = size && size !== "m",
1667
+ _b["arc-Text--".concat(tone)] = tone !== "default",
1668
+ _b["arc-Text--onDarkSurface"] = surface === "dark",
1669
+ _b)) }, filterDataAttrs(props)), children));
1670
+ };
1671
+
1647
1672
  var SubNavItem = function (_a) {
1648
1673
  var _b, _c;
1649
- var children = _a.children, _d = _a.isDefaultItem, isDefaultItem = _d === void 0 ? false : _d, href = _a.href, promo = _a.promo, title = _a.title, props = __rest(_a, ["children", "isDefaultItem", "href", "promo", "title"]);
1650
- var _e = React.useContext(Context$1), navItem = _e.navItem, subTitle = _e.subTitle;
1674
+ var children = _a.children, _d = _a.isDefaultItem, isDefaultItem = _d === void 0 ? false : _d, href = _a.href, offsetXL = _a.offsetXL, promo = _a.promo, subTitle = _a.subTitle, title = _a.title, viewAllTitle = _a.viewAllTitle, props = __rest(_a, ["children", "isDefaultItem", "href", "offsetXL", "promo", "subTitle", "title", "viewAllTitle"]);
1675
+ var navItem = React.useContext(Context$1).navItem;
1651
1676
  var subNavItem = React.useRef();
1652
- var _f = React.useState(false), panelOpen = _f[0], setPanelOpen = _f[1];
1677
+ var _e = React.useState(false), panelOpen = _e[0], setPanelOpen = _e[1];
1653
1678
  var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcBreakpointL, "px)"));
1654
1679
  React.useEffect(function () {
1655
1680
  React__default["default"].Children.map(children, function (item) {
@@ -1669,52 +1694,75 @@ var SubNavItem = function (_a) {
1669
1694
  setPanelOpen(false);
1670
1695
  }
1671
1696
  }, [isDefaultItem, isMinWidthArcBreakpointL]);
1697
+ var linkTitle = (React__default["default"].createElement(React__default["default"].Fragment, null,
1698
+ React__default["default"].createElement("span", { className: "arc-SiteHeaderSubNavItem-linkTitle" }, title),
1699
+ subTitle ? (React__default["default"].createElement("span", { className: "arc-SiteHeaderSubNavItem-linkSubTitle" }, subTitle)) : null));
1672
1700
  return (React__default["default"].createElement("li", __assign({ className: classNames((_b = {},
1673
1701
  _b["arc-SiteHeaderSubNavItem"] = true,
1674
1702
  _b["arc-SiteHeaderSubNavItem--linkSelected"] = children && panelOpen,
1675
- _b)), ref: subNavItem }, filterDataAttrs(props), { "data-default-item": isDefaultItem || null }), !children ? (href ? (React__default["default"].createElement("a", { className: "arc-SiteHeaderSubNavItem-link", href: href }, title)) : null) : (React__default["default"].createElement(React__default["default"].Fragment, null,
1703
+ _b[suffixModifier("arc-SiteHeaderSubNavItem--offsetXL", offsetXL || "")] = offsetXL,
1704
+ _b)), ref: subNavItem }, filterDataAttrs(props), { "data-default-item": isDefaultItem || null }), !children ? (href ? (React__default["default"].createElement("a", { className: "arc-SiteHeaderSubNavItem-link", href: href }, linkTitle)) : null) : (React__default["default"].createElement(React__default["default"].Fragment, null,
1676
1705
  React__default["default"].createElement("button", { "aria-expanded": panelOpen, className: classNames((_c = {},
1677
1706
  _c["arc-SiteHeaderSubNavItem-link"] = true,
1678
1707
  _c["arc-SiteHeaderSubNavItem-link--itemHasChildren"] = children,
1679
1708
  _c)), onClick: function () {
1680
1709
  setPanelOpen(true);
1681
- } }, title),
1682
- React__default["default"].createElement(Panel, { navItemRef: navItem, open: panelOpen, setOpen: setPanelOpen, subNavItemRef: subNavItem, subNavLink: "arc-SiteHeaderSubNavItem-link", promo: promo, title: React__default["default"].createElement(React__default["default"].Fragment, null,
1683
- subTitle && "".concat(subTitle, " "),
1684
- React__default["default"].createElement("b", null, title)) }, children)))));
1710
+ } }, linkTitle),
1711
+ React__default["default"].createElement(Panel, { navItemRef: navItem, open: panelOpen, setOpen: setPanelOpen, subNavItemRef: subNavItem, subNavLink: "arc-SiteHeaderSubNavItem-link", promo: promo, title: React__default["default"].createElement("span", null,
1712
+ title,
1713
+ subTitle && (React__default["default"].createElement(Text, { size: "xs", tone: "supporting" }, subTitle))), viewAll: href ? (React__default["default"].createElement(Panel.ViewAll, { href: href, title: viewAllTitle || "View all ".concat(title.toLowerCase()) })) : (undefined) }, children)))));
1685
1714
  };
1686
1715
 
1687
1716
  var SubNavItemRehydrator = (function (el, hydrate) { return __awaiter(void 0, void 0, void 0, function () {
1688
- var children, promo, link, href, title, props;
1689
- return __generator(this, function (_a) {
1690
- switch (_a.label) {
1717
+ var children, promo, link, linkTitle, viewAll, href, title, offsetXL, props;
1718
+ var _a;
1719
+ return __generator(this, function (_b) {
1720
+ switch (_b.label) {
1691
1721
  case 0:
1692
1722
  children = el.querySelector(".arc-SiteHeaderPanel-items");
1693
1723
  promo = el.querySelector(".arc-SiteHeaderPanel-promo");
1694
1724
  if (!children) return [3 /*break*/, 2];
1695
1725
  return [4 /*yield*/, hydrate(children)];
1696
1726
  case 1:
1697
- children = _a.sent();
1698
- _a.label = 2;
1727
+ children = _b.sent();
1728
+ _b.label = 2;
1699
1729
  case 2:
1700
1730
  if (!promo) return [3 /*break*/, 4];
1701
1731
  return [4 /*yield*/, hydrate(promo)];
1702
1732
  case 3:
1703
- promo = _a.sent();
1704
- _a.label = 4;
1733
+ promo = _b.sent();
1734
+ _b.label = 4;
1705
1735
  case 4:
1706
1736
  link = el.querySelector(".arc-SiteHeaderSubNavItem-link");
1737
+ linkTitle = el.querySelector(".arc-SiteHeaderSubNavItem-linkTitle");
1738
+ viewAll = el.querySelector(".arc-SiteHeaderPanel-viewAll");
1707
1739
  href = "";
1708
1740
  title = "";
1709
1741
  if (link) {
1710
1742
  href = link.getAttribute("href") || /* istanbul ignore next */ "";
1711
- title = link.textContent || /* istanbul ignore next */ "";
1743
+ }
1744
+ if (linkTitle) {
1745
+ title = linkTitle.textContent || /* istanbul ignore next */ "";
1746
+ }
1747
+ if (viewAll) {
1748
+ href = viewAll.getAttribute("href") || /* istanbul ignore next */ "";
1749
+ }
1750
+ offsetXL = undefined;
1751
+ if (el.classList.contains("arc-SiteHeaderSubNavItem--offsetXL24")) {
1752
+ offsetXL = "24";
1753
+ }
1754
+ if (el.classList.contains("arc-SiteHeaderSubNavItem--offsetXL48")) {
1755
+ offsetXL = "48";
1712
1756
  }
1713
1757
  props = {
1714
1758
  href: href,
1715
1759
  isDefaultItem: Boolean(el.dataset.defaultItem),
1760
+ offsetXL: offsetXL,
1716
1761
  promo: promo || undefined,
1717
- title: title
1762
+ subTitle: ((_a = el.querySelector(".arc-SiteHeaderSubNavItem-linkSubTitle")) === null || _a === void 0 ? void 0 : _a.textContent) ||
1763
+ undefined,
1764
+ title: title,
1765
+ viewAllTitle: (viewAll === null || viewAll === void 0 ? void 0 : viewAll.textContent) || undefined
1718
1766
  };
1719
1767
  return [2 /*return*/, React__default["default"].createElement(SubNavItem, __assign({}, props), children)];
1720
1768
  }
@@ -1781,7 +1829,7 @@ function wrap(el, wrapper) {
1781
1829
  wrapper.appendChild(el);
1782
1830
  }
1783
1831
  var NavItemWithSubNavRehydrator = (function (el, hydrate) { return __awaiter(void 0, void 0, void 0, function () {
1784
- var subNavItem1, subNavItem2, subNavItem3, div1, div2, slot1, slot2, slot3, div3, link, subTitle, viewAll, title, props;
1832
+ var subNavItem1, subNavItem2, subNavItem3, div1, div2, slot1, slot2, slot3, div3, link, subTitle, viewAllNodes, viewAll, title, props;
1785
1833
  return __generator(this, function (_a) {
1786
1834
  switch (_a.label) {
1787
1835
  case 0:
@@ -1811,7 +1859,8 @@ var NavItemWithSubNavRehydrator = (function (el, hydrate) { return __awaiter(voi
1811
1859
  case 4:
1812
1860
  link = el.querySelector(".arc-SiteHeaderNavItem-link");
1813
1861
  subTitle = el.querySelector(".arc-SiteHeaderPanel-title");
1814
- viewAll = el.querySelector(".arc-SiteHeaderPanel-viewAll");
1862
+ viewAllNodes = el.querySelectorAll(".arc-SiteHeaderPanel-viewAll");
1863
+ viewAll = viewAllNodes[viewAllNodes.length - 1];
1815
1864
  title = "";
1816
1865
  if (link) {
1817
1866
  title = link.textContent || /* istanbul ignore next */ "";
@@ -1978,25 +2027,6 @@ SiteHeaderRehydrator.NavItemRehydrator = NavItemRehydrator;
1978
2027
  SiteHeaderRehydrator.NavItemWithSubNavRehydrator = NavItemWithSubNavRehydrator;
1979
2028
  SiteHeaderRehydrator.SubNavItemRehydrator = SubNavItemRehydrator;
1980
2029
 
1981
- /**
1982
- * Use `Text` to display text.
1983
- */
1984
- var Text = function (_a) {
1985
- var _b;
1986
- var _c = _a.align, align = _c === void 0 ? "left" : _c, children = _a.children, _d = _a.isInline, isInline = _d === void 0 ? false : _d, _e = _a.isMeasured, isMeasured = _e === void 0 ? false : _e, _f = _a.size, size = _f === void 0 ? "m" : _f, _g = _a.tone, tone = _g === void 0 ? "default" : _g, props = __rest(_a, ["align", "children", "isInline", "isMeasured", "size", "tone"]);
1987
- var surface = React.useContext(Context$3).surface;
1988
- return (React__default["default"].createElement("span", __assign({ className: classNames((_b = {
1989
- "arc-Text": true
1990
- },
1991
- _b[suffixModifier("arc-Text--align", align)] = align !== "left",
1992
- _b["arc-Text--inline"] = isInline,
1993
- _b["arc-Text--measured"] = isMeasured,
1994
- _b["arc-Text--size".concat(size && size.toUpperCase())] = size && size !== "m",
1995
- _b["arc-Text--".concat(tone)] = tone !== "default",
1996
- _b["arc-Text--onDarkSurface"] = surface === "dark",
1997
- _b)) }, filterDataAttrs(props)), children));
1998
- };
1999
-
2000
2030
  /**
2001
2031
  * Use `TextInput` to allow custom user text entry with a keyboard.
2002
2032
  */