@arc-ui/community-components 3.13.0 → 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 (64) hide show
  1. package/.turbo/turbo-build.log +18 -16
  2. package/CHANGELOG.md +18 -0
  3. package/lib/ArticleCarousel/ArticleCarousel.cjs +1 -1
  4. package/lib/ArticleCarousel/ArticleCarousel.mjs +1 -1
  5. package/lib/ArticleSidebar/ArticleSidebar.cjs +15 -9
  6. package/lib/ArticleSidebar/ArticleSidebar.mjs +16 -10
  7. package/lib/CopyLead/CopyLead.cjs +1 -1
  8. package/lib/CopyLead/CopyLead.mjs +1 -1
  9. package/lib/FeaturePost/FeaturePost.cjs +1 -1
  10. package/lib/FeaturePost/FeaturePost.mjs +1 -1
  11. package/lib/InlineLinkGroup/InlineLinkGroup.cjs +2 -2
  12. package/lib/InlineLinkGroup/InlineLinkGroup.mjs +2 -2
  13. package/lib/ProductCard/ProductCard.cjs +77 -0
  14. package/lib/ProductCard/ProductCard.mjs +72 -0
  15. package/lib/ProductCard/styles.css +1 -0
  16. package/lib/ProductCardGrid/ProductCardGrid.cjs +69 -0
  17. package/lib/ProductCardGrid/ProductCardGrid.mjs +67 -0
  18. package/lib/ProductNavigation/ProductNavigation.cjs +1 -1
  19. package/lib/ProductNavigation/ProductNavigation.mjs +1 -1
  20. package/lib/PromoListing/PromoListing.cjs +1 -1
  21. package/lib/PromoListing/PromoListing.mjs +1 -1
  22. package/lib/Summary/Summary.cjs +1 -1
  23. package/lib/Summary/Summary.mjs +1 -1
  24. package/lib/VideoHeroCard/VideoHeroCard.cjs +4 -4
  25. package/lib/VideoHeroCard/VideoHeroCard.mjs +4 -4
  26. package/lib/VideoPortraitCard/VideoPortraitCard.cjs +3 -3
  27. package/lib/VideoPortraitCard/VideoPortraitCard.mjs +3 -3
  28. package/lib/_shared/cjs/{VideoCardThumbnail-BM3GwyWR.cjs → VideoCardThumbnail-DhdbNf5c.cjs} +10 -2
  29. package/lib/_shared/cjs/{index.es-DcJ01c8P.cjs → index.es-5qmN4ppJ.cjs} +1 -1
  30. package/lib/_shared/esm/{VideoCardThumbnail-K6eHIeAM.mjs → VideoCardThumbnail-B8JS-s6O.mjs} +10 -2
  31. package/lib/_shared/esm/{index.es-C76rXaZz.mjs → index.es-Cis5MKaa.mjs} +1 -1
  32. package/lib/index.cjs +309 -180
  33. package/lib/index.cjs.map +1 -1
  34. package/lib/index.d.cts +75 -2
  35. package/lib/index.d.mts +75 -2
  36. package/lib/index.mjs +306 -182
  37. package/lib/index.mjs.map +1 -1
  38. package/lib/styles.css +1 -1
  39. package/package.json +14 -14
  40. package/src/components/ArticleSidebar/ArticleSidebar.tsx +24 -10
  41. package/src/components/InlineLinkGroup/InlineLinkGroup.tsx +4 -0
  42. package/src/components/ProductCard/ProductCard.module.css +49 -0
  43. package/src/components/ProductCard/ProductCard.tsx +113 -0
  44. package/src/components/ProductCard/ProductCardBenefits/ProductCardBenefits.module.css +14 -0
  45. package/src/components/ProductCard/ProductCardBenefits/ProductCardBenefits.tsx +42 -0
  46. package/src/components/ProductCard/ProductCardBenefits/index.ts +4 -0
  47. package/src/components/ProductCard/ProductCardPrice/ProductCardPrice.module.css +5 -0
  48. package/src/components/ProductCard/ProductCardPrice/ProductCardPrice.tsx +37 -0
  49. package/src/components/ProductCard/ProductCardPrice/index.ts +4 -0
  50. package/src/components/ProductCard/ProductCardPriceIncrease/ProductCardPriceIncrease.module.css +25 -0
  51. package/src/components/ProductCard/ProductCardPriceIncrease/ProductCardPriceIncrease.tsx +39 -0
  52. package/src/components/ProductCard/ProductCardPriceIncrease/index.ts +4 -0
  53. package/src/components/ProductCard/index.ts +13 -0
  54. package/src/components/ProductCardGrid/ProductCardGrid.tsx +162 -0
  55. package/src/components/ProductCardGrid/components/CardGrid/CardGrid.module.css +34 -0
  56. package/src/components/ProductCardGrid/components/CardGrid/CardGrid.tsx +44 -0
  57. package/src/components/ProductCardGrid/components/CardGrid/index.ts +1 -0
  58. package/src/components/ProductCardGrid/index.ts +5 -0
  59. package/src/components/VideoHeroCard/components/VideoHeroCardContent/VideoHeroCardContent.tsx +9 -3
  60. package/src/components/VideoPortraitCard/VideoPortraitCard.tsx +11 -3
  61. package/src/components/index.ts +2 -0
  62. package/src/internal/VideoCardPlayer/VideoCardPlayer.module.css +5 -2
  63. package/src/internal/VideoCardPlayer/VideoCardPlayer.tsx +16 -1
  64. 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 {
@@ -602,6 +604,11 @@ interface ArticleSidebarProps {
602
604
  * Sharing options for the article.
603
605
  */
604
606
  share?: Share;
607
+ /**
608
+ * The article URL used by the share buttons.
609
+ * If it is not provided, the component uses the current browser URL.
610
+ */
611
+ url?: string;
605
612
  }
606
613
 
607
614
  type ListProps = InformationCardProps;
@@ -707,6 +714,8 @@ interface InlineLinkGroupProps {
707
714
  headingLevel?: "1" | "2" | "3" | "4" | "5" | "6";
708
715
  /** Array of link items to display */
709
716
  links: InlineLinkGroupItem[];
717
+ /** When true, removes the underline from links (shown only on focus). Defaults to false */
718
+ isImplied?: boolean;
710
719
  }
711
720
  interface InlineLinkGroupItem {
712
721
  /** Display text for the link */
@@ -760,11 +769,16 @@ interface VideoCardPlayerProps {
760
769
  playIconSize: "s" | "l";
761
770
  thumbnail?: ReactPlayerProps["light"];
762
771
  children?: React$1.ReactNode;
772
+ previewTabIndex?: number;
773
+ wrapper?: React$1.ReactNode;
774
+ fallback?: React$1.ReactNode;
763
775
  }
764
776
 
765
777
  interface VideoHeroCardContentProps {
766
778
  title: string;
779
+ titleLevel?: HeadingLevel;
767
780
  label: string;
781
+ labelLevel?: HeadingLevel;
768
782
  description: string | ReactNode;
769
783
  background: "dark" | "light";
770
784
  videoDate?: string;
@@ -795,7 +809,9 @@ interface VideoPortraitCardProps {
795
809
  */
796
810
  thumbnail?: {
797
811
  title: string;
812
+ titleLevel?: HeadingLevel;
798
813
  label: string;
814
+ labelLevel?: HeadingLevel;
799
815
  img: string;
800
816
  };
801
817
  /**
@@ -929,5 +945,62 @@ interface PartnerBrandLogosProps {
929
945
  subgroups: PartnerLogosSubgroup[];
930
946
  }
931
947
 
932
- 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 };
933
- 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 {
@@ -602,6 +604,11 @@ interface ArticleSidebarProps {
602
604
  * Sharing options for the article.
603
605
  */
604
606
  share?: Share;
607
+ /**
608
+ * The article URL used by the share buttons.
609
+ * If it is not provided, the component uses the current browser URL.
610
+ */
611
+ url?: string;
605
612
  }
606
613
 
607
614
  type ListProps = InformationCardProps;
@@ -707,6 +714,8 @@ interface InlineLinkGroupProps {
707
714
  headingLevel?: "1" | "2" | "3" | "4" | "5" | "6";
708
715
  /** Array of link items to display */
709
716
  links: InlineLinkGroupItem[];
717
+ /** When true, removes the underline from links (shown only on focus). Defaults to false */
718
+ isImplied?: boolean;
710
719
  }
711
720
  interface InlineLinkGroupItem {
712
721
  /** Display text for the link */
@@ -760,11 +769,16 @@ interface VideoCardPlayerProps {
760
769
  playIconSize: "s" | "l";
761
770
  thumbnail?: ReactPlayerProps["light"];
762
771
  children?: React$1.ReactNode;
772
+ previewTabIndex?: number;
773
+ wrapper?: React$1.ReactNode;
774
+ fallback?: React$1.ReactNode;
763
775
  }
764
776
 
765
777
  interface VideoHeroCardContentProps {
766
778
  title: string;
779
+ titleLevel?: HeadingLevel;
767
780
  label: string;
781
+ labelLevel?: HeadingLevel;
768
782
  description: string | ReactNode;
769
783
  background: "dark" | "light";
770
784
  videoDate?: string;
@@ -795,7 +809,9 @@ interface VideoPortraitCardProps {
795
809
  */
796
810
  thumbnail?: {
797
811
  title: string;
812
+ titleLevel?: HeadingLevel;
798
813
  label: string;
814
+ labelLevel?: HeadingLevel;
799
815
  img: string;
800
816
  };
801
817
  /**
@@ -929,5 +945,62 @@ interface PartnerBrandLogosProps {
929
945
  subgroups: PartnerLogosSubgroup[];
930
946
  }
931
947
 
932
- 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 };
933
- 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 };