@arc-ui/community-components 3.0.1 → 3.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.
Files changed (110) hide show
  1. package/.turbo/turbo-build.log +17 -20
  2. package/CHANGELOG.md +18 -0
  3. package/lib/Accordion/Accordion.cjs +2 -2
  4. package/lib/Accordion/Accordion.mjs +2 -2
  5. package/lib/ActionTile/ActionTile.cjs +35 -0
  6. package/lib/ActionTile/ActionTile.mjs +33 -0
  7. package/lib/ActionTile/styles.css +1 -0
  8. package/lib/ArticleSidebar/ArticleSidebar.cjs +68 -58
  9. package/lib/ArticleSidebar/ArticleSidebar.mjs +68 -58
  10. package/lib/ArticleSidebar/styles.css +1 -1
  11. package/lib/Author/Author.cjs +2 -2
  12. package/lib/Author/Author.mjs +2 -2
  13. package/lib/BannerWithTabs/BannerWithTabs.cjs +5 -5
  14. package/lib/BannerWithTabs/BannerWithTabs.mjs +5 -5
  15. package/lib/CopyLead/CopyLead.cjs +12 -12
  16. package/lib/CopyLead/CopyLead.mjs +12 -12
  17. package/lib/DownloadList/DownloadList.cjs +5 -5
  18. package/lib/DownloadList/DownloadList.mjs +5 -5
  19. package/lib/FAQs/FAQs.cjs +6 -6
  20. package/lib/FAQs/FAQs.mjs +6 -6
  21. package/lib/FeaturePost/FeaturePost.cjs +6 -6
  22. package/lib/FeaturePost/FeaturePost.mjs +6 -6
  23. package/lib/HeroLink/HeroLink.cjs +35 -0
  24. package/lib/HeroLink/HeroLink.mjs +33 -0
  25. package/lib/HeroLink/styles.css +1 -0
  26. package/lib/Highlights/Highlights.cjs +9 -16
  27. package/lib/Highlights/Highlights.mjs +7 -14
  28. package/lib/LinkTile/LinkTile.cjs +21 -0
  29. package/lib/LinkTile/LinkTile.mjs +19 -0
  30. package/lib/LinkTile/styles.css +1 -0
  31. package/lib/ProductNavigation/ProductNavigation.cjs +10 -13
  32. package/lib/ProductNavigation/ProductNavigation.mjs +10 -13
  33. package/lib/PromoListing/PromoListing.cjs +17 -9
  34. package/lib/PromoListing/PromoListing.mjs +17 -9
  35. package/lib/Quote/Quote.cjs +3 -3
  36. package/lib/Quote/Quote.mjs +3 -3
  37. package/lib/SectionHeading/SectionHeading.cjs +3 -3
  38. package/lib/SectionHeading/SectionHeading.mjs +3 -3
  39. package/lib/Statistics/Statistics.cjs +6 -6
  40. package/lib/Statistics/Statistics.mjs +6 -6
  41. package/lib/Summary/Summary.cjs +1 -1
  42. package/lib/Summary/Summary.mjs +1 -1
  43. package/lib/_shared/cjs/{Accordion-D5fpUJzm.cjs → Accordion-BCJIm1Gq.cjs} +4 -4
  44. package/lib/_shared/cjs/{Author-X47pv31V.cjs → Author-D4dKNQem.cjs} +2 -2
  45. package/lib/_shared/cjs/BtIconArrowAltRight-CLQdP61r.cjs +11 -0
  46. package/lib/_shared/cjs/BtIconArrowRightFill-BVCZv7Lm.cjs +11 -0
  47. package/lib/_shared/cjs/{SectionHeading-DepTV4JA.cjs → SectionHeading-DeSFM0HV.cjs} +5 -5
  48. package/lib/_shared/cjs/filter-attrs-BizjMsy0.cjs +27 -0
  49. package/lib/_shared/cjs/{index.es-D11PdokQ.cjs → index.es-DzI6hGjj.cjs} +1 -1
  50. package/lib/_shared/esm/{Accordion-LLwNdzax.mjs → Accordion-BN_lZk6L.mjs} +4 -4
  51. package/lib/_shared/esm/{Author-CydDYCma.mjs → Author-HnYsFTPT.mjs} +2 -2
  52. package/lib/_shared/esm/BtIconArrowAltRight-VH6RTTnL.mjs +9 -0
  53. package/lib/_shared/esm/BtIconArrowRightFill-D0zKgk3B.mjs +9 -0
  54. package/lib/_shared/esm/{SectionHeading-BayinGP_.mjs → SectionHeading-CpDLCndw.mjs} +5 -5
  55. package/lib/_shared/esm/filter-attrs-DZ7RCEZm.mjs +25 -0
  56. package/lib/_shared/esm/{index.es-C4PyYMjI.mjs → index.es-B6Bolkcx.mjs} +1 -1
  57. package/lib/index.cjs +315 -217
  58. package/lib/index.cjs.map +1 -1
  59. package/lib/index.d.cts +155 -26
  60. package/lib/index.d.mts +155 -26
  61. package/lib/index.mjs +313 -218
  62. package/lib/index.mjs.map +1 -1
  63. package/lib/styles.css +1 -1
  64. package/package.json +13 -13
  65. package/src/components/Accordion/Accordion.tsx +3 -2
  66. package/src/components/Accordion/components/AccordionDisclosureList/AccordionDisclosureList.tsx +2 -2
  67. package/src/components/Accordion/components/AccordionHeading/AccordionHeading.tsx +3 -4
  68. package/src/components/ActionTile/ActionTile.module.css +89 -0
  69. package/src/components/ActionTile/ActionTile.tsx +70 -0
  70. package/src/components/ActionTile/index.ts +1 -0
  71. package/src/components/ArticleSidebar/ArticleSidebar.module.css +6 -0
  72. package/src/components/ArticleSidebar/ArticleSidebar.tsx +115 -85
  73. package/src/components/ArticleSidebar/types/link-section.ts +2 -1
  74. package/src/components/ArticleSidebar/types/share-button.ts +1 -1
  75. package/src/components/ArticleSidebar/types/share.ts +5 -1
  76. package/src/components/ArticleSidebar/types/text-section.ts +3 -2
  77. package/src/components/ArticleSidebar/types/topic.ts +2 -2
  78. package/src/components/Author/Author.tsx +2 -2
  79. package/src/components/BannerWithTabs/BannerWithTabs.tsx +9 -3
  80. package/src/components/CopyLead/CopyLead.tsx +21 -5
  81. package/src/components/CopyLead/components/MediaContent/MediaContent.tsx +10 -1
  82. package/src/components/CopyLead/templates/Content/Content.tsx +4 -0
  83. package/src/components/CopyLead/templates/Media/Media.tsx +10 -1
  84. package/src/components/CopyLead/types/copy-lead-button.ts +1 -1
  85. package/src/components/CopyLead/types/copy-lead-image.ts +1 -1
  86. package/src/components/DownloadList/DownloadList.tsx +4 -0
  87. package/src/components/FAQs/FAQs.tsx +7 -3
  88. package/src/components/FeaturePost/FeaturePost.tsx +22 -5
  89. package/src/components/FeaturePost/types/feature-post-app-button-footer.ts +1 -1
  90. package/src/components/FeaturePost/types/feature-post-cta-footer.ts +2 -1
  91. package/src/components/FeaturePost/types/feature-post-image.ts +1 -1
  92. package/src/components/HeroLink/HeroLink.module.css +44 -0
  93. package/src/components/HeroLink/HeroLink.tsx +136 -0
  94. package/src/components/HeroLink/index.ts +2 -0
  95. package/src/components/Highlights/Highlights.tsx +6 -1
  96. package/src/components/Highlights/components/HighlightItem/HighlightItem.tsx +1 -0
  97. package/src/components/Highlights/types/highlight-link.ts +1 -0
  98. package/src/components/LinkTile/LinkTile.module.css +57 -0
  99. package/src/components/LinkTile/LinkTile.tsx +38 -0
  100. package/src/components/LinkTile/index.ts +1 -0
  101. package/src/components/ProductNavigation/ProductNavigation.tsx +10 -11
  102. package/src/components/ProductNavigation/types/product-list.ts +1 -8
  103. package/src/components/PromoListing/PromoListing.tsx +67 -3
  104. package/src/components/Quote/Quote.tsx +2 -2
  105. package/src/components/SectionHeading/SectionHeading.tsx +17 -7
  106. package/src/components/Statistics/Statistics.tsx +6 -2
  107. package/src/components/index.ts +3 -0
  108. package/versions.json +1 -1
  109. package/lib/_shared/cjs/filter-data-attrs-ajtUvDAC.cjs +0 -15
  110. package/lib/_shared/esm/filter-data-attrs-V7cbJuwS.mjs +0 -13
