@arc-ui/community-components 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/.turbo/turbo-build.log +16 -19
  2. package/CHANGELOG.md +24 -0
  3. package/lib/Accordion/Accordion.cjs +2 -2
  4. package/lib/Accordion/Accordion.mjs +2 -2
  5. package/lib/Accordion/styles.css +1 -0
  6. package/lib/ActionTile/ActionTile.cjs +35 -0
  7. package/lib/ActionTile/ActionTile.mjs +33 -0
  8. package/lib/ActionTile/styles.css +1 -0
  9. package/lib/ArticleSidebar/ArticleSidebar.cjs +68 -58
  10. package/lib/ArticleSidebar/ArticleSidebar.mjs +68 -58
  11. package/lib/ArticleSidebar/styles.css +1 -1
  12. package/lib/Author/Author.cjs +2 -2
  13. package/lib/Author/Author.mjs +2 -2
  14. package/lib/BannerWithTabs/BannerWithTabs.cjs +5 -5
  15. package/lib/BannerWithTabs/BannerWithTabs.mjs +5 -5
  16. package/lib/CopyLead/CopyLead.cjs +12 -12
  17. package/lib/CopyLead/CopyLead.mjs +12 -12
  18. package/lib/DownloadList/DownloadList.cjs +5 -5
  19. package/lib/DownloadList/DownloadList.mjs +5 -5
  20. package/lib/FAQs/FAQs.cjs +6 -6
  21. package/lib/FAQs/FAQs.mjs +6 -6
  22. package/lib/FeaturePost/FeaturePost.cjs +6 -6
  23. package/lib/FeaturePost/FeaturePost.mjs +6 -6
  24. package/lib/HeroLink/HeroLink.cjs +35 -0
  25. package/lib/HeroLink/HeroLink.mjs +33 -0
  26. package/lib/HeroLink/styles.css +1 -0
  27. package/lib/Highlights/Highlights.cjs +9 -16
  28. package/lib/Highlights/Highlights.mjs +7 -14
  29. package/lib/LinkTile/LinkTile.cjs +21 -0
  30. package/lib/LinkTile/LinkTile.mjs +19 -0
  31. package/lib/LinkTile/styles.css +1 -0
  32. package/lib/ProductNavigation/ProductNavigation.cjs +10 -13
  33. package/lib/ProductNavigation/ProductNavigation.mjs +10 -13
  34. package/lib/PromoListing/PromoListing.cjs +17 -9
  35. package/lib/PromoListing/PromoListing.mjs +17 -9
  36. package/lib/Quote/Quote.cjs +3 -3
  37. package/lib/Quote/Quote.mjs +3 -3
  38. package/lib/SectionHeading/SectionHeading.cjs +3 -3
  39. package/lib/SectionHeading/SectionHeading.mjs +3 -3
  40. package/lib/Statistics/Statistics.cjs +6 -6
  41. package/lib/Statistics/Statistics.mjs +6 -6
  42. package/lib/Summary/Summary.cjs +1 -1
  43. package/lib/Summary/Summary.mjs +1 -1
  44. package/lib/_shared/cjs/{Accordion-C4XdbGCu.cjs → Accordion-BCJIm1Gq.cjs} +13 -11
  45. package/lib/_shared/cjs/{Author-X47pv31V.cjs → Author-D4dKNQem.cjs} +2 -2
  46. package/lib/_shared/cjs/BtIconArrowAltRight-CLQdP61r.cjs +11 -0
  47. package/lib/_shared/cjs/BtIconArrowRightFill-BVCZv7Lm.cjs +11 -0
  48. package/lib/_shared/cjs/{SectionHeading-DepTV4JA.cjs → SectionHeading-DeSFM0HV.cjs} +5 -5
  49. package/lib/_shared/cjs/filter-attrs-BizjMsy0.cjs +27 -0
  50. package/lib/_shared/cjs/{index.es-D11PdokQ.cjs → index.es-DzI6hGjj.cjs} +1 -1
  51. package/lib/_shared/esm/{Accordion-Ct7RuUbx.mjs → Accordion-BN_lZk6L.mjs} +13 -11
  52. package/lib/_shared/esm/{Author-CydDYCma.mjs → Author-HnYsFTPT.mjs} +2 -2
  53. package/lib/_shared/esm/BtIconArrowAltRight-VH6RTTnL.mjs +9 -0
  54. package/lib/_shared/esm/BtIconArrowRightFill-D0zKgk3B.mjs +9 -0
  55. package/lib/_shared/esm/{SectionHeading-BayinGP_.mjs → SectionHeading-CpDLCndw.mjs} +5 -5
  56. package/lib/_shared/esm/filter-attrs-DZ7RCEZm.mjs +25 -0
  57. package/lib/_shared/esm/{index.es-C4PyYMjI.mjs → index.es-B6Bolkcx.mjs} +1 -1
  58. package/lib/index.cjs +316 -216
  59. package/lib/index.cjs.map +1 -1
  60. package/lib/index.d.cts +155 -26
  61. package/lib/index.d.mts +155 -26
  62. package/lib/index.mjs +314 -217
  63. package/lib/index.mjs.map +1 -1
  64. package/lib/styles.css +1 -1
  65. package/package.json +14 -14
  66. package/src/components/Accordion/Accordion.module.css +6 -0
  67. package/src/components/Accordion/Accordion.tsx +5 -2
  68. package/src/components/Accordion/components/AccordionDisclosureList/AccordionDisclosureList.tsx +2 -2
  69. package/src/components/Accordion/components/AccordionHeading/AccordionHeading.tsx +3 -4
  70. package/src/components/ActionTile/ActionTile.module.css +89 -0
  71. package/src/components/ActionTile/ActionTile.tsx +70 -0
  72. package/src/components/ActionTile/index.ts +1 -0
  73. package/src/components/ArticleSidebar/ArticleSidebar.module.css +6 -0
  74. package/src/components/ArticleSidebar/ArticleSidebar.tsx +115 -85
  75. package/src/components/ArticleSidebar/types/link-section.ts +2 -1
  76. package/src/components/ArticleSidebar/types/share-button.ts +1 -1
  77. package/src/components/ArticleSidebar/types/share.ts +5 -1
  78. package/src/components/ArticleSidebar/types/text-section.ts +3 -2
  79. package/src/components/ArticleSidebar/types/topic.ts +2 -2
  80. package/src/components/Author/Author.tsx +2 -2
  81. package/src/components/BannerWithTabs/BannerWithTabs.tsx +9 -3
  82. package/src/components/CopyLead/CopyLead.tsx +21 -5
  83. package/src/components/CopyLead/components/MediaContent/MediaContent.tsx +10 -1
  84. package/src/components/CopyLead/templates/Content/Content.tsx +4 -0
  85. package/src/components/CopyLead/templates/Media/Media.tsx +10 -1
  86. package/src/components/CopyLead/types/copy-lead-button.ts +1 -1
  87. package/src/components/CopyLead/types/copy-lead-image.ts +1 -1
  88. package/src/components/DownloadList/DownloadList.tsx +4 -0
  89. package/src/components/FAQs/FAQs.tsx +7 -3
  90. package/src/components/FeaturePost/FeaturePost.tsx +22 -5
  91. package/src/components/FeaturePost/types/feature-post-app-button-footer.ts +1 -1
  92. package/src/components/FeaturePost/types/feature-post-cta-footer.ts +2 -1
  93. package/src/components/FeaturePost/types/feature-post-image.ts +1 -1
  94. package/src/components/HeroLink/HeroLink.module.css +44 -0
  95. package/src/components/HeroLink/HeroLink.tsx +136 -0
  96. package/src/components/HeroLink/index.ts +2 -0
  97. package/src/components/Highlights/Highlights.tsx +6 -1
  98. package/src/components/Highlights/components/HighlightItem/HighlightItem.tsx +1 -0
  99. package/src/components/Highlights/types/highlight-link.ts +1 -0
  100. package/src/components/LinkTile/LinkTile.module.css +57 -0
  101. package/src/components/LinkTile/LinkTile.tsx +38 -0
  102. package/src/components/LinkTile/index.ts +1 -0
  103. package/src/components/ProductNavigation/ProductNavigation.tsx +10 -11
  104. package/src/components/ProductNavigation/types/product-list.ts +1 -8
  105. package/src/components/PromoListing/PromoListing.tsx +67 -3
  106. package/src/components/Quote/Quote.tsx +2 -2
  107. package/src/components/SectionHeading/SectionHeading.tsx +17 -7
  108. package/src/components/Statistics/Statistics.tsx +6 -2
  109. package/src/components/index.ts +3 -0
  110. package/versions.json +1 -1
  111. package/lib/_shared/cjs/filter-data-attrs-ajtUvDAC.cjs +0 -15
  112. package/lib/_shared/esm/filter-data-attrs-V7cbJuwS.mjs +0 -13
