@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
@@ -1,7 +1,7 @@
1
- export { A as Author } from '../_shared/esm/Author-CydDYCma.mjs';
1
+ export { A as Author } from '../_shared/esm/Author-HnYsFTPT.mjs';
2
2
  import '../_shared/esm/tslib.es6-D6Wu-xwB.mjs';
3
3
  import 'react';
4
- import '../_shared/esm/filter-data-attrs-V7cbJuwS.mjs';
4
+ import '../_shared/esm/filter-attrs-DZ7RCEZm.mjs';
5
5
  import '@arc-ui/components/Grid';
6
6
  import '@arc-ui/components/Avatar';
7
7
  import '@arc-ui/components/Heading';
@@ -2,25 +2,25 @@
2
2
 
3
3
  var React = require('react');
4
4
  var index = require('../_shared/cjs/index-Bp6Dd2i1.cjs');
5
- var SectionHeading = require('../_shared/cjs/SectionHeading-DepTV4JA.cjs');
6
5
  var TabbedBanner = require('@arc-ui/components/TabbedBanner');
6
+ var SectionHeading = require('../_shared/cjs/SectionHeading-DeSFM0HV.cjs');
7
7
  require('../_shared/cjs/tslib.es6-BxB9I209.cjs');
8
- require('../_shared/cjs/filter-data-attrs-ajtUvDAC.cjs');
9
- require('@arc-ui/components/Heading');
8
+ require('../_shared/cjs/filter-attrs-BizjMsy0.cjs');
10
9
  require('@arc-ui/components/Text');
11
10
  require('@arc-ui/components/VerticalSpace');
12
11
  require('@arc-ui/components/Image');
12
+ require('@arc-ui/components/Heading');
13
13
 
14
14
  var styles = {"bannerWithTabsHeadingCentered":"BannerWithTabs-module_bannerWithTabsHeadingCentered__upqEO"};
15
15
 
16
16
  var BannerWithTabs = function (_a) {
17
17
  var _b;
18
- 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;
18
+ 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;
19
19
  return (React.createElement(React.Fragment, null,
20
20
  React.createElement("div", { className: index.classNames((_b = {},
21
21
  _b[styles.bannerWithTabsHeadingCentered] = alignTypography === "center",
22
22
  _b)) },
23
- React.createElement(SectionHeading.SectionHeading, { heading: heading, content: content, isPadded: alignTypography === "left" ? true : false })),
23
+ React.createElement(SectionHeading.SectionHeading, { id: id, isHeadingWordWrap: isHeadingWordWrap, heading: heading, content: content, isPadded: alignTypography === "left" ? true : false })),
24
24
  React.createElement(TabbedBanner.TabbedBanner, { minHeight: minHeight, minHeightM: minHeightM, tabs: tabs, defaultValue: defaultValue })));
25
25
  };
26
26
 
@@ -1,24 +1,24 @@
1
1
  import React from 'react';
2
2
  import { c as classNames } from '../_shared/esm/index-BfTCfPZ1.mjs';
3
- import { S as SectionHeading } from '../_shared/esm/SectionHeading-BayinGP_.mjs';
4
3
  import { TabbedBanner } from '@arc-ui/components/TabbedBanner';
4
+ import { S as SectionHeading } from '../_shared/esm/SectionHeading-CpDLCndw.mjs';
5
5
  import '../_shared/esm/tslib.es6-D6Wu-xwB.mjs';
6
- import '../_shared/esm/filter-data-attrs-V7cbJuwS.mjs';
7
- import '@arc-ui/components/Heading';
6
+ import '../_shared/esm/filter-attrs-DZ7RCEZm.mjs';
8
7
  import '@arc-ui/components/Text';
9
8
  import '@arc-ui/components/VerticalSpace';
10
9
  import '@arc-ui/components/Image';
10
+ import '@arc-ui/components/Heading';
11
11
 
12
12
  var styles = {"bannerWithTabsHeadingCentered":"BannerWithTabs-module_bannerWithTabsHeadingCentered__upqEO"};
13
13
 
14
14
  var BannerWithTabs = function (_a) {
15
15
  var _b;
16
- 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;
16
+ 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;
17
17
  return (React.createElement(React.Fragment, null,
18
18
  React.createElement("div", { className: classNames((_b = {},
19
19
  _b[styles.bannerWithTabsHeadingCentered] = alignTypography === "center",
20
20
  _b)) },
21
- React.createElement(SectionHeading, { heading: heading, content: content, isPadded: alignTypography === "left" ? true : false })),
21
+ React.createElement(SectionHeading, { id: id, isHeadingWordWrap: isHeadingWordWrap, heading: heading, content: content, isPadded: alignTypography === "left" ? true : false })),
22
22
  React.createElement(TabbedBanner, { minHeight: minHeight, minHeightM: minHeightM, tabs: tabs, defaultValue: defaultValue })));
23
23
  };
24
24
 
@@ -2,8 +2,8 @@
2
2
 
3
3
  var tslib_es6 = require('../_shared/cjs/tslib.es6-BxB9I209.cjs');
4
4
  var React = require('react');
5
- var filterDataAttrs = require('../_shared/cjs/filter-data-attrs-ajtUvDAC.cjs');
6
- var index_es = require('../_shared/cjs/index.es-D11PdokQ.cjs');
5
+ var filterAttrs = require('../_shared/cjs/filter-attrs-BizjMsy0.cjs');
6
+ var index_es = require('../_shared/cjs/index.es-Dq8bYrbW.cjs');
7
7
  var Columns = require('@arc-ui/components/Columns');
