@arc-ui/community-components 3.4.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 (87) hide show
  1. package/.turbo/turbo-build.log +42 -42
  2. package/CHANGELOG.md +10 -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 +5 -4
  13. package/lib/BannerWithTabs/BannerWithTabs.mjs +3 -2
  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 +11 -10
  28. package/lib/Highlights/Highlights.mjs +3 -2
  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 +204 -132
  69. package/lib/index.cjs.map +1 -1
  70. package/lib/index.d.cts +61 -3
  71. package/lib/index.d.mts +61 -3
  72. package/lib/index.mjs +204 -133
  73. package/lib/index.mjs.map +1 -1
  74. package/lib/styles.css +1 -1
  75. package/package.json +2 -2
  76. package/src/components/ActionTile/ActionTile.module.css +1 -0
  77. package/src/components/ActionTile/ActionTile.tsx +11 -3
  78. package/src/components/BusinessSegmentSwitcher/BusinessSegmentSwitcher.module.css +92 -0
  79. package/src/components/BusinessSegmentSwitcher/BusinessSegmentSwitcher.tsx +119 -0
  80. package/src/components/BusinessSegmentSwitcher/helpers/renderBusinessSegmentSwitcherCarousel.tsx +45 -0
  81. package/src/components/BusinessSegmentSwitcher/helpers/renderCard.tsx +17 -0
  82. package/src/components/BusinessSegmentSwitcher/index.ts +9 -0
  83. package/src/components/BusinessSegmentSwitcher/types/types.ts +45 -0
  84. package/src/components/LinkTile/LinkTile.module.css +8 -4
  85. package/src/components/LinkTile/LinkTile.tsx +1 -2
  86. package/src/components/index.ts +1 -0
  87. package/versions.json +1 -1
package/lib/index.d.cts CHANGED
@@ -572,9 +572,13 @@ interface ContentInfoWidgetProps {
572
572
  declare const ActionTile: React$1.FC<ActionTileProps>;
573
573
  interface ActionTileProps extends React$1.HTMLAttributes<HTMLDivElement> {
574
574
  /**
575
- * Optional icon to display
575
+ * Icon to display in default state
576
576
  */
577
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;
578
582
  /**
579
583
  * Heading text (required)
580
584
  */
@@ -702,5 +706,59 @@ interface VideoPortraitCardProps {
702
706
  player: VideoCardPlayerProps["player"];
703
707
  }
704
708
 
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 };
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
@@ -572,9 +572,13 @@ interface ContentInfoWidgetProps {
572
572
  declare const ActionTile: React$1.FC<ActionTileProps>;
573
573
  interface ActionTileProps extends React$1.HTMLAttributes<HTMLDivElement> {
574
574
  /**
575
- * Optional icon to display
575
+ * Icon to display in default state
576
576
  */
577
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;
578
582
  /**
579
583
  * Heading text (required)
580
584
  */
@@ -702,5 +706,59 @@ interface VideoPortraitCardProps {
702
706
  player: VideoCardPlayerProps["player"];
703
707
  }
704
708
 
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 };
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 };