@arc-ui/community-components 3.13.1 → 3.14.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 (61) hide show
  1. package/.turbo/turbo-build.log +17 -15
  2. package/CHANGELOG.md +11 -0
  3. package/lib/ArticleCarousel/ArticleCarousel.cjs +1 -1
  4. package/lib/ArticleCarousel/ArticleCarousel.mjs +1 -1
  5. package/lib/CopyLead/CopyLead.cjs +1 -1
  6. package/lib/CopyLead/CopyLead.mjs +1 -1
  7. package/lib/FeaturePost/FeaturePost.cjs +1 -1
  8. package/lib/FeaturePost/FeaturePost.mjs +1 -1
  9. package/lib/InlineLinkGroup/InlineLinkGroup.cjs +2 -2
  10. package/lib/InlineLinkGroup/InlineLinkGroup.mjs +2 -2
  11. package/lib/ProductCard/ProductCard.cjs +77 -0
  12. package/lib/ProductCard/ProductCard.mjs +72 -0
  13. package/lib/ProductCard/styles.css +1 -0
  14. package/lib/ProductCardGrid/ProductCardGrid.cjs +69 -0
  15. package/lib/ProductCardGrid/ProductCardGrid.mjs +67 -0
  16. package/lib/ProductNavigation/ProductNavigation.cjs +1 -1
  17. package/lib/ProductNavigation/ProductNavigation.mjs +1 -1
  18. package/lib/PromoListing/PromoListing.cjs +1 -1
  19. package/lib/PromoListing/PromoListing.mjs +1 -1
  20. package/lib/Summary/Summary.cjs +1 -1
  21. package/lib/Summary/Summary.mjs +1 -1
  22. package/lib/VideoHeroCard/VideoHeroCard.cjs +4 -4
  23. package/lib/VideoHeroCard/VideoHeroCard.mjs +4 -4
  24. package/lib/VideoPortraitCard/VideoPortraitCard.cjs +3 -3
  25. package/lib/VideoPortraitCard/VideoPortraitCard.mjs +3 -3
  26. package/lib/_shared/cjs/{VideoCardThumbnail-BM3GwyWR.cjs → VideoCardThumbnail-DhdbNf5c.cjs} +10 -2
  27. package/lib/_shared/cjs/{index.es-DcJ01c8P.cjs → index.es-5qmN4ppJ.cjs} +1 -1
  28. package/lib/_shared/esm/{VideoCardThumbnail-K6eHIeAM.mjs → VideoCardThumbnail-B8JS-s6O.mjs} +10 -2
  29. package/lib/_shared/esm/{index.es-C76rXaZz.mjs → index.es-Cis5MKaa.mjs} +1 -1
  30. package/lib/index.cjs +294 -171
  31. package/lib/index.cjs.map +1 -1
  32. package/lib/index.d.cts +70 -2
  33. package/lib/index.d.mts +70 -2
  34. package/lib/index.mjs +291 -173
  35. package/lib/index.mjs.map +1 -1
  36. package/lib/styles.css +1 -1
  37. package/package.json +13 -13
  38. package/src/components/InlineLinkGroup/InlineLinkGroup.tsx +4 -0
  39. package/src/components/ProductCard/ProductCard.module.css +49 -0
  40. package/src/components/ProductCard/ProductCard.tsx +113 -0
  41. package/src/components/ProductCard/ProductCardBenefits/ProductCardBenefits.module.css +14 -0
  42. package/src/components/ProductCard/ProductCardBenefits/ProductCardBenefits.tsx +42 -0
  43. package/src/components/ProductCard/ProductCardBenefits/index.ts +4 -0
  44. package/src/components/ProductCard/ProductCardPrice/ProductCardPrice.module.css +5 -0
  45. package/src/components/ProductCard/ProductCardPrice/ProductCardPrice.tsx +37 -0
  46. package/src/components/ProductCard/ProductCardPrice/index.ts +4 -0
  47. package/src/components/ProductCard/ProductCardPriceIncrease/ProductCardPriceIncrease.module.css +25 -0
  48. package/src/components/ProductCard/ProductCardPriceIncrease/ProductCardPriceIncrease.tsx +39 -0
  49. package/src/components/ProductCard/ProductCardPriceIncrease/index.ts +4 -0
  50. package/src/components/ProductCard/index.ts +13 -0
  51. package/src/components/ProductCardGrid/ProductCardGrid.tsx +162 -0
  52. package/src/components/ProductCardGrid/components/CardGrid/CardGrid.module.css +34 -0
  53. package/src/components/ProductCardGrid/components/CardGrid/CardGrid.tsx +44 -0
  54. package/src/components/ProductCardGrid/components/CardGrid/index.ts +1 -0
  55. package/src/components/ProductCardGrid/index.ts +5 -0
  56. package/src/components/VideoHeroCard/components/VideoHeroCardContent/VideoHeroCardContent.tsx +9 -3
  57. package/src/components/VideoPortraitCard/VideoPortraitCard.tsx +11 -3
  58. package/src/components/index.ts +2 -0
  59. package/src/internal/VideoCardPlayer/VideoCardPlayer.module.css +5 -2
  60. package/src/internal/VideoCardPlayer/VideoCardPlayer.tsx +16 -1
  61. package/versions.json +1 -1