8
8
  var useMediaQuery = require('@arc-ui/components/use-media-query');
9
9
  var Heading = require('@arc-ui/components/Heading');
@@ -13,14 +13,14 @@ var Image$1 = require('@arc-ui/components/Image');
13
13
  var Icon = require('@arc-ui/components/Icon');
14
14
  var index = require('../_shared/cjs/index-Bp6Dd2i1.cjs');
15
15
  var ButtonV2 = require('@arc-ui/components/ButtonV2');
16
- var SectionHeading = require('../_shared/cjs/SectionHeading-DepTV4JA.cjs');
16
+ var SectionHeading = require('../_shared/cjs/SectionHeading-DeSFM0HV.cjs');
17
17
 
18
18
  var styles = {"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"};
19
19
 
20
20
  var MediaContent = function (_a) {
21
- var heading = _a.heading, headingLevel = _a.headingLevel, children = _a.children;
21
+ var heading = _a.heading, id = _a.id, headingLevel = _a.headingLevel, isHeadingWordWrap = _a.isHeadingWordWrap, children = _a.children;
22
22
  return (React.createElement("div", { className: styles.mediaContainer },
23
- React.createElement(Heading.Heading, { level: headingLevel, size: "xl" }, heading),
23
+ React.createElement(Heading.Heading, { id: id, level: headingLevel, isWordWrap: isHeadingWordWrap, size: "xl" }, heading),
24
24
  children && (React.createElement("div", { className: styles.content },
25
25
  React.createElement(VerticalSpace.VerticalSpace, { size: "24" }),
26
26
  React.createElement(Text.Text, { size: "l" }, children)))));
@@ -81,7 +81,7 @@ var VideoPlayer = React.lazy(function () {
81
81
  });
82
82
  });
