@arc-ui/community-components 3.3.0 → 3.5.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 (142) hide show
  1. package/.turbo/turbo-build.log +135 -15
  2. package/CHANGELOG.md +22 -0
  3. package/lib/Accordion/Accordion.cjs +3 -2
  4. package/lib/Accordion/Accordion.mjs +3 -2
  5. package/lib/ActionTile/ActionTile.cjs +7 -5
  6. package/lib/ActionTile/ActionTile.mjs +13 -11
  7. package/lib/ActionTile/styles.css +1 -1
  8. package/lib/ArticleSidebar/ArticleSidebar.cjs +10 -9
  9. package/lib/ArticleSidebar/ArticleSidebar.mjs +46 -45
  10. package/lib/Author/Author.cjs +3 -2
  11. package/lib/Author/Author.mjs +3 -2
  12. package/lib/BannerWithTabs/BannerWithTabs.cjs +5 -4
  13. package/lib/BannerWithTabs/BannerWithTabs.mjs +8 -7
  14. package/lib/BusinessSegmentSwitcher/BusinessSegmentSwitcher.cjs +81 -0
  15. package/lib/BusinessSegmentSwitcher/BusinessSegmentSwitcher.mjs +79 -0
  16. package/lib/BusinessSegmentSwitcher/styles.css +1 -0
  17. package/lib/ContentInfoWidget/ContentInfoWidget.cjs +4 -3
  18. package/lib/ContentInfoWidget/ContentInfoWidget.mjs +8 -7
  19. package/lib/CopyLead/CopyLead.cjs +33 -22
  20. package/lib/CopyLead/CopyLead.mjs +61 -50
  21. package/lib/DownloadList/DownloadList.cjs +6 -5
  22. package/lib/DownloadList/DownloadList.mjs +11 -10
  23. package/lib/FAQs/FAQs.cjs +6 -5
  24. package/lib/FAQs/FAQs.mjs +23 -22
  25. package/lib/FeaturePost/FeaturePost.cjs +13 -12
  26. package/lib/FeaturePost/FeaturePost.mjs +55 -54
  27. package/lib/Highlights/Highlights.cjs +11 -10
  28. package/lib/Highlights/Highlights.mjs +21 -20
  29. package/lib/InlineLinkGroup/InlineLinkGroup.cjs +4 -3
  30. package/lib/InlineLinkGroup/InlineLinkGroup.mjs +12 -11
  31. package/lib/LinkTile/LinkTile.cjs +3 -3
  32. package/lib/LinkTile/LinkTile.mjs +6 -6
  33. package/lib/LinkTile/styles.css +1 -1
  34. package/lib/ProductNavigation/ProductNavigation.cjs +7 -6
  35. package/lib/ProductNavigation/ProductNavigation.mjs +19 -18
  36. package/lib/PromoListing/PromoListing.cjs +8 -7
  37. package/lib/PromoListing/PromoListing.mjs +17 -16
  38. package/lib/PromoListingThumbnailSignpost/PromoListingThumbnailSignpost.cjs +8 -7
  39. package/lib/PromoListingThumbnailSignpost/PromoListingThumbnailSignpost.mjs +10 -9
  40. package/lib/Quote/Quote.cjs +6 -5
  41. package/lib/Quote/Quote.mjs +10 -9
  42. package/lib/SectionHeading/SectionHeading.cjs +3 -2
  43. package/lib/SectionHeading/SectionHeading.mjs +3 -2
  44. package/lib/Statistics/Statistics.cjs +6 -5
  45. package/lib/Statistics/Statistics.mjs +33 -32
  46. package/lib/Summary/Summary.cjs +5 -4
  47. package/lib/Summary/Summary.mjs +13 -12
  48. package/lib/ThumbnailSignpost/ThumbnailSignpost.cjs +3 -2
  49. package/lib/ThumbnailSignpost/ThumbnailSignpost.mjs +3 -2
  50. package/lib/VideoHeroCard/VideoHeroCard.cjs +77 -0
  51. package/lib/VideoHeroCard/VideoHeroCard.mjs +75 -0
  52. package/lib/VideoPortraitCard/VideoPortraitCard.cjs +23 -0
  53. package/lib/VideoPortraitCard/VideoPortraitCard.mjs +21 -0
  54. package/lib/_shared/cjs/{Accordion-QqDoB3pY.cjs → Accordion-DfNGOjTm.cjs} +9 -8
  55. package/lib/_shared/cjs/{Author-aL8YXi7C.cjs → Author-D4dKNQem.cjs} +5 -4
  56. package/lib/_shared/cjs/Preview-Dx1kCzJ1.cjs +102 -0
  57. package/lib/_shared/cjs/{SectionHeading-Dj-dJfv3.cjs → SectionHeading-DeSFM0HV.cjs} +5 -4
  58. package/lib/_shared/cjs/{ThumbnailSignpost-SBnrGooA.cjs → ThumbnailSignpost-GkOiwt-Z.cjs} +5 -4
  59. package/lib/_shared/cjs/VideoCardThumbnail-N5iC-cAU.cjs +441 -0
  60. package/lib/_shared/cjs/dash.all.min-BPXzla24.cjs +6 -0
  61. package/lib/_shared/cjs/filter-attrs-BizjMsy0.cjs +27 -0
  62. package/lib/_shared/cjs/hls-Ckhp5fVA.cjs +36628 -0
  63. package/lib/_shared/cjs/index-DjiIVIaV.cjs +96 -0
  64. package/lib/_shared/cjs/index-oGP6D6gL.cjs +14826 -0
  65. package/lib/_shared/cjs/{index.es-Dq8bYrbW.cjs → index.es-B0J3cvrY.cjs} +1 -1
  66. package/lib/_shared/cjs/mixin-BFwaXKGB.cjs +1027 -0
  67. package/lib/_shared/cjs/react-CEvhi3LL.cjs +737 -0
  68. package/lib/_shared/cjs/react-CqsEClV0.cjs +466 -0
  69. package/lib/_shared/cjs/react-DE6M3seI.cjs +496 -0
  70. package/lib/_shared/cjs/react-Dri2yjKm.cjs +554 -0
  71. package/lib/_shared/cjs/react-DxToimBj.cjs +4239 -0
  72. package/lib/_shared/cjs/react-JTfV8OSA.cjs +325 -0
  73. package/lib/_shared/cjs/react-caXJFZ8W.cjs +400 -0
  74. package/lib/_shared/cjs/react-fep2ei7j.cjs +727 -0
  75. package/lib/_shared/cjs/{filter-attrs-C26zOt4_.cjs → tslib.es6-BxB9I209.cjs} +0 -25
  76. package/lib/_shared/esm/{Accordion-DrOTh90S.mjs → Accordion-DSRlkcXi.mjs} +17 -16
  77. package/lib/_shared/esm/Author-CLMgH9ES.mjs +28 -0
  78. package/lib/_shared/esm/Preview-CmbKOgEO.mjs +100 -0
  79. package/lib/_shared/esm/{SectionHeading-DZOg_gYi.mjs → SectionHeading-DSwsdNSp.mjs} +11 -10
  80. package/lib/_shared/esm/{ThumbnailSignpost-DaZByYIH.mjs → ThumbnailSignpost-BtaHAB0h.mjs} +14 -13
  81. package/lib/_shared/esm/VideoCardThumbnail-Tbh7Xi-X.mjs +438 -0
  82. package/lib/_shared/esm/dash.all.min-CbWI_8dN.mjs +4 -0
  83. package/lib/_shared/esm/filter-attrs-DZ7RCEZm.mjs +25 -0
  84. package/lib/_shared/esm/hls-AFbJDS9D.mjs +36625 -0
  85. package/lib/_shared/esm/index-CrcIrdjn.mjs +14799 -0
  86. package/lib/_shared/esm/index-DYnuIO1L.mjs +94 -0
  87. package/lib/_shared/esm/{index.es-Bfdys5__.mjs → index.es-DraZ-qKh.mjs} +1 -1
  88. package/lib/_shared/esm/mixin-BGGG8VrM.mjs +1024 -0
  89. package/lib/_shared/esm/react-BGimq-TB.mjs +4237 -0
  90. package/lib/_shared/esm/react-BHT4t_eQ.mjs +494 -0
  91. package/lib/_shared/esm/react-BSd0sGcO.mjs +464 -0
  92. package/lib/_shared/esm/react-CSr43fZV.mjs +552 -0
  93. package/lib/_shared/esm/react-Ca6E7Fr-.mjs +398 -0
  94. package/lib/_shared/esm/react-DG070IvZ.mjs +725 -0
  95. package/lib/_shared/esm/react-DZyqy7W7.mjs +735 -0
  96. package/lib/_shared/esm/react-WW_9iHcl.mjs +323 -0
  97. package/lib/_shared/esm/{filter-attrs-D-1kWaCP.mjs → tslib.es6-BVXMhEem.mjs} +1 -25
  98. package/lib/index.cjs +323 -125
  99. package/lib/index.cjs.map +1 -1
  100. package/lib/index.d.cts +114 -3
  101. package/lib/index.d.mts +114 -3
  102. package/lib/index.mjs +321 -126
  103. package/lib/index.mjs.map +1 -1
  104. package/lib/styles.css +1 -1
  105. package/package.json +16 -13
  106. package/rollup.config.js +1 -1
  107. package/src/components/ActionTile/ActionTile.module.css +1 -0
  108. package/src/components/ActionTile/ActionTile.tsx +11 -3
  109. package/src/components/BusinessSegmentSwitcher/BusinessSegmentSwitcher.module.css +92 -0
  110. package/src/components/BusinessSegmentSwitcher/BusinessSegmentSwitcher.tsx +119 -0
  111. package/src/components/BusinessSegmentSwitcher/helpers/renderBusinessSegmentSwitcherCarousel.tsx +45 -0
  112. package/src/components/BusinessSegmentSwitcher/helpers/renderCard.tsx +17 -0
  113. package/src/components/BusinessSegmentSwitcher/index.ts +9 -0
  114. package/src/components/BusinessSegmentSwitcher/types/types.ts +45 -0
  115. package/src/components/CopyLead/components/MediaContent/MediaContent.tsx +7 -6
  116. package/src/components/CopyLead/templates/Content/Content.tsx +5 -3
  117. package/src/components/CopyLead/templates/Media/Media.tsx +5 -6
  118. package/src/components/LinkTile/LinkTile.module.css +8 -4
  119. package/src/components/LinkTile/LinkTile.tsx +1 -2
  120. package/src/components/PromoListingThumbnailSignpost/PromoListingThumbnailSignpost.tsx +2 -0
  121. package/src/components/VideoHeroCard/VideoHeroCard.tsx +63 -0
  122. package/src/components/VideoHeroCard/components/VideoHeroCardContent/VideoHeroCardContent.module.css +32 -0
  123. package/src/components/VideoHeroCard/components/VideoHeroCardContent/VideoHeroCardContent.tsx +97 -0
  124. package/src/components/VideoHeroCard/components/VideoHeroCardContent/index.ts +4 -0
  125. package/src/components/VideoHeroCard/index.ts +1 -0
  126. package/src/components/VideoPortraitCard/VideoPortraitCard.tsx +54 -0
  127. package/src/components/VideoPortraitCard/index.ts +4 -0
  128. package/src/components/index.ts +3 -0
  129. package/src/internal/MultiLineText/MultiLineText.tsx +25 -0
  130. package/src/internal/MultiLineText/index.ts +1 -0
  131. package/src/internal/VideoCardPlayer/VideoCardPlayer.module.css +54 -0
  132. package/src/internal/VideoCardPlayer/VideoCardPlayer.tsx +62 -0
  133. package/src/internal/VideoCardPlayer/components/VideoCardPlayIcon/VideoCardPlayIcon.module.css +41 -0
  134. package/src/internal/VideoCardPlayer/components/VideoCardPlayIcon/VideoCardPlayIcon.tsx +28 -0
  135. package/src/internal/VideoCardPlayer/components/VideoCardPlayIcon/index.ts +1 -0
  136. package/src/internal/VideoCardPlayer/components/VideoCardThumbnail/VideoCardThumbnail.module.css +58 -0
  137. package/src/internal/VideoCardPlayer/components/VideoCardThumbnail/VideoCardThumbnail.tsx +38 -0
  138. package/src/internal/VideoCardPlayer/components/VideoCardThumbnail/index.ts +1 -0
  139. package/src/internal/VideoCardPlayer/index.ts +2 -0
  140. package/src/internal/VideoCardPlayer/types/player-props.ts +6 -0
  141. package/versions.json +1 -1
  142. package/lib/_shared/esm/Author-BVCRPgkl.mjs +0 -27
