@arc-ui/community-components 3.0.1 → 3.2.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 (125) hide show
  1. package/.turbo/turbo-build.log +19 -22
  2. package/CHANGELOG.md +30 -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 +16 -12
  20. package/lib/FAQs/FAQs.mjs +16 -12
  21. package/lib/FeaturePost/FeaturePost.cjs +18 -11
  22. package/lib/FeaturePost/FeaturePost.mjs +18 -11
  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/PromoListingThumbnailSignpost/PromoListingThumbnailSignpost.cjs +28 -0
  36. package/lib/PromoListingThumbnailSignpost/PromoListingThumbnailSignpost.mjs +26 -0
  37. package/lib/PromoListingThumbnailSignpost/styles.css +1 -0
  38. package/lib/Quote/Quote.cjs +3 -3
  39. package/lib/Quote/Quote.mjs +3 -3
  40. package/lib/SectionHeading/SectionHeading.cjs +3 -3
  41. package/lib/SectionHeading/SectionHeading.mjs +3 -3
  42. package/lib/Statistics/Statistics.cjs +6 -6
  43. package/lib/Statistics/Statistics.mjs +6 -6
  44. package/lib/Summary/Summary.cjs +1 -1
  45. package/lib/Summary/Summary.mjs +1 -1
  46. package/lib/ThumbnailSignpost/ThumbnailSignpost.cjs +15 -0
  47. package/lib/ThumbnailSignpost/ThumbnailSignpost.mjs +9 -0
  48. package/lib/ThumbnailSignpost/styles.css +1 -0
  49. package/lib/_shared/cjs/{Accordion-D5fpUJzm.cjs → Accordion-DfNGOjTm.cjs} +5 -5
  50. package/lib/_shared/cjs/{Author-X47pv31V.cjs → Author-D4dKNQem.cjs} +2 -2
  51. package/lib/_shared/cjs/BtIconArrowAltRight-CLQdP61r.cjs +11 -0
  52. package/lib/_shared/cjs/BtIconArrowRightFill-BVCZv7Lm.cjs +11 -0
  53. package/lib/_shared/cjs/{SectionHeading-DepTV4JA.cjs → SectionHeading-DeSFM0HV.cjs} +5 -5
  54. package/lib/_shared/cjs/ThumbnailSignpost-GkOiwt-Z.cjs +39 -0
  55. package/lib/_shared/cjs/filter-attrs-BizjMsy0.cjs +27 -0
  56. package/lib/_shared/cjs/{index.es-D11PdokQ.cjs → index.es-Dq8bYrbW.cjs} +1 -1
  57. package/lib/_shared/esm/{Accordion-LLwNdzax.mjs → Accordion-cd1oYvBv.mjs} +5 -5
  58. package/lib/_shared/esm/{Author-CydDYCma.mjs → Author-HnYsFTPT.mjs} +2 -2
  59. package/lib/_shared/esm/BtIconArrowAltRight-VH6RTTnL.mjs +9 -0
  60. package/lib/_shared/esm/BtIconArrowRightFill-D0zKgk3B.mjs +9 -0
  61. package/lib/_shared/esm/{SectionHeading-BayinGP_.mjs → SectionHeading-CpDLCndw.mjs} +5 -5
  62. package/lib/_shared/esm/ThumbnailSignpost-BeRiXbUp.mjs +37 -0
  63. package/lib/_shared/esm/filter-attrs-DZ7RCEZm.mjs +25 -0
  64. package/lib/_shared/esm/{index.es-C4PyYMjI.mjs → index.es-Bfdys5__.mjs} +1 -1
  65. package/lib/index.cjs +378 -227
  66. package/lib/index.cjs.map +1 -1
  67. package/lib/index.d.cts +190 -26
  68. package/lib/index.d.mts +190 -26
  69. package/lib/index.mjs +374 -228
  70. package/lib/index.mjs.map +1 -1
  71. package/lib/styles.css +1 -1
  72. package/package.json +13 -13
  73. package/src/components/Accordion/Accordion.tsx +3 -2
  74. package/src/components/Accordion/components/AccordionDisclosureList/AccordionDisclosureList.tsx +3 -3
  75. package/src/components/Accordion/components/AccordionHeading/AccordionHeading.tsx +3 -4
  76. package/src/components/ActionTile/ActionTile.module.css +89 -0
  77. package/src/components/ActionTile/ActionTile.tsx +70 -0
  78. package/src/components/ActionTile/index.ts +1 -0
  79. package/src/components/ArticleSidebar/ArticleSidebar.module.css +6 -0
  80. package/src/components/ArticleSidebar/ArticleSidebar.tsx +115 -85
  81. package/src/components/ArticleSidebar/types/link-section.ts +2 -1
  82. package/src/components/ArticleSidebar/types/share-button.ts +1 -1
  83. package/src/components/ArticleSidebar/types/share.ts +5 -1
  84. package/src/components/ArticleSidebar/types/text-section.ts +3 -2
  85. package/src/components/ArticleSidebar/types/topic.ts +2 -2
  86. package/src/components/Author/Author.tsx +2 -2
  87. package/src/components/BannerWithTabs/BannerWithTabs.tsx +9 -3
  88. package/src/components/CopyLead/CopyLead.tsx +21 -5
  89. package/src/components/CopyLead/components/MediaContent/MediaContent.tsx +10 -1
  90. package/src/components/CopyLead/templates/Content/Content.tsx +4 -0
  91. package/src/components/CopyLead/templates/Media/Media.tsx +10 -1
  92. package/src/components/CopyLead/types/copy-lead-button.ts +1 -1
  93. package/src/components/CopyLead/types/copy-lead-image.ts +1 -1
  94. package/src/components/DownloadList/DownloadList.tsx +4 -0
  95. package/src/components/FAQs/FAQs.tsx +20 -9
  96. package/src/components/FeaturePost/FeaturePost.tsx +27 -6
  97. package/src/components/FeaturePost/components/Image/Image.tsx +31 -7
  98. package/src/components/FeaturePost/types/feature-post-app-button-footer.ts +1 -1
  99. package/src/components/FeaturePost/types/feature-post-cta-footer.ts +2 -1
  100. package/src/components/FeaturePost/types/feature-post-image.ts +3 -1
  101. package/src/components/HeroLink/HeroLink.module.css +44 -0
  102. package/src/components/HeroLink/HeroLink.tsx +136 -0
  103. package/src/components/HeroLink/index.ts +2 -0
  104. package/src/components/Highlights/Highlights.tsx +6 -1
  105. package/src/components/Highlights/components/HighlightItem/HighlightItem.tsx +1 -0
  106. package/src/components/Highlights/types/highlight-link.ts +1 -0
  107. package/src/components/LinkTile/LinkTile.module.css +57 -0
  108. package/src/components/LinkTile/LinkTile.tsx +38 -0
  109. package/src/components/LinkTile/index.ts +1 -0
  110. package/src/components/ProductNavigation/ProductNavigation.tsx +10 -11
  111. package/src/components/ProductNavigation/types/product-list.ts +1 -8
  112. package/src/components/PromoListing/PromoListing.tsx +67 -3
  113. package/src/components/PromoListingThumbnailSignpost/PromoListingThumbnailSignpost.module.css +54 -0
  114. package/src/components/PromoListingThumbnailSignpost/PromoListingThumbnailSignpost.tsx +53 -0
  115. package/src/components/PromoListingThumbnailSignpost/index.ts +4 -0
  116. package/src/components/Quote/Quote.tsx +2 -2
  117. package/src/components/SectionHeading/SectionHeading.tsx +17 -7
  118. package/src/components/Statistics/Statistics.tsx +6 -2
  119. package/src/components/ThumbnailSignpost/ThumbnailSignpost.module.css +112 -0
  120. package/src/components/ThumbnailSignpost/ThumbnailSignpost.tsx +100 -0
  121. package/src/components/ThumbnailSignpost/index.ts +4 -0
  122. package/src/components/index.ts +5 -0
  123. package/versions.json +1 -1
  124. package/lib/_shared/cjs/filter-data-attrs-ajtUvDAC.cjs +0 -15
  125. package/lib/_shared/esm/filter-data-attrs-V7cbJuwS.mjs +0 -13
package/lib/index.mjs CHANGED
@@ -120,14 +120,26 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
120
120
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
121
121
  };
122
122
 
123
- var dataAttrRe = /^(data-.*)$/;
124
- var filterDataAttrs = function (props) {
123
+ /**
124
+ * Filters out attributes from the given props object based on a pattern.
125
+ *
126
+ * This function extracts all properties that match either the `data-*` or `aria-*` attribute patterns
127
+ * and returns a new object containing only those properties.
128
+ *
129
+ * @param props - The object containing properties to filter.
130
+ * @returns A new object containing only the matched attributes (`data-*` and `aria-*`) from the input props.
131
+ */
132
+ var attributePrefixes = ["data-", "aria-"];
133
+ var filterAttrs = function (props) {
125
134
  var filteredProps = {};
126
- for (var prop in props) {
135
+ var _loop_1 = function (prop) {
127
136
  if (Object.prototype.hasOwnProperty.call(props, prop) &&
128
- dataAttrRe.test(prop)) {
137
+ attributePrefixes.some(function (prefix) { return prop.startsWith(prefix); })) {
129
138
  filteredProps[prop] = props[prop];
130
139
  }
140
+ };
141
+ for (var prop in props) {
142
+ _loop_1(prop);
131
143
  }
132
144
  return filteredProps;
133
145
  };
@@ -223,17 +235,17 @@ function requireClassnames () {
223
235
  var classnamesExports = requireClassnames();
224
236
  var classNames = /*@__PURE__*/getDefaultExportFromCjs(classnamesExports);
225
237
 
226
- var styles$h = {"accordion-header":"AccordionHeading-module_accordion-header__8s12f","accordion-header--hasImage":"AccordionHeading-module_accordion-header--hasImage__wbDjW","accordion-header--padded":"AccordionHeading-module_accordion-header--padded__me1JY","accordion-header--headingSizeM":"AccordionHeading-module_accordion-header--headingSizeM__amLfy"};
238
+ var styles$m = {"accordion-header":"AccordionHeading-module_accordion-header__8s12f","accordion-header--hasImage":"AccordionHeading-module_accordion-header--hasImage__wbDjW","accordion-header--padded":"AccordionHeading-module_accordion-header--padded__me1JY","accordion-header--headingSizeM":"AccordionHeading-module_accordion-header--headingSizeM__amLfy"};
227
239
 
228
240
  var AccordionHeading = function (_a) {
229
241
  var _b, _c;
230
242
  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, _f = _a.headingSize, headingSize = _f === void 0 ? "xl" : _f, image = _a.image, props = __rest(_a, ["heading", "content", "id", "isPadded", "headingLevel", "headingSize", "image"]);
231
243
  return (React.createElement("div", __assign({ className: classNames((_b = {},
232
- _b[styles$h["accordion-header"]] = true,
233
- _b[styles$h["accordion-header--padded"]] = isPadded,
234
- _b[styles$h["accordion-header--headingSizeM"]] = headingSize === "m",
235
- _b)) }, filterDataAttrs(props)),
236
- React.createElement("div", { className: classNames((_c = {}, _c[styles$h["accordion-header--hasImage"]] = image, _c)) },
244
+ _b[styles$m["accordion-header"]] = true,
245
+ _b[styles$m["accordion-header--padded"]] = isPadded,
246
+ _b[styles$m["accordion-header--headingSizeM"]] = headingSize === "m",
247
+ _b)) }, filterAttrs(props)),
248
+ React.createElement("div", { className: classNames((_c = {}, _c[styles$m["accordion-header--hasImage"]] = image, _c)) },
237
249
  image && (React.createElement("div", null,
238
250
  React.createElement(Image$2, __assign({}, image, { width: 68, fit: "cover" })))),
239
251
  React.createElement(Heading, { level: headingLevel, id: id, size: headingSize }, heading)),
@@ -242,86 +254,86 @@ var AccordionHeading = function (_a) {
242
254
  React.createElement(Text, { size: "l", elementType: "p" }, content)))));
243
255
  };
244
256
 
245
- var styles$g = {"AccordionDisclosureListItem":"AccordionDisclosureList-module_AccordionDisclosureListItem__p8LIT"};
257
+ var styles$l = {"AccordionDisclosureListItem":"AccordionDisclosureList-module_AccordionDisclosureListItem__p8LIT"};
246
258
 