83
83
  var MediaTemplate = function (_a) {
84
- 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;
84
+ 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;
85
85
  var _c = React.useState(false), isClient = _c[0], setIsClient = _c[1];
86
86
  var isMinWidthArcBreakpointL = useMediaQuery.useMediaQuery("(min-width: ".concat(index_es.ArcSizeBreakpointsL, ")"));
87
87
  var isMinWidthArcBreakpointXl = useMediaQuery.useMediaQuery("(min-width: ".concat(index_es.ArcSizeBreakpointsXl, ")"));
@@ -92,7 +92,7 @@ var MediaTemplate = function (_a) {
92
92
  return (React.createElement("div", null,
93
93
  !isMinWidthArcBreakpointXl && (React.createElement(Columns.Columns, null,
94
94
  React.createElement(Columns.ColumnsCol, { span: 12, spanM: 9 },
95
- React.createElement(MediaContent, { heading: heading, headingLevel: headingLevel }, content)))),
95
+ React.createElement(MediaContent, { heading: heading, headingLevel: headingLevel, id: id, isHeadingWordWrap: isHeadingWordWrap }, content)))),
96
96
  React.createElement(Container, { type: "media", isReverseOrder: isReverseOrder, alignment: !isMinWidthArcBreakpointXl ? "top" : "center" },
97
97
  React.createElement(Column, null,
98
98
  isMinWidthArcBreakpointXl && (React.createElement(MediaContent, { heading: heading }, content)),
@@ -105,13 +105,13 @@ var MediaTemplate = function (_a) {
105
105
  };
106
106
 
107
107
  var ContentTemplate = function (_a) {
108
- var button = _a.button, heading = _a.heading, headingLevel = _a.headingLevel, listItems = _a.listItems, content = _a.content;
108
+ var button = _a.button, id = _a.id, heading = _a.heading, headingLevel = _a.headingLevel, isHeadingWordWrap = _a.isHeadingWordWrap, listItems = _a.listItems, content = _a.content;
109
109
  var isMinWidthArcBreakpointM = useMediaQuery.useMediaQuery("(min-width: ".concat(index_es.ArcSizeBreakpointsM, ")"));
110
110
  var isMinWidthArcBreakpointL = useMediaQuery.useMediaQuery("(min-width: ".concat(index_es.ArcSizeBreakpointsL, ")"));
111
111
  var listHeadingLevel = getListHeadingLevel(headingLevel);
112
112
  return (React.createElement(Container, { type: "content", alignment: "top" },
113
113
  React.createElement(Column, null,
114
- React.createElement(SectionHeading.SectionHeading, { heading: heading, headingLevel: headingLevel, content: content }),
114
+ React.createElement(SectionHeading.SectionHeading, { id: id, heading: heading, headingLevel: headingLevel, isHeadingWordWrap: isHeadingWordWrap, content: content }),
115
115
  button && isMinWidthArcBreakpointM && React.createElement(Button, tslib_es6.__assign({}, button))),
116
116
  React.createElement(Column, null,
117
117
  React.createElement(IconList, { listItems: listItems, isLgScreen: isMinWidthArcBreakpointL, headingLevel: listHeadingLevel }),
@@ -122,12 +122,12 @@ var ContentTemplate = function (_a) {
122
122
  * 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.
123
123
  */
124
124
  var CopyLead = function (_a) {
125
- 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 = tslib_es6.__rest(_a, ["button", "heading", "headingLevel", "listItems", "video", "image", "content", "isReverseOrder"]);
125
+ 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 = tslib_es6.__rest(_a, ["button", "heading", "id", "headingLevel", "listItems", "video", "image", "content", "isHeadingWordWrap", "isReverseOrder"]);
126
126
  if (video || image) {
127
- return (React.createElement(MediaTemplate, tslib_es6.__assign({ content: content, video: video, image: image, listItems: listItems, heading: heading, headingLevel: headingLevel, button: button, isReverseOrder: isReverseOrder }, filterDataAttrs.filterDataAttrs(props))));
127
+ return (React.createElement(MediaTemplate, tslib_es6.__assign({ id: id, content: content, video: video, image: image, listItems: listItems, heading: heading, headingLevel: headingLevel, isHeadingWordWrap: isHeadingWordWrap, button: button, isReverseOrder: isReverseOrder }, filterAttrs.filterAttrs(props))));
128
128
  }
129
129
  if (content) {
130
- return (React.createElement(ContentTemplate, tslib_es6.__assign({ listItems: listItems, heading: heading, headingLevel: headingLevel, button: button, content: content }, filterDataAttrs.filterDataAttrs(props))));
130
+ return (React.createElement(ContentTemplate, tslib_es6.__assign({ id: id, listItems: listItems, heading: heading, headingLevel: headingLevel, isHeadingWordWrap: isHeadingWordWrap, button: button, content: content }, filterAttrs.filterAttrs(props))));
131
131
  }
132
132
  return null;
133
133
  };
@@ -1,7 +1,7 @@
1
1
  import { a as __rest, _ as __assign } from '../_shared/esm/tslib.es6-D6Wu-xwB.mjs';
2
2
  import React, { useState, useEffect, Suspense } from 'react';
3
- import { f as filterDataAttrs } from '../_shared/esm/filter-data-attrs-V7cbJuwS.mjs';
4
- import { a as ArcSizeBreakpointsL, c as ArcSizeBreakpointsXl, b as ArcSizeBreakpointsM } from '../_shared/esm/index.es-C4PyYMjI.mjs';
3
+ import { f as filterAttrs } from '../_shared/esm/filter-attrs-DZ7RCEZm.mjs';
4
+ import { a as ArcSizeBreakpointsL, c as ArcSizeBreakpointsXl, b as ArcSizeBreakpointsM } from '../_shared/esm/index.es-Bfdys5__.mjs';
5
5
  import { Columns, ColumnsCol } from '@arc-ui/components/Columns';
6
6
  import { useMediaQuery } from '@arc-ui/components/use-media-query';
7
7
  import { Heading } from '@arc-ui/components/Heading';
@@ -11,14 +11,14 @@ import { Image as Image$1 } from '@arc-ui/components/Image';
11
11
  import { Icon } from '@arc-ui/components/Icon';
12
12
  import { c as classNames } from '../_shared/esm/index-BfTCfPZ1.mjs';
13
13
  import { ButtonV2 } from '@arc-ui/components/ButtonV2';
14
- import { S as SectionHeading } from '../_shared/esm/SectionHeading-BayinGP_.mjs';
14
+ import { S as SectionHeading } from '../_shared/esm/SectionHeading-CpDLCndw.mjs';
15
15
 
16
16
  var styles = {"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"};
17
17
 
18
18
  var MediaContent = function (_a) {
19
- var heading = _a.heading, headingLevel = _a.headingLevel, children = _a.children;
19
+ var heading = _a.heading, id = _a.id, headingLevel = _a.headingLevel, isHeadingWordWrap = _a.isHeadingWordWrap, children = _a.children;
20
20
  return (React.createElement("div", { className: styles.mediaContainer },
21
- React.createElement(Heading, { level: headingLevel, size: "xl" }, heading),
21
+ React.createElement(Heading, { id: id, level: headingLevel, isWordWrap: isHeadingWordWrap, size: "xl" }, heading),
22
22
  children && (React.createElement("div", { className: styles.content },
23
23
  React.createElement(VerticalSpace, { size: "24" }),
24
24
  React.createElement(Text, { size: "l" }, children)))));
@@ -79,7 +79,7 @@ var VideoPlayer = React.lazy(function () {
79
79
  });
80
80
  });
81
81
  var MediaTemplate = function (_a) {
82
- 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;
82
+ 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;
83
83
  var _c = useState(false), isClient = _c[0], setIsClient = _c[1];
84
84
  var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcSizeBreakpointsL, ")"));
85
85
  var isMinWidthArcBreakpointXl = useMediaQuery("(min-width: ".concat(ArcSizeBreakpointsXl, ")"));
@@ -90,7 +90,7 @@ var MediaTemplate = function (_a) {
90
90
  return (React.createElement("div", null,
91
91
  !isMinWidthArcBreakpointXl && (React.createElement(Columns, null,
92
92
  React.createElement(ColumnsCol, { span: 12, spanM: 9 },
93
- React.createElement(MediaContent, { heading: heading, headingLevel: headingLevel }, content)))),
93
+ React.createElement(MediaContent, { heading: heading, headingLevel: headingLevel, id: id, isHeadingWordWrap: isHeadingWordWrap }, content)))),
94
94
  React.createElement(Container, { type: "media", isReverseOrder: isReverseOrder, alignment: !isMinWidthArcBreakpointXl ? "top" : "center" },
95
95
  React.createElement(Column, null,
96
96
  isMinWidthArcBreakpointXl && (React.createElement(MediaContent, { heading: heading }, content)),
@@ -103,13 +103,13 @@ var MediaTemplate = function (_a) {
103
103
  };
104
104
 
105
105
  var ContentTemplate = function (_a) {
106
- var button = _a.button, heading = _a.heading, headingLevel = _a.headingLevel, listItems = _a.listItems, content = _a.content;
106
+ var button = _a.button, id = _a.id, heading = _a.heading, headingLevel = _a.headingLevel, isHeadingWordWrap = _a.isHeadingWordWrap, listItems = _a.listItems, content = _a.content;
107
107
  var isMinWidthArcBreakpointM = useMediaQuery("(min-width: ".concat(ArcSizeBreakpointsM, ")"));
108
108
  var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcSizeBreakpointsL, ")"));
109
109
  var listHeadingLevel = getListHeadingLevel(headingLevel);
110
110
  return (React.createElement(Container, { type: "content", alignment: "top" },
111
111
  React.createElement(Column, null,
112
- React.createElement(SectionHeading, { heading: heading, headingLevel: headingLevel, content: content }),
112
+ React.createElement(SectionHeading, { id: id, heading: heading, headingLevel: headingLevel, isHeadingWordWrap: isHeadingWordWrap, content: content }),
113
113
  button && isMinWidthArcBreakpointM && React.createElement(Button, __assign({}, button))),
114
114
  React.createElement(Column, null,
115
115
  React.createElement(IconList, { listItems: listItems, isLgScreen: isMinWidthArcBreakpointL, headingLevel: listHeadingLevel }),
@@ -120,12 +120,12 @@ var ContentTemplate = function (_a) {
120
120
  * 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.
121
121
  */
122
122
  var CopyLead = function (_a) {
123
- 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"]);
123
+ 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"]);
124
124
  if (video || image) {
125
- return (React.createElement(MediaTemplate, __assign({ content: content, video: video, image: image, listItems: listItems, heading: heading, headingLevel: headingLevel, button: button, isReverseOrder: isReverseOrder }, filterDataAttrs(props))));
125
+ 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))));
126
126
  }
127
127
  if (content) {
128
- return (React.createElement(ContentTemplate, __assign({ listItems: listItems, heading: heading, headingLevel: headingLevel, button: button, content: content }, filterDataAttrs(props))));
128
+ return (React.createElement(ContentTemplate, __assign({ id: id, listItems: listItems, heading: heading, headingLevel: headingLevel, isHeadingWordWrap: isHeadingWordWrap, button: button, content: content }, filterAttrs(props))));
129
129
  }
130
130
  return null;
131
131
  };
@@ -3,21 +3,21 @@
3
3
  var tslib_es6 = require('../_shared/cjs/tslib.es6-BxB9I209.cjs');
4
4
  var React = require('react');
5
5
  var VerticalSpace = require('@arc-ui/components/VerticalSpace');
6
- var SectionHeading = require('../_shared/cjs/SectionHeading-DepTV4JA.cjs');
6
+ var SectionHeading = require('../_shared/cjs/SectionHeading-DeSFM0HV.cjs');
7
7
  var Download = require('@arc-ui/components/Download');
8
8
  require('../_shared/cjs/index-Bp6Dd2i1.cjs');
9
- require('../_shared/cjs/filter-data-attrs-ajtUvDAC.cjs');
10
- require('@arc-ui/components/Heading');
9
+ require('../_shared/cjs/filter-attrs-BizjMsy0.cjs');
11
10
  require('@arc-ui/components/Text');
12
11
  require('@arc-ui/components/Image');
12
+ require('@arc-ui/components/Heading');
13
13
 
14
14
  var styles = {"headingContainer":"DownloadList-module_headingContainer__PNio8"};
15
15
 
16
16
  var DownloadList = function (_a) {
17
- var heading = _a.heading, _b = _a.headingLevel, headingLevel = _b === void 0 ? "2" : _b, content = _a.content, downloads = _a.downloads;
17
+ 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;
18
18
  return (React.createElement(React.Fragment, null,
19
19
  React.createElement("div", { className: styles.headingContainer },
20
- React.createElement(SectionHeading.SectionHeading, { heading: heading, headingLevel: headingLevel, content: content })),
20
+ React.createElement(SectionHeading.SectionHeading, { id: id, heading: heading, isHeadingWordWrap: isHeadingWordWrap, headingLevel: headingLevel, content: content })),
21
21
  React.createElement(VerticalSpace.VerticalSpace, { size: "40" }),
22
22
  downloads.map(function (props, i) { return (React.createElement(React.Fragment, null,
23
23
  React.createElement(Download.Download, tslib_es6.__assign({}, props)),
@@ -1,21 +1,21 @@
1
1
  import { _ as __assign } from '../_shared/esm/tslib.es6-D6Wu-xwB.mjs';
2
2
  import React from 'react';
3
3
  import { VerticalSpace } from '@arc-ui/components/VerticalSpace';
4
- import { S as SectionHeading } from '../_shared/esm/SectionHeading-BayinGP_.mjs';
4
+ import { S as SectionHeading } from '../_shared/esm/SectionHeading-CpDLCndw.mjs';
5
5
  import { Download } from '@arc-ui/components/Download';
6
6
  import '../_shared/esm/index-BfTCfPZ1.mjs';
7
- import '../_shared/esm/filter-data-attrs-V7cbJuwS.mjs';
8
- import '@arc-ui/components/Heading';
7
+ import '../_shared/esm/filter-attrs-DZ7RCEZm.mjs';
9
8
  import '@arc-ui/components/Text';
10
9
  import '@arc-ui/components/Image';
10
+ import '@arc-ui/components/Heading';
11
11
 
12
12
  var styles = {"headingContainer":"DownloadList-module_headingContainer__PNio8"};
13
13
 
14
14
  var DownloadList = function (_a) {
15
- var heading = _a.heading, _b = _a.headingLevel, headingLevel = _b === void 0 ? "2" : _b, content = _a.content, downloads = _a.downloads;
15
+ 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;
16
16
  return (React.createElement(React.Fragment, null,
17
17
  React.createElement("div", { className: styles.headingContainer },
18
- React.createElement(SectionHeading, { heading: heading, headingLevel: headingLevel, content: content })),
18
+ React.createElement(SectionHeading, { id: id, heading: heading, isHeadingWordWrap: isHeadingWordWrap, headingLevel: headingLevel, content: content })),
19
19
  React.createElement(VerticalSpace, { size: "40" }),
20
20
  downloads.map(function (props, i) { return (React.createElement(React.Fragment, null,
21
21
  React.createElement(Download, __assign({}, props)),
package/lib/FAQs/FAQs.cjs CHANGED
@@ -3,9 +3,9 @@
3
3
  var tslib_es6 = require('../_shared/cjs/tslib.es6-BxB9I209.cjs');
4
4
  var React = require('react');
5
5
  var index = require('../_shared/cjs/index-Bp6Dd2i1.cjs');
6
- var filterDataAttrs = require('../_shared/cjs/filter-data-attrs-ajtUvDAC.cjs');
7
- var Accordion = require('../_shared/cjs/Accordion-D5fpUJzm.cjs');
8
- var SectionHeading = require('../_shared/cjs/SectionHeading-DepTV4JA.cjs');
6
+ var filterAttrs = require('../_shared/cjs/filter-attrs-BizjMsy0.cjs');
7
+ var Accordion = require('../_shared/cjs/Accordion-DfNGOjTm.cjs');
8
+ var SectionHeading = require('../_shared/cjs/SectionHeading-DeSFM0HV.cjs');
9
9
  var Link = require('@arc-ui/components/Link');
10
10
  var Heading = require('@arc-ui/components/Heading');
11
11
  var VerticalSpace = require('@arc-ui/components/VerticalSpace');
@@ -16,11 +16,20 @@ require('@arc-ui/components/Disclosure');
16
16
 
17
17
  var styles = {"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"};
18
18
 
19
+ var scrollToSectionFocusFirstElement = function (item) {
20
+ var _a, _b, _c, _d, _e;
21
+ if (!item.id)
22
+ return;
23
+ (_a = document.getElementById(item.id)) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ behavior: "smooth" });
24
+ // preventScroll avoids interfering with the scroll animation.
25
+ (_e = (_d = document
26
+ .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 });
27
+ };
19
28
  var FAQs = function (_a) {
20
29
  var _b;
21
- 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 = tslib_es6.__rest(_a, ["heading", "content", "isPadded", "headingLevel", "image", "type", "linkListHeading", "accordionData"]);
22
- return (React.createElement("div", tslib_es6.__assign({ className: styles.FAQs }, filterDataAttrs.filterDataAttrs(props)),
23
- React.createElement(SectionHeading.SectionHeading, { heading: heading, content: content, image: image, headingLevel: headingLevel, isPadded: isPadded }),
30
+ 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 = tslib_es6.__rest(_a, ["heading", "isHeadingWordWrap", "content", "id", "isPadded", "headingLevel", "image", "type", "linkListHeading", "accordionData"]);
31
+ return (React.createElement("div", tslib_es6.__assign({ className: styles.FAQs }, filterAttrs.filterAttrs(props)),
32
+ React.createElement(SectionHeading.SectionHeading, { id: id, isHeadingWordWrap: isHeadingWordWrap, heading: heading, content: content, image: image, headingLevel: headingLevel, isPadded: isPadded }),
24
33
  type === "listWithLinks" && (React.createElement("div", { className: styles.linkListSection },
25
34
  React.createElement("div", { className: styles.linkListTitle },
26
35
  React.createElement(Heading.Heading, { size: "xs" }, linkListHeading)),
@@ -32,12 +41,7 @@ var FAQs = function (_a) {
32
41
  return (React.createElement("li", { className: styles.linkListItem, key: item.heading },
33
42
  React.createElement(Link.Link, { title: item.heading, href: "#".concat(item.id), onClick: function (e) {
34
43
  e.preventDefault();
35
- if (item.id) {
36
- var element = document.getElementById(item.id);
37
- if (element) {
38
- element.scrollIntoView({ behavior: "smooth" });
39
- }
40
- }
44
+ scrollToSectionFocusFirstElement(item);
41
45
  } }, (_a = item.altLinkTitle) !== null && _a !== void 0 ? _a : item.heading)));
42
46
  })))),
43
47
  type !== "tabs" && accordionData && (React.createElement("ul", { className: styles.accordionList }, accordionData.map(function (item) { return (React.createElement("li", { className: styles.accordionListItem, key: item.id },
package/lib/FAQs/FAQs.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  import { a as __rest, _ as __assign } from '../_shared/esm/tslib.es6-D6Wu-xwB.mjs';
2
2
  import React from 'react';
3
3
  import { c as classNames } from '../_shared/esm/index-BfTCfPZ1.mjs';
4
- import { f as filterDataAttrs } from '../_shared/esm/filter-data-attrs-V7cbJuwS.mjs';
5
- import { A as Accordion } from '../_shared/esm/Accordion-LLwNdzax.mjs';
6
- import { S as SectionHeading } from '../_shared/esm/SectionHeading-BayinGP_.mjs';
4
+ import { f as filterAttrs } from '../_shared/esm/filter-attrs-DZ7RCEZm.mjs';
5
+ import { A as Accordion } from '../_shared/esm/Accordion-cd1oYvBv.mjs';
6
+ import { S as SectionHeading } from '../_shared/esm/SectionHeading-CpDLCndw.mjs';
7
7
  import { Link } from '@arc-ui/components/Link';
8
8
  import { Heading } from '@arc-ui/components/Heading';
9
9
  import { VerticalSpace } from '@arc-ui/components/VerticalSpace';
@@ -14,11 +14,20 @@ import '@arc-ui/components/Disclosure';
14
14
 
15
15
  var styles = {"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"};
16
16
 
17
+ var scrollToSectionFocusFirstElement = function (item) {
18
+ var _a, _b, _c, _d, _e;
19
+ if (!item.id)
20
+ return;
21
+ (_a = document.getElementById(item.id)) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ behavior: "smooth" });
22
+ // preventScroll avoids interfering with the scroll animation.
23
+ (_e = (_d = document
24
+ .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 });
25
+ };
17
26
  var FAQs = function (_a) {
18
27
  var _b;
19
- 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"]);
20
- return (React.createElement("div", __assign({ className: styles.FAQs }, filterDataAttrs(props)),
21
- React.createElement(SectionHeading, { heading: heading, content: content, image: image, headingLevel: headingLevel, isPadded: isPadded }),
28
+ 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"]);
29
+ return (React.createElement("div", __assign({ className: styles.FAQs }, filterAttrs(props)),
30
+ React.createElement(SectionHeading, { id: id, isHeadingWordWrap: isHeadingWordWrap, heading: heading, content: content, image: image, headingLevel: headingLevel, isPadded: isPadded }),
22
31
  type === "listWithLinks" && (React.createElement("div", { className: styles.linkListSection },
23
32
  React.createElement("div", { className: styles.linkListTitle },
24
33
  React.createElement(Heading, { size: "xs" }, linkListHeading)),
@@ -30,12 +39,7 @@ var FAQs = function (_a) {
30
39
  return (React.createElement("li", { className: styles.linkListItem, key: item.heading },
31
40
  React.createElement(Link, { title: item.heading, href: "#".concat(item.id), onClick: function (e) {
32
41
  e.preventDefault();
33
- if (item.id) {
34
- var element = document.getElementById(item.id);
35
- if (element) {
36
- element.scrollIntoView({ behavior: "smooth" });
37
- }
38
- }
42
+ scrollToSectionFocusFirstElement(item);
39
43
  } }, (_a = item.altLinkTitle) !== null && _a !== void 0 ? _a : item.heading)));
40
44
  })))),
41
45
  type !== "tabs" && accordionData && (React.createElement("ul", { className: styles.accordionList }, accordionData.map(function (item) { return (React.createElement("li", { className: styles.accordionListItem, key: item.id },
@@ -3,8 +3,8 @@
3
3
  var tslib_es6 = require('../_shared/cjs/tslib.es6-BxB9I209.cjs');
4
4
  var React = require('react');
5
5
  var index = require('../_shared/cjs/index-Bp6Dd2i1.cjs');
6
- var filterDataAttrs = require('../_shared/cjs/filter-data-attrs-ajtUvDAC.cjs');
7
- var index_es = require('../_shared/cjs/index.es-D11PdokQ.cjs');
6
+ var filterAttrs = require('../_shared/cjs/filter-attrs-BizjMsy0.cjs');
7
+ var index_es = require('../_shared/cjs/index.es-Dq8bYrbW.cjs');
8
8
  var AppButton = require('@arc-ui/components/AppButton');
9
9
  var Grid = require('@arc-ui/components/Grid');
10
10
  var ButtonV2 = require('@arc-ui/components/ButtonV2');
@@ -12,7 +12,7 @@ var Heading = require('@arc-ui/components/Heading');
12
12
  var Text = require('@arc-ui/components/Text');
13
13
  var VerticalSpace = require('@arc-ui/components/VerticalSpace');
14
14
  var useMediaQuery = require('@arc-ui/components/use-media-query');
15
- var Author = require('../_shared/cjs/Author-X47pv31V.cjs');
15
+ var Author = require('../_shared/cjs/Author-D4dKNQem.cjs');
16
16
  var Image$1 = require('@arc-ui/components/Image');
17
17
  require('@arc-ui/components/Avatar');
18
18
 
@@ -2204,10 +2204,17 @@ function cleanEscapedString(input) {
2204
2204
  var styles = {"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"};
2205
2205
 
2206
2206
  var Image = function (_a) {
2207
- var sources = _a.sources, props = tslib_es6.__rest(_a, ["sources"]);
2208
- return (React.createElement("div", { className: styles.imgWrapper },
2209
- React.createElement(Image$1.Image, tslib_es6.__assign({ fadeOnLoad: true }, props), sources &&
2210
- sources.map(function (source) { return React.createElement("source", tslib_es6.__assign({ key: source.srcSet }, source)); }))));
2207
+ var sources = _a.sources, title = _a.title, description = _a.description, props = tslib_es6.__rest(_a, ["sources", "title", "description"]);
2208
+ return (React.createElement(React.Fragment, null,
2209
+ React.createElement("div", { className: styles.imgWrapper },
2210
+ React.createElement(Image$1.Image, tslib_es6.__assign({ fadeOnLoad: true }, props), sources &&
2211
+ sources.map(function (source) { return React.createElement("source", tslib_es6.__assign({ key: source.srcSet }, source)); }))),
2212
+ title && (React.createElement(React.Fragment, null,
2213
+ React.createElement(VerticalSpace.VerticalSpace, { size: "24" }),
2214
+ React.createElement(Heading.Heading, { level: "3", size: "s" }, title),
2215
+ description && (React.createElement(React.Fragment, null,
2216
+ React.createElement(VerticalSpace.VerticalSpace, { size: "16" }),
2217
+ React.createElement(Text.Text, { size: "m" }, description)))))));
2211
2218
  };
2212
2219
 
2213
2220
  var VideoPlayer = React.lazy(function () {
@@ -2235,11 +2242,11 @@ var MediaContent = function (_a) {
2235
2242
  * */
2236
2243
  var FeaturePost = function (_a) {
2237
2244
  var _b;
2238
- 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 = tslib_es6.__rest(_a, ["heading", "headingLevel", "label", "image", "content", "footer", "video", "isReverseOrder"]);
2245
+ 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 = tslib_es6.__rest(_a, ["heading", "id", "headingLevel", "label", "image", "content", "footer", "video", "isHeadingWordWrap", "isReverseOrder"]);
2239
2246
  var isMinWidthArcBreakpointM = useMediaQuery.useMediaQuery("(min-width: ".concat(index_es.ArcSizeBreakpointsM, ")"));
2240
2247
  return (React.createElement("div", tslib_es6.__assign({ "data-testid": "feature-post", className: index.classNames(styles.featurePost, (_b = {},
2241
2248
  _b[styles.featurePostReversed] = isReverseOrder,
2242
- _b)) }, filterDataAttrs.filterDataAttrs(props)),
2249
+ _b)) }, filterAttrs.filterAttrs(props)),
2243
2250
  React.createElement("div", { className: styles.col },
2244
2251
  React.createElement("div", { className: styles.contentContainer },
2245
2252
  label && (React.createElement(Grid.Grid, { isGutterless: true, isFluid: true },
@@ -2250,12 +2257,12 @@ var FeaturePost = function (_a) {
2250
2257
  React.createElement("div", { className: styles.labelDate },
2251
2258
  React.createElement(Text.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)))))),
2252
2259
  React.createElement(VerticalSpace.VerticalSpace, { size: "24" }))),
2253
- React.createElement(Heading.Heading, { level: headingLevel, size: "xl" }, heading),
2260
+ React.createElement(Heading.Heading, { id: id, level: headingLevel, isWordWrap: isHeadingWordWrap, size: "xl" }, heading),
2254
2261
  !isMinWidthArcBreakpointM && (React.createElement("div", { "data-testid": "mobile-img" },
2255
2262
  React.createElement(VerticalSpace.VerticalSpace, { size: "40" }),
2256
2263
  React.createElement(MediaContent, { image: image, video: video }))),
2257
2264
  React.createElement(VerticalSpace.VerticalSpace, { size: "40" }),
2258
- React.createElement(Text.Text, { size: "l" }, content),
2265
+ typeof content === "string" ? (React.createElement(Text.Text, { size: "l" }, content)) : (content),
2259
2266
  (footer === null || footer === void 0 ? void 0 : footer.type) === "cta" && (React.createElement(React.Fragment, null,
2260
2267
  footer.author && (React.createElement(React.Fragment, null,
2261
2268
  React.createElement(VerticalSpace.VerticalSpace, { size: "24" }),
@@ -1,8 +1,8 @@
1
1
  import { a as __rest, _ as __assign } from '../_shared/esm/tslib.es6-D6Wu-xwB.mjs';
2
2
  import React, { useState, useEffect, Suspense } from 'react';
3
3
  import { c as classNames } from '../_shared/esm/index-BfTCfPZ1.mjs';
4
- import { f as filterDataAttrs } from '../_shared/esm/filter-data-attrs-V7cbJuwS.mjs';
5
- import { b as ArcSizeBreakpointsM } from '../_shared/esm/index.es-C4PyYMjI.mjs';
4
+ import { f as filterAttrs } from '../_shared/esm/filter-attrs-DZ7RCEZm.mjs';
5
+ import { b as ArcSizeBreakpointsM } from '../_shared/esm/index.es-Bfdys5__.mjs';
6
6
  import { AppButton } from '@arc-ui/components/AppButton';
7
7
  import { Grid, GridRow, GridCol } from '@arc-ui/components/Grid';
8
8
  import { ButtonV2 } from '@arc-ui/components/ButtonV2';
@@ -10,7 +10,7 @@ import { Heading } from '@arc-ui/components/Heading';
10
10
  import { Text } from '@arc-ui/components/Text';
11
11
  import { VerticalSpace } from '@arc-ui/components/VerticalSpace';
12
12
  import { useMediaQuery } from '@arc-ui/components/use-media-query';
13
- import { A as Author } from '../_shared/esm/Author-CydDYCma.mjs';
13
+ import { A as Author } from '../_shared/esm/Author-HnYsFTPT.mjs';
14
14
  import { Image as Image$1 } from '@arc-ui/components/Image';
15
15
  import '@arc-ui/components/Avatar';
16
16
 
@@ -2202,10 +2202,17 @@ function cleanEscapedString(input) {
2202
2202
  var styles = {"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"};
2203
2203
 
2204
2204
  var Image = function (_a) {
2205
- var sources = _a.sources, props = __rest(_a, ["sources"]);
2206
- return (React.createElement("div", { className: styles.imgWrapper },
2207
- React.createElement(Image$1, __assign({ fadeOnLoad: true }, props), sources &&
2208
- sources.map(function (source) { return React.createElement("source", __assign({ key: source.srcSet }, source)); }))));
2205
+ var sources = _a.sources, title = _a.title, description = _a.description, props = __rest(_a, ["sources", "title", "description"]);
2206
+ return (React.createElement(React.Fragment, null,
2207
+ React.createElement("div", { className: styles.imgWrapper },
2208
+ React.createElement(Image$1, __assign({ fadeOnLoad: true }, props), sources &&
2209
+ sources.map(function (source) { return React.createElement("source", __assign({ key: source.srcSet }, source)); }))),
2210
+ title && (React.createElement(React.Fragment, null,
2211
+ React.createElement(VerticalSpace, { size: "24" }),
2212
+ React.createElement(Heading, { level: "3", size: "s" }, title),
2213
+ description && (React.createElement(React.Fragment, null,
2214
+ React.createElement(VerticalSpace, { size: "16" }),
2215
+ React.createElement(Text, { size: "m" }, description)))))));
2209
2216
  };
2210
2217
 
2211
2218
  var VideoPlayer = React.lazy(function () {
@@ -2233,11 +2240,11 @@ var MediaContent = function (_a) {
2233
2240
  * */
2234
2241
  var FeaturePost = function (_a) {
2235
2242
  var _b;
2236
- 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"]);
2243
+ 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"]);
2237
2244
  var isMinWidthArcBreakpointM = useMediaQuery("(min-width: ".concat(ArcSizeBreakpointsM, ")"));
2238
2245
  return (React.createElement("div", __assign({ "data-testid": "feature-post", className: classNames(styles.featurePost, (_b = {},
2239
2246
  _b[styles.featurePostReversed] = isReverseOrder,
2240
- _b)) }, filterDataAttrs(props)),
2247
+ _b)) }, filterAttrs(props)),
2241
2248
  React.createElement("div", { className: styles.col },
2242
2249
  React.createElement("div", { className: styles.contentContainer },
2243
2250
  label && (React.createElement(Grid, { isGutterless: true, isFluid: true },
@@ -2248,12 +2255,12 @@ var FeaturePost = function (_a) {
2248
2255
  React.createElement("div", { className: styles.labelDate },
2249
2256
  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)))))),
2250
2257
  React.createElement(VerticalSpace, { size: "24" }))),
2251
- React.createElement(Heading, { level: headingLevel, size: "xl" }, heading),
2258
+ React.createElement(Heading, { id: id, level: headingLevel, isWordWrap: isHeadingWordWrap, size: "xl" }, heading),
2252
2259
  !isMinWidthArcBreakpointM && (React.createElement("div", { "data-testid": "mobile-img" },
2253
2260
  React.createElement(VerticalSpace, { size: "40" }),
2254
2261
  React.createElement(MediaContent, { image: image, video: video }))),
2255
2262
  React.createElement(VerticalSpace, { size: "40" }),
2256
- React.createElement(Text, { size: "l" }, content),
2263
+ typeof content === "string" ? (React.createElement(Text, { size: "l" }, content)) : (content),
2257
2264
  (footer === null || footer === void 0 ? void 0 : footer.type) === "cta" && (React.createElement(React.Fragment, null,
2258
2265
  footer.author && (React.createElement(React.Fragment, null,
2259
2266
  React.createElement(VerticalSpace, { size: "24" }),
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ var tslib_es6 = require('../_shared/cjs/tslib.es6-BxB9I209.cjs');
4
+ var React = require('react');
5
+ var index = require('../_shared/cjs/index-Bp6Dd2i1.cjs');
6
+ var BtIconArrowAltRight = require('../_shared/cjs/BtIconArrowAltRight-CLQdP61r.cjs');
7
+ var Icon = require('@arc-ui/components/Icon');
8
+
9
+ var styles = {"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"};
10
+
11
+ /**
12
+ * Pill-style HeroLink component with default and hover states
13
+ */
14
+ var HeroLink = function (_a) {
15
+ var _b;
16
+ 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 = tslib_es6.__rest(_a, ["label", "onClick", "href", "id", "rel", "target", "ariaLabel", "ref"]);
17
+ var HeroLinkClasses = index.classNames(styles.heroLink, (_b = {},
18
+ _b[styles["heroLink--emptyLabel"]] = !label,
19
+ _b));
20
+ var commonProps = tslib_es6.__assign({ id: id, onClick: onClick, ref: ref }, props);
21
+ if (href) {
22
+ return (React.createElement("a", tslib_es6.__assign({}, commonProps, { className: HeroLinkClasses, href: href, rel: rel, "aria-label": ariaLabel, target: target }),
23
+ React.createElement("span", { className: styles["heroLink-inner"] },
24
+ label && React.createElement("span", { className: styles["heroLink-label"] }, label),
25
+ React.createElement("span", { className: styles["heroLink-icon"] },
26
+ React.createElement(Icon.Icon, { testId: "hero-link-icon", size: 24, icon: BtIconArrowAltRight.BtIconArrowAltRight })))));
27
+ }
28
+ return (React.createElement("button", tslib_es6.__assign({}, commonProps, { className: HeroLinkClasses, "aria-label": ariaLabel }),
29
+ React.createElement("span", { className: styles["heroLink-inner"] },
30
+ label && React.createElement("span", { className: styles["heroLink-label"] }, label),
31
+ React.createElement("span", { className: styles["heroLink-icon"] },
32
+ React.createElement(Icon.Icon, { testId: "hero-link-icon", size: 24, icon: BtIconArrowAltRight.BtIconArrowAltRight })))));
33
+ };
34
+
35
+ exports.HeroLink = HeroLink;