@@ -3,25 +3,25 @@
3
3
  var tslib_es6 = require('./tslib.es6-BxB9I209.cjs');
4
4
  var React = require('react');
5
5
  var index = require('./index-Bp6Dd2i1.cjs');
6
- var filterDataAttrs = require('./filter-data-attrs-ajtUvDAC.cjs');
7
- var Heading = require('@arc-ui/components/Heading');
6
+ var filterAttrs = require('./filter-attrs-BizjMsy0.cjs');
8
7
  var Text = require('@arc-ui/components/Text');
9
8
  var VerticalSpace = require('@arc-ui/components/VerticalSpace');
10
9
  var Image = require('@arc-ui/components/Image');
10
+ var Heading = require('@arc-ui/components/Heading');
11
11
 
12
12
  var styles = {"section-header":"SectionHeading-module_section-header__iB07I","section-header--hasImage":"SectionHeading-module_section-header--hasImage__Ka3T7","section-header--padded":"SectionHeading-module_section-header--padded__0FXP2"};
13
13
 
14
14
  var SectionHeading = function (_a) {
15
15
  var _b, _c;
16
- var heading = _a.heading, content = _a.content, id = _a.id, _d = _a.isPadded, isPadded = _d === void 0 ? false : _d, _e = _a.headingLevel, headingLevel = _e === void 0 ? "2" : _e, image = _a.image, props = tslib_es6.__rest(_a, ["heading", "content", "id", "isPadded", "headingLevel", "image"]);
16
+ 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, props = tslib_es6.__rest(_a, ["heading", "content", "id", "image", "isHeadingWordWrap", "isPadded", "headingLevel"]);
17
17
  return (React.createElement("div", tslib_es6.__assign({ className: index.classNames((_b = {},
18
18
  _b[styles["section-header"]] = true,
19
19
  _b[styles["section-header--padded"]] = isPadded,
20
- _b)) }, filterDataAttrs.filterDataAttrs(props)),
20
+ _b)) }, filterAttrs.filterAttrs(props)),
21
21
  React.createElement("div", { className: index.classNames((_c = {}, _c[styles["section-header--hasImage"]] = image, _c)) },
22
22
  image && (React.createElement("div", null,
23
23
  React.createElement(Image.Image, tslib_es6.__assign({}, image, { width: 68, fit: "cover" })))),
24
- React.createElement(Heading.Heading, { level: headingLevel, id: id, size: "xl" }, heading)),
24
+ React.createElement(Heading.Heading, { level: headingLevel, id: id, size: "xl", isWordWrap: isHeadingWordWrap }, heading)),
25
25
  content && (React.createElement(React.Fragment, null,
26
26
  React.createElement(VerticalSpace.VerticalSpace, { size: "24" }),
27
27
  React.createElement(Text.Text, { size: "l", elementType: "p" }, content)))));
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Filters out attributes from the given props object based on a pattern.
5
+ *
6
+ * This function extracts all properties that match either the `data-*` or `aria-*` attribute patterns
7
+ * and returns a new object containing only those properties.
8
+ *
9
+ * @param props - The object containing properties to filter.
10
+ * @returns A new object containing only the matched attributes (`data-*` and `aria-*`) from the input props.
11
+ */
12
+ var attributePrefixes = ["data-", "aria-"];
13
+ var filterAttrs = function (props) {
14
+ var filteredProps = {};
15
+ var _loop_1 = function (prop) {
16
+ if (Object.prototype.hasOwnProperty.call(props, prop) &&
17
+ attributePrefixes.some(function (prefix) { return prop.startsWith(prefix); })) {
18
+ filteredProps[prop] = props[prop];
19
+ }
20
+ };
21
+ for (var prop in props) {
22
+ _loop_1(prop);
23
+ }
24
+ return filteredProps;
25
+ };
26
+
27
+ exports.filterAttrs = filterAttrs;
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * Do not edit directly
5
- * Generated on Wed, 18 Feb 2026 11:14:49 GMT
5
+ * Generated on Wed, 25 Feb 2026 15:47:05 GMT
6
6
  */
