@arc-ui/community-components 3.4.0 → 3.6.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 (89) hide show
  1. package/.turbo/turbo-build.log +37 -37
  2. package/CHANGELOG.md +20 -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 +6 -4
  7. package/lib/ActionTile/styles.css +1 -1
  8. package/lib/ArticleSidebar/ArticleSidebar.cjs +10 -9
  9. package/lib/ArticleSidebar/ArticleSidebar.mjs +3 -2
  10. package/lib/Author/Author.cjs +3 -2
  11. package/lib/Author/Author.mjs +3 -2
  12. package/lib/BannerWithTabs/BannerWithTabs.cjs +6 -5
  13. package/lib/BannerWithTabs/BannerWithTabs.mjs +5 -4
  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 +2 -1
  19. package/lib/CopyLead/CopyLead.cjs +17 -16
  20. package/lib/CopyLead/CopyLead.mjs +3 -2
  21. package/lib/DownloadList/DownloadList.cjs +6 -5
  22. package/lib/DownloadList/DownloadList.mjs +3 -2
  23. package/lib/FAQs/FAQs.cjs +6 -5
  24. package/lib/FAQs/FAQs.mjs +4 -3
  25. package/lib/FeaturePost/FeaturePost.cjs +12 -11
  26. package/lib/FeaturePost/FeaturePost.mjs +3 -2
  27. package/lib/Highlights/Highlights.cjs +12 -11
  28. package/lib/Highlights/Highlights.mjs +4 -3
  29. package/lib/InlineLinkGroup/InlineLinkGroup.cjs +4 -3
  30. package/lib/InlineLinkGroup/InlineLinkGroup.mjs +2 -1
  31. package/lib/LinkTile/LinkTile.cjs +3 -3
  32. package/lib/LinkTile/LinkTile.mjs +2 -2
  33. package/lib/LinkTile/styles.css +1 -1
  34. package/lib/ProductNavigation/ProductNavigation.cjs +6 -5
  35. package/lib/ProductNavigation/ProductNavigation.mjs +3 -2
  36. package/lib/PromoListing/PromoListing.cjs +7 -6
  37. package/lib/PromoListing/PromoListing.mjs +3 -2
  38. package/lib/PromoListingThumbnailSignpost/PromoListingThumbnailSignpost.cjs +7 -6
  39. package/lib/PromoListingThumbnailSignpost/PromoListingThumbnailSignpost.mjs +4 -3
  40. package/lib/Quote/Quote.cjs +6 -5
  41. package/lib/Quote/Quote.mjs +3 -2
  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 +3 -2
  46. package/lib/Summary/Summary.cjs +4 -3
  47. package/lib/Summary/Summary.mjs +2 -1
  48. package/lib/ThumbnailSignpost/ThumbnailSignpost.cjs +3 -2
  49. package/lib/ThumbnailSignpost/ThumbnailSignpost.mjs +3 -2
  50. package/lib/VideoHeroCard/VideoHeroCard.cjs +7 -6
  51. package/lib/VideoHeroCard/VideoHeroCard.mjs +3 -2
  52. package/lib/VideoPortraitCard/VideoPortraitCard.cjs +5 -4
  53. package/lib/VideoPortraitCard/VideoPortraitCard.mjs +3 -2
  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/{SectionHeading-Dj-dJfv3.cjs → SectionHeading-DeSFM0HV.cjs} +5 -4
  57. package/lib/_shared/cjs/{ThumbnailSignpost-SBnrGooA.cjs → ThumbnailSignpost-GkOiwt-Z.cjs} +5 -4
  58. package/lib/_shared/cjs/{VideoCardThumbnail-BqYgpk0u.cjs → VideoCardThumbnail-N5iC-cAU.cjs} +7 -6
  59. package/lib/_shared/cjs/filter-attrs-BizjMsy0.cjs +27 -0
  60. package/lib/_shared/cjs/{filter-attrs-C26zOt4_.cjs → tslib.es6-BxB9I209.cjs} +0 -25
  61. package/lib/_shared/esm/{Accordion-DtU7jbCv.mjs → Accordion-DSRlkcXi.mjs} +2 -1
  62. package/lib/_shared/esm/{Author-CJQFrQM9.mjs → Author-CLMgH9ES.mjs} +2 -1
  63. package/lib/_shared/esm/{SectionHeading-BskdQ2Tt.mjs → SectionHeading-DSwsdNSp.mjs} +2 -1
  64. package/lib/_shared/esm/{ThumbnailSignpost-CBSdQiHw.mjs → ThumbnailSignpost-BtaHAB0h.mjs} +2 -1
  65. package/lib/_shared/esm/{VideoCardThumbnail-VfOKmPCv.mjs → VideoCardThumbnail-Tbh7Xi-X.mjs} +2 -1
  66. package/lib/_shared/esm/filter-attrs-DZ7RCEZm.mjs +25 -0
  67. package/lib/_shared/esm/{filter-attrs-D-1kWaCP.mjs → tslib.es6-BVXMhEem.mjs} +1 -25
  68. package/lib/index.cjs +207 -135
  69. package/lib/index.cjs.map +1 -1
  70. package/lib/index.d.cts +66 -4
  71. package/lib/index.d.mts +66 -4
  72. package/lib/index.mjs +207 -136
  73. package/lib/index.mjs.map +1 -1
  74. package/lib/styles.css +1 -1
  75. package/package.json +4 -4
  76. package/src/components/ActionTile/ActionTile.module.css +1 -0
  77. package/src/components/ActionTile/ActionTile.tsx +11 -3
  78. package/src/components/BannerWithTabs/BannerWithTabs.tsx +7 -0
  79. package/src/components/BusinessSegmentSwitcher/BusinessSegmentSwitcher.module.css +92 -0
  80. package/src/components/BusinessSegmentSwitcher/BusinessSegmentSwitcher.tsx +119 -0
  81. package/src/components/BusinessSegmentSwitcher/helpers/renderBusinessSegmentSwitcherCarousel.tsx +45 -0
  82. package/src/components/BusinessSegmentSwitcher/helpers/renderCard.tsx +17 -0
  83. package/src/components/BusinessSegmentSwitcher/index.ts +9 -0
  84. package/src/components/BusinessSegmentSwitcher/types/types.ts +45 -0
  85. package/src/components/Highlights/Highlights.tsx +2 -1
  86. package/src/components/LinkTile/LinkTile.module.css +8 -4
  87. package/src/components/LinkTile/LinkTile.tsx +1 -2
  88. package/src/components/index.ts +1 -0
  89. package/versions.json +1 -1
