@arc-ui/community-components 3.8.1 → 3.9.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.
Files changed (56) hide show
  1. package/.turbo/turbo-build.log +11 -11
  2. package/CHANGELOG.md +11 -0
  3. package/lib/ArticleCarousel/ArticleCarousel.cjs +3 -2
  4. package/lib/ArticleCarousel/ArticleCarousel.mjs +3 -2
  5. package/lib/BannerWithTabs/BannerWithTabs.cjs +2 -1
  6. package/lib/BannerWithTabs/BannerWithTabs.mjs +2 -1
  7. package/lib/BusinessSegmentSwitcher/BusinessSegmentSwitcher.cjs +2 -1
  8. package/lib/BusinessSegmentSwitcher/BusinessSegmentSwitcher.mjs +2 -1
  9. package/lib/CopyLead/CopyLead.cjs +2 -2
  10. package/lib/CopyLead/CopyLead.mjs +2 -2
  11. package/lib/DownloadList/DownloadList.cjs +12 -9
  12. package/lib/DownloadList/DownloadList.mjs +12 -9
  13. package/lib/DownloadList/styles.css +1 -1
  14. package/lib/FAQs/FAQs.cjs +2 -1
  15. package/lib/FAQs/FAQs.mjs +2 -1
  16. package/lib/FeaturePost/FeaturePost.cjs +1 -1
  17. package/lib/FeaturePost/FeaturePost.mjs +1 -1
  18. package/lib/Highlights/Highlights.cjs +2 -1
  19. package/lib/Highlights/Highlights.mjs +2 -1
  20. package/lib/ProductNavigation/ProductNavigation.cjs +3 -2
  21. package/lib/ProductNavigation/ProductNavigation.mjs +3 -2
  22. package/lib/PromoListing/PromoListing.cjs +5 -4
  23. package/lib/PromoListing/PromoListing.mjs +5 -4
  24. package/lib/PromoListing/styles.css +1 -1
  25. package/lib/PromoListingThumbnailSignpost/PromoListingThumbnailSignpost.cjs +2 -1
  26. package/lib/PromoListingThumbnailSignpost/PromoListingThumbnailSignpost.mjs +2 -1
  27. package/lib/SectionHeading/SectionHeading.cjs +2 -1
  28. package/lib/SectionHeading/SectionHeading.mjs +2 -1
  29. package/lib/SectionHeading/styles.css +1 -1
  30. package/lib/Statistics/Statistics.cjs +1 -1
  31. package/lib/Statistics/Statistics.mjs +1 -1
  32. package/lib/Summary/Summary.cjs +1 -1
  33. package/lib/Summary/Summary.mjs +1 -1
  34. package/lib/_shared/cjs/SectionHeading-XCMdv8eZ.cjs +34 -0
  35. package/lib/_shared/cjs/{index.es-B6sSN_JJ.cjs → index.es-B73RVhhj.cjs} +1 -1
  36. package/lib/_shared/esm/SectionHeading-lyXLUtdr.mjs +32 -0
  37. package/lib/_shared/esm/{index.es-CYN3fovv.mjs → index.es-DNGykRl2.mjs} +1 -1
  38. package/lib/index.cjs +31 -26
  39. package/lib/index.cjs.map +1 -1
  40. package/lib/index.d.cts +13 -3
  41. package/lib/index.d.mts +13 -3
  42. package/lib/index.mjs +31 -26
  43. package/lib/index.mjs.map +1 -1
  44. package/lib/styles.css +1 -1
  45. package/package.json +15 -15
  46. package/src/components/BusinessSegmentSwitcher/BusinessSegmentSwitcher.tsx +5 -1
  47. package/src/components/BusinessSegmentSwitcher/types/types.ts +6 -3
  48. package/src/components/DownloadList/DownloadList.module.css +11 -3
  49. package/src/components/DownloadList/DownloadList.tsx +33 -17
  50. package/src/components/PromoListing/PromoListing.module.css +14 -0
  51. package/src/components/PromoListing/PromoListing.tsx +1 -1
  52. package/src/components/SectionHeading/SectionHeading.module.css +7 -26
  53. package/src/components/SectionHeading/SectionHeading.tsx +35 -33
  54. package/versions.json +1 -1
  55. package/lib/_shared/cjs/SectionHeading-DtYzFetD.cjs +0 -31
  56. package/lib/_shared/esm/SectionHeading-RLfs7ete.mjs +0 -29