7
7
  var ArcSizeBreakpointsS = "636px";
8
8
  var ArcSizeBreakpointsM = "768px";
@@ -1,6 +1,6 @@
1
1
  import { a as __rest, _ as __assign } from './tslib.es6-D6Wu-xwB.mjs';
2
2
  import React from 'react';
3
- import { f as filterDataAttrs } from './filter-data-attrs-V7cbJuwS.mjs';
3
+ import { f as filterAttrs } from './filter-attrs-DZ7RCEZm.mjs';
4
4
  import { c as classNames } from './index-BfTCfPZ1.mjs';
5
5
  import { Heading } from '@arc-ui/components/Heading';
6
6
  import { Text } from '@arc-ui/components/Text';
@@ -17,7 +17,7 @@ var AccordionHeading = function (_a) {
17
17
  _b[styles$2["accordion-header"]] = true,
18
18
  _b[styles$2["accordion-header--padded"]] = isPadded,
19
19
  _b[styles$2["accordion-header--headingSizeM"]] = headingSize === "m",
20
- _b)) }, filterDataAttrs(props)),
20
+ _b)) }, filterAttrs(props)),
21
21
  React.createElement("div", { className: classNames((_c = {}, _c[styles$2["accordion-header--hasImage"]] = image, _c)) },
22
22
  image && (React.createElement("div", null,
23
23
  React.createElement(Image, __assign({}, image, { width: 68, fit: "cover" })))),
@@ -34,7 +34,7 @@ var AccordionDisclosureList = function (_a) {
34
34
  return (React.createElement("ul", null, disclosureList.map(function (_a) {
35
35
  var children = _a.children, summary = _a.summary, _b = _a.isOpen, isOpen = _b === void 0 ? false : _b, _c = _a.indentDetails, indentDetails = _c === void 0 ? false : _c, headingLevel = _a.headingLevel, id = _a.id, props = __rest(_a, ["children", "summary", "isOpen", "indentDetails", "headingLevel", "id"]);
36
36
  return (React.createElement("li", { key: id, className: styles$1.AccordionDisclosureListItem },
37
- React.createElement(Disclosure, __assign({ summary: summary, isOpen: isOpen, indentDetails: indentDetails, headingLevel: headingLevel }, filterDataAttrs(props)), children)));
37
+ React.createElement(Disclosure, __assign({ summary: summary, isOpen: isOpen, indentDetails: indentDetails, headingLevel: headingLevel }, filterAttrs(props)), children)));
38
38
  })));