247
259
  var AccordionDisclosureList = function (_a) {
248
260
  var disclosureList = _a.disclosureList;
249
261
  return (React.createElement("ul", null, disclosureList.map(function (_a) {
250
262
  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"]);
251
- return (React.createElement("li", { key: id, className: styles$g.AccordionDisclosureListItem },
252
- React.createElement(Disclosure, __assign({ summary: summary, isOpen: isOpen, indentDetails: indentDetails, headingLevel: headingLevel }, filterDataAttrs(props)), children)));
263
+ return (React.createElement("li", { key: id, className: styles$l.AccordionDisclosureListItem, id: id },
264
+ React.createElement(Disclosure, __assign({ summary: summary, isOpen: isOpen, indentDetails: indentDetails, headingLevel: headingLevel }, filterAttrs(props)), children)));
253
265
  })));
254
266
  };
255
267
 
256
- var styles$f = {"Accordion":"Accordion-module_Accordion__LsXTU"};
268
+ var styles$k = {"Accordion":"Accordion-module_Accordion__LsXTU"};
257
269
 
258
270
  /**
259
271
  * Use the `Accordion` component to package together a title, content and a number of disclosure components into one section (maximum 10).
260
272
  */
261
273
  var Accordion = function (_a) {
262
274
  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"]);
263
- return (React.createElement("div", __assign({ className: styles$f.Accordion }, filterDataAttrs(props)),
275
+ return (React.createElement("div", __assign({ className: styles$k.Accordion }, filterAttrs(props)),
264
276
  React.createElement(AccordionHeading, { isPadded: true, id: id, "data-testid": "Accordion-header", heading: heading, headingLevel: headingLevel, headingSize: headingSize, content: content }),
265
277
  React.createElement(AccordionDisclosureList, { disclosureList: disclosureList })));
266
278
  };
267
279
 
268
- var styles$e = {"authorContent":"Author-module_authorContent__TBY7b","largeAvatar":"Author-module_largeAvatar__Vco03"};
280
+ var styles$j = {"authorContent":"Author-module_authorContent__TBY7b","largeAvatar":"Author-module_largeAvatar__Vco03"};
269
281
 
270
282
  var Author = function (_a) {
271
283
  var name = _a.name, title = _a.title, _b = _a.avatar, avatar = _b === void 0 ? {} : _b, props = __rest(_a, ["name", "title", "avatar"]);
272
284
  var avatarSizes = ["s", "m", "l", "xl"];
273
285
  avatar.size = avatarSizes.includes(avatar.size || "") ? avatar.size : "m";
274
286
  var isLargeAvatar = avatar.size === "l" || avatar.size === "xl";
275
- return (React.createElement("div", __assign({}, filterDataAttrs(props)),
287
+ return (React.createElement("div", __assign({}, filterAttrs(props)),
276
288
  React.createElement(Grid, { isFluid: true, isGutterless: true },
277
289
  React.createElement(GridRow, { align: "center" },
278
290
  React.createElement(GridCol, { xs: isLargeAvatar ? 12 : "auto" },
279
- React.createElement("div", { className: isLargeAvatar ? styles$e.largeAvatar : undefined },
291
+ React.createElement("div", { className: isLargeAvatar ? styles$j.largeAvatar : undefined },
280
292
  React.createElement(Avatar, __assign({}, avatar)))),
281
293
  React.createElement(GridCol, null,
282
- React.createElement("div", { className: "".concat(!isLargeAvatar && styles$e.authorContent), "data-testid": "authorContent" },
294
+ React.createElement("div", { className: "".concat(!isLargeAvatar && styles$j.authorContent), "data-testid": "authorContent" },
283
295
  React.createElement(Heading, { size: "xs" }, name),
284
296
  React.createElement(Text, { size: "s" }, title)))))));
285
297
  };
286
298
 
287
299
  /**
288
300
  * Do not edit directly
289
- * Generated on Wed, 18 Feb 2026 11:14:49 GMT
301
+ * Generated on Fri, 06 Mar 2026 15:05:14 GMT
290
302
  */
291
303
  var ArcSizeBreakpointsS = "636px";
292
304
  var ArcSizeBreakpointsM = "768px";
293
305
  var ArcSizeBreakpointsL = "1024px";
294
306
  var ArcSizeBreakpointsXl = "1280px";
295
307
 
296
- var styles$d = {"buttonContainer":"CopyLead-module_buttonContainer__3OaRG","col":"CopyLead-module_col__0Da5H","container":"CopyLead-module_container__I91ym","container--content":"CopyLead-module_container--content__e8LxG","container--media":"CopyLead-module_container--media__QcMWi","container--align-center":"CopyLead-module_container--align-center__Fh1Sd","container--align-top":"CopyLead-module_container--align-top__UIXOZ","list":"CopyLead-module_list__arnJd","listItem":"CopyLead-module_listItem__NscHE","listItemCentered":"CopyLead-module_listItemCentered__Kwdab","listItemIconContainer":"CopyLead-module_listItemIconContainer__dgnhJ","listItemTextContainer":"CopyLead-module_listItemTextContainer__Dl9lw","imgWrapper":"CopyLead-module_imgWrapper__HYP3w","mediaContainer":"CopyLead-module_mediaContainer__PxTnm","content":"CopyLead-module_content__Bja1D","container--reverse":"CopyLead-module_container--reverse__Gq9u8"};
308
+ var styles$i = {"buttonContainer":"CopyLead-module_buttonContainer__3OaRG","col":"CopyLead-module_col__0Da5H","container":"CopyLead-module_container__I91ym","container--content":"CopyLead-module_container--content__e8LxG","container--media":"CopyLead-module_container--media__QcMWi","container--align-center":"CopyLead-module_container--align-center__Fh1Sd","container--align-top":"CopyLead-module_container--align-top__UIXOZ","list":"CopyLead-module_list__arnJd","listItem":"CopyLead-module_listItem__NscHE","listItemCentered":"CopyLead-module_listItemCentered__Kwdab","listItemIconContainer":"CopyLead-module_listItemIconContainer__dgnhJ","listItemTextContainer":"CopyLead-module_listItemTextContainer__Dl9lw","imgWrapper":"CopyLead-module_imgWrapper__HYP3w","mediaContainer":"CopyLead-module_mediaContainer__PxTnm","content":"CopyLead-module_content__Bja1D","container--reverse":"CopyLead-module_container--reverse__Gq9u8"};
297
309
 
298
310
  var MediaContent$1 = function (_a) {
299
- var heading = _a.heading, headingLevel = _a.headingLevel, children = _a.children;
300
- return (React.createElement("div", { className: styles$d.mediaContainer },
301
- React.createElement(Heading, { level: headingLevel, size: "xl" }, heading),
302
- children && (React.createElement("div", { className: styles$d.content },
311
+ var heading = _a.heading, id = _a.id, headingLevel = _a.headingLevel, isHeadingWordWrap = _a.isHeadingWordWrap, children = _a.children;
312
+ return (React.createElement("div", { className: styles$i.mediaContainer },
313
+ React.createElement(Heading, { id: id, level: headingLevel, isWordWrap: isHeadingWordWrap, size: "xl" }, heading),
314
+ children && (React.createElement("div", { className: styles$i.content },
303
315
  React.createElement(VerticalSpace, { size: "24" }),
304
316
  React.createElement(Text, { size: "l" }, children)))));
305
317
  };
306
318
 
307
319
  var Image$1 = function (_a) {
308
320
  var sources = _a.sources, props = __rest(_a, ["sources"]);
309
- return (React.createElement("div", { className: styles$d.imgWrapper },
321
+ return (React.createElement("div", { className: styles$i.imgWrapper },
310
322
  React.createElement(Image$2, __assign({ fadeOnLoad: true }, props), sources &&
311
323
  sources.map(function (source) { return React.createElement("source", __assign({ key: source.srcSet }, source)); }))));
312
324
  };
313
325
 
314
326
  var IconList = function (_a) {
315
327
  var listItems = _a.listItems, isLgScreen = _a.isLgScreen, _b = _a.headingLevel, headingLevel = _b === void 0 ? "3" : _b;
316
- return (React.createElement("ul", { className: styles$d.list }, listItems.map(function (_a) {
328
+ return (React.createElement("ul", { className: styles$i.list }, listItems.map(function (_a) {
317
329
  var _b;
318
330
  var icon = _a.icon, heading = _a.heading, text = _a.text;
319
- return (React.createElement("li", { key: heading, className: classNames(styles$d.listItem, (_b = {},
320
- _b[styles$d.listItemCentered] = !text,
331
+ return (React.createElement("li", { key: heading, className: classNames(styles$i.listItem, (_b = {},
332
+ _b[styles$i.listItemCentered] = !text,
321
333
  _b)) },
322
- React.createElement("div", { className: styles$d.listItemIconContainer },
334
+ React.createElement("div", { className: styles$i.listItemIconContainer },
323
335
  React.createElement(Icon, { color: "brand", icon: icon, size: isLgScreen ? 64 : 48 })),
324
- React.createElement("div", { className: styles$d.listItemTextContainer },
336
+ React.createElement("div", { className: styles$i.listItemTextContainer },
325
337
  React.createElement(Heading, { level: headingLevel, size: "s" }, heading),
326
338
  text && (React.createElement(React.Fragment, null,
327
339
  React.createElement(VerticalSpace, { size: "8", sizeL: "16" }),
@@ -329,20 +341,20 @@ var IconList = function (_a) {
329
341
  })));
330
342
  };
331
343
 
332
- var Button = function (props) { return (React.createElement("div", { className: styles$d.buttonContainer },
344
+ var Button = function (props) { return (React.createElement("div", { className: styles$i.buttonContainer },
333
345
  React.createElement(ButtonV2, __assign({ isFullWidth: true, buttonStyle: "secondary" }, props)))); };
334
346
 
335
347
  var Container = function (_a) {
336
348
  var _b;
337
349
  var children = _a.children, isReverseOrder = _a.isReverseOrder, type = _a.type, alignment = _a.alignment;
338
- return (React.createElement("div", { "data-testid": "copy-lead-container", className: classNames(styles$d.container, styles$d["container--".concat(type)], styles$d["container--align-".concat(alignment)], (_b = {},
339
- _b[styles$d["container--reverse"]] = isReverseOrder,
350
+ return (React.createElement("div", { "data-testid": "copy-lead-container", className: classNames(styles$i.container, styles$i["container--".concat(type)], styles$i["container--align-".concat(alignment)], (_b = {},
351
+ _b[styles$i["container--reverse"]] = isReverseOrder,
340
352
  _b)) }, children));
341
353
  };
342
354
 
343
355
  var Column = function (_a) {
344
356
  var children = _a.children;
345
- return (React.createElement("div", { className: styles$d.col }, children));
357
+ return (React.createElement("div", { className: styles$i.col }, children));
346
358
  };
347
359
 
348
360
  var getListHeadingLevel$1 = function (level) {
@@ -359,7 +371,7 @@ var VideoPlayer$1 = React.lazy(function () {
359
371
  });
360
372
  });
361
373
  var MediaTemplate = function (_a) {
362
- var button = _a.button, heading = _a.heading, headingLevel = _a.headingLevel, listItems = _a.listItems, video = _a.video, image = _a.image, content = _a.content, _b = _a.isReverseOrder, isReverseOrder = _b === void 0 ? false : _b;
374
+ var button = _a.button, id = _a.id, heading = _a.heading, headingLevel = _a.headingLevel, listItems = _a.listItems, video = _a.video, image = _a.image, content = _a.content, isHeadingWordWrap = _a.isHeadingWordWrap, _b = _a.isReverseOrder, isReverseOrder = _b === void 0 ? false : _b;
363
375
  var _c = useState(false), isClient = _c[0], setIsClient = _c[1];
364
376
  var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcSizeBreakpointsL, ")"));
365
377
  var isMinWidthArcBreakpointXl = useMediaQuery("(min-width: ".concat(ArcSizeBreakpointsXl, ")"));
@@ -370,7 +382,7 @@ var MediaTemplate = function (_a) {
370
382
  return (React.createElement("div", null,
371
383
  !isMinWidthArcBreakpointXl && (React.createElement(Columns, null,
372
384
  React.createElement(ColumnsCol, { span: 12, spanM: 9 },
373
- React.createElement(MediaContent$1, { heading: heading, headingLevel: headingLevel }, content)))),
385
+ React.createElement(MediaContent$1, { heading: heading, headingLevel: headingLevel, id: id, isHeadingWordWrap: isHeadingWordWrap }, content)))),
374
386
  React.createElement(Container, { type: "media", isReverseOrder: isReverseOrder, alignment: !isMinWidthArcBreakpointXl ? "top" : "center" },
375
387
  React.createElement(Column, null,
376
388
  isMinWidthArcBreakpointXl && (React.createElement(MediaContent$1, { heading: heading }, content)),
@@ -382,32 +394,32 @@ var MediaTemplate = function (_a) {
382
394
  image && !video && React.createElement(Image$1, __assign({}, image))))));
383
395
  };
384
396
 
385
- var styles$c = {"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"};
397
+ var styles$h = {"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"};
386
398
 
387
399
  var SectionHeading = function (_a) {
388
400
  var _b, _c;
389
- 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"]);
401
+ 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"]);
390
402
  return (React.createElement("div", __assign({ className: classNames((_b = {},
391
- _b[styles$c["section-header"]] = true,
392
- _b[styles$c["section-header--padded"]] = isPadded,
393
- _b)) }, filterDataAttrs(props)),
394
- React.createElement("div", { className: classNames((_c = {}, _c[styles$c["section-header--hasImage"]] = image, _c)) },
403
+ _b[styles$h["section-header"]] = true,
404
+ _b[styles$h["section-header--padded"]] = isPadded,
405
+ _b)) }, filterAttrs(props)),
406
+ React.createElement("div", { className: classNames((_c = {}, _c[styles$h["section-header--hasImage"]] = image, _c)) },
395
407
  image && (React.createElement("div", null,
396
408
  React.createElement(Image$2, __assign({}, image, { width: 68, fit: "cover" })))),
397
- React.createElement(Heading, { level: headingLevel, id: id, size: "xl" }, heading)),
409
+ React.createElement(Heading, { level: headingLevel, id: id, size: "xl", isWordWrap: isHeadingWordWrap }, heading)),
398
410
  content && (React.createElement(React.Fragment, null,
399
411
  React.createElement(VerticalSpace, { size: "24" }),
400
412
  React.createElement(Text, { size: "l", elementType: "p" }, content)))));
401
413
  };
402
414
 
403
415
  var ContentTemplate = function (_a) {
404
- var button = _a.button, heading = _a.heading, headingLevel = _a.headingLevel, listItems = _a.listItems, content = _a.content;
416
+ var button = _a.button, id = _a.id, heading = _a.heading, headingLevel = _a.headingLevel, isHeadingWordWrap = _a.isHeadingWordWrap, listItems = _a.listItems, content = _a.content;
405
417
  var isMinWidthArcBreakpointM = useMediaQuery("(min-width: ".concat(ArcSizeBreakpointsM, ")"));
406
418
  var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcSizeBreakpointsL, ")"));
407
419
  var listHeadingLevel = getListHeadingLevel$1(headingLevel);
408
420
  return (React.createElement(Container, { type: "content", alignment: "top" },
409
421
  React.createElement(Column, null,
410
- React.createElement(SectionHeading, { heading: heading, headingLevel: headingLevel, content: content }),
422
+ React.createElement(SectionHeading, { id: id, heading: heading, headingLevel: headingLevel, isHeadingWordWrap: isHeadingWordWrap, content: content }),
411
423
  button && isMinWidthArcBreakpointM && React.createElement(Button, __assign({}, button))),
412
424
  React.createElement(Column, null,
413
425
  React.createElement(IconList, { listItems: listItems, isLgScreen: isMinWidthArcBreakpointL, headingLevel: listHeadingLevel }),
@@ -418,23 +430,23 @@ var ContentTemplate = function (_a) {
418
430
  * Use `CopyLead` to give supporting information about a page or proposition. It can be used to call out key benefits in bullet points, or link to a supporting explanatory video. An optional CTA can be used to link to further information or trigger a sales or enquiry journey.
419
431
  */
420
432
  var CopyLead = function (_a) {
421
- var button = _a.button, heading = _a.heading, _b = _a.headingLevel, headingLevel = _b === void 0 ? "2" : _b, listItems = _a.listItems, video = _a.video, image = _a.image, content = _a.content, _c = _a.isReverseOrder, isReverseOrder = _c === void 0 ? false : _c, props = __rest(_a, ["button", "heading", "headingLevel", "listItems", "video", "image", "content", "isReverseOrder"]);
433
+ var button = _a.button, heading = _a.heading, id = _a.id, _b = _a.headingLevel, headingLevel = _b === void 0 ? "2" : _b, listItems = _a.listItems, video = _a.video, image = _a.image, content = _a.content, isHeadingWordWrap = _a.isHeadingWordWrap, _c = _a.isReverseOrder, isReverseOrder = _c === void 0 ? false : _c, props = __rest(_a, ["button", "heading", "id", "headingLevel", "listItems", "video", "image", "content", "isHeadingWordWrap", "isReverseOrder"]);
422
434
  if (video || image) {
423
- return (React.createElement(MediaTemplate, __assign({ content: content, video: video, image: image, listItems: listItems, heading: heading, headingLevel: headingLevel, button: button, isReverseOrder: isReverseOrder }, filterDataAttrs(props))));
435
+ return (React.createElement(MediaTemplate, __assign({ id: id, content: content, video: video, image: image, listItems: listItems, heading: heading, headingLevel: headingLevel, isHeadingWordWrap: isHeadingWordWrap, button: button, isReverseOrder: isReverseOrder }, filterAttrs(props))));
424
436
  }
425
437
  if (content) {
426
- return (React.createElement(ContentTemplate, __assign({ listItems: listItems, heading: heading, headingLevel: headingLevel, button: button, content: content }, filterDataAttrs(props))));
438
+ return (React.createElement(ContentTemplate, __assign({ id: id, listItems: listItems, heading: heading, headingLevel: headingLevel, isHeadingWordWrap: isHeadingWordWrap, button: button, content: content }, filterAttrs(props))));
427
439
  }
428
440
  return null;
429
441
  };
430
442
 
431
- var styles$b = {"headingContainer":"DownloadList-module_headingContainer__PNio8"};
443
+ var styles$g = {"headingContainer":"DownloadList-module_headingContainer__PNio8"};
432
444
 
433
445
  var DownloadList = function (_a) {
434
- var heading = _a.heading, _b = _a.headingLevel, headingLevel = _b === void 0 ? "2" : _b, content = _a.content, downloads = _a.downloads;
446
+ 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;
435
447
  return (React.createElement(React.Fragment, null,
436
- React.createElement("div", { className: styles$b.headingContainer },
437
- React.createElement(SectionHeading, { heading: heading, headingLevel: headingLevel, content: content })),
448
+ React.createElement("div", { className: styles$g.headingContainer },
449
+ React.createElement(SectionHeading, { id: id, heading: heading, isHeadingWordWrap: isHeadingWordWrap, headingLevel: headingLevel, content: content })),
438
450
  React.createElement(VerticalSpace, { size: "40" }),
439
451
  downloads.map(function (props, i) { return (React.createElement(React.Fragment, null,
440
452
  React.createElement(Download, __assign({}, props)),
@@ -442,33 +454,37 @@ var DownloadList = function (_a) {
442
454
  i !== downloads.length - 1 && React.createElement(VerticalSpace, { size: "16" }))); })));
443
455
  };
444
456
 
445
- var styles$a = {"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"};
457
+ var styles$f = {"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"};
446
458
 
459
+ var scrollToSectionFocusFirstElement = function (item) {
460
+ var _a, _b, _c, _d, _e;
461
+ if (!item.id)
462
+ return;
463
+ (_a = document.getElementById(item.id)) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ behavior: "smooth" });
464
+ // preventScroll avoids interfering with the scroll animation.
465
+ (_e = (_d = document
466
+ .getElementById((_c = (_b = item.disclosureList) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.id)) === null || _d === void 0 ? void 0 : _d.querySelector("summary")) === null || _e === void 0 ? void 0 : _e.focus({ preventScroll: true });
467
+ };
447
468
  var FAQs = function (_a) {
448
469
  var _b;
449
- var heading = _a.heading, content = _a.content, _c = _a.isPadded, isPadded = _c === void 0 ? false : _c, _d = _a.headingLevel, headingLevel = _d === void 0 ? "2" : _d, image = _a.image, _e = _a.type, type = _e === void 0 ? "list" : _e, _f = _a.linkListHeading, linkListHeading = _f === void 0 ? "Skip to section" : _f, accordionData = _a.accordionData, props = __rest(_a, ["heading", "content", "isPadded", "headingLevel", "image", "type", "linkListHeading", "accordionData"]);
450
- return (React.createElement("div", __assign({ className: styles$a.FAQs }, filterDataAttrs(props)),
451
- React.createElement(SectionHeading, { heading: heading, content: content, image: image, headingLevel: headingLevel, isPadded: isPadded }),
452
- type === "listWithLinks" && (React.createElement("div", { className: styles$a.linkListSection },
453
- React.createElement("div", { className: styles$a.linkListTitle },
470
+ var heading = _a.heading, isHeadingWordWrap = _a.isHeadingWordWrap, content = _a.content, id = _a.id, _c = _a.isPadded, isPadded = _c === void 0 ? false : _c, _d = _a.headingLevel, headingLevel = _d === void 0 ? "2" : _d, image = _a.image, type = _a.type, _e = _a.linkListHeading, linkListHeading = _e === void 0 ? "Skip to section" : _e, accordionData = _a.accordionData, props = __rest(_a, ["heading", "isHeadingWordWrap", "content", "id", "isPadded", "headingLevel", "image", "type", "linkListHeading", "accordionData"]);
471
+ return (React.createElement("div", __assign({ className: styles$f.FAQs }, filterAttrs(props)),
472
+ React.createElement(SectionHeading, { id: id, isHeadingWordWrap: isHeadingWordWrap, heading: heading, content: content, image: image, headingLevel: headingLevel, isPadded: isPadded }),
473
+ type === "listWithLinks" && (React.createElement("div", { className: styles$f.linkListSection },
474
+ React.createElement("div", { className: styles$f.linkListTitle },
454
475
  React.createElement(Heading, { size: "xs" }, linkListHeading)),
455
476
  React.createElement("ul", { className: classNames((_b = {},
456
- _b[styles$a.linkList] = true,
457
- _b[styles$a["linkList--padded"]] = isPadded,
477
+ _b[styles$f.linkList] = true,
478
+ _b[styles$f["linkList--padded"]] = isPadded,
458
479
  _b)) }, accordionData.map(function (item) {
459
480
  var _a;
460
- return (React.createElement("li", { className: styles$a.linkListItem, key: item.heading },
481
+ return (React.createElement("li", { className: styles$f.linkListItem, key: item.heading },
461
482
  React.createElement(Link, { title: item.heading, href: "#".concat(item.id), onClick: function (e) {
462
483
  e.preventDefault();
463
- if (item.id) {
464
- var element = document.getElementById(item.id);
465
- if (element) {
466
- element.scrollIntoView({ behavior: "smooth" });
467
- }
468
- }
484
+ scrollToSectionFocusFirstElement(item);
469
485
  } }, (_a = item.altLinkTitle) !== null && _a !== void 0 ? _a : item.heading)));
470
486
  })))),
471
- type !== "tabs" && accordionData && (React.createElement("ul", { className: styles$a.accordionList }, accordionData.map(function (item) { return (React.createElement("li", { className: styles$a.accordionListItem, key: item.id },
487
+ type !== "tabs" && accordionData && (React.createElement("ul", { className: styles$f.accordionList }, accordionData.map(function (item) { return (React.createElement("li", { className: styles$f.accordionListItem, key: item.id },
472
488
  React.createElement(Accordion, { id: item.id, heading: item.heading, headingLevel: item.headingLevel, content: item.content, disclosureList: item.disclosureList, headingSize: "m" }),
473
489
  React.createElement(VerticalSpace, { size: "48", sizeL: "64" }))); }))),
474
490
  type === "tabs" && (React.createElement(Tabs, { defaultValue: accordionData[0].heading },
@@ -2665,13 +2681,20 @@ function cleanEscapedString(input) {
2665
2681
  return matched[1].replace(doubleQuoteRegExp, "'");
2666
2682
  }
2667
2683
 
2668
- var styles$9 = {"labelDate":"FeaturePost-module_labelDate__NXOgY","googlePlayButtonWrapper":"FeaturePost-module_googlePlayButtonWrapper__GI-ag","imgWrapper":"FeaturePost-module_imgWrapper__r6omd","featurePost":"FeaturePost-module_featurePost__9jY21","featurePostReversed":"FeaturePost-module_featurePostReversed__WQRXm","contentContainer":"FeaturePost-module_contentContainer__kdus7","col":"FeaturePost-module_col__eW8gY"};
2684
+ var styles$e = {"labelDate":"FeaturePost-module_labelDate__NXOgY","googlePlayButtonWrapper":"FeaturePost-module_googlePlayButtonWrapper__GI-ag","imgWrapper":"FeaturePost-module_imgWrapper__r6omd","featurePost":"FeaturePost-module_featurePost__9jY21","featurePostReversed":"FeaturePost-module_featurePostReversed__WQRXm","contentContainer":"FeaturePost-module_contentContainer__kdus7","col":"FeaturePost-module_col__eW8gY"};
2669
2685
 
2670
2686
  var Image = function (_a) {
2671
- var sources = _a.sources, props = __rest(_a, ["sources"]);
2672
- return (React.createElement("div", { className: styles$9.imgWrapper },
2673
- React.createElement(Image$2, __assign({ fadeOnLoad: true }, props), sources &&
2674
- sources.map(function (source) { return React.createElement("source", __assign({ key: source.srcSet }, source)); }))));
2687
+ var sources = _a.sources, title = _a.title, description = _a.description, props = __rest(_a, ["sources", "title", "description"]);
2688
+ return (React.createElement(React.Fragment, null,
2689
+ React.createElement("div", { className: styles$e.imgWrapper },
2690
+ React.createElement(Image$2, __assign({ fadeOnLoad: true }, props), sources &&
2691
+ sources.map(function (source) { return React.createElement("source", __assign({ key: source.srcSet }, source)); }))),
2692
+ title && (React.createElement(React.Fragment, null,
2693
+ React.createElement(VerticalSpace, { size: "24" }),
2694
+ React.createElement(Heading, { level: "3", size: "s" }, title),
2695
+ description && (React.createElement(React.Fragment, null,
2696
+ React.createElement(VerticalSpace, { size: "16" }),
2697
+ React.createElement(Text, { size: "m" }, description)))))));
2675
2698
  };
2676
2699
 
2677
2700
  var VideoPlayer = React.lazy(function () {
@@ -2699,27 +2722,27 @@ var MediaContent = function (_a) {
2699
2722
  * */
2700
2723
  var FeaturePost = function (_a) {
2701
2724
  var _b;
2702
- var heading = _a.heading, _c = _a.headingLevel, headingLevel = _c === void 0 ? "2" : _c, label = _a.label, image = _a.image, content = _a.content, footer = _a.footer, video = _a.video, _d = _a.isReverseOrder, isReverseOrder = _d === void 0 ? false : _d, props = __rest(_a, ["heading", "headingLevel", "label", "image", "content", "footer", "video", "isReverseOrder"]);
2725
+ var heading = _a.heading, id = _a.id, _c = _a.headingLevel, headingLevel = _c === void 0 ? "2" : _c, label = _a.label, image = _a.image, content = _a.content, footer = _a.footer, video = _a.video, isHeadingWordWrap = _a.isHeadingWordWrap, _d = _a.isReverseOrder, isReverseOrder = _d === void 0 ? false : _d, props = __rest(_a, ["heading", "id", "headingLevel", "label", "image", "content", "footer", "video", "isHeadingWordWrap", "isReverseOrder"]);
2703
2726
  var isMinWidthArcBreakpointM = useMediaQuery("(min-width: ".concat(ArcSizeBreakpointsM, ")"));
2704
- return (React.createElement("div", __assign({ "data-testid": "feature-post", className: classNames(styles$9.featurePost, (_b = {},
2705
- _b[styles$9.featurePostReversed] = isReverseOrder,
2706
- _b)) }, filterDataAttrs(props)),
2707
- React.createElement("div", { className: styles$9.col },
2708
- React.createElement("div", { className: styles$9.contentContainer },
2727
+ return (React.createElement("div", __assign({ "data-testid": "feature-post", className: classNames(styles$e.featurePost, (_b = {},
2728
+ _b[styles$e.featurePostReversed] = isReverseOrder,
2729
+ _b)) }, filterAttrs(props)),
2730
+ React.createElement("div", { className: styles$e.col },
2731
+ React.createElement("div", { className: styles$e.contentContainer },
2709
2732
  label && (React.createElement(Grid, { isGutterless: true, isFluid: true },
2710
2733
  React.createElement(GridRow, { align: "baseline" },
2711
2734
  React.createElement(GridCol, { xs: 12, m: "auto" },
2712
2735
  React.createElement(Heading, { size: "xxs", fontStyle: "overline" }, label.text)),
2713
2736
  React.createElement(GridCol, { xs: 12, m: "auto" },
2714
- React.createElement("div", { className: styles$9.labelDate },
2737
+ React.createElement("div", { className: styles$e.labelDate },
2715
2738
  React.createElement(Text, { size: "xs", tone: "muted" }, isDate(label.date) ? (React.createElement("time", { dateTime: format(label.date, "yyyy-MM-dd") }, format(label.date, "d MMMM yyyy"))) : (React.createElement("span", null, label.date)))))),
2716
2739
  React.createElement(VerticalSpace, { size: "24" }))),
2717
- React.createElement(Heading, { level: headingLevel, size: "xl" }, heading),
2740
+ React.createElement(Heading, { id: id, level: headingLevel, isWordWrap: isHeadingWordWrap, size: "xl" }, heading),
2718
2741
  !isMinWidthArcBreakpointM && (React.createElement("div", { "data-testid": "mobile-img" },
2719
2742
  React.createElement(VerticalSpace, { size: "40" }),
2720
2743
  React.createElement(MediaContent, { image: image, video: video }))),
2721
2744
  React.createElement(VerticalSpace, { size: "40" }),
2722
- React.createElement(Text, { size: "l" }, content),
2745
+ typeof content === "string" ? (React.createElement(Text, { size: "l" }, content)) : (content),
2723
2746
  (footer === null || footer === void 0 ? void 0 : footer.type) === "cta" && (React.createElement(React.Fragment, null,
2724
2747
  footer.author && (React.createElement(React.Fragment, null,
2725
2748
  React.createElement(VerticalSpace, { size: "24" }),
@@ -2733,10 +2756,10 @@ var FeaturePost = function (_a) {
2733
2756
  footer.appStore && (React.createElement(GridCol, { xs: 12, s: "auto" },
2734
2757
  React.createElement(AppButton, { type: "apple-app-store", screenReaderText: footer.appStore.screenReaderText, url: footer.appStore.url }))),
2735
2758
  footer.googlePlay && (React.createElement(GridCol, { xs: 12, s: "auto" },
2736
- React.createElement("div", { className: styles$9.googlePlayButtonWrapper },
2759
+ React.createElement("div", { className: styles$e.googlePlayButtonWrapper },
2737
2760
  React.createElement(AppButton, { type: "google-play", screenReaderText: footer.googlePlay.screenReaderText, url: footer.googlePlay.url })))))))))),
2738
- isMinWidthArcBreakpointM && (React.createElement("div", { className: styles$9.col },
2739
- React.createElement("div", { "data-testid": "desktop-img", className: styles$9.imgContainer },
2761
+ isMinWidthArcBreakpointM && (React.createElement("div", { className: styles$e.col },
2762
+ React.createElement("div", { "data-testid": "desktop-img", className: styles$e.imgContainer },
2740
2763
  React.createElement(MediaContent, { image: image, video: video }))))));
2741
2764
  };
2742
2765
 
@@ -2748,7 +2771,7 @@ var FeaturePost = function (_a) {
2748
2771
  const BtIconArrowRightFill =
2749
2772
  "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";
2750
2773
 
2751
- var styles$8 = {"highlights":"Highlights-module_highlights__Hf7Zq","highlightItem":"Highlights-module_highlightItem__-N6le","highlights2Column":"Highlights-module_highlights2Column__6qIuI","highlights3Column":"Highlights-module_highlights3Column__qsCMP"};
2774
+ var styles$d = {"highlights":"Highlights-module_highlights__Hf7Zq","highlightItem":"Highlights-module_highlightItem__-N6le","highlights2Column":"Highlights-module_highlights2Column__6qIuI","highlights3Column":"Highlights-module_highlights3Column__qsCMP"};
2752
2775
 
2753
2776
  var getListHeadingLevel = function (level) {
2754
2777
  var nextLevel = Math.min(parseInt(level) + 1, 6);
@@ -2758,21 +2781,21 @@ var getListHeadingLevel = function (level) {
2758
2781
  var HighlightItem = function (_a) {
2759
2782
  var icon = _a.icon, heading = _a.heading, text = _a.text, link = _a.link, isSmallIcon = _a.isSmallIcon, headingLevel = _a.headingLevel;
2760
2783
  var listHeadingLevel = getListHeadingLevel(headingLevel || "2");
2761
- return (React.createElement("div", { "data-testid": "highlight-item-container", className: styles$8.highlightItem },
2762
- icon && (React.createElement("div", { className: styles$8.Icon },
2784
+ return (React.createElement("div", { "data-testid": "highlight-item-container", className: styles$d.highlightItem },
2785
+ icon && (React.createElement("div", { className: styles$d.Icon },
2763
2786
  React.createElement(Icon, { "data-testid": "highlight-icon", color: "brand", icon: icon, size: isSmallIcon ? 64 : 76 }))),
2764
2787
  React.createElement(VerticalSpace, { size: "16" }),
2765
2788
  React.createElement(Heading, { level: listHeadingLevel, size: "m" }, heading),
2766
2789
  React.createElement(VerticalSpace, { size: "16" }),
2767
2790
  React.createElement(Text, null, text),
2768
2791
  React.createElement(VerticalSpace, { size: "16" }),
2769
- link && (React.createElement(Link, { href: link.url, id: link.url, onClick: link.onClick, rel: "", size: "m", target: "_self", title: link.textLink }, link.textLink))));
2792
+ link && (React.createElement(Link, { href: link.url, id: link.url, "aria-label": link.ariaLabel, onClick: link.onClick, rel: "", size: "m", target: "_self", title: link.textLink }, link.textLink))));
2770
2793
  };
2771
2794
 
2772
2795
  var HighlightList = function (_a) {
2773
2796
  var listItems = _a.listItems, columns = _a.columns, isSmallIcon = _a.isSmallIcon, headingLevel = _a.headingLevel;
2774
2797
  var id = useId();
2775
- return (React.createElement("div", { "data-testid": "highlights-list", className: classNames(styles$8.highlights, styles$8["highlights".concat(columns, "Column")]) }, listItems.map(function (_a, i) {
2798
+ return (React.createElement("div", { "data-testid": "highlights-list", className: classNames(styles$d.highlights, styles$d["highlights".concat(columns, "Column")]) }, listItems.map(function (_a, i) {
2776
2799
  var icon = _a.icon, heading = _a.heading, text = _a.text, link = _a.link;
2777
2800
  return (React.createElement(HighlightItem, { key: "highlight-".concat(id, "-").concat(i), icon: icon, heading: heading, text: text, link: link, isSmallIcon: isSmallIcon, headingLevel: headingLevel }));
2778
2801
  })));
@@ -2785,28 +2808,76 @@ var HighlightList = function (_a) {
2785
2808
  */
2786
2809
  var Highlights = function (_a) {
2787
2810
  var _b, _c, _d;
2788
- var heading = _a.heading, headingLevel = _a.headingLevel, content = _a.content, listItems = _a.listItems, _e = _a.columns, columns = _e === void 0 ? "2" : _e, cta = _a.cta;
2811
+ var heading = _a.heading, headingLevel = _a.headingLevel, id = _a.id, isHeadingWordWrap = _a.isHeadingWordWrap, content = _a.content, listItems = _a.listItems, _e = _a.columns, columns = _e === void 0 ? "2" : _e, cta = _a.cta;
2789
2812
  var isMaxWidthArcBreakpointXs = useMediaQuery("(max-width: 767px)");
2790
2813
  return (React.createElement("div", null,
2791
- React.createElement(SectionHeading, { isPadded: true, "data-testid": "highlights-header", heading: heading, headingLevel: headingLevel, content: content }),
2814
+ React.createElement(SectionHeading, { isPadded: true, id: id, "data-testid": "highlights-header", heading: heading, headingLevel: headingLevel, isHeadingWordWrap: isHeadingWordWrap, content: content }),
2792
2815
  React.createElement(HighlightList, { "data-testid": "highlights-list-container", listItems: listItems, columns: columns, isSmallIcon: isMaxWidthArcBreakpointXs, headingLevel: headingLevel }),
2793
2816
  cta && (React.createElement(React.Fragment, null,
2794
2817
  React.createElement(VerticalSpace, { size: "24" }),
2795
- React.createElement(ButtonV2, { label: cta.label, href: cta.href, onClick: cta.onClick, size: "m", buttonStyle: cta.buttonStyle, icon: cta.buttonStyle === "compact"
2818
+ React.createElement(ButtonV2, { label: cta.label, href: cta.href, onClick: cta.onClick, size: "m", ariaLabel: cta.ariaLabel, buttonStyle: cta.buttonStyle, icon: cta.buttonStyle === "compact"
2796
2819
  ? ((_b = cta.icon) !== null && _b !== void 0 ? _b : BtIconArrowRightFill)
2797
2820
  : undefined, iconActive: cta.buttonStyle === "compact"
2798
2821
  ? ((_c = cta.iconActive) !== null && _c !== void 0 ? _c : BtIconArrowRightFill)
2799
2822
  : undefined, iconPosition: (_d = cta.iconPosition) !== null && _d !== void 0 ? _d : "beforeText" })))));
2800
2823
  };
2801
2824
 
2802
- var styles$7 = {"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"};
2825
+ var styles$c = {"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"};
2826
+
2827
+ /**
2828
+ * Do not edit directly
2829
+ * Generated file
2830
+ */
2831
+
2832
+ const ArcIconSocialLinkedin =
2833
+ "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3e%3cpath fill='currentColor' d='M25.856 25.86H21.71v-6.496c0-1.55-.032-3.544-2.161-3.544-2.162 0-2.492 1.686-2.492 3.43v6.61H12.91V12.5h3.983v1.821h.053c.557-1.05 1.91-2.158 3.932-2.158 4.201 0 4.978 2.765 4.978 6.364v7.334zM8.226 10.673a2.406 2.406 0 0 1-2.406-2.41 2.408 2.408 0 1 1 2.407 2.41zm2.08 15.189H6.148V12.5h4.158v13.36zM27.929 2H4.066C2.924 2 2 2.903 2 4.017v23.966C2 29.098 2.924 30 4.066 30h23.86c1.14 0 2.074-.902 2.074-2.017V4.017C30 2.903 29.067 2 27.926 2z'/%3e%3c/svg%3e";
2834
+
2835
+ /**
2836
+ * Do not edit directly
2837
+ * Generated file
2838
+ */
2839
+
2840
+ const ArcIconSocialX =
2841
+ "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3e%3cpath fill='currentColor' d='M24.034 3h4.278l-9.343 10.639L30 28.103h-8.64l-6.781-8.768-7.739 8.768H2.563L12.58 16.738 2 3h8.864l6.107 8.014zm-1.491 22.562h2.364L9.57 5.402H7.009z'/%3e%3c/svg%3e";
2842
+
2843
+ /**
2844
+ * Do not edit directly
2845
+ * Generated file
2846
+ */
2847
+
2848
+ const BtIconArrowAltRight =
2849
+ "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";
2850
+
2851
+ /**
2852
+ * Do not edit directly
2853
+ * Generated file
2854
+ */
2855
+
2856
+ const BtIconEmailUnread =
2857
+ "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3e%3cpath fill='currentColor' d='M29 6H3a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h26a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1m0 1v1.716l-11 7.616a3.52 3.52 0 0 1-3.984 0L3 8.705V7Zm0 2.933v12.15l-8.775-6.075Zm-17.208 6.075L3 22.095V9.922ZM3 25v-1.689l9.67-6.695.777.538a4.52 4.52 0 0 0 5.123 0l.776-.538L29 23.3V25Z'/%3e%3c/svg%3e";
2858
+
2859
+ /**
2860
+ * Do not edit directly
2861
+ * Generated file
2862
+ */
2863
+
2864
+ const BtIconLink =
2865
+ "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3e%3cpath d='M9.959 10.013h2.417a5.99 5.99 0 0 1 5.226 8.915.5.5 0 1 0 .872.49 6.99 6.99 0 0 0-6.098-10.405H9.959a6.989 6.989 0 0 0 0 13.977h1.54a.5.5 0 1 0 0-1h-1.54a5.989 5.989 0 0 1 0-11.977'/%3e%3cpath d='M22.063 9.013h-1.54a.5.5 0 0 0 0 1h1.54a5.989 5.989 0 0 1 0 11.977h-2.417a5.99 5.99 0 0 1-5.227-8.915.5.5 0 1 0-.871-.49 6.99 6.99 0 0 0 6.097 10.405h2.417a6.989 6.989 0 0 0 0-13.977'/%3e%3c/svg%3e";
2866
+
2867
+ /**
2868
+ * Do not edit directly
2869
+ * Generated file
2870
+ */
2871
+
2872
+ const BtIconTickAlt2Px =
2873
+ "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3e%3cpath fill='currentColor' d='m13.5 21.914-4.707-4.707a1 1 0 0 1 0-1.414 1.024 1.024 0 0 1 1.414 0l3.293 3.293 8.293-8.293a1 1 0 1 1 1.414 1.414Z'/%3e%3c/svg%3e";
2803
2874
 
2804
2875
  /**
2805
2876
  * Use `PromoListing` to give supporting information about a page or proposition in the form of the card components (`ImpactCard`, `InformationCard`, `MediaCard` and `TypographyCard`).
2806
2877
  */
2807
2878
  var PromoListing = function (_a) {
2808
- var heading = _a.heading, content = _a.content, _b = _a.isCarousel, isCarousel = _b === void 0 ? false : _b, cards = _a.cards, headingLevel = _a.headingLevel, _c = _a.columns, columns = _c === void 0 ? "2" : _c;
2809
- var id = useId();
2879
+ var heading = _a.heading, content = _a.content, id = _a.id, _b = _a.isCarousel, isCarousel = _b === void 0 ? false : _b, cards = _a.cards, headingLevel = _a.headingLevel, isHeadingWordWrap = _a.isHeadingWordWrap, _c = _a.columns, columns = _c === void 0 ? "2" : _c, _d = _a.button, button = _d === void 0 ? { buttonStyle: "secondary" } : _d, overlineHeadingLevel = _a.overlineHeadingLevel, overlineLabel = _a.overlineLabel;
2880
+ var componentId = useId();
2810
2881
  var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcSizeBreakpointsL, ")"));
2811
2882
  var isMinWidthArcBreakpointM = useMediaQuery("(min-width: ".concat(ArcSizeBreakpointsM, ")"));
2812
2883
  var cardAspectRatios = columns === "3" ? "10-16" : "3-4";
@@ -2837,46 +2908,52 @@ var PromoListing = function (_a) {
2837
2908
  var CardComponent = CARD_COMPONENTS[card.type];
2838
2909
  return React.createElement(CardComponent, __assign({}, card, commonProps));
2839
2910
  };
2840
- return (React.createElement("div", { className: styles$7.PromoListing },
2841
- React.createElement(SectionHeading, { isPadded: true, "data-testid": "PromoListing-header", heading: heading, headingLevel: headingLevel, content: content }),
2842
- isCarousel && !isMinWidthArcBreakpointL ? (React.createElement("div", { className: styles$7.promolistingCarouselWrapper },
2843
- 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(id, "-").concat(i), className: (styles$7.cardWrapperCarousel) }, getCard(card))); })))) : (React.createElement("ul", { className: classNames(styles$7.cardGrid, styles$7["columns-".concat(columns)]) }, cards === null || cards === void 0 ? void 0 : cards.map(function (card, index) { return (React.createElement("li", { key: "promolist-card--".concat(id, "-").concat(index) },
2844
- React.createElement("div", { "data-testid": "promoList-card".concat(index), className: styles$7.cardWrapper }, getCard(card)))); })))));
2911
+ return (React.createElement("div", { className: styles$c.PromoListing },
2912
+ overlineLabel && (React.createElement(React.Fragment, null,
2913
+ React.createElement(Heading, { level: overlineHeadingLevel, fontStyle: "overline" }, overlineLabel),
2914
+ React.createElement(VerticalSpace, { size: "12" }))),
2915
+ React.createElement(SectionHeading, { isPadded: true, id: id, "data-testid": "PromoListing-header", heading: heading, isHeadingWordWrap: isHeadingWordWrap, headingLevel: headingLevel, content: content }),
2916
+ button.label && (React.createElement(React.Fragment, null,
2917
+ React.createElement(ButtonV2, __assign({}, button, { icon: button.buttonStyle == "compact" ? BtIconArrowRightFill : undefined, size: "m" })),
2918
+ React.createElement(VerticalSpace, { size: "40" }))),
2919
+ isCarousel && !isMinWidthArcBreakpointL ? (React.createElement("div", { className: styles$c.promolistingCarouselWrapper },
2920
+ 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$c.cardWrapperCarousel) }, getCard(card))); })))) : (React.createElement("ul", { className: classNames(styles$c.cardGrid, styles$c["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) },
2921
+ React.createElement("div", { "data-testid": "promoList-card".concat(index), className: styles$c.cardWrapper }, getCard(card)))); })))));
2845
2922
  };
2846
2923
 
2847
- var styles$6 = {"blockQuote":"Quote-module_blockQuote__STj-z","quoteContent":"Quote-module_quoteContent__kWc51","quoteDefault":"Quote-module_quoteDefault__tU5db","quoteSecondary":"Quote-module_quoteSecondary__3Rk3f","quoteIcon":"Quote-module_quoteIcon__HK1TV"};
2924
+ var styles$b = {"blockQuote":"Quote-module_blockQuote__STj-z","quoteContent":"Quote-module_quoteContent__kWc51","quoteDefault":"Quote-module_quoteDefault__tU5db","quoteSecondary":"Quote-module_quoteSecondary__3Rk3f","quoteIcon":"Quote-module_quoteIcon__HK1TV"};
2848
2925
 
2849
2926
  /**
2850
2927
  * Use `Quote` where a quote or testimonial from an existing customer or stakeholder would help build trust and credibility with potential new customers. It's commonly used on product pages where customers would learn about a product or service that we offer.*/
2851
2928
  var Quote = function (_a) {
2852
2929
  var author = _a.author, _b = _a.styling, styling = _b === void 0 ? "Default" : _b, content = _a.content, citeUrl = _a.citeUrl, props = __rest(_a, ["author", "styling", "content", "citeUrl"]);
2853
- return (React.createElement("div", __assign({ className: "community-component--quote", "data-testid": "quote-test" }, filterDataAttrs(props)),
2854
- React.createElement("blockquote", { "data-testid": "style-test", className: classNames(styles$6.blockQuote, styles$6["quote".concat(styling)]), cite: citeUrl },
2855
- React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 100 77", className: styles$6.quoteIcon, "aria-hidden": "true" },
2930
+ return (React.createElement("div", __assign({ className: "community-component--quote", "data-testid": "quote-test" }, filterAttrs(props)),
2931
+ React.createElement("blockquote", { "data-testid": "style-test", className: classNames(styles$b.blockQuote, styles$b["quote".concat(styling)]), cite: citeUrl },
2932
+ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 100 77", className: styles$b.quoteIcon, "aria-hidden": "true" },
2856
2933
  React.createElement("path", { d: "M21.8085 76.4706C15.9574 76.4706 10.8156 74.2732 6.38298 69.8783C2.12766 65.4834 0 58.979 0 50.3651C0 40.5206 3.10284 31.1156 9.30851 22.1501C15.6915 13.1846 25.3546 5.80122 38.2979 0L44.1489 11.3387C37.4113 14.3272 31.7376 18.0189 27.1277 22.4138C22.5177 26.6329 19.6809 31.4672 18.617 36.9168C19.8582 36.741 21.0106 36.6531 22.0745 36.6531C27.7482 36.6531 32.4468 38.499 36.1702 42.1907C40.0709 45.8824 42.0213 50.7167 42.0213 56.6937C42.0213 62.4949 39.9823 67.2414 35.9043 70.9331C32.0035 74.6247 27.305 76.4706 21.8085 76.4706ZM77.6596 76.4706C71.8085 76.4706 66.6667 74.2732 62.234 69.8783C57.9787 65.4834 55.8511 58.979 55.8511 50.3651C55.8511 40.5206 58.9539 31.1156 65.1596 22.1501C71.5425 13.1846 81.2057 5.80122 94.1489 0L100 11.3387C93.2624 14.3272 87.5886 18.0189 82.9787 22.4138C78.3688 26.6329 75.5319 31.4672 74.4681 36.9168C75.7092 36.741 76.8617 36.6531 77.9255 36.6531C83.5993 36.6531 88.2979 38.499 92.0213 42.1907C95.922 45.8824 97.8723 50.7167 97.8723 56.6937C97.8723 62.4949 95.8333 67.2414 91.7553 70.9331C87.8546 74.6247 83.156 76.4706 77.6596 76.4706Z" })),
2857
- React.createElement("p", { className: styles$6.quoteContent }, content)),
2934
+ React.createElement("p", { className: styles$b.quoteContent }, content)),
2858
2935
  author && (React.createElement(Author, { name: author.name, title: author.title, avatar: author.avatar }))));
2859
2936
  };
2860
2937
 
2861
- var styles$5 = {"ruleContainer":"Summary-module_ruleContainer__ydWlG","row":"Summary-module_row__SKV--"};
2938
+ var styles$a = {"ruleContainer":"Summary-module_ruleContainer__ydWlG","row":"Summary-module_row__SKV--"};
2862
2939
 
2863
2940
  var Summary = function (_a) {
2864
2941
  var content = _a.content, _b = _a.noBorder, noBorder = _b === void 0 ? false : _b, _c = _a.headingLevel, headingLevel = _c === void 0 ? "3" : _c;
2865
2942
  var isMinWidthArcBreakpointM = useMediaQuery("(min-width: ".concat(ArcSizeBreakpointsM, ")"));
2866
2943
  return (React.createElement(Box, __assign({ isBorderRadius: true }, (!noBorder ? { borderWidth: "thin" } : { elevationLevel: "1" }), { padding: "24" }),
2867
- React.createElement("div", { className: styles$5.row }, content.map(function (_a, i) {
2944
+ React.createElement("div", { className: styles$a.row }, content.map(function (_a, i) {
2868
2945
  var heading = _a.heading, text = _a.text;
2869
2946
  return (React.createElement(React.Fragment, null,
2870
- React.createElement("div", { className: styles$5.col },
2947
+ React.createElement("div", { className: styles$a.col },
2871
2948
  React.createElement(Heading, { size: "s", level: headingLevel }, heading),
2872
2949
  React.createElement(VerticalSpace, { size: "8" }),
2873
2950
  React.createElement(Text, { size: "s" }, text)),
2874
- i !== content.length - 1 && (React.createElement("div", { className: styles$5.ruleContainer },
2951
+ i !== content.length - 1 && (React.createElement("div", { className: styles$a.ruleContainer },
2875
2952
  React.createElement(Rule, { orientation: isMinWidthArcBreakpointM ? "vertical" : "horizontal" })))));
2876
2953
  }))));
2877
2954
  };
2878
2955
 
2879
- var styles$4 = {"list":"Statistics-module_list__BI-eQ","mutedText":"Statistics-module_mutedText__MR1JM","statWrapper":"Statistics-module_statWrapper__83OnM"};
2956
+ var styles$9 = {"list":"Statistics-module_list__BI-eQ","mutedText":"Statistics-module_mutedText__MR1JM","statWrapper":"Statistics-module_statWrapper__83OnM"};
2880
2957
 
2881
2958
  var getLinkProps = function (link) {
2882
2959
  return link.openInNewTab
@@ -2888,16 +2965,16 @@ var getLinkProps = function (link) {
2888
2965
  };
2889
2966
 
2890
2967
  var Statistics = function (_a) {
2891
- var headingLevel = _a.headingLevel, heading = _a.heading, content = _a.content, statistics = _a.statistics;
2892
- var id = useId();
2968
+ var id = _a.id, isHeadingWordWrap = _a.isHeadingWordWrap, headingLevel = _a.headingLevel, heading = _a.heading, content = _a.content, statistics = _a.statistics;
2969
+ var componentId = useId();
2893
2970
  return (React.createElement(Columns, null,
2894
2971
  React.createElement(ColumnsCol, { spanM: 9 },
2895
- React.createElement(SectionHeading, { heading: heading, headingLevel: headingLevel, content: content }),
2972
+ React.createElement(SectionHeading, { id: id, heading: heading, isHeadingWordWrap: isHeadingWordWrap, headingLevel: headingLevel, content: content }),
2896
2973
  React.createElement(VerticalSpace, { size: "16" })),
2897
2974
  React.createElement(ColumnsCol, { spanL: 9 },
2898
- React.createElement("ul", { className: styles$4.list }, statistics.map(function (_a, i) {
2975
+ React.createElement("ul", { className: styles$9.list }, statistics.map(function (_a, i) {
2899
2976
  var stat = _a.stat, copy = _a.copy, link = _a.link, source = _a.source, sourceUrl = _a.sourceUrl;
2900
- return (React.createElement("li", { key: "statistic-".concat(id, "-").concat(i) },
2977
+ return (React.createElement("li", { key: "statistic-".concat(componentId, "-").concat(i) },
2901
2978
  i !== 0 && (React.createElement(React.Fragment, null,
2902
2979
  React.createElement(VerticalSpace, { size: "24", sizeS: "32", sizeXL: "40" }),
2903
2980
  React.createElement(Rule, null),
@@ -2905,7 +2982,7 @@ var Statistics = function (_a) {
2905
2982
  React.createElement(Columns, null,
2906
2983
  React.createElement(ColumnsCol, { spanS: 6, spanM: 8 },
2907
2984
  React.createElement(Align, { vertical: "center" },
2908
- React.createElement("div", { className: styles$4.statWrapper },
2985
+ React.createElement("div", { className: styles$9.statWrapper },
2909
2986
  React.createElement(Heading, { color: "brand", size: "xxl" }, stat)))),
2910
2987
  React.createElement(ColumnsCol, { spanS: 6, spanM: 4 },
2911
2988
  React.createElement(Text, null, copy),
@@ -2915,66 +2992,35 @@ var Statistics = function (_a) {
2915
2992
  source && (React.createElement(React.Fragment, null,
2916
2993
  React.createElement(VerticalSpace, { size: "12" }),
2917
2994
  React.createElement(Text, { size: "xs" },
2918
- React.createElement("span", { className: styles$4.mutedText }, source)))),
2995
+ React.createElement("span", { className: styles$9.mutedText }, source)))),
2919
2996
  sourceUrl && (React.createElement(Text, { size: "xs" },
2920
- React.createElement("a", { className: styles$4.mutedText, href: sourceUrl }, sourceUrl)))))));
2997
+ React.createElement("a", { className: styles$9.mutedText, href: sourceUrl }, sourceUrl)))))));
2921
2998
  })))));
2922
2999
  };
2923
3000
 
2924
- var styles$3 = {"bannerWithTabsHeadingCentered":"BannerWithTabs-module_bannerWithTabsHeadingCentered__upqEO"};
3001
+ var styles$8 = {"bannerWithTabsHeadingCentered":"BannerWithTabs-module_bannerWithTabsHeadingCentered__upqEO"};
2925
3002
 
2926
3003
  var BannerWithTabs = function (_a) {
2927
3004
  var _b;
2928
- var tabs = _a.tabs, defaultValue = _a.defaultValue, heading = _a.heading, content = _a.content, _c = _a.alignTypography, alignTypography = _c === void 0 ? "left" : _c, minHeight = _a.minHeight, minHeightM = _a.minHeightM;
3005
+ var tabs = _a.tabs, defaultValue = _a.defaultValue, heading = _a.heading, content = _a.content, id = _a.id, isHeadingWordWrap = _a.isHeadingWordWrap, _c = _a.alignTypography, alignTypography = _c === void 0 ? "left" : _c, minHeight = _a.minHeight, minHeightM = _a.minHeightM;
2929
3006
  return (React.createElement(React.Fragment, null,
2930
3007
  React.createElement("div", { className: classNames((_b = {},
2931
- _b[styles$3.bannerWithTabsHeadingCentered] = alignTypography === "center",
3008
+ _b[styles$8.bannerWithTabsHeadingCentered] = alignTypography === "center",
2932
3009
  _b)) },
2933
- React.createElement(SectionHeading, { heading: heading, content: content, isPadded: alignTypography === "left" ? true : false })),
3010
+ React.createElement(SectionHeading, { id: id, isHeadingWordWrap: isHeadingWordWrap, heading: heading, content: content, isPadded: alignTypography === "left" ? true : false })),
2934
3011
  React.createElement(TabbedBanner, { minHeight: minHeight, minHeightM: minHeightM, tabs: tabs, defaultValue: defaultValue })));
2935
3012
  };
2936
3013
 
2937
- /**
2938
- * Do not edit directly
2939
- * Generated file
2940
- */
2941
-
2942
- const ArcIconSocialLinkedin =
2943
- "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3e%3cpath fill='currentColor' d='M25.856 25.86H21.71v-6.496c0-1.55-.032-3.544-2.161-3.544-2.162 0-2.492 1.686-2.492 3.43v6.61H12.91V12.5h3.983v1.821h.053c.557-1.05 1.91-2.158 3.932-2.158 4.201 0 4.978 2.765 4.978 6.364v7.334zM8.226 10.673a2.406 2.406 0 0 1-2.406-2.41 2.408 2.408 0 1 1 2.407 2.41zm2.08 15.189H6.148V12.5h4.158v13.36zM27.929 2H4.066C2.924 2 2 2.903 2 4.017v23.966C2 29.098 2.924 30 4.066 30h23.86c1.14 0 2.074-.902 2.074-2.017V4.017C30 2.903 29.067 2 27.926 2z'/%3e%3c/svg%3e";
2944
-
2945
- /**
2946
- * Do not edit directly
2947
- * Generated file
2948
- */
2949
-
2950
- const ArcIconSocialX =
2951
- "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3e%3cpath fill='currentColor' d='M24.034 3h4.278l-9.343 10.639L30 28.103h-8.64l-6.781-8.768-7.739 8.768H2.563L12.58 16.738 2 3h8.864l6.107 8.014zm-1.491 22.562h2.364L9.57 5.402H7.009z'/%3e%3c/svg%3e";
2952
-
2953
- /**
2954
- * Do not edit directly
2955
- * Generated file
2956
- */
2957
-
2958
- const BtIconLink =
2959
- "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3e%3cpath d='M9.959 10.013h2.417a5.99 5.99 0 0 1 5.226 8.915.5.5 0 1 0 .872.49 6.99 6.99 0 0 0-6.098-10.405H9.959a6.989 6.989 0 0 0 0 13.977h1.54a.5.5 0 1 0 0-1h-1.54a5.989 5.989 0 0 1 0-11.977'/%3e%3cpath d='M22.063 9.013h-1.54a.5.5 0 0 0 0 1h1.54a5.989 5.989 0 0 1 0 11.977h-2.417a5.99 5.99 0 0 1-5.227-8.915.5.5 0 1 0-.871-.49 6.99 6.99 0 0 0 6.097 10.405h2.417a6.989 6.989 0 0 0 0-13.977'/%3e%3c/svg%3e";
2960
-
2961
- /**
2962
- * Do not edit directly
2963
- * Generated file
2964
- */
2965
-
2966
- const BtIconEmailUnread =
2967
- "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3e%3cpath fill='currentColor' d='M29 6H3a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h26a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1m0 1v1.716l-11 7.616a3.52 3.52 0 0 1-3.984 0L3 8.705V7Zm0 2.933v12.15l-8.775-6.075Zm-17.208 6.075L3 22.095V9.922ZM3 25v-1.689l9.67-6.695.777.538a4.52 4.52 0 0 0 5.123 0l.776-.538L29 23.3V25Z'/%3e%3c/svg%3e";
2968
-
2969
- var styles$2 = {"tagGroup":"ArticleSidebar-module_tagGroup__rIPQc","textContent":"ArticleSidebar-module_textContent__3nCfG","shareButtonContainer":"ArticleSidebar-module_shareButtonContainer__iAfHL","shareButton":"ArticleSidebar-module_shareButton__rb-1E"};
3014
+ var styles$7 = {"tagGroup":"ArticleSidebar-module_tagGroup__rIPQc","textContent":"ArticleSidebar-module_textContent__3nCfG","additionalContentContainer":"ArticleSidebar-module_additionalContentContainer__91L4n","shareButtonContainer":"ArticleSidebar-module_shareButtonContainer__iAfHL","shareButton":"ArticleSidebar-module_shareButton__rb-1E"};
2970
3015
 
2971
3016
  /**
2972
3017
  * Use `ArticleSidebar` to provide additional information about the article.
2973
3018
  */
2974
3019
  var ArticleSidebar = function (_a) {
3020
+ var _b;
2975
3021
  var author = _a.author, aboutSection = _a.aboutSection, topics = _a.topics, share = _a.share, additionalContent = _a.additionalContent, linkSection = _a.linkSection;
2976
3022
  var id = useId();
2977
- var _b = useState(false), showToast = _b[0], setShowToast = _b[1];
3023
+ var _c = useState(false), showToast = _c[0], setShowToast = _c[1];
2978
3024
  var url = location.href;
2979
3025
  var copyTextToClipBoard = function () { return __awaiter(void 0, void 0, void 0, function () {
2980
3026
  return __generator(this, function (_a) {
@@ -2987,90 +3033,98 @@ var ArticleSidebar = function (_a) {
2987
3033
  }
2988
3034
  });
2989
3035
  }); };
2990
- var shareButtons = __spreadArray(__spreadArray([
2991
- {
2992
- isButton: true,
2993
- label: "Copy url to clipboard",
2994
- onClick: copyTextToClipBoard,
2995
- icon: BtIconLink,
2996
- },
2997
- {
2998
- label: "Share by email",
2999
- href: "mailto:?subject=".concat(share.articleTitle, "&body=").concat(url),
3000
- icon: BtIconEmailUnread,
3001
- }
3002
- ], (share.linkedin
3003
- ? [
3036
+ var shareButtons = share
3037
+ ? __spreadArray(__spreadArray([
3004
3038
  {
3005
- label: "Share on LinkedIn",
3006
- href: "https://www.linkedin.com/sharing/share-offsite/?url=".concat(url),
3007
- icon: ArcIconSocialLinkedin,
3039
+ isButton: true,
3040
+ onClick: copyTextToClipBoard,
3041
+ icon: BtIconLink,
3042
+ ariaLabel: share.clipboardAriaLabel || "Copy url to clipboard",
3008
3043
  },
3009
- ]
3010
- : []), true), (share.x
3011
- ? [
3012
3044
  {
3013
- label: "Share on x",
3014
- href: "https://twitter.com/intent/tweet?url=".concat(url),
3015
- icon: ArcIconSocialX,
3016
- },
3017
- ]
3018
- : []), true);
3045
+ href: "mailto:?subject=".concat(share.articleTitle, "&body=").concat(url),
3046
+ icon: BtIconEmailUnread,
3047
+ ariaLabel: share.emailAriaLabel || "Share by email",
3048
+ }
3049
+ ], (share.linkedin
3050
+ ? [
3051
+ {
3052
+ href: "https://www.linkedin.com/sharing/share-offsite/?url=".concat(url),
3053
+ icon: ArcIconSocialLinkedin,
3054
+ ariaLabel: share.linkedInAriaLabel || "Share on LinkedIn",
3055
+ },
3056
+ ]
3057
+ : []), true), (share.x
3058
+ ? [
3059
+ {
3060
+ href: "https://twitter.com/intent/tweet?url=".concat(url),
3061
+ icon: ArcIconSocialX,
3062
+ ariaLabel: share.xAriaLabel || "Share on x",
3063
+ },
3064
+ ]
3065
+ : []), true) : [];
3066
+ var hasTopContent = Boolean(author || aboutSection || additionalContent);
3067
+ var hasBottomContent = Boolean(linkSection || topics || share);
3019
3068
  return (React.createElement(React.Fragment, null,
3020
- React.createElement("div", { className: styles$2.textContent },
3069
+ React.createElement("div", { className: classNames((_b = {},
3070
+ _b[styles$7.textContent] = hasTopContent,
3071
+ _b)) },
3021
3072
  author && (React.createElement(React.Fragment, null,
3022
3073
  React.createElement(Author, __assign({}, author, { avatar: __assign(__assign({}, author.avatar), { size: "xl" }) })))),
3023
3074
  aboutSection && (React.createElement(React.Fragment, null,
3024
- React.createElement(VerticalSpace, { size: "32" }),
3075
+ author && React.createElement(VerticalSpace, { size: "32" }),
3025
3076
  React.createElement(Heading, { level: aboutSection.headingLevel }, aboutSection.heading),
3026
3077
  React.createElement(VerticalSpace, { size: "16" }),
3027
3078
  React.createElement(Text, { size: "s" }, aboutSection.content))),
3028
- additionalContent &&
3029
- additionalContent.map(function (_a) {
3079
+ additionalContent && (React.createElement(React.Fragment, null,
3080
+ (author || aboutSection) && React.createElement(VerticalSpace, { size: "16" }),
3081
+ React.createElement("div", { className: styles$7.additionalContentContainer }, additionalContent.map(function (_a) {
3030
3082
  var heading = _a.heading, headingLevel = _a.headingLevel, content = _a.content;
3031
- return (React.createElement(React.Fragment, null,
3032
- React.createElement(VerticalSpace, { size: "16" }),
3083
+ return (React.createElement("div", { key: "".concat(id, "-").concat(heading) },
3033
3084
  React.createElement(Heading, { level: headingLevel, size: "xxs" }, heading),
3034
3085
  React.createElement(Text, { size: "s" }, content)));
3035
- })),
3036
- (author || aboutSection || additionalContent) && (React.createElement("div", { "data-testid": "content-rule" },
3086
+ }))))),
3087
+ hasTopContent && hasBottomContent && (React.createElement("div", { "data-testid": "text-content-rule" },
3037
3088
  React.createElement(VerticalSpace, { size: "32" }),
3038
3089
  React.createElement(Rule, null),
3039
3090
  React.createElement(VerticalSpace, { size: "32" }))),
3040
- React.createElement(Heading, { level: linkSection.headingLevel }, linkSection.heading),
3041
- linkSection.links.map(function (_a) {
3042
- var text = _a.text, url = _a.url;
3043
- return (React.createElement(React.Fragment, null,
3044
- React.createElement(VerticalSpace, { size: "8" }),
3045
- React.createElement("div", { key: "".concat(id, "-").concat(url) },
3046
- React.createElement(Link, { size: "s", href: url }, text))));
3047
- }),
3048
- React.createElement(VerticalSpace, { size: "32" }),
3091
+ linkSection && (React.createElement(React.Fragment, null,
3092
+ React.createElement(Heading, { level: linkSection.headingLevel }, linkSection.heading),
3093
+ linkSection.links.map(function (_a) {
3094
+ var text = _a.text, url = _a.url, ariaLabel = _a.ariaLabel;
3095
+ return (React.createElement(React.Fragment, null,
3096
+ React.createElement(VerticalSpace, { size: "8" }),
3097
+ React.createElement("div", { key: "".concat(id, "-").concat(url) },
3098
+ React.createElement(Link, { "aria-label": ariaLabel, size: "s", href: url }, text))));
3099
+ }))),
3049
3100
  topics && (React.createElement(React.Fragment, null,
3101
+ linkSection && React.createElement(VerticalSpace, { size: "32" }),
3050
3102
  React.createElement(Heading, { level: topics.headingLevel }, topics.heading),
3051
3103
  React.createElement(VerticalSpace, { size: "16" }),
3052
- React.createElement("div", { className: styles$2.tagGroup }, topics.tags.map(function (tag) { return (React.createElement(Tag, __assign({ key: "".concat(id, "-").concat(tag.title) }, tag))); })),
3053
- React.createElement(VerticalSpace, { size: "32" }))),
3054
- React.createElement(Rule, null),
3055
- React.createElement(VerticalSpace, { size: "32" }),
3056
- React.createElement(Heading, { level: share.headingLevel }, share.heading),
3057
- React.createElement(VerticalSpace, { size: "16" }),
3058
- React.createElement("div", { className: styles$2.shareButtonContainer }, shareButtons.map(function (_a) {
3059
- var isButton = _a.isButton, label = _a.label, href = _a.href, icon = _a.icon, onClick = _a.onClick;
3060
- return (React.createElement("a", { key: "".concat(id, "-").concat(label), role: isButton ? "button" : undefined, target: "_blank", rel: "noreferrer", className: styles$2.shareButton, "aria-label": label, href: href, onClick: isButton ? onClick : undefined },
3061
- React.createElement(Icon, { icon: icon, size: 24 })));
3062
- })),
3104
+ React.createElement("div", { className: styles$7.tagGroup }, topics.tags.map(function (tag) { return (React.createElement(Tag, __assign({ key: "".concat(id, "-").concat(tag.title) }, tag))); })))),
3105
+ share && (React.createElement(React.Fragment, null,
3106
+ (linkSection || topics) && (React.createElement("div", { "data-testid": "links-topics-content-rule" },
3107
+ React.createElement(VerticalSpace, { size: "32" }),
3108
+ React.createElement(Rule, null),
3109
+ React.createElement(VerticalSpace, { size: "32" }))),
3110
+ React.createElement(Heading, { level: share.headingLevel }, share.heading),
3111
+ React.createElement(VerticalSpace, { size: "16" }),
3112
+ React.createElement("div", { className: styles$7.shareButtonContainer }, shareButtons.map(function (_a) {
3113
+ var isButton = _a.isButton, ariaLabel = _a.ariaLabel, href = _a.href, icon = _a.icon, onClick = _a.onClick;
3114
+ return (React.createElement("a", { key: "".concat(id, "-").concat(ariaLabel), role: isButton ? "button" : undefined, target: "_blank", rel: "noreferrer", className: styles$7.shareButton, "aria-label": ariaLabel, href: href, onClick: isButton ? onClick : undefined },
3115
+ React.createElement(Icon, { icon: icon, size: 24 })));
3116
+ })))),
3063
3117
  React.createElement(Toast, null,
3064
3118
  React.createElement(ToastNotification, { status: "success", title: "Copied to clipboard", isOpen: showToast, onOpenChange: function () { return setShowToast(false); } }))));
3065
3119
  };
3066
3120
 
3067
- var styles$1 = {"product-navigation-grid":"ProductNavigation-module_product-navigation-grid__RzFq8","productNavigation-skipLink":"ProductNavigation-module_productNavigation-skipLink__fy8ZJ"};
3121
+ var styles$6 = {"product-navigation-grid":"ProductNavigation-module_product-navigation-grid__RzFq8","productNavigation-skipLink":"ProductNavigation-module_productNavigation-skipLink__fy8ZJ"};
3068
3122
 
3069
3123
  /**
3070
3124
  * Use `ProductNavigation` to give a collection of product information cards collected within a grid that has optional show/hide capability
3071
3125
  */
3072
3126
  var ProductNavigation = function (_a) {
3073
- var heading = _a.heading, headingLevel = _a.headingLevel, content = _a.content, _b = _a.hideButton, hideButton = _b === void 0 ? false : _b, productList = _a.productList, _c = _a.defaultExpanded, defaultExpanded = _c === void 0 ? false : _c, minHeight = _a.minHeight, _d = _a.cardsToDisplay, cardsToDisplay = _d === void 0 ? 3 : _d, _e = _a.listIncrement, listIncrement = _e === void 0 ? 6 : _e, onClickMore = _a.onClickMore, onClickLess = _a.onClickLess, _f = _a.hideShowLess, hideShowLess = _f === void 0 ? false : _f, isLoading = _a.isLoading, image = _a.image, props = __rest(_a, ["heading", "headingLevel", "content", "hideButton", "productList", "defaultExpanded", "minHeight", "cardsToDisplay", "listIncrement", "onClickMore", "onClickLess", "hideShowLess", "isLoading", "image"]);
3127
+ var heading = _a.heading, id = _a.id, headingLevel = _a.headingLevel, isHeadingWordWrap = _a.isHeadingWordWrap, content = _a.content, _b = _a.hideButton, hideButton = _b === void 0 ? false : _b, productList = _a.productList, _c = _a.defaultExpanded, defaultExpanded = _c === void 0 ? false : _c, minHeight = _a.minHeight, _d = _a.cardsToDisplay, cardsToDisplay = _d === void 0 ? 3 : _d, _e = _a.listIncrement, listIncrement = _e === void 0 ? 6 : _e, onClickMore = _a.onClickMore, onClickLess = _a.onClickLess, _f = _a.hideShowLess, hideShowLess = _f === void 0 ? false : _f, isLoading = _a.isLoading, image = _a.image, props = __rest(_a, ["heading", "id", "headingLevel", "isHeadingWordWrap", "content", "hideButton", "productList", "defaultExpanded", "minHeight", "cardsToDisplay", "listIncrement", "onClickMore", "onClickLess", "hideShowLess", "isLoading", "image"]);
3074
3128
  var _g = useState(false), hideLessButton = _g[0], setHideLessButton = _g[1];
3075
3129
  var _h = useState(cardsToDisplay), skipLinkCard = _h[0], setSkipLinkCard = _h[1];
3076
3130
  var _j = useState(productList.slice(0, cardsToDisplay)), displayList = _j[0], setDisplayList = _j[1];
@@ -3106,15 +3160,12 @@ var ProductNavigation = function (_a) {
3106
3160
  }
3107
3161
  };
3108
3162
  var isMinWidthArcBreakpointS = useMediaQuery("(min-width: ".concat(ArcSizeBreakpointsS, ")"));
3109
- return (React.createElement("div", __assign({}, filterDataAttrs(props)),
3110
- React.createElement(SectionHeading, { isPadded: true, "data-testid": "ProductNavigation-header", heading: heading, headingLevel: headingLevel, content: content, image: image }),
3111
- React.createElement("ul", { className: classNames(styles$1["product-navigation-grid"]) }, displayList === null || displayList === void 0 ? void 0 : displayList.map(function (_a, i) {
3112
- var label = _a.label, href = _a.href, heading = _a.heading, text = _a.text;
3163
+ return (React.createElement("div", __assign({}, filterAttrs(props)),
3164
+ React.createElement(SectionHeading, { isPadded: true, id: id, "data-testid": "ProductNavigation-header", heading: heading, headingLevel: headingLevel, isHeadingWordWrap: isHeadingWordWrap, content: content, image: image }),
3165
+ React.createElement("ul", { className: classNames(styles$6["product-navigation-grid"]) }, displayList === null || displayList === void 0 ? void 0 : displayList.map(function (cardProps, i) {
3166
+ var _a;
3113
3167
  return (React.createElement("li", { key: "displayList-".concat(i), tabIndex: -1, ref: i === skipLinkCard ? cardRef : undefined, "data-cy": "list-item-".concat(i) },
3114
- React.createElement(InformationCard, { button: {
3115
- label: label,
3116
- href: href,
3117
- }, minHeight: minHeight, heading: heading, headingLevel: "2", text: text })));
3168
+ React.createElement(InformationCard, __assign({}, cardProps, { minHeight: minHeight !== null && minHeight !== void 0 ? minHeight : cardProps.minHeight, headingLevel: (_a = cardProps.headingLevel) !== null && _a !== void 0 ? _a : "2" }))));
3118
3169
  })),
3119
3170
  React.createElement(VerticalSpace, { size: "40" }),
3120
3171
  React.createElement("div", { style: { display: "flex" } },
@@ -3122,7 +3173,7 @@ var ProductNavigation = function (_a) {
3122
3173
  ? "Show more"
3123
3174
  : "Show less", buttonStyle: "secondary", onClick: clickController, isFullWidth: isMinWidthArcBreakpointS ? false : true, isLoading: isLoading })),
3124
3175
  displayList.length > cardsToDisplay && (React.createElement(React.Fragment, null,
3125
- React.createElement("div", { id: "skip-link", className: classNames(styles$1["productNavigation-skipLink"]), tabIndex: -1 },
3176
+ React.createElement("div", { id: "skip-link", className: classNames(styles$6["productNavigation-skipLink"]), tabIndex: -1 },
3126
3177
  React.createElement(ButtonV2, { label: "Move to first new card", buttonStyle: "primary", onClick: moveFocus, isFullWidth: isMinWidthArcBreakpointS ? false : true })))),
3127
3178
  React.createElement(VisuallyHidden, null,
3128
3179
  React.createElement("div", { "aria-live": "polite", id: "aria-live-region", "aria-atomic": true },
@@ -3135,16 +3186,111 @@ var ProductNavigation = function (_a) {
3135
3186
  "."))))));
3136
3187
  };
3137
3188
 
3138
- var styles = {"container":"ContentInfoWidget-module_container__yaS-8","text":"ContentInfoWidget-module_text__O1BdZ","icon":"ContentInfoWidget-module_icon__LEww1"};
3189
+ var styles$5 = {"container":"ContentInfoWidget-module_container__yaS-8","text":"ContentInfoWidget-module_text__O1BdZ","icon":"ContentInfoWidget-module_icon__LEww1"};
3139
3190
 
3140
3191
  var ContentInfoWidget = function (_a) {
3141
3192
  var text = _a.text, icon = _a.icon;
3142
- return (React.createElement("div", { className: styles.container },
3143
- React.createElement("div", { className: styles.icon },
3193
+ return (React.createElement("div", { className: styles$5.container },
3194
+ React.createElement("div", { className: styles$5.icon },
3144
3195
  React.createElement(Icon, { size: 20, icon: icon })),
3145
- React.createElement("div", { className: styles.text },
3196
+ React.createElement("div", { className: styles$5.text },
3146
3197
  React.createElement(Text, { size: "xs", tone: "muted" }, text))));
3147
3198
  };
3148
3199
 
3149
- export { Accordion, ArticleSidebar, Author, BannerWithTabs, ContentInfoWidget, CopyLead, DownloadList, FAQs, FeaturePost, Highlights, ProductNavigation, PromoListing, Quote, SectionHeading, Statistics, Summary };
3200
+ var styles$4 = {"heroLink":"HeroLink-module_heroLink__WUqWB","heroLink-inner":"HeroLink-module_heroLink-inner__RE5i8","heroLink-label":"HeroLink-module_heroLink-label__93HPY","heroLink-icon":"HeroLink-module_heroLink-icon__l7o4U","heroLink--emptyLabel":"HeroLink-module_heroLink--emptyLabel__XY2sa"};
3201
+
3202
+ /**
3203
+ * Pill-style HeroLink component with default and hover states
3204
+ */
3205
+ var HeroLink = function (_a) {
3206
+ var _b;
3207
+ var label = _a.label, onClick = _a.onClick, href = _a.href, id = _a.id, rel = _a.rel, target = _a.target, ariaLabel = _a.ariaLabel, ref = _a.ref, props = __rest(_a, ["label", "onClick", "href", "id", "rel", "target", "ariaLabel", "ref"]);
3208
+ var HeroLinkClasses = classNames(styles$4.heroLink, (_b = {},
3209
+ _b[styles$4["heroLink--emptyLabel"]] = !label,
3210
+ _b));
3211
+ var commonProps = __assign({ id: id, onClick: onClick, ref: ref }, props);
3212
+ if (href) {
3213
+ return (React.createElement("a", __assign({}, commonProps, { className: HeroLinkClasses, href: href, rel: rel, "aria-label": ariaLabel, target: target }),
3214
+ React.createElement("span", { className: styles$4["heroLink-inner"] },
3215
+ label && React.createElement("span", { className: styles$4["heroLink-label"] }, label),
3216
+ React.createElement("span", { className: styles$4["heroLink-icon"] },
3217
+ React.createElement(Icon, { testId: "hero-link-icon", size: 24, icon: BtIconArrowAltRight })))));
3218
+ }
3219
+ return (React.createElement("button", __assign({}, commonProps, { className: HeroLinkClasses, "aria-label": ariaLabel }),
3220
+ React.createElement("span", { className: styles$4["heroLink-inner"] },
3221
+ label && React.createElement("span", { className: styles$4["heroLink-label"] }, label),
3222
+ React.createElement("span", { className: styles$4["heroLink-icon"] },
3223
+ React.createElement(Icon, { testId: "hero-link-icon", size: 24, icon: BtIconArrowAltRight })))));
3224
+ };
3225
+
3226
+ var styles$3 = {"action-tile":"ActionTile-module_action-tile__JPwGb","action-tile-content":"ActionTile-module_action-tile-content__ZkgHc","action-tile-icon":"ActionTile-module_action-tile-icon__PY1EN","action-tile-heading":"ActionTile-module_action-tile-heading__Uxdu9","action-tile--active":"ActionTile-module_action-tile--active__-aWze","action-tile-tick":"ActionTile-module_action-tile-tick__vhsJE"};
3227
+
3228
+ var ActionTile = function (_a) {
3229
+ var _b;
3230
+ var icon = _a.icon, heading = _a.heading, _c = _a.isActive, isActive = _c === void 0 ? false : _c, onClick = _a.onClick, className = _a.className, props = __rest(_a, ["icon", "heading", "isActive", "onClick", "className"]);
3231
+ var tileClasses = classNames(styles$3["action-tile"], (_b = {},
3232
+ _b[styles$3["action-tile--active"]] = isActive,
3233
+ _b), className);
3234
+ var content = (React.createElement(React.Fragment, null,
3235
+ React.createElement("div", { className: styles$3["action-tile-content"] },
3236
+ icon && (React.createElement("div", { className: styles$3["action-tile-icon"] },
3237
+ React.createElement(Icon, { icon: icon, size: 48 }))),
3238
+ React.createElement("h3", { className: styles$3["action-tile-heading"] }, heading)),
3239
+ isActive && (React.createElement("div", { className: styles$3["action-tile-tick"] },
3240
+ React.createElement(Icon, { icon: BtIconTickAlt2Px, size: 20 })))));
3241
+ return (React.createElement("div", __assign({ className: tileClasses, onClick: onClick }, filterAttrs(props)), content));
3242
+ };
3243
+
3244
+ var styles$2 = {"link-tile":"LinkTile-module_link-tile__xVUP3","link-tile-content":"LinkTile-module_link-tile-content__H-QN8","link-tile-text":"LinkTile-module_link-tile-text__0K6zf"};
3245
+
3246
+ var LinkTile = function (_a) {
3247
+ var text = _a.text, href = _a.href, _b = _a.showIcon, showIcon = _b === void 0 ? true : _b, className = _a.className, props = __rest(_a, ["text", "href", "showIcon", "className"]);
3248
+ var Component = href ? "a" : "div";
3249
+ var linkProps = href ? { href: href } : {};
3250
+ return (React.createElement(Component, __assign({ className: classNames(styles$2["link-tile"], className) }, linkProps, filterAttrs(props)), text && (React.createElement("div", { className: styles$2["link-tile-content"] },
3251
+ React.createElement("span", { className: styles$2["link-tile-text"] }, text),
3252
+ showIcon && React.createElement(Icon, { icon: BtIconArrowAltRight, size: 32 })))));
3253
+ };
3254
+
3255
+ var styles$1 = {"thumbnailSignpost":"ThumbnailSignpost-module_thumbnailSignpost__Yf26b","isLink":"ThumbnailSignpost-module_isLink__FucdG","content":"ThumbnailSignpost-module_content__XG9oj","heading":"ThumbnailSignpost-module_heading__mTrpJ","image":"ThumbnailSignpost-module_image__syGZj","thumbnailButton":"ThumbnailSignpost-module_thumbnailButton__Nn-NR","buttonIcon":"ThumbnailSignpost-module_buttonIcon__ydmza"};
3256
+
3257
+ /** Use `ThumbnailSignpost` to highlight key information or navigation points with an accompanying thumbnail image or icon. */
3258
+ var ThumbnailSignpost = function (_a) {
3259
+ var _b;
3260
+ var text = _a.text, title = _a.title, img = _a.img, onClick = _a.onClick, buttonLabel = _a.buttonLabel, props = __rest(_a, ["text", "title", "img", "onClick", "buttonLabel"]);
3261
+ return (React.createElement("div", __assign({ className: classNames(styles$1.thumbnailSignpost, (_b = {},
3262
+ _b[styles$1.isLink] = onClick,
3263
+ _b)), onClick: onClick, "aria-label": title, tabIndex: onClick ? 0 : -1 }, (onClick && { role: "button" }), filterAttrs(props)),
3264
+ img && (React.createElement("div", { className: styles$1.image },
3265
+ React.createElement(Image$2, __assign({}, img)))),
3266
+ React.createElement("div", { className: styles$1.content },
3267
+ React.createElement("span", { className: styles$1.heading }, title),
3268
+ React.createElement(VerticalSpace, { size: "8" }),
3269
+ text,
3270
+ buttonLabel && onClick && (React.createElement(React.Fragment, null,
3271
+ React.createElement(VerticalSpace, { size: "8" }),
3272
+ React.createElement("div", { className: styles$1.thumbnailButton },
3273
+ React.createElement("span", { className: styles$1.buttonIcon, role: "img", style: {
3274
+ height: 24,
3275
+ width: 24,
3276
+ maskImage: "url(\"".concat(BtIconArrowRightFill, "\")"),
3277
+ WebkitMaskImage: "url(\"".concat(BtIconArrowRightFill, "\")"),
3278
+ } }),
3279
+ React.createElement(Heading, { size: "xxs" }, buttonLabel)))))));
3280
+ };
3281
+
3282
+ var styles = {"PromoListingThumbnailSignpost":"PromoListingThumbnailSignpost-module_PromoListingThumbnailSignpost__0HTPV","list":"PromoListingThumbnailSignpost-module_list__E9l0E"};
3283
+
3284
+ /**
3285
+ * Use `PromoListingThumbnailSignpost` to give supporting information about a page or proposition in the form of the ThumbnailSignposts components.
3286
+ */
3287
+ var PromoListingThumbnailSignpost = function (_a) {
3288
+ var _b = _a.isPadded, isPadded = _b === void 0 ? true : _b, heading = _a.heading, content = _a.content, headingLevel = _a.headingLevel, thumbnailList = _a.thumbnailList, props = __rest(_a, ["isPadded", "heading", "content", "headingLevel", "thumbnailList"]);
3289
+ return (React.createElement("div", __assign({ className: styles.PromoListingThumbnailSignpost }, filterAttrs(props)),
3290
+ React.createElement(SectionHeading, { isPadded: isPadded, "data-testid": "PromoListingThumbnailSignpost-header", heading: heading, headingLevel: headingLevel, content: content }),
3291
+ React.createElement("ul", { className: styles.list }, thumbnailList.map(function (thumbnail, index) { return (React.createElement("li", { key: index },
3292
+ React.createElement(ThumbnailSignpost, __assign({}, thumbnail)))); }))));
3293
+ };
3294
+
3295
+ export { Accordion, ActionTile, ArticleSidebar, Author, BannerWithTabs, ContentInfoWidget, CopyLead, DownloadList, FAQs, FeaturePost, HeroLink, Highlights, LinkTile, ProductNavigation, PromoListing, PromoListingThumbnailSignpost, Quote, SectionHeading, Statistics, Summary, ThumbnailSignpost };
3150
3296
  //# sourceMappingURL=index.mjs.map