@arc-ui/components 6.0.0 → 6.1.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 = [
@@ -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
  */