package/lib/index.d.cts CHANGED
@@ -203,7 +203,14 @@ interface CopyLeadProps {
203
203
 
204
204
  declare const DownloadList: React$1.FC<DownloadListProps>;
205
205
  interface DownloadListProps extends Omit<SectionHeadingProps, "isPadded"> {
206
+ /**
207
+ * Set the list of `Download` components.
208
+ */
206
209
  downloads: DownloadProps[];
210
+ /**
211
+ * Align the `Download` list below or to the right of the `SectionHeading`.
212
+ */
213
+ alignment?: "below" | "right";
207
214
  }
208
215
 
209
216
  declare const FAQs: React$1.FC<FAQsProps>;
@@ -764,16 +771,19 @@ interface BentoMediaCard extends Omit<MediaCardProps, "isContained" | "buttonIco
764
771
  * Content structure for the bento grid layout within each tab.
765
772
  * - card1 & card2: Can be either information or media cards
766
773
  * - card3: Optional information card
767
- * - card4: Typography card with label and url
774
+ * - card4: Typography card with label, heading and url
768
775
  */
769
776
  type BentoGridContent = {
770
777
  card1: BentoInformationCard | BentoMediaCard;
771
778
  card2: BentoInformationCard | BentoMediaCard;
772
779
  card3?: BentoInformationCard;
773
780
  card4: {
774
- url: string;
775
- label?: string;
781
+ url: TypographyCardProps["url"];
782
+ label?: TypographyCardProps["label"];
783
+ /** Overrides the default heading if provided and is not falsey. */
784
+ heading?: string;
776
785
  text?: TypographyCardProps["text"];
786
+ onClick?: TypographyCardProps["onClick"];
777
787
  };
778
788
  };
779
789
 
package/lib/index.d.mts CHANGED
@@ -203,7 +203,14 @@ interface CopyLeadProps {
203
203
 
204
204
  declare const DownloadList: React$1.FC<DownloadListProps>;
205
205
  interface DownloadListProps extends Omit<SectionHeadingProps, "isPadded"> {
206
+ /**
207
+ * Set the list of `Download` components.
208
+ */
206
209
  downloads: DownloadProps[];
210
+ /**
211
+ * Align the `Download` list below or to the right of the `SectionHeading`.
212
+ */
213
+ alignment?: "below" | "right";
207
214
  }
208
215
 
209
216
  declare const FAQs: React$1.FC<FAQsProps>;
@@ -764,16 +771,19 @@ interface BentoMediaCard extends Omit<MediaCardProps, "isContained" | "buttonIco
764
771
  * Content structure for the bento grid layout within each tab.
765
772
  * - card1 & card2: Can be either information or media cards
766
773
  * - card3: Optional information card
767
- * - card4: Typography card with label and url
774
+ * - card4: Typography card with label, heading and url
768
775
  */
769
776
  type BentoGridContent = {
770
777
  card1: BentoInformationCard | BentoMediaCard;
771
778
  card2: BentoInformationCard | BentoMediaCard;
772
779
  card3?: BentoInformationCard;
773
780
  card4: {
774
- url: string;
775
- label?: string;
781
+ url: TypographyCardProps["url"];
782
+ label?: TypographyCardProps["label"];
783
+ /** Overrides the default heading if provided and is not falsey. */
784
+ heading?: string;
776
785
  text?: TypographyCardProps["text"];
786
+ onClick?: TypographyCardProps["onClick"];
777
787
  };
778
788
  };
779
789
 
package/lib/index.mjs CHANGED
@@ -5,11 +5,11 @@ import { VerticalSpace } from '@arc-ui/components/VerticalSpace';
5
5
  import { Image as Image$2 } from '@arc-ui/components/Image';
6
6
  import { Disclosure } from '@arc-ui/components/Disclosure';
7
7
  import { Carousel } from '@arc-ui/components/Carousel';
8
+ import { Columns, ColumnsCol } from '@arc-ui/components/Columns';
8
9
  import { MediaCard } from '@arc-ui/components/MediaCard';
9
10
  import { useMediaQuery } from '@arc-ui/components/use-media-query';
10
11
  import { Grid, GridRow, GridCol } from '@arc-ui/components/Grid';
11
12
  import { Avatar } from '@arc-ui/components/Avatar';
12
- import { Columns, ColumnsCol } from '@arc-ui/components/Columns';
13
13
  import { Icon } from '@arc-ui/components/Icon';
14
14
  import { ButtonV2 } from '@arc-ui/components/ButtonV2';
15
15
  import { Download } from '@arc-ui/components/Download';
@@ -940,28 +940,30 @@ function requireDebounce () {
940
940
  var debounceExports = requireDebounce();
941
941
  var debounce = /*@__PURE__*/getDefaultExportFromCjs(debounceExports);
942
942
 
943
- var styles$r = {"section-header":"SectionHeading-module_section-header__iB07I","section-header--hasImage":"SectionHeading-module_section-header--hasImage__Ka3T7","section-header--isCentered":"SectionHeading-module_section-header--isCentered__pz0V9","section-header--padded":"SectionHeading-module_section-header--padded__0FXP2"};
943
+ var styles$r = {"sectionHeading--hasImage":"SectionHeading-module_sectionHeading--hasImage__qaz6n","sectionHeading--isCentered":"SectionHeading-module_sectionHeading--isCentered__i0fR8","sectionHeading-content":"SectionHeading-module_sectionHeading-content__ufB6w"};
944
944
 
945
945
  var SectionHeading = function (_a) {
946
946
  var _b, _c;
947
947
  var heading = _a.heading, content = _a.content, id = _a.id, image = _a.image, isHeadingWordWrap = _a.isHeadingWordWrap, _d = _a.isPadded, isPadded = _d === void 0 ? false : _d, _e = _a.headingLevel, headingLevel = _e === void 0 ? "2" : _e, _f = _a.isCentered, isCentered = _f === void 0 ? false : _f, props = __rest(_a, ["heading", "content", "id", "image", "isHeadingWordWrap", "isPadded", "headingLevel", "isCentered"]);
948
- return (React.createElement("div", __assign({ className: classNames((_b = {},
949
- _b[styles$r["section-header"]] = true,
950
- _b[styles$r["section-header--padded"]] = isPadded,
951
- _b[styles$r["section-header--isCentered"]] = isCentered,
952
- _b)) }, filterAttrs(props)),
953
- React.createElement("div", { className: classNames((_c = {}, _c[styles$r["section-header--hasImage"]] = image, _c)) },
954
- image && (React.createElement("div", null,
955
- React.createElement(Image$2, __assign({}, image, { width: 68, fit: "cover" })))),
956
- React.createElement(Heading, { level: headingLevel, id: id, size: "xl", isWordWrap: isHeadingWordWrap }, heading)),
957
- content && (React.createElement(React.Fragment, null,
958
- React.createElement(VerticalSpace, { size: "24" }),
959
- React.createElement(Text, { size: "l", elementType: "p" }, content)))));
948
+ return (React.createElement(Columns, null,
949
+ React.createElement(ColumnsCol, { spanM: isPadded ? 9 : 12 },
950
+ React.createElement("div", __assign({ className: classNames((_b = {},
951
+ _b[styles$r["sectionHeading--isCentered"]] = isCentered,
952
+ _b)) }, filterAttrs(props)),
953
+ React.createElement("div", { className: classNames((_c = {},
954
+ _c[styles$r["sectionHeading--hasImage"]] = image,
955
+ _c)) },
956
+ image && React.createElement(Image$2, __assign({}, image, { width: 68, fit: "cover" })),
957
+ React.createElement(Heading, { level: headingLevel, id: id, size: "xl", isWordWrap: isHeadingWordWrap }, heading)),
958
+ content && (React.createElement("div", { className: styles$r["sectionHeading-content"] },
959
+ React.createElement(VerticalSpace, { size: "24" }),
960
+ React.createElement(Text, { size: "l", elementType: "p" }, content))),
961
+ React.createElement(VerticalSpace, { size: "40" })))));
960
962
  };
961
963
 
962
964
  /**
963
965
  * Do not edit directly
964
- * Generated on Wed, 13 May 2026 07:47:26 GMT
966
+ * Generated on Thu, 21 May 2026 15:46:02 GMT
965
967
  */
966
968
  var ArcSizeBreakpointsXs = "320px";
967
969
  var ArcSizeBreakpointsS = "636px";
@@ -1174,17 +1176,19 @@ var CopyLead = function (_a) {
1174
1176
  return null;
1175
1177
  };
1176
1178
 
1177
- var styles$n = {"headingContainer":"DownloadList-module_headingContainer__PNio8"};
1179
+ var styles$n = {"downloadList-below":"DownloadList-module_downloadList-below__21q6i","downloadList-right":"DownloadList-module_downloadList-right__mHYHL"};
1178
1180
 
1179
1181
  var DownloadList = function (_a) {
1180
- var heading = _a.heading, id = _a.id, _b = _a.headingLevel, headingLevel = _b === void 0 ? "2" : _b, isHeadingWordWrap = _a.isHeadingWordWrap, content = _a.content, downloads = _a.downloads, props = __rest(_a, ["heading", "id", "headingLevel", "isHeadingWordWrap", "content", "downloads"]);
1182
+ var heading = _a.heading, id = _a.id, _b = _a.headingLevel, headingLevel = _b === void 0 ? "2" : _b, isHeadingWordWrap = _a.isHeadingWordWrap, content = _a.content, downloads = _a.downloads, _c = _a.alignment, alignment = _c === void 0 ? "below" : _c, props = __rest(_a, ["heading", "id", "headingLevel", "isHeadingWordWrap", "content", "downloads", "alignment"]);
1181
1183
  return (React.createElement("div", __assign({}, filterAttrs(props)),
1182
- React.createElement("div", { className: styles$n.headingContainer },
1183
- React.createElement(SectionHeading, { id: id, heading: heading, isHeadingWordWrap: isHeadingWordWrap, headingLevel: headingLevel, content: content })),
1184
- React.createElement(VerticalSpace, { size: "40" }),
1185
- downloads.map(function (downloadProps, i) { return (React.createElement(React.Fragment, { key: "download-".concat(i) },
1186
- React.createElement(Download, __assign({}, downloadProps)),
1187
- i !== downloads.length - 1 && React.createElement(VerticalSpace, { size: "16" }))); })));
1184
+ React.createElement(Columns, null,
1185
+ React.createElement(ColumnsCol, { spanL: alignment === "right" ? 6 : 9, spanM: 9, span: 12 },
1186
+ " ",
1187
+ React.createElement(SectionHeading, { id: id, heading: heading, isHeadingWordWrap: isHeadingWordWrap, headingLevel: headingLevel, content: content })),
1188
+ React.createElement(ColumnsCol, { spanL: alignment === "right" ? 6 : 8, spanM: 9, spanS: 12 },
1189
+ React.createElement("div", { className: styles$n["downloadList-".concat(alignment)] }, downloads.map(function (downloadProps, i) { return (React.createElement(React.Fragment, { key: "download-".concat(i, "-").concat(downloadProps.name) },
1190
+ React.createElement(Download, __assign({}, downloadProps)),
1191
+ i !== downloads.length - 1 && React.createElement(VerticalSpace, { size: "16" }))); }))))));
1188
1192
  };
1189
1193
 
1190
1194
  var styles$m = {"FAQs":"FAQs-module_FAQs__FtQr4","linkListSection":"FAQs-module_linkListSection__RdQkU","linkListTitle":"FAQs-module_linkListTitle__RVni3","linkList":"FAQs-module_linkList__dPyXj","linkListItem":"FAQs-module_linkListItem__S83CL","linkList--padded":"FAQs-module_linkList--padded__8Paxc"};
@@ -3555,7 +3559,7 @@ var Highlights = function (_a) {
3555
3559
  : undefined, iconPosition: (_d = cta.iconPosition) !== null && _d !== void 0 ? _d : "beforeText" })))));