package/lib/index.d.cts CHANGED
@@ -292,7 +292,7 @@ interface HighlightsProps extends Omit<SectionHeadingProps, "isPadded"> {
292
292
  /**
293
293
  * CTA configuration for Highlights
294
294
  */
295
- type HighlightsCTAProps = Pick<ButtonV2Props, "label" | "href" | "onClick" | "iconPosition" | "ariaLabel"> & {
295
+ type HighlightsCTAProps = Pick<ButtonV2Props, "label" | "href" | "onClick" | "iconPosition" | "ariaLabel" | "target"> & {
296
296
  /**
297
297
  * Allowed button styles only.
298
298
  * Primary is intentionally NOT supported.
@@ -438,6 +438,10 @@ interface BannerWithTabsProps extends Omit<SectionHeadingProps, "image" | "isPad
438
438
  * heading for `SectionHeading`.
439
439
  */
440
440
  heading: string;
441
+ /**
442
+ * Heading level for `SectionHeading`.
443
+ */
444
+ headingLevel?: HeadingLevel;
441
445
  /**
442
446
  * Text content for `SectionHeading`.
443
447
  */
@@ -572,9 +576,13 @@ interface ContentInfoWidgetProps {
572
576
  declare const ActionTile: React$1.FC<ActionTileProps>;
573
577
  interface ActionTileProps extends React$1.HTMLAttributes<HTMLDivElement> {
574
578
  /**
575
- * Optional icon to display
579
+ * Icon to display in default state
576
580
  */
577
581
  icon?: string;
582
+ /**
583
+ * Filled icon variant to display when tile is active. Falls back to icon if not provided
584
+ */
585
+ activeIcon?: string;
578
586
  /**
579
587
  * Heading text (required)
580
588
  */
@@ -702,5 +710,59 @@ interface VideoPortraitCardProps {
702
710
  player: VideoCardPlayerProps["player"];
703
711
  }
704
712
 
705
- export { Accordion, ActionTile, ArticleSidebar, Author, BannerWithTabs, ContentInfoWidget, CopyLead, DownloadList, FAQs, FeaturePost, Highlights, InlineLinkGroup, LinkTile, ProductNavigation, PromoListing, PromoListingThumbnailSignpost, Quote, SectionHeading, Statistics, Summary, ThumbnailSignpost, VideoHeroCard, VideoPortraitCard };
706
- 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, VideoHeroCardProps, VideoPortraitCardProps };
713
+ /**
714
+ * Information card configuration for bento grid positions. Extends InformationCard with required cardUrl.
715
+ */
716
+ interface BentoInformationCard extends Omit<InformationCardProps, "button" | "badges" | "preserveAspectRatios" | "onClick" | "cardUrl"> {
717
+ type: "information";
718
+ cardUrl: NonNullable<InformationCardProps["cardUrl"]>;
719
+ }
720
+ /**
721
+ * Media card configuration for bento grid positions. Extends MediaCard with required url and image-only media.
722
+ */
723
+ interface BentoMediaCard extends Omit<MediaCardProps, "isContained" | "buttonIcon" | "preserveAspectRatios" | "url" | "media"> {
724
+ type: "media";
725
+ url: NonNullable<MediaCardProps["url"]>;
726
+ media: Extract<MediaCardProps["media"], {
727
+ type: "img";
728
+ }>;
729
+ }
730
+ /**
731
+ * Content structure for the bento grid layout within each tab.
732
+ * - card1 & card2: Can be either information or media cards
733
+ * - card3: Optional information card
734
+ * - card4: Typography card with label and url
735
+ */
736
+ type BentoGridContent = {
737
+ card1: BentoInformationCard | BentoMediaCard;
738
+ card2: BentoInformationCard | BentoMediaCard;
739
+ card3?: BentoInformationCard;
740
+ card4: {
741
+ url: string;
742
+ label?: string;
743
+ text?: TypographyCardProps["text"];
744
+ };
745
+ };
746
+
747
+ /**
748
+ * BusinessSegmentSwitcher displays tabbed content with a bento grid layout made up of 3 - 4 cards.
749
+ * Renders as tabs on desktop and a dropdown with carousel on mobile (below 1024px).
750
+ */
751
+ declare const BusinessSegmentSwitcher: ({ tabs, defaultValue, ...props }: BusinessSegmentSwitcherProps) => JSX.Element;
752
+ interface BusinessSegmentSwitcherProps {
753
+ /**
754
+ * Default to an initial value of a tab. If this is left blank it will default to first tab.
755
+ */
756
+ defaultValue?: string;
757
+ /**
758
+ * 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.
759
+ */
760
+ tabs: {
761
+ value: string;
762
+ label: string;
763
+ content: BentoGridContent;
764
+ }[];
765
+ }
766
+
767
+ 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 };
768
+ 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
@@ -292,7 +292,7 @@ interface HighlightsProps extends Omit<SectionHeadingProps, "isPadded"> {
292
292
  /**
293
293
  * CTA configuration for Highlights
294
294
  */
295
- type HighlightsCTAProps = Pick<ButtonV2Props, "label" | "href" | "onClick" | "iconPosition" | "ariaLabel"> & {
295
+ type HighlightsCTAProps = Pick<ButtonV2Props, "label" | "href" | "onClick" | "iconPosition" | "ariaLabel" | "target"> & {
296
296
  /**
297
297
  * Allowed button styles only.
298
298
  * Primary is intentionally NOT supported.
@@ -438,6 +438,10 @@ interface BannerWithTabsProps extends Omit<SectionHeadingProps, "image" | "isPad
438
438
  * heading for `SectionHeading`.
439
439
  */
440
440
  heading: string;
441
+ /**
442
+ * Heading level for `SectionHeading`.
443
+ */
444
+ headingLevel?: HeadingLevel;
441
445
  /**
442
446
  * Text content for `SectionHeading`.
443
447
  */
@@ -572,9 +576,13 @@ interface ContentInfoWidgetProps {
572
576
  declare const ActionTile: React$1.FC<ActionTileProps>;
573
577
  interface ActionTileProps extends React$1.HTMLAttributes<HTMLDivElement> {
574
578
  /**
575
- * Optional icon to display
579
+ * Icon to display in default state
576
580
  */
577
581
  icon?: string;
582
+ /**
583
+ * Filled icon variant to display when tile is active. Falls back to icon if not provided
584
+ */
585
+ activeIcon?: string;
578
586
  /**
579
587
  * Heading text (required)
580
588
  */
@@ -702,5 +710,59 @@ interface VideoPortraitCardProps {
702
710
  player: VideoCardPlayerProps["player"];
703
711
  }
704
712
 
705
- export { Accordion, ActionTile, ArticleSidebar, Author, BannerWithTabs, ContentInfoWidget, CopyLead, DownloadList, FAQs, FeaturePost, Highlights, InlineLinkGroup, LinkTile, ProductNavigation, PromoListing, PromoListingThumbnailSignpost, Quote, SectionHeading, Statistics, Summary, ThumbnailSignpost, VideoHeroCard, VideoPortraitCard };
706
- 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, VideoHeroCardProps, VideoPortraitCardProps };
713
+ /**
714
+ * Information card configuration for bento grid positions. Extends InformationCard with required cardUrl.
715
+ */
716
+ interface BentoInformationCard extends Omit<InformationCardProps, "button" | "badges" | "preserveAspectRatios" | "onClick" | "cardUrl"> {
717
+ type: "information";
718
+ cardUrl: NonNullable<InformationCardProps["cardUrl"]>;
719
+ }
720
+ /**
721
+ * Media card configuration for bento grid positions. Extends MediaCard with required url and image-only media.
722
+ */
723
+ interface BentoMediaCard extends Omit<MediaCardProps, "isContained" | "buttonIcon" | "preserveAspectRatios" | "url" | "media"> {
724
+ type: "media";
725
+ url: NonNullable<MediaCardProps["url"]>;
726
+ media: Extract<MediaCardProps["media"], {
727
+ type: "img";
728
+ }>;
729
+ }
730
+ /**
731
+ * Content structure for the bento grid layout within each tab.
732
+ * - card1 & card2: Can be either information or media cards
733
+ * - card3: Optional information card
734
+ * - card4: Typography card with label and url
735
+ */
736
+ type BentoGridContent = {
737
+ card1: BentoInformationCard | BentoMediaCard;
738
+ card2: BentoInformationCard | BentoMediaCard;
739
+ card3?: BentoInformationCard;
740
+ card4: {
741
+ url: string;
742
+ label?: string;
743
+ text?: TypographyCardProps["text"];
744
+ };
745
+ };
746
+
747
+ /**
748
+ * BusinessSegmentSwitcher displays tabbed content with a bento grid layout made up of 3 - 4 cards.
749
+ * Renders as tabs on desktop and a dropdown with carousel on mobile (below 1024px).
750
+ */
751
+ declare const BusinessSegmentSwitcher: ({ tabs, defaultValue, ...props }: BusinessSegmentSwitcherProps) => JSX.Element;
752
+ interface BusinessSegmentSwitcherProps {
753
+ /**
754
+ * Default to an initial value of a tab. If this is left blank it will default to first tab.
755
+ */
756
+ defaultValue?: string;
757
+ /**
758
+ * 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.
759
+ */
760
+ tabs: {
761
+ value: string;
762
+ label: string;
763
+ content: BentoGridContent;
764
+ }[];
765
+ }
766
+
767
+ 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 };
768
+ 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 };