package/lib/index.d.cts CHANGED
@@ -1,22 +1,19 @@
1
- import React$1, { ReactNode, FC } from 'react';
1
+ import React$1, { ReactNode, FC, Ref } from 'react';
2
2
  import { HeadingLevel } from '@arc-ui/components/Heading';
3
- import { ImageProps, ImageSourceProps } from '@arc-ui/components/dist/types/components/Image/Image';
3
+ import { ImageProps, ImageSourceProps } from '@arc-ui/components/Image';
4
4
  import { DisclosureProps } from '@arc-ui/components/Disclosure';
5
5
  import { AvatarProps } from '@arc-ui/components/Avatar';
6
- import { HeadingLevel as HeadingLevel$1 } from '@arc-ui/components/dist/Heading';
7
- import { VideoPlayerProps } from '@arc-ui/components/dist/VideoPlayer';
8
- import { ButtonProps } from '@arc-ui/components/dist/types/components/Button/Button';
6
+ import { VideoPlayerProps } from '@arc-ui/components/VideoPlayer';
7
+ import { ButtonProps } from '@arc-ui/components/Button';
9
8
  import { DownloadProps } from '@arc-ui/components/Download';
10
- import { VideoPlayerProps as VideoPlayerProps$1 } from '@arc-ui/components/VideoPlayer';
11
- import { AppButtonProps } from '@arc-ui/components/dist/types/components/AppButton';
9
+ import { AppButtonProps } from '@arc-ui/components/AppButton';
12
10
  import { ButtonV2Props } from '@arc-ui/components/ButtonV2';