package/lib/index.d.cts CHANGED
@@ -14,6 +14,7 @@ import { InformationCardProps } from '@arc-ui/components/InformationCard';
14
14
  import { TypographyCardProps } from '@arc-ui/components/TypographyCard';
15
15
  import { TemplateBannerProps } from '@arc-ui/components/TemplateBanner';
16
16
  import { TagProps } from '@arc-ui/components/Tag';
17
+ import { ReactPlayerProps } from 'react-player/types';
17
18
 
18
19
  interface AccordionHeadingProps {
19
20
  /**
@@ -571,9 +572,13 @@ interface ContentInfoWidgetProps {
571
572
  declare const ActionTile: React$1.FC<ActionTileProps>;
572
573
  interface ActionTileProps extends React$1.HTMLAttributes<HTMLDivElement> {
573
574
  /**
574
- * Optional icon to display
575
+ * Icon to display in default state
575
576
  */
576
577
  icon?: string;
578
+ /**
579
+ * Filled icon variant to display when tile is active. Falls back to icon if not provided
580
+ */
581
+ activeIcon?: string;
577
582
  /**
578
583
  * Heading text (required)
579
584
  */
@@ -649,5 +654,111 @@ interface PromoListingThumbnailSignpostProps extends SectionHeadingProps {
649
654
  thumbnailList: ThumbnailSignpostProps[];
650
655
  }
651
656
 
652
- export { Accordion, ActionTile, ArticleSidebar, Author, BannerWithTabs, ContentInfoWidget, CopyLead, DownloadList, FAQs, FeaturePost, Highlights, InlineLinkGroup, LinkTile, ProductNavigation, PromoListing, PromoListingThumbnailSignpost, Quote, SectionHeading, Statistics, Summary, ThumbnailSignpost };
653
- export type { AccordionProps, ActionTileProps, ArticleSidebarProps, AuthorProps, BannerWithTabsProps, ContentInfoWidgetProps, CopyLeadProps, DownloadListProps, FAQsProps, FeaturePostProps, HighlightsProps, InlineLinkGroupItem, InlineLinkGroupProps, LinkTileProps, ListProps, ProductNavigationProps, PromoListingProps, PromoListingThumbnailSignpostProps, QuoteProps, SectionHeadingProps, StatisticsProps, SummaryProps, ThumbnailSignpostProps };
657
+ type PlayerProps = Pick<ReactPlayerProps, "onReady" | "onPlay" | "onStart" | "onPause" | "onEnded" | "onError" | "src">;
658
+
659
+ interface VideoCardPlayerProps {
660
+ player: PlayerProps;
661
+ orientation: "portrait" | "landscape";
662
+ playIconSize: "s" | "l";
663
+ thumbnail?: ReactPlayerProps["light"];
664
+ children?: React$1.ReactNode;
665
+ }
666
+
667
+ interface VideoHeroCardContentProps {
668
+ title: string;
669
+ label: string;
670
+ description: string | ReactNode;
671
+ background: "dark" | "light";
672
+ videoDate?: string;
673
+ duration?: string;
674
+ subtitleAvailabilityText?: string;
675
+ }
676
+
677
+ declare const VideoHeroCard: ({ content, thumbnailImg, player, ...props }: VideoHeroCardProps) => JSX.Element;
678
+ interface VideoHeroCardProps {
679
+ /**
680
+ * Content for the video card.
681
+ */
682
+ content: Omit<VideoHeroCardContentProps, "background">;
683
+ /**
684
+ * Thumbnail for the video hero card.
685
+ */
686
+ thumbnailImg: string;
687
+ /**
688
+ * Configuration for the video player.
689
+ */
690
+ player: VideoCardPlayerProps["player"];
691
+ }
692
+
693
+ declare const VideoPortraitCard: ({ thumbnail, player, ...props }: VideoPortraitCardProps) => JSX.Element;
694
+ interface VideoPortraitCardProps {
695
+ /**
696
+ * Thumbnail content, video will autoplay if omitted.
697
+ */
698
+ thumbnail?: {
699
+ title: string;
700
+ label: string;
701
+ img: string;
702
+ };
703
+ /**
704
+ * Configuration for the video player.
705
+ */
706
+ player: VideoCardPlayerProps["player"];
707
+ }
708
+
709
+ /**
710
+ * Information card configuration for bento grid positions. Extends InformationCard with required cardUrl.
711
+ */
712
+ interface BentoInformationCard extends Omit<InformationCardProps, "button" | "badges" | "preserveAspectRatios" | "onClick" | "cardUrl"> {
713
+ type: "information";
714
+ cardUrl: NonNullable<InformationCardProps["cardUrl"]>;
715
+ }
716
+ /**
717
+ * Media card configuration for bento grid positions. Extends MediaCard with required url and image-only media.
718
+ */
719
+ interface BentoMediaCard extends Omit<MediaCardProps, "isContained" | "buttonIcon" | "preserveAspectRatios" | "url" | "media"> {
720
+ type: "media";
721
+ url: NonNullable<MediaCardProps["url"]>;
722
+ media: Extract<MediaCardProps["media"], {
723
+ type: "img";
724
+ }>;
725
+ }
726
+ /**
727
+ * Content structure for the bento grid layout within each tab.
728
+ * - card1 & card2: Can be either information or media cards
729
+ * - card3: Optional information card
730
+ * - card4: Typography card with label and url
731
+ */
732
+ type BentoGridContent = {
733
+ card1: BentoInformationCard | BentoMediaCard;
734
+ card2: BentoInformationCard | BentoMediaCard;
735
+ card3?: BentoInformationCard;
736
+ card4: {
737
+ url: string;
738
+ label?: string;
739
+ text?: TypographyCardProps["text"];
740
+ };
741
+ };
742
+
743
+ /**
744
+ * BusinessSegmentSwitcher displays tabbed content with a bento grid layout made up of 3 - 4 cards.
745
+ * Renders as tabs on desktop and a dropdown with carousel on mobile (below 1024px).
746
+ */
747
+ declare const BusinessSegmentSwitcher: ({ tabs, defaultValue, ...props }: BusinessSegmentSwitcherProps) => JSX.Element;
748
+ interface BusinessSegmentSwitcherProps {
749
+ /**
750
+ * Default to an initial value of a tab. If this is left blank it will default to first tab.
751
+ */
752
+ defaultValue?: string;
753
+ /**
754
+ * Array of tabs to render. Each tab requires a unique `value`, a `label` for display, and `content` containing card configurations for the bento grid layout.
755
+ */
756
+ tabs: {
757
+ value: string;
758
+ label: string;
759
+ content: BentoGridContent;
760
+ }[];
761
+ }
762
+
763
+ export { Accordion, ActionTile, ArticleSidebar, Author, BannerWithTabs, BusinessSegmentSwitcher, ContentInfoWidget, CopyLead, DownloadList, FAQs, FeaturePost, Highlights, InlineLinkGroup, LinkTile, ProductNavigation, PromoListing, PromoListingThumbnailSignpost, Quote, SectionHeading, Statistics, Summary, ThumbnailSignpost, VideoHeroCard, VideoPortraitCard };
764
+ export type { AccordionProps, ActionTileProps, ArticleSidebarProps, AuthorProps, BannerWithTabsProps, BentoGridContent, BentoInformationCard, BentoMediaCard, BusinessSegmentSwitcherProps, ContentInfoWidgetProps, CopyLeadProps, DownloadListProps, FAQsProps, FeaturePostProps, HighlightsProps, InlineLinkGroupItem, InlineLinkGroupProps, LinkTileProps, ListProps, ProductNavigationProps, PromoListingProps, PromoListingThumbnailSignpostProps, QuoteProps, SectionHeadingProps, StatisticsProps, SummaryProps, ThumbnailSignpostProps, VideoHeroCardProps, VideoPortraitCardProps };
package/lib/index.d.mts CHANGED
@@ -14,6 +14,7 @@ import { InformationCardProps } from '@arc-ui/components/InformationCard';
14
14
  import { TypographyCardProps } from '@arc-ui/components/TypographyCard';
15
15
  import { TemplateBannerProps } from '@arc-ui/components/TemplateBanner';
16
16
  import { TagProps } from '@arc-ui/components/Tag';
17
+ import { ReactPlayerProps } from 'react-player/types';
17
18
 
18
19
  interface AccordionHeadingProps {
19
20
  /**
@@ -571,9 +572,13 @@ interface ContentInfoWidgetProps {
571
572
  declare const ActionTile: React$1.FC<ActionTileProps>;
572
573
  interface ActionTileProps extends React$1.HTMLAttributes<HTMLDivElement> {
573
574
  /**
574
- * Optional icon to display
575
+ * Icon to display in default state
575
576
  */
576
577
  icon?: string;
578
+ /**
579
+ * Filled icon variant to display when tile is active. Falls back to icon if not provided
580
+ */
581
+ activeIcon?: string;
577
582
  /**
578
583
  * Heading text (required)
579
584
  */
@@ -649,5 +654,111 @@ interface PromoListingThumbnailSignpostProps extends SectionHeadingProps {
649
654
  thumbnailList: ThumbnailSignpostProps[];
650
655
  }
651
656
 
652
- export { Accordion, ActionTile, ArticleSidebar, Author, BannerWithTabs, ContentInfoWidget, CopyLead, DownloadList, FAQs, FeaturePost, Highlights, InlineLinkGroup, LinkTile, ProductNavigation, PromoListing, PromoListingThumbnailSignpost, Quote, SectionHeading, Statistics, Summary, ThumbnailSignpost };
653
- export type { AccordionProps, ActionTileProps, ArticleSidebarProps, AuthorProps, BannerWithTabsProps, ContentInfoWidgetProps, CopyLeadProps, DownloadListProps, FAQsProps, FeaturePostProps, HighlightsProps, InlineLinkGroupItem, InlineLinkGroupProps, LinkTileProps, ListProps, ProductNavigationProps, PromoListingProps, PromoListingThumbnailSignpostProps, QuoteProps, SectionHeadingProps, StatisticsProps, SummaryProps, ThumbnailSignpostProps };
657
+ type PlayerProps = Pick<ReactPlayerProps, "onReady" | "onPlay" | "onStart" | "onPause" | "onEnded" | "onError" | "src">;
658
+
659
+ interface VideoCardPlayerProps {
660
+ player: PlayerProps;
661
+ orientation: "portrait" | "landscape";
662
+ playIconSize: "s" | "l";
663
+ thumbnail?: ReactPlayerProps["light"];
664
+ children?: React$1.ReactNode;
665
+ }
666
+
667
+ interface VideoHeroCardContentProps {
668
+ title: string;
669
+ label: string;
670
+ description: string | ReactNode;
671
+ background: "dark" | "light";
672
+ videoDate?: string;
673
+ duration?: string;
674
+ subtitleAvailabilityText?: string;
675
+ }
676
+
677
+ declare const VideoHeroCard: ({ content, thumbnailImg, player, ...props }: VideoHeroCardProps) => JSX.Element;
678
+ interface VideoHeroCardProps {
679
+ /**
680
+ * Content for the video card.
681
+ */
682
+ content: Omit<VideoHeroCardContentProps, "background">;
683
+ /**
684
+ * Thumbnail for the video hero card.
685
+ */
686
+ thumbnailImg: string;
687
+ /**
688
+ * Configuration for the video player.
689
+ */
690
+ player: VideoCardPlayerProps["player"];
691
+ }
692
+
693
+ declare const VideoPortraitCard: ({ thumbnail, player, ...props }: VideoPortraitCardProps) => JSX.Element;
694
+ interface VideoPortraitCardProps {
695
+ /**
696
+ * Thumbnail content, video will autoplay if omitted.
697
+ */
698
+ thumbnail?: {
699
+ title: string;
700
+ label: string;
701
+ img: string;
702
+ };
703
+ /**
704
+ * Configuration for the video player.
705
+ */
706
+ player: VideoCardPlayerProps["player"];
707
+ }
708
+
709
+ /**
710
+ * Information card configuration for bento grid positions. Extends InformationCard with required cardUrl.
711
+ */
712
+ interface BentoInformationCard extends Omit<InformationCardProps, "button" | "badges" | "preserveAspectRatios" | "onClick" | "cardUrl"> {
713
+ type: "information";
714
+ cardUrl: NonNullable<InformationCardProps["cardUrl"]>;
715
+ }
716
+ /**
717
+ * Media card configuration for bento grid positions. Extends MediaCard with required url and image-only media.
718
+ */
719
+ interface BentoMediaCard extends Omit<MediaCardProps, "isContained" | "buttonIcon" | "preserveAspectRatios" | "url" | "media"> {
720
+ type: "media";
721
+ url: NonNullable<MediaCardProps["url"]>;
722
+ media: Extract<MediaCardProps["media"], {
723
+ type: "img";
724
+ }>;
725
+ }
726
+ /**
727
+ * Content structure for the bento grid layout within each tab.
728
+ * - card1 & card2: Can be either information or media cards
729
+ * - card3: Optional information card
730
+ * - card4: Typography card with label and url
731
+ */
732
+ type BentoGridContent = {
733
+ card1: BentoInformationCard | BentoMediaCard;
734
+ card2: BentoInformationCard | BentoMediaCard;
735
+ card3?: BentoInformationCard;
736
+ card4: {
737
+ url: string;
738
+ label?: string;
739
+ text?: TypographyCardProps["text"];
740
+ };
741
+ };
742
+
743
+ /**
744
+ * BusinessSegmentSwitcher displays tabbed content with a bento grid layout made up of 3 - 4 cards.
745
+ * Renders as tabs on desktop and a dropdown with carousel on mobile (below 1024px).
746
+ */
747
+ declare const BusinessSegmentSwitcher: ({ tabs, defaultValue, ...props }: BusinessSegmentSwitcherProps) => JSX.Element;
748
+ interface BusinessSegmentSwitcherProps {
749
+ /**
750
+ * Default to an initial value of a tab. If this is left blank it will default to first tab.
751
+ */
752
+ defaultValue?: string;
753
+ /**
754
+ * Array of tabs to render. Each tab requires a unique `value`, a `label` for display, and `content` containing card configurations for the bento grid layout.
755
+ */
756
+ tabs: {
757
+ value: string;
758
+ label: string;
759
+ content: BentoGridContent;
760
+ }[];
761
+ }
762
+
763
+ export { Accordion, ActionTile, ArticleSidebar, Author, BannerWithTabs, BusinessSegmentSwitcher, ContentInfoWidget, CopyLead, DownloadList, FAQs, FeaturePost, Highlights, InlineLinkGroup, LinkTile, ProductNavigation, PromoListing, PromoListingThumbnailSignpost, Quote, SectionHeading, Statistics, Summary, ThumbnailSignpost, VideoHeroCard, VideoPortraitCard };
764
+ export type { AccordionProps, ActionTileProps, ArticleSidebarProps, AuthorProps, BannerWithTabsProps, BentoGridContent, BentoInformationCard, BentoMediaCard, BusinessSegmentSwitcherProps, ContentInfoWidgetProps, CopyLeadProps, DownloadListProps, FAQsProps, FeaturePostProps, HighlightsProps, InlineLinkGroupItem, InlineLinkGroupProps, LinkTileProps, ListProps, ProductNavigationProps, PromoListingProps, PromoListingThumbnailSignpostProps, QuoteProps, SectionHeadingProps, StatisticsProps, SummaryProps, ThumbnailSignpostProps, VideoHeroCardProps, VideoPortraitCardProps };