package/lib/index.d.cts CHANGED
@@ -17,6 +17,8 @@ import { TemplateBannerProps } from '@arc-ui/components/TemplateBanner';
17
17
  import { TagProps } from '@arc-ui/components/Tag';
18
18
  import { ReactPlayerProps } from 'react-player/types';
19
19
  import { VerticalSpaceProps } from '@arc-ui/components/VerticalSpace';
20
+ import { SurfaceBackgroundColor } from '@arc-ui/components/Surface';
21
+ import { TabsItemProps } from '@arc-ui/components/Tabs';
20
22
 
21
23
  declare const HeaderBarNotification: React$1.FC<HeaderBarNotificationProps>;
22
24
  interface HeaderBarNotificationProps {
@@ -712,6 +714,8 @@ interface InlineLinkGroupProps {
712
714
  headingLevel?: "1" | "2" | "3" | "4" | "5" | "6";
713
715
  /** Array of link items to display */
714
716
  links: InlineLinkGroupItem[];
717
+ /** When true, removes the underline from links (shown only on focus). Defaults to false */
718
+ isImplied?: boolean;
715
719
  }
716
720
  interface InlineLinkGroupItem {
717
721
  /** Display text for the link */
@@ -765,11 +769,16 @@ interface VideoCardPlayerProps {
765
769
  playIconSize: "s" | "l";
766
770
  thumbnail?: ReactPlayerProps["light"];
767
771
  children?: React$1.ReactNode;
772
+ previewTabIndex?: number;
773
+ wrapper?: React$1.ReactNode;
774
+ fallback?: React$1.ReactNode;
768
775
  }
769
776
 
770
777
  interface VideoHeroCardContentProps {
771
778
  title: string;
779
+ titleLevel?: HeadingLevel;
772
780
  label: string;
781
+ labelLevel?: HeadingLevel;
773
782
  description: string | ReactNode;
774
783
  background: "dark" | "light";
775
784
  videoDate?: string;
@@ -800,7 +809,9 @@ interface VideoPortraitCardProps {
800
809
  */
801
810
  thumbnail?: {
802
811
  title: string;
812
+ titleLevel?: HeadingLevel;
803
813
  label: string;
814
+ labelLevel?: HeadingLevel;
804
815
  img: string;
805
816
  };
806
817
  /**
@@ -934,5 +945,62 @@ interface PartnerBrandLogosProps {
934
945
  subgroups: PartnerLogosSubgroup[];
935
946
  }
936
947
 
937
- export { Accordion, ActionTile, ArticleCarousel, ArticleSidebar, Author, BannerWithTabs, BusinessSegmentSwitcher, ContentInfoWidget, CopyLead, DownloadList, FAQs, FeaturePost, HeaderBarNotification, Highlights, InlineLinkGroup, LinkTile, PartnerBrandLogos, ProductNavigation, PromoListing, PromoListingThumbnailSignpost, Quote, SectionHeading, Statistics, Summary, ThumbnailSignpost, VideoHeroCard, VideoPortraitCard };
938
- export type { AccordionProps, ActionTileProps, ArticleCarouselProps, ArticleSidebarProps, AuthorProps, BannerWithTabsProps, BentoGridContent, BentoInformationCard, BentoMediaCard, BusinessSegmentSwitcherProps, ContentInfoWidgetProps, CopyLeadProps, DownloadListProps, FAQsProps, FeaturePostProps, HeaderBarNotificationProps, HighlightsProps, InlineLinkGroupItem, InlineLinkGroupProps, LinkTileProps, ListProps, LogoTileItem, PartnerBrandLogosProps, PartnerLogosSubgroup, ProductNavigationProps, PromoListingProps, PromoListingThumbnailSignpostProps, QuoteProps, SectionHeadingProps, StatisticsProps, SummaryProps, ThumbnailSignpostProps, VideoHeroCardProps, VideoPortraitCardProps };
948
+ declare const ProductCard: React$1.FC<ProductCardProps>;
949
+ interface ProductCardProps {
950
+ heading: string;
951
+ headingLevel: HeadingLevel;
952
+ topSlot?: ReactNode;
953
+ bottomSlot?: ReactNode;
954
+ promoted?: {
955
+ content: ReactNode;
956
+ background: SurfaceBackgroundColor;
957
+ };
958
+ divider?: boolean;
959
+ button?: Omit<ButtonV2Props, "buttonStyle" | "isFullWidth">;
960
+ }
961
+
962
+ declare const ProductCardBenefits: React$1.FC<ProductCardBenefitsProps>;
963
+ interface ProductCardBenefitsProps {
964
+ /** Heading displayed above the benefits list */
965
+ heading?: string;
966
+ /** heading level for accessibility */
967
+ headingLevel?: HeadingLevel;
968
+ /** List of benefits with associated icons */
969
+ benefits: {
970
+ benefit: string;
971
+ icon: string;
972
+ }[];
973
+ }
974
+
975
+ declare const ProductCardPriceIncrease: React$1.FC<ProductCardPriceIncreaseProps>;
976
+ interface ProductCardPriceIncreaseProps {
977
+ /** Heading displayed above the price increase list */
978
+ heading?: string;
979
+ /** heading level for accessibility */
980
+ headingLevel?: HeadingLevel;
981
+ /** List of price increase entries (e.g. ["£48.99 by April 2027"]) */
982
+ items: string[];
983
+ }
984
+
985
+ declare const ProductCardPrice: React$1.FC<ProductCardPriceProps>;
986
+ interface ProductCardPriceProps {
987
+ /** Text displayed above the price (e.g. "From") */
988
+ prefix?: string;
989
+ /** The price value (e.g. "£29.99") */
990
+ value: string;
991
+ /** Text displayed below the price (e.g. "a month per user") */
992
+ suffix?: string;
993
+ }
994
+
995
+ declare const ProductCardGrid: React$1.FC<ProductCardGridProps>;
996
+ interface Tab extends TabsItemProps {
997
+ cards: React$1.ReactNode[];
998
+ }
999
+ interface ProductCardGridProps extends Omit<SectionHeadingProps, "isPadded" | "isCentered" | "image"> {
1000
+ tabs?: Tab[];
1001
+ expanded?: boolean;
1002
+ hideTabs?: boolean;
1003
+ }
1004
+
1005
+ export { Accordion, ActionTile, ArticleCarousel, ArticleSidebar, Author, BannerWithTabs, BusinessSegmentSwitcher, ContentInfoWidget, CopyLead, DownloadList, FAQs, FeaturePost, HeaderBarNotification, Highlights, InlineLinkGroup, LinkTile, PartnerBrandLogos, ProductCard, ProductCardBenefits, ProductCardGrid, ProductCardPrice, ProductCardPriceIncrease, ProductNavigation, PromoListing, PromoListingThumbnailSignpost, Quote, SectionHeading, Statistics, Summary, ThumbnailSignpost, VideoHeroCard, VideoPortraitCard };
1006
+ export type { AccordionProps, ActionTileProps, ArticleCarouselProps, ArticleSidebarProps, AuthorProps, BannerWithTabsProps, BentoGridContent, BentoInformationCard, BentoMediaCard, BusinessSegmentSwitcherProps, ContentInfoWidgetProps, CopyLeadProps, DownloadListProps, FAQsProps, FeaturePostProps, HeaderBarNotificationProps, HighlightsProps, InlineLinkGroupItem, InlineLinkGroupProps, LinkTileProps, ListProps, LogoTileItem, PartnerBrandLogosProps, PartnerLogosSubgroup, ProductCardBenefitsProps, ProductCardGridProps, ProductCardPriceIncreaseProps, ProductCardPriceProps, ProductCardProps, ProductNavigationProps, PromoListingProps, PromoListingThumbnailSignpostProps, QuoteProps, SectionHeadingProps, StatisticsProps, SummaryProps, Tab, ThumbnailSignpostProps, VideoHeroCardProps, VideoPortraitCardProps };
package/lib/index.d.mts CHANGED
@@ -17,6 +17,8 @@ import { TemplateBannerProps } from '@arc-ui/components/TemplateBanner';
17
17
  import { TagProps } from '@arc-ui/components/Tag';
18
18
  import { ReactPlayerProps } from 'react-player/types';
19
19
  import { VerticalSpaceProps } from '@arc-ui/components/VerticalSpace';
20
+ import { SurfaceBackgroundColor } from '@arc-ui/components/Surface';
21
+ import { TabsItemProps } from '@arc-ui/components/Tabs';
20
22
 
21
23
  declare const HeaderBarNotification: React$1.FC<HeaderBarNotificationProps>;
22
24
  interface HeaderBarNotificationProps {
@@ -712,6 +714,8 @@ interface InlineLinkGroupProps {
712
714
  headingLevel?: "1" | "2" | "3" | "4" | "5" | "6";
713
715
  /** Array of link items to display */
714
716
  links: InlineLinkGroupItem[];
717
+ /** When true, removes the underline from links (shown only on focus). Defaults to false */
718
+ isImplied?: boolean;
715
719
  }
716
720
  interface InlineLinkGroupItem {
717
721
  /** Display text for the link */
@@ -765,11 +769,16 @@ interface VideoCardPlayerProps {
765
769
  playIconSize: "s" | "l";
766
770
  thumbnail?: ReactPlayerProps["light"];
767
771
  children?: React$1.ReactNode;
772
+ previewTabIndex?: number;
773
+ wrapper?: React$1.ReactNode;
774
+ fallback?: React$1.ReactNode;
768
775
  }
769
776
 
770
777
  interface VideoHeroCardContentProps {
771
778
  title: string;
779
+ titleLevel?: HeadingLevel;
772
780
  label: string;
781
+ labelLevel?: HeadingLevel;
773
782
  description: string | ReactNode;
774
783
  background: "dark" | "light";
775
784
  videoDate?: string;
@@ -800,7 +809,9 @@ interface VideoPortraitCardProps {
800
809
  */
801
810
  thumbnail?: {
802
811
  title: string;
812
+ titleLevel?: HeadingLevel;
803
813
  label: string;
814
+ labelLevel?: HeadingLevel;
804
815
  img: string;
805
816
  };
806
817
  /**
@@ -934,5 +945,62 @@ interface PartnerBrandLogosProps {
934
945
  subgroups: PartnerLogosSubgroup[];
935
946
  }
936
947
 
937
- export { Accordion, ActionTile, ArticleCarousel, ArticleSidebar, Author, BannerWithTabs, BusinessSegmentSwitcher, ContentInfoWidget, CopyLead, DownloadList, FAQs, FeaturePost, HeaderBarNotification, Highlights, InlineLinkGroup, LinkTile, PartnerBrandLogos, ProductNavigation, PromoListing, PromoListingThumbnailSignpost, Quote, SectionHeading, Statistics, Summary, ThumbnailSignpost, VideoHeroCard, VideoPortraitCard };
938
- export type { AccordionProps, ActionTileProps, ArticleCarouselProps, ArticleSidebarProps, AuthorProps, BannerWithTabsProps, BentoGridContent, BentoInformationCard, BentoMediaCard, BusinessSegmentSwitcherProps, ContentInfoWidgetProps, CopyLeadProps, DownloadListProps, FAQsProps, FeaturePostProps, HeaderBarNotificationProps, HighlightsProps, InlineLinkGroupItem, InlineLinkGroupProps, LinkTileProps, ListProps, LogoTileItem, PartnerBrandLogosProps, PartnerLogosSubgroup, ProductNavigationProps, PromoListingProps, PromoListingThumbnailSignpostProps, QuoteProps, SectionHeadingProps, StatisticsProps, SummaryProps, ThumbnailSignpostProps, VideoHeroCardProps, VideoPortraitCardProps };
948
+ declare const ProductCard: React$1.FC<ProductCardProps>;
949
+ interface ProductCardProps {
950
+ heading: string;
951
+ headingLevel: HeadingLevel;
952
+ topSlot?: ReactNode;
953
+ bottomSlot?: ReactNode;
954
+ promoted?: {
955
+ content: ReactNode;
956
+ background: SurfaceBackgroundColor;
957
+ };
958
+ divider?: boolean;
959
+ button?: Omit<ButtonV2Props, "buttonStyle" | "isFullWidth">;
960
+ }
961
+
962
+ declare const ProductCardBenefits: React$1.FC<ProductCardBenefitsProps>;
963
+ interface ProductCardBenefitsProps {
964
+ /** Heading displayed above the benefits list */
965
+ heading?: string;
966
+ /** heading level for accessibility */
967
+ headingLevel?: HeadingLevel;
968
+ /** List of benefits with associated icons */
969
+ benefits: {
970
+ benefit: string;
971
+ icon: string;
972
+ }[];
973
+ }
974
+
975
+ declare const ProductCardPriceIncrease: React$1.FC<ProductCardPriceIncreaseProps>;
976
+ interface ProductCardPriceIncreaseProps {
977
+ /** Heading displayed above the price increase list */
978
+ heading?: string;
979
+ /** heading level for accessibility */
980
+ headingLevel?: HeadingLevel;
981
+ /** List of price increase entries (e.g. ["£48.99 by April 2027"]) */
982
+ items: string[];
983
+ }
984
+
985
+ declare const ProductCardPrice: React$1.FC<ProductCardPriceProps>;
986
+ interface ProductCardPriceProps {
987
+ /** Text displayed above the price (e.g. "From") */
988
+ prefix?: string;
989
+ /** The price value (e.g. "£29.99") */
990
+ value: string;
991
+ /** Text displayed below the price (e.g. "a month per user") */
992
+ suffix?: string;
993
+ }
994
+
995
+ declare const ProductCardGrid: React$1.FC<ProductCardGridProps>;
996
+ interface Tab extends TabsItemProps {
997
+ cards: React$1.ReactNode[];
998
+ }
999
+ interface ProductCardGridProps extends Omit<SectionHeadingProps, "isPadded" | "isCentered" | "image"> {
1000
+ tabs?: Tab[];
1001
+ expanded?: boolean;
1002
+ hideTabs?: boolean;
1003
+ }
1004
+
1005
+ export { Accordion, ActionTile, ArticleCarousel, ArticleSidebar, Author, BannerWithTabs, BusinessSegmentSwitcher, ContentInfoWidget, CopyLead, DownloadList, FAQs, FeaturePost, HeaderBarNotification, Highlights, InlineLinkGroup, LinkTile, PartnerBrandLogos, ProductCard, ProductCardBenefits, ProductCardGrid, ProductCardPrice, ProductCardPriceIncrease, ProductNavigation, PromoListing, PromoListingThumbnailSignpost, Quote, SectionHeading, Statistics, Summary, ThumbnailSignpost, VideoHeroCard, VideoPortraitCard };
1006
+ export type { AccordionProps, ActionTileProps, ArticleCarouselProps, ArticleSidebarProps, AuthorProps, BannerWithTabsProps, BentoGridContent, BentoInformationCard, BentoMediaCard, BusinessSegmentSwitcherProps, ContentInfoWidgetProps, CopyLeadProps, DownloadListProps, FAQsProps, FeaturePostProps, HeaderBarNotificationProps, HighlightsProps, InlineLinkGroupItem, InlineLinkGroupProps, LinkTileProps, ListProps, LogoTileItem, PartnerBrandLogosProps, PartnerLogosSubgroup, ProductCardBenefitsProps, ProductCardGridProps, ProductCardPriceIncreaseProps, ProductCardPriceProps, ProductCardProps, ProductNavigationProps, PromoListingProps, PromoListingThumbnailSignpostProps, QuoteProps, SectionHeadingProps, StatisticsProps, SummaryProps, Tab, ThumbnailSignpostProps, VideoHeroCardProps, VideoPortraitCardProps };