13
11
  import { MediaCardProps } from '@arc-ui/components/MediaCard';
14
12
  import { ImpactCardProps } from '@arc-ui/components/ImpactCard';
15
13
  import { InformationCardProps } from '@arc-ui/components/InformationCard';
16
14
  import { TypographyCardProps } from '@arc-ui/components/TypographyCard';
17
- import { TemplateBannerProps } from '@arc-ui/components/dist/types/components/TemplateBanner/TemplateBanner';
18
- import { TagProps } from '@arc-ui/components/dist/types/components/Tag/Tag';
19
- import { ButtonV2Props as ButtonV2Props$1 } from '@arc-ui/components/types/components/ButtonV2/ButtonV2';
15
+ import { TemplateBannerProps } from '@arc-ui/components/TemplateBanner';
16
+ import { TagProps } from '@arc-ui/components/Tag';
20
17
 
21
18
  interface AccordionHeadingProps {
22
19
  /**
@@ -105,7 +102,15 @@ interface CopyLeadProps {
105
102
  /**
106
103
  * Determine a heading level for `<MediaTemplate />` and `<ContentTemplate />`
107
104
  */
108
- headingLevel?: HeadingLevel$1;
105
+ headingLevel?: HeadingLevel;
106
+ /**
107
+ * id for the heading of `<MediaTemplate />` and `<ContentTemplate />`
108
+ */
109
+ id?: string;
110
+ /**
111
+ * Word wrap behavior for the heading
112
+ */
113
+ isHeadingWordWrap?: boolean;
109
114
  /**
110
115
  * Reverse the columns so the image / video appears on the left. Doesn't affect mobile layouts, and is only applied if there is a video or an image.
111
116
  */
@@ -146,6 +151,10 @@ interface SectionHeadingProps {
146
151
  * Determine a heading level for `SectionHeading`.
147
152
  */
148
153
  headingLevel?: HeadingLevel;
154
+ /**
155
+ * Word wrap behavior for the heading
156
+ */
157
+ isHeadingWordWrap?: boolean;
149
158
  /**
150
159
  * Text content for `SectionHeading`.
151
160
  */
@@ -200,14 +209,22 @@ interface FeaturePostProps {
200
209
  * heading for `FeaturePost`.
201
210
  */
202
211
  heading: string;
212
+ /**
213
+ * id for `FeaturePost`.
214
+ */
215
+ id?: string;
203
216
  /**
204
217
  * Determine a heading level for `<FeaturePost />`
205
218
  */
206
219
  headingLevel?: HeadingLevel;
220
+ /**
221
+ * Word wrap behavior for the heading
222
+ */
223
+ isHeadingWordWrap?: boolean;
207
224
  /**
208
225
  * Text content for `FeaturePost`.
209
226
  */
210
- content: string;
227
+ content: string | ReactNode;
211
228
  /**
212
229
  * Reverse the columns so the image / video appears on the left. Doesn't affect mobile layouts, and is only applied if there is a video or an image.
213
230
  */
@@ -230,12 +247,13 @@ interface FeaturePostProps {
230
247
  /**
231
248
  * Video embed. Supported platforms are YouTube and Vimeo.
232
249
  */
233
- video?: VideoPlayerProps$1;
250
+ video?: VideoPlayerProps;
234
251
  }
235
252
 
236
253
  interface HighlightLink {
237
254
  url: string;
238
255
  textLink: string;
256
+ ariaLabel?: string;
239
257
  onClick?: (e: React.MouseEvent) => void;
240
258
  }
241
259
 
@@ -271,7 +289,7 @@ interface HighlightsProps extends Omit<SectionHeadingProps, "isPadded"> {
271
289
  /**
272
290
  * CTA configuration for Highlights
273
291
  */
274
- type HighlightsCTAProps = Pick<ButtonV2Props, "label" | "href" | "onClick" | "iconPosition"> & {
292
+ type HighlightsCTAProps = Pick<ButtonV2Props, "label" | "href" | "onClick" | "iconPosition" | "ariaLabel"> & {
275
293
  /**
276
294
  * Allowed button styles only.
277
295
  * Primary is intentionally NOT supported.
@@ -317,6 +335,31 @@ interface PromoListingProps extends Omit<SectionHeadingProps, "isPadded"> {
317
335
  * Number of columns for desktop breakpoints. "2" and "3" column options available.
318
336
  */
319
337
  columns?: "2" | "3";
338
+ /**
339
+ * Optional button configuration displayed above the cards.
340
+ */
341
+ button?: PromoListingButton;
342
+ /**
343
+ * Text label displayed above the main heading in overline style
344
+ */
345
+ overlineLabel?: string;
346
+ /**
347
+ * Heading level for the overline label
348
+ */
349
+ overlineHeadingLevel?: HeadingLevel;
350
+ }
351
+ /**
352
+ * Button configuration for PromoListing component.
353
+ */
354
+ interface PromoListingButton extends Omit<ButtonV2Props, "buttonStyle" | "icon" | "size"> {
355
+ /**
356
+ * Style variant for the button. Defaults to "secondary".
357
+ */
358
+ buttonStyle?: "secondary" | "compact";
359
+ /**
360
+ * Optional prop to pass additional props to the button. Only data-* and aria-* will work.
361
+ */
362
+ [key: string]: unknown;
320
363
  }
321
364
 
322
365
  /**
@@ -404,32 +447,37 @@ interface BannerWithTabsProps extends Omit<SectionHeadingProps, "image" | "isPad
404
447
 
405
448
  interface TextSection {
406
449
  heading: string;
407
- content: string;
408
- headingLevel?: HeadingLevel$1;
450
+ content: string | ReactNode;
451
+ headingLevel?: HeadingLevel;
409
452
  }
410
453
 
411
454
  interface Link {
412
455
  text: string;
413
456
  url: string;
457
+ ariaLabel?: string;
414
458
  }
415
459
  interface LinkSection {
416
460
  heading: string;
417
461
  links: Link[];
418
- headingLevel?: HeadingLevel$1;
462
+ headingLevel?: HeadingLevel;
419
463
  }
420
464
 
421
465
  interface Topic {
422
466
  heading: string;
423
467
  tags: TagProps[];
424
- headingLevel?: HeadingLevel$1;
468
+ headingLevel?: HeadingLevel;
425
469
  }
426
470
 
427
471
  interface Share {
428
472
  heading: string;
429
473
  articleTitle: string;
430
474
  x?: boolean;
431
- headingLevel?: HeadingLevel$1;
475
+ headingLevel?: HeadingLevel;
432
476
  linkedin?: boolean;
477
+ linkedInAriaLabel?: string;
478
+ xAriaLabel?: string;
479
+ clipboardAriaLabel?: string;
480
+ emailAriaLabel?: string;
433
481
  }
434
482
 
435
483
  interface SidebarAuthor extends AuthorProps {
@@ -456,7 +504,7 @@ interface ArticleSidebarProps {
456
504
  /**
457
505
  * Links that are relevant to the article.
458
506
  */
459
- linkSection: LinkSection;
507
+ linkSection?: LinkSection;
460
508
  /**
461
509
  * Topics rendered as tags that are relevant to the article.
462
510
  */
@@ -464,12 +512,10 @@ interface ArticleSidebarProps {
464
512
  /**
465
513
  * Sharing options for the article.
466
514
  */
467
- share: Share;
515
+ share?: Share;
468
516
  }
469
517
 
470
- type ListInformationCardButtonProps = Pick<ButtonV2Props$1, "label" | "onClick" | "href">;
471
- type ListInformationCardProps = Pick<InformationCardProps, "heading" | "text">;
472
- type ListProps = ListInformationCardButtonProps & ListInformationCardProps;
518
+ type ListProps = InformationCardProps;
473
519
 
474
520
  /**
475
521
  * Use `ProductNavigation` to give a collection of product information cards collected within a grid that has optional show/hide capability
@@ -524,5 +570,88 @@ interface ContentInfoWidgetProps {
524
570
  text: string;
525
571
  }
526
572
 
527
- export { Accordion, ArticleSidebar, Author, BannerWithTabs, ContentInfoWidget, CopyLead, DownloadList, FAQs, FeaturePost, Highlights, ProductNavigation, PromoListing, Quote, SectionHeading, Statistics, Summary };
528
- export type { AccordionProps, ArticleSidebarProps, AuthorProps, BannerWithTabsProps, ContentInfoWidgetProps, CopyLeadProps, DownloadListProps, FAQsProps, FeaturePostProps, HighlightsProps, ListProps, ProductNavigationProps, PromoListingProps, QuoteProps, SectionHeadingProps, StatisticsProps, SummaryProps };
573
+ type ElementUnion = HTMLButtonElement | HTMLAnchorElement;
574
+ type ButtonRef = Ref<ElementUnion> | null;
575
+ /**
576
+ * Pill-style HeroLink component with default and hover states
577
+ */
578
+ declare const HeroLink: ({ label, onClick, href, id, rel, target, ariaLabel, ref, ...props }: HeroLinkProps) => JSX.Element;
579
+ interface LinkElementProps {
580
+ /**
581
+ * URL to link to if `HeroButton` elementType is 'a'.
582
+ */
583
+ href?: string;
584
+ /**
585
+ * Target window for the `HeroButton` href URL.
586
+ */
587
+ target?: string;
588
+ /**
589
+ * Relationship between the Button href URL and the current page. See
590
+ * [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel).
591
+ */
592
+ rel?: string;
593
+ }
594
+ interface HeroButtonElementProps {
595
+ /**
596
+ * Default behavior of the Button element. If not provided, 'submit' will
597
+ * be inferred. Type 'reset' deliberately excluded.
598
+ */
599
+ type?: "button" | "submit";
600
+ /**
601
+ * Refers to the id of a form so it can be submitted if the button exists outside of it.
602
+ */
603
+ form?: string;
604
+ }
605
+ interface HeroLinkProps extends HeroButtonElementProps, LinkElementProps {
606
+ /**
607
+ * Label for `HeroLink`
608
+ */
609
+ label?: string;
610
+ /**
611
+ * Optional click handler for the `HeroLink`.
612
+ */
613
+ onClick?: () => void;
614
+ /**
615
+ * Optional property to provide component Ref
616
+ */
617
+ ref?: ButtonRef;
618
+ /**
619
+ * Text to override `label` with additional, more precise information
620
+ * specifically for screen reader users.
621
+ */
622
+ ariaLabel?: string;
623
+ /**
624
+ * HTML ID for the `HeroLink`
625
+ */
626
+ id?: string;
627
+ }
628
+
629
+ declare const ActionTile: React$1.FC<ActionTileProps>;
630
+ interface ActionTileProps extends React$1.HTMLAttributes<HTMLDivElement> {
631
+ /**
632
+ * Optional icon to display
633
+ */
634
+ icon?: string;
635
+ /**
636
+ * Heading text (required)
637
+ */
638
+ heading: string;
639
+ /**
640
+ * Whether the tile is in active/selected state
641
+ */
642
+ isActive?: boolean;
643
+ /**
644
+ * Click handler
645
+ */
646
+ onClick?: () => void;
647
+ }
648
+
649
+ declare const LinkTile: React$1.FC<LinkTileProps>;
650
+ interface LinkTileProps extends React$1.HTMLAttributes<HTMLDivElement> {
651
+ text?: string;
652
+ href?: string;
653
+ showIcon?: boolean;
654
+ }
655
+
656
+ export { Accordion, ActionTile, ArticleSidebar, Author, BannerWithTabs, ContentInfoWidget, CopyLead, DownloadList, FAQs, FeaturePost, HeroLink, Highlights, LinkTile, ProductNavigation, PromoListing, Quote, SectionHeading, Statistics, Summary };
657
+ export type { AccordionProps, ActionTileProps, ArticleSidebarProps, AuthorProps, BannerWithTabsProps, ContentInfoWidgetProps, CopyLeadProps, DownloadListProps, FAQsProps, FeaturePostProps, HeroLinkProps, HighlightsProps, LinkTileProps, ListProps, ProductNavigationProps, PromoListingProps, QuoteProps, SectionHeadingProps, StatisticsProps, SummaryProps };
package/lib/index.d.mts CHANGED
@@ -1,22 +1,19 @@
1
- import React$1, { ReactNode, FC } from 'react';
1
+ import React$1, { ReactNode, FC, Ref } from 'react';
2
2
  import { HeadingLevel } from '@arc-ui/components/Heading';
3
- import { ImageProps, ImageSourceProps } from '@arc-ui/components/dist/types/components/Image/Image';
3
+ import { ImageProps, ImageSourceProps } from '@arc-ui/components/Image';
4
4
  import { DisclosureProps } from '@arc-ui/components/Disclosure';
5
5
  import { AvatarProps } from '@arc-ui/components/Avatar';
6
- import { HeadingLevel as HeadingLevel$1 } from '@arc-ui/components/dist/Heading';
7
- import { VideoPlayerProps } from '@arc-ui/components/dist/VideoPlayer';
8
- import { ButtonProps } from '@arc-ui/components/dist/types/components/Button/Button';
6
+ import { VideoPlayerProps } from '@arc-ui/components/VideoPlayer';
7
+ import { ButtonProps } from '@arc-ui/components/Button';
9
8
  import { DownloadProps } from '@arc-ui/components/Download';
10
- import { VideoPlayerProps as VideoPlayerProps$1 } from '@arc-ui/components/VideoPlayer';
11
- import { AppButtonProps } from '@arc-ui/components/dist/types/components/AppButton';
9
+ import { AppButtonProps } from '@arc-ui/components/AppButton';
12
10
  import { ButtonV2Props } from '@arc-ui/components/ButtonV2';
13
11
  import { MediaCardProps } from '@arc-ui/components/MediaCard';
14
12
  import { ImpactCardProps } from '@arc-ui/components/ImpactCard';
15
13
  import { InformationCardProps } from '@arc-ui/components/InformationCard';
16
14
  import { TypographyCardProps } from '@arc-ui/components/TypographyCard';
17
- import { TemplateBannerProps } from '@arc-ui/components/dist/types/components/TemplateBanner/TemplateBanner';
18
- import { TagProps } from '@arc-ui/components/dist/types/components/Tag/Tag';
19
- import { ButtonV2Props as ButtonV2Props$1 } from '@arc-ui/components/types/components/ButtonV2/ButtonV2';
15
+ import { TemplateBannerProps } from '@arc-ui/components/TemplateBanner';
16
+ import { TagProps } from '@arc-ui/components/Tag';
20
17
 
21
18
  interface AccordionHeadingProps {
22
19
  /**
@@ -105,7 +102,15 @@ interface CopyLeadProps {
105
102
  /**
106
103
  * Determine a heading level for `<MediaTemplate />` and `<ContentTemplate />`
107
104
  */
108
- headingLevel?: HeadingLevel$1;
105
+ headingLevel?: HeadingLevel;
106
+ /**
107
+ * id for the heading of `<MediaTemplate />` and `<ContentTemplate />`
108
+ */
109
+ id?: string;
110
+ /**
111
+ * Word wrap behavior for the heading
112
+ */
113
+ isHeadingWordWrap?: boolean;
109
114
  /**
110
115
  * Reverse the columns so the image / video appears on the left. Doesn't affect mobile layouts, and is only applied if there is a video or an image.
111
116
  */
@@ -146,6 +151,10 @@ interface SectionHeadingProps {
146
151
  * Determine a heading level for `SectionHeading`.
147
152
  */
148
153
  headingLevel?: HeadingLevel;
154
+ /**
155
+ * Word wrap behavior for the heading
156
+ */
157
+ isHeadingWordWrap?: boolean;
149
158
  /**
150
159
  * Text content for `SectionHeading`.
151
160
  */
@@ -200,14 +209,22 @@ interface FeaturePostProps {
200
209
  * heading for `FeaturePost`.
201
210
  */
202
211
  heading: string;
212
+ /**
213
+ * id for `FeaturePost`.
214
+ */
215
+ id?: string;
203
216
  /**
204
217
  * Determine a heading level for `<FeaturePost />`
205
218
  */
206
219
  headingLevel?: HeadingLevel;
220
+ /**
221
+ * Word wrap behavior for the heading
222
+ */
223
+ isHeadingWordWrap?: boolean;
207
224
  /**
208
225
  * Text content for `FeaturePost`.
209
226
  */
210
- content: string;
227
+ content: string | ReactNode;
211
228
  /**
212
229
  * Reverse the columns so the image / video appears on the left. Doesn't affect mobile layouts, and is only applied if there is a video or an image.
213
230
  */
@@ -230,12 +247,13 @@ interface FeaturePostProps {
230
247
  /**
231
248
  * Video embed. Supported platforms are YouTube and Vimeo.
232
249
  */
233
- video?: VideoPlayerProps$1;
250
+ video?: VideoPlayerProps;
234
251
  }
235
252
 
236
253
  interface HighlightLink {
237
254
  url: string;
238
255
  textLink: string;
256
+ ariaLabel?: string;
239
257
  onClick?: (e: React.MouseEvent) => void;
240
258
  }
241
259
 
@@ -271,7 +289,7 @@ interface HighlightsProps extends Omit<SectionHeadingProps, "isPadded"> {
271
289
  /**
272
290
  * CTA configuration for Highlights
273
291
  */
274
- type HighlightsCTAProps = Pick<ButtonV2Props, "label" | "href" | "onClick" | "iconPosition"> & {
292
+ type HighlightsCTAProps = Pick<ButtonV2Props, "label" | "href" | "onClick" | "iconPosition" | "ariaLabel"> & {
275
293
  /**
276
294
  * Allowed button styles only.
277
295
  * Primary is intentionally NOT supported.
@@ -317,6 +335,31 @@ interface PromoListingProps extends Omit<SectionHeadingProps, "isPadded"> {
317
335
  * Number of columns for desktop breakpoints. "2" and "3" column options available.
318
336
  */
319
337
  columns?: "2" | "3";
338
+ /**
339
+ * Optional button configuration displayed above the cards.
340
+ */
341
+ button?: PromoListingButton;
342
+ /**
343
+ * Text label displayed above the main heading in overline style
344
+ */
345
+ overlineLabel?: string;
346
+ /**
347
+ * Heading level for the overline label
348
+ */
349
+ overlineHeadingLevel?: HeadingLevel;
350
+ }
351
+ /**
352
+ * Button configuration for PromoListing component.
353
+ */
354
+ interface PromoListingButton extends Omit<ButtonV2Props, "buttonStyle" | "icon" | "size"> {
355
+ /**
356
+ * Style variant for the button. Defaults to "secondary".
357
+ */
358
+ buttonStyle?: "secondary" | "compact";
359
+ /**
360
+ * Optional prop to pass additional props to the button. Only data-* and aria-* will work.
361
+ */
362
+ [key: string]: unknown;
320
363
  }
321
364
 
322
365
  /**
@@ -404,32 +447,37 @@ interface BannerWithTabsProps extends Omit<SectionHeadingProps, "image" | "isPad
404
447
 
405
448
  interface TextSection {
406
449
  heading: string;
407
- content: string;
408
- headingLevel?: HeadingLevel$1;
450
+ content: string | ReactNode;
451
+ headingLevel?: HeadingLevel;
409
452
  }
410
453
 
411
454
  interface Link {
412
455
  text: string;
413
456
  url: string;
457
+ ariaLabel?: string;
414
458
  }
415
459
  interface LinkSection {
416
460
  heading: string;
417
461
  links: Link[];
418
- headingLevel?: HeadingLevel$1;
462
+ headingLevel?: HeadingLevel;
419
463
  }
420
464
 
421
465
  interface Topic {
422
466
  heading: string;
423
467
  tags: TagProps[];
424
- headingLevel?: HeadingLevel$1;
468
+ headingLevel?: HeadingLevel;
425
469
  }
426
470
 
427
471
  interface Share {
428
472
  heading: string;
429
473
  articleTitle: string;
430
474
  x?: boolean;
431
- headingLevel?: HeadingLevel$1;
475
+ headingLevel?: HeadingLevel;
432
476
  linkedin?: boolean;
477
+ linkedInAriaLabel?: string;
478
+ xAriaLabel?: string;
479
+ clipboardAriaLabel?: string;
480
+ emailAriaLabel?: string;
433
481
  }
434
482
 
435
483
  interface SidebarAuthor extends AuthorProps {
@@ -456,7 +504,7 @@ interface ArticleSidebarProps {
456
504
  /**
457
505
  * Links that are relevant to the article.
458
506
  */
459
- linkSection: LinkSection;
507
+ linkSection?: LinkSection;
460
508
  /**
461
509
  * Topics rendered as tags that are relevant to the article.
462
510
  */
@@ -464,12 +512,10 @@ interface ArticleSidebarProps {
464
512
  /**
465
513
  * Sharing options for the article.
466
514
  */
467
- share: Share;
515
+ share?: Share;
468
516
  }
469
517
 
470
- type ListInformationCardButtonProps = Pick<ButtonV2Props$1, "label" | "onClick" | "href">;
471
- type ListInformationCardProps = Pick<InformationCardProps, "heading" | "text">;
472
- type ListProps = ListInformationCardButtonProps & ListInformationCardProps;
518
+ type ListProps = InformationCardProps;
473
519
 
474
520
  /**
475
521
  * Use `ProductNavigation` to give a collection of product information cards collected within a grid that has optional show/hide capability
@@ -524,5 +570,88 @@ interface ContentInfoWidgetProps {
524
570
  text: string;
525
571
  }
526
572
 
527
- export { Accordion, ArticleSidebar, Author, BannerWithTabs, ContentInfoWidget, CopyLead, DownloadList, FAQs, FeaturePost, Highlights, ProductNavigation, PromoListing, Quote, SectionHeading, Statistics, Summary };
528
- export type { AccordionProps, ArticleSidebarProps, AuthorProps, BannerWithTabsProps, ContentInfoWidgetProps, CopyLeadProps, DownloadListProps, FAQsProps, FeaturePostProps, HighlightsProps, ListProps, ProductNavigationProps, PromoListingProps, QuoteProps, SectionHeadingProps, StatisticsProps, SummaryProps };
573
+ type ElementUnion = HTMLButtonElement | HTMLAnchorElement;
574
+ type ButtonRef = Ref<ElementUnion> | null;
575
+ /**
576
+ * Pill-style HeroLink component with default and hover states
577
+ */
578
+ declare const HeroLink: ({ label, onClick, href, id, rel, target, ariaLabel, ref, ...props }: HeroLinkProps) => JSX.Element;
579
+ interface LinkElementProps {
580
+ /**
581
+ * URL to link to if `HeroButton` elementType is 'a'.
582
+ */
583
+ href?: string;
584
+ /**
585
+ * Target window for the `HeroButton` href URL.
586
+ */
587
+ target?: string;
588
+ /**
589
+ * Relationship between the Button href URL and the current page. See
590
+ * [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel).
591
+ */
592
+ rel?: string;
593
+ }
594
+ interface HeroButtonElementProps {
595
+ /**
596
+ * Default behavior of the Button element. If not provided, 'submit' will
597
+ * be inferred. Type 'reset' deliberately excluded.
598
+ */
599
+ type?: "button" | "submit";
600
+ /**
601
+ * Refers to the id of a form so it can be submitted if the button exists outside of it.
602
+ */
603
+ form?: string;
604
+ }
605
+ interface HeroLinkProps extends HeroButtonElementProps, LinkElementProps {
606
+ /**
607
+ * Label for `HeroLink`
608
+ */
609
+ label?: string;
610
+ /**
611
+ * Optional click handler for the `HeroLink`.
612
+ */
613
+ onClick?: () => void;
614
+ /**
615
+ * Optional property to provide component Ref
616
+ */
617
+ ref?: ButtonRef;
618
+ /**
619
+ * Text to override `label` with additional, more precise information
620
+ * specifically for screen reader users.
621
+ */
622
+ ariaLabel?: string;
623
+ /**
624
+ * HTML ID for the `HeroLink`
625
+ */
626
+ id?: string;
627
+ }
628
+
629
+ declare const ActionTile: React$1.FC<ActionTileProps>;
630
+ interface ActionTileProps extends React$1.HTMLAttributes<HTMLDivElement> {
631
+ /**
632
+ * Optional icon to display
633
+ */
634
+ icon?: string;
635
+ /**
636
+ * Heading text (required)
637
+ */
638
+ heading: string;
639
+ /**
640
+ * Whether the tile is in active/selected state
641
+ */
642
+ isActive?: boolean;
643
+ /**
644
+ * Click handler
645
+ */
646
+ onClick?: () => void;
647
+ }
648
+
649
+ declare const LinkTile: React$1.FC<LinkTileProps>;
650
+ interface LinkTileProps extends React$1.HTMLAttributes<HTMLDivElement> {
651
+ text?: string;
652
+ href?: string;
653
+ showIcon?: boolean;
654
+ }
655
+
656
+ export { Accordion, ActionTile, ArticleSidebar, Author, BannerWithTabs, ContentInfoWidget, CopyLead, DownloadList, FAQs, FeaturePost, HeroLink, Highlights, LinkTile, ProductNavigation, PromoListing, Quote, SectionHeading, Statistics, Summary };
657
+ export type { AccordionProps, ActionTileProps, ArticleSidebarProps, AuthorProps, BannerWithTabsProps, ContentInfoWidgetProps, CopyLeadProps, DownloadListProps, FAQsProps, FeaturePostProps, HeroLinkProps, HighlightsProps, LinkTileProps, ListProps, ProductNavigationProps, PromoListingProps, QuoteProps, SectionHeadingProps, StatisticsProps, SummaryProps };