3556
3560
  };
3557
3561
 
3558
- var styles$j = {"PromoListing":"PromoListing-module_PromoListing__6ensv","carouselSlide":"PromoListing-module_carouselSlide__AMTPF","cardGrid":"PromoListing-module_cardGrid__llf73","cardWrapper":"PromoListing-module_cardWrapper__I4iwh","cardWrapperCarousel":"PromoListing-module_cardWrapperCarousel__t-2qM","columns-3":"PromoListing-module_columns-3__y6jWS","columns-2":"PromoListing-module_columns-2__GRFxb"};
3562
+ var styles$j = {"PromoListing":"PromoListing-module_PromoListing__6ensv","CarouselWrapper":"PromoListing-module_CarouselWrapper__iYwWp","carouselSlide":"PromoListing-module_carouselSlide__AMTPF","cardGrid":"PromoListing-module_cardGrid__llf73","cardWrapper":"PromoListing-module_cardWrapper__I4iwh","cardWrapperCarousel":"PromoListing-module_cardWrapperCarousel__t-2qM","columns-3":"PromoListing-module_columns-3__y6jWS","columns-2":"PromoListing-module_columns-2__GRFxb"};
3559
3563
 
3560
3564
  /**
3561
3565
  * Do not edit directly
@@ -3681,7 +3685,7 @@ var PromoListing = function (_a) {
3681
3685
  button.label && (React.createElement(React.Fragment, null,
3682
3686
  React.createElement(ButtonV2, __assign({}, button, { icon: button.buttonStyle == "compact" ? BtIconArrowRightFill : undefined, size: "m" })),
3683
3687
  React.createElement(VerticalSpace, { size: "40" }))),
3684
- isCarousel && !isMinWidthArcBreakpointL ? (React.createElement("div", { className: styles$j.promolistingCarouselWrapper },
3688
+ isCarousel && !isMinWidthArcBreakpointL ? (React.createElement("div", { className: styles$j.CarouselWrapper },
3685
3689
  React.createElement(Carousel, { overflow: "visible", itemsPerSlide: 1, behavior: "adaptive", withGutter: false }, cards === null || cards === void 0 ? void 0 : cards.map(function (card, i) { return (React.createElement("div", { key: "promolist-carousel-card-".concat(componentId, "-").concat(i), className: (styles$j.cardWrapperCarousel) }, getCard(card))); })))) : (React.createElement("ul", { className: classNames(styles$j.cardGrid, styles$j["columns-".concat(columns)]) }, cards === null || cards === void 0 ? void 0 : cards.map(function (card, index) { return (React.createElement("li", { key: "promolist-card--".concat(componentId, "-").concat(index) },
3686
3690
  React.createElement("div", { "data-testid": "promoList-card".concat(index), className: styles$j.cardWrapper }, getCard(card)))); })))));
3687
3691
  };
@@ -4191,7 +4195,8 @@ var BusinessSegmentSwitcher = function (_a) {
4191
4195
  React.createElement("div", { className: styles$2.cardCol },
4192
4196
  content.card3 && React.createElement(InformationCard, __assign({}, content.card3)),
4193
4197
  React.createElement("div", null,
4194
- React.createElement(TypographyCard, { heading: "All ".concat(label.toLowerCase(), " solutions"), text: content.card4.text, label: content.card4.label, url: content.card4.url }))))));
4198
+ React.createElement(TypographyCard, { heading: content.card4.heading ||
4199
+ "All ".concat(label.toLowerCase(), " solutions"), text: content.card4.text, label: content.card4.label, url: content.card4.url, onClick: content.card4.onClick }))))));
4195
4200
  }))),
4196
4201
  React.createElement("div", { className: styles$2.businessSegmentSwitcherMobile },
4197
4202
  React.createElement(ContentSwitcherDropdown, { isInset: true, value: selectedTab, tabs: tabs, isFluid: true, onValueChange: function (value) { return setSelectedTab(value); } }, tabs.map(function (_a, index) {