39
39
  };
40
40
 
@@ -45,7 +45,7 @@ var styles = {"Accordion":"Accordion-module_Accordion__LsXTU"};
45
45
  */
46
46
  var Accordion = function (_a) {
47
47
  var heading = _a.heading, headingLevel = _a.headingLevel, headingSize = _a.headingSize, content = _a.content, id = _a.id, disclosureList = _a.disclosureList, props = __rest(_a, ["heading", "headingLevel", "headingSize", "content", "id", "disclosureList"]);
48
- return (React.createElement("div", __assign({ className: styles.Accordion }, filterDataAttrs(props)),
48
+ return (React.createElement("div", __assign({ className: styles.Accordion }, filterAttrs(props)),
49
49
  React.createElement(AccordionHeading, { isPadded: true, id: id, "data-testid": "Accordion-header", heading: heading, headingLevel: headingLevel, headingSize: headingSize, content: content }),
50
50
  React.createElement(AccordionDisclosureList, { disclosureList: disclosureList })));
51
51
  };
@@ -1,6 +1,6 @@
1
1
  import { a as __rest, _ as __assign } from './tslib.es6-D6Wu-xwB.mjs';
2
2
  import React from 'react';
3
- import { f as filterDataAttrs } from './filter-data-attrs-V7cbJuwS.mjs';
3
+ import { f as filterAttrs } from './filter-attrs-DZ7RCEZm.mjs';
4
4
  import { Grid, GridRow, GridCol } from '@arc-ui/components/Grid';
5
5
  import { Avatar } from '@arc-ui/components/Avatar';
6
6
  import { Heading } from '@arc-ui/components/Heading';
@@ -13,7 +13,7 @@ var Author = function (_a) {
13
13
  var avatarSizes = ["s", "m", "l", "xl"];
14
14
  avatar.size = avatarSizes.includes(avatar.size || "") ? avatar.size : "m";
15
15
  var isLargeAvatar = avatar.size === "l" || avatar.size === "xl";
16
- return (React.createElement("div", __assign({}, filterDataAttrs(props)),
16
+ return (React.createElement("div", __assign({}, filterAttrs(props)),
17
17
  React.createElement(Grid, { isFluid: true, isGutterless: true },
18
18
  React.createElement(GridRow, { align: "center" },
19
19
  React.createElement(GridCol, { xs: isLargeAvatar ? 12 : "auto" },
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Do not edit directly
3
+ * Generated file
4
+ */
5
+
6
+ const BtIconArrowAltRight =
7
+ "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3e%3cpath fill='currentColor' d='M18.854 11.646a.5.5 0 0 0-.707.707l3.146 3.147H9.5a.5.5 0 0 0 0 1h11.793l-3.146 3.146a.5.5 0 1 0 .707.707L23.207 16Z'/%3e%3c/svg%3e";
8
+
9
+ export { BtIconArrowAltRight as B };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Do not edit directly
3
+ * Generated file
4
+ */
5
+
6
+ const BtIconArrowRightFill =
7
+ "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3e%3cpath fill='currentColor' d='M2 16A14 14 0 1 0 16 2 14 14 0 0 0 2 16m16.854-4.354L23.207 16l-4.354 4.354a.5.5 0 0 1-.707-.707l3.147-3.147H9.5a.5.5 0 0 1 0-1h11.793l-3.146-3.146a.5.5 0 0 1 .707-.707'/%3e%3c/svg%3e";
8
+
9
+ export { BtIconArrowRightFill as B };
@@ -1,25 +1,25 @@
1
1
  import { a as __rest, _ as __assign } from './tslib.es6-D6Wu-xwB.mjs';
2
2
  import React from 'react';
3
3
  import { c as classNames } from './index-BfTCfPZ1.mjs';
4
- import { f as filterDataAttrs } from './filter-data-attrs-V7cbJuwS.mjs';
5
- import { Heading } from '@arc-ui/components/Heading';
4
+ import { f as filterAttrs } from './filter-attrs-DZ7RCEZm.mjs';
6
5
  import { Text } from '@arc-ui/components/Text';
7
6
  import { VerticalSpace } from '@arc-ui/components/VerticalSpace';
8
7
  import { Image } from '@arc-ui/components/Image';
8
+ import { Heading } from '@arc-ui/components/Heading';
9
9
 
10
10
  var styles = {"section-header":"SectionHeading-module_section-header__iB07I","section-header--hasImage":"SectionHeading-module_section-header--hasImage__Ka3T7","section-header--padded":"SectionHeading-module_section-header--padded__0FXP2"};
11
11
 
12
12
  var SectionHeading = function (_a) {
13
13
  var _b, _c;
14
- var heading = _a.heading, content = _a.content, id = _a.id, _d = _a.isPadded, isPadded = _d === void 0 ? false : _d, _e = _a.headingLevel, headingLevel = _e === void 0 ? "2" : _e, image = _a.image, props = __rest(_a, ["heading", "content", "id", "isPadded", "headingLevel", "image"]);
14
+ 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, props = __rest(_a, ["heading", "content", "id", "image", "isHeadingWordWrap", "isPadded", "headingLevel"]);
15
15
  return (React.createElement("div", __assign({ className: classNames((_b = {},
16
16
  _b[styles["section-header"]] = true,
17
17
  _b[styles["section-header--padded"]] = isPadded,
18
- _b)) }, filterDataAttrs(props)),
18
+ _b)) }, filterAttrs(props)),
19
19
  React.createElement("div", { className: classNames((_c = {}, _c[styles["section-header--hasImage"]] = image, _c)) },
20
20
  image && (React.createElement("div", null,
21
21
  React.createElement(Image, __assign({}, image, { width: 68, fit: "cover" })))),
22
- React.createElement(Heading, { level: headingLevel, id: id, size: "xl" }, heading)),
22
+ React.createElement(Heading, { level: headingLevel, id: id, size: "xl", isWordWrap: isHeadingWordWrap }, heading)),
23
23
  content && (React.createElement(React.Fragment, null,
24
24
  React.createElement(VerticalSpace, { size: "24" }),
25
25
  React.createElement(Text, { size: "l", elementType: "p" }, content)))));
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Filters out attributes from the given props object based on a pattern.
3
+ *
4
+ * This function extracts all properties that match either the `data-*` or `aria-*` attribute patterns
5
+ * and returns a new object containing only those properties.
6
+ *
7
+ * @param props - The object containing properties to filter.
8
+ * @returns A new object containing only the matched attributes (`data-*` and `aria-*`) from the input props.
9
+ */
10
+ var attributePrefixes = ["data-", "aria-"];
11
+ var filterAttrs = function (props) {
12
+ var filteredProps = {};
13
+ var _loop_1 = function (prop) {
14
+ if (Object.prototype.hasOwnProperty.call(props, prop) &&
15
+ attributePrefixes.some(function (prefix) { return prop.startsWith(prefix); })) {
16
+ filteredProps[prop] = props[prop];
17
+ }
18
+ };
19
+ for (var prop in props) {
20
+ _loop_1(prop);
21
+ }
22
+ return filteredProps;
23
+ };
24
+
25
+ export { filterAttrs as f };
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Wed, 18 Feb 2026 11:14:49 GMT
3
+ * Generated on Wed, 25 Feb 2026 15:47:05 GMT
4
4
  */
5
5
  var ArcSizeBreakpointsS = "636px";
6
6
  var ArcSizeBreakpointsM = "768px";