formica-ui-lib 1.0.22 → 1.0.24

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 (56) hide show
  1. package/dist/componentProps/atoms/button/ButtonProps.d.ts +11 -7
  2. package/dist/componentProps/atoms/icon/IconProps.d.ts +1 -1
  3. package/dist/componentProps/atoms/image/ImageProps.d.ts +10 -4
  4. package/dist/componentProps/atoms/text/TextProps.d.ts +1 -1
  5. package/dist/componentProps/molecules/card/moreinfohighlightscard/MoreInfoHighlightsCardProps.d.ts +10 -0
  6. package/dist/componentProps/molecules/selectors/slidingtabselector/SlidingTabsSelectorProps.d.ts +20 -0
  7. package/dist/componentProps/organisms/banner/columnbanner/ColumnBannerProps.d.ts +30 -0
  8. package/dist/componentProps/organisms/banner/herobanner/CallToActionCarouselProps.d.ts +12 -0
  9. package/dist/componentProps/organisms/banner/herobanner/CallToActionHeroProps.d.ts +19 -0
  10. package/dist/componentProps/organisms/footer/FooterProps.d.ts +41 -23
  11. package/dist/componentProps/organisms/navigation/TopNavBarProps.d.ts +31 -0
  12. package/dist/componentProps/organisms/section/featurecardssection/FeatureCardSectionProps.d.ts +7 -0
  13. package/dist/componentProps/organisms/section/moreinfohighlightssection/MoreInfoHighlightsSectionProps.d.ts +8 -0
  14. package/dist/index.cjs +8 -33
  15. package/dist/index.d.ts +9 -7
  16. package/dist/index.js +1842 -2153
  17. package/dist/stories/atoms/button/Button.d.ts +2 -24
  18. package/dist/stories/atoms/button/ButtonThemeStyles.d.ts +16 -0
  19. package/dist/stories/atoms/image/Image.d.ts +1 -1
  20. package/dist/stories/molecules/card/featurecard/FeatureCard.d.ts +1 -1
  21. package/dist/stories/molecules/card/moreinfohighlightscard/MoreInfoHighlightsCard.d.ts +4 -0
  22. package/dist/stories/molecules/selectors/countryselector/CountrySelector.d.ts +4 -0
  23. package/dist/stories/molecules/selectors/slidingtabselector/SlidingTabIndicator.d.ts +4 -0
  24. package/dist/stories/organisms/banner/calltoactioncarousel/CallToActionCarousel.d.ts +4 -0
  25. package/dist/stories/organisms/banner/calltoactioncarousel/CallToActionCarousel.stories.d.ts +42 -0
  26. package/dist/stories/organisms/banner/calltoactionhero/CallToActionHero.d.ts +4 -0
  27. package/dist/stories/organisms/banner/calltoactionhero/CallToActionHero.test.d.ts +1 -0
  28. package/dist/stories/organisms/banner/columnbanner/ColumnBanner.d.ts +4 -0
  29. package/dist/stories/organisms/banner/columnbanner/ColumnBanner.test.d.ts +1 -0
  30. package/dist/stories/organisms/banner/columnbanner/parts/ColumnBannerHeader.d.ts +7 -0
  31. package/dist/stories/organisms/banner/columnbanner/parts/ColumnBannerTabs.d.ts +13 -0
  32. package/dist/stories/organisms/banner/columnbanner/parts/ColumnCarousel.d.ts +19 -0
  33. package/dist/stories/organisms/footer/Footer.d.ts +6 -2
  34. package/dist/stories/organisms/footer/parts/BrandBlock.d.ts +3 -0
  35. package/dist/stories/organisms/footer/parts/FooterLinkItem.d.ts +6 -0
  36. package/dist/stories/organisms/footer/parts/LegalBlock.d.ts +3 -0
  37. package/dist/stories/organisms/footer/parts/LogosBar.d.ts +8 -0
  38. package/dist/stories/organisms/footer/parts/SitemapColumns.d.ts +5 -0
  39. package/dist/stories/organisms/{menu → navigation}/BrandNavBar/BrandNavBar.d.ts +1 -1
  40. package/dist/stories/organisms/navigation/BrandNavBar/BrandNavBar.test.d.ts +1 -0
  41. package/dist/stories/organisms/{menu → navigation}/TopNavBar/TopNavBar.d.ts +2 -2
  42. package/dist/stories/organisms/navigation/TopNavBar/TopNavBar.test.d.ts +1 -0
  43. package/dist/stories/organisms/navigation/TopNavBar/parts/TopNavActions.d.ts +19 -0
  44. package/dist/stories/organisms/navigation/TopNavBar/parts/TopNavDropdown.d.ts +9 -0
  45. package/dist/stories/organisms/section/featurecardsection/FeatureCardSection.d.ts +4 -0
  46. package/dist/stories/organisms/section/moreinfohighlights/MoreInfoHighlightsSection.d.ts +4 -0
  47. package/dist/stories/page/home/HomePage.d.ts +29 -0
  48. package/package.json +19 -17
  49. package/dist/componentProps/organisms/banner/herobanner/HeroBannerProps.d.ts +0 -6
  50. package/dist/componentProps/organisms/menu/TopNavBarProps.d.ts +0 -27
  51. package/dist/stories/molecules/selectors/CountrySelector.d.ts +0 -4
  52. package/dist/stories/organisms/banner/herobanner/HeroBanner.d.ts +0 -4
  53. package/dist/stories/page/v1/home/HomePage.d.ts +0 -42
  54. /package/dist/componentProps/molecules/selectors/{CountrySelectorProps.d.ts → countryselector/CountrySelectorProps.d.ts} +0 -0
  55. /package/dist/componentProps/molecules/selectors/{RadioButtonProps.d.ts → radiobutton/RadioButtonProps.d.ts} +0 -0
  56. /package/dist/componentProps/organisms/{menu → navigation}/BrandNavBarProps.d.ts +0 -0
@@ -1,15 +1,19 @@
1
1
  import React from "react";
2
- export type ButtonVariant = 'nav' | 'standard' | 'secondary' | 'text' | 'icon' | 'free';
3
- export type IconPosition = 'left' | 'right';
4
- export interface ButtonProps {
2
+ export type ButtonVariant = "standard" | "nav" | "text" | "icon" | "segmented" | "small";
3
+ export type ButtonType = "primary" | "secondary" | "accent" | "ghost";
4
+ export type IconPosition = "left" | "right";
5
+ export type SegmentPosition = "only" | "first" | "middle" | "last";
6
+ export interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "className" | "onClick" | "children"> {
5
7
  label?: string;
6
- iconSrc?: string;
8
+ children?: React.ReactNode;
9
+ iconType?: any;
10
+ iconName?: string;
7
11
  iconAlt?: string;
8
12
  iconPosition?: IconPosition;
9
13
  variant?: ButtonVariant;
14
+ buttonType?: ButtonType;
15
+ segmentPosition?: SegmentPosition;
16
+ active?: boolean;
10
17
  onClick?: React.MouseEventHandler<HTMLButtonElement>;
11
18
  className?: string;
12
- active?: boolean;
13
- href?: string;
14
- style?: string;
15
19
  }
@@ -1,6 +1,6 @@
1
1
  import type { IconDefinition } from '@fortawesome/fontawesome-svg-core';
2
2
  export type IconSize = 'base' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl';
3
- export type IconColor = 'primary' | 'secondary' | 'accent';
3
+ export type IconColor = 'inherit' | 'primary' | 'secondary' | 'accent';
4
4
  export type IconProps = {
5
5
  icon?: IconDefinition;
6
6
  alt?: string;
@@ -1,7 +1,13 @@
1
- export type ImageProps = React.ImgHTMLAttributes<HTMLImageElement> & {
1
+ import React from "react";
2
+ export type ImageProps = Omit<React.ImgHTMLAttributes<HTMLImageElement>, "src" | "alt"> & {
2
3
  src: string;
3
4
  alt: string;
4
- width?: string | number;
5
- height?: string | number;
6
- className?: string;
5
+ quality: number;
6
+ fit?: "contain" | "cover" | "fill";
7
+ };
8
+ export type NetlifyLoaderArgs = {
9
+ src: string;
10
+ width?: number;
11
+ quality?: number;
12
+ fit?: "contain" | "cover" | "fill";
7
13
  };
@@ -1,4 +1,4 @@
1
- export type TextVariant = 'h1' | 'h2' | 'h3' | 'nav' | 'standard' | 'navlink' | 'free' | 'body' | 'bold' | 'caption';
1
+ export type TextVariant = 'h1' | 'h2' | 'h3' | 'nav' | 'standard' | 'navlink' | 'free' | 'body' | 'bold' | 'caption' | 'eyebrow';
2
2
  export type TextTag = 'p' | 'span' | 'div' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
3
3
  export interface TextProps extends React.HTMLAttributes<HTMLElement> {
4
4
  as?: TextTag;
@@ -0,0 +1,10 @@
1
+ import type { FaTypeClass } from "../../../../stories/atoms/icon/Icon";
2
+ export type MoreInfoHighlightsCardProps = {
3
+ iconType: FaTypeClass;
4
+ iconName: string;
5
+ title: string;
6
+ body: string;
7
+ href?: string;
8
+ linkLabel?: string;
9
+ onLinkClick?: () => void;
10
+ };
@@ -0,0 +1,20 @@
1
+ import React from "react";
2
+ type RailTabsItem = {
3
+ label: string;
4
+ disabled?: boolean;
5
+ };
6
+ export type SlidingTabIndicatorProps = {
7
+ items: RailTabsItem[];
8
+ value: string;
9
+ onChange: (label: string) => void;
10
+ renderTab?: (args: {
11
+ item: RailTabsItem;
12
+ isActive: boolean;
13
+ onClick: () => void;
14
+ }) => React.ReactNode;
15
+ className?: string;
16
+ durationMs?: number;
17
+ thicknessClassName?: string;
18
+ baselineClassName?: string;
19
+ };
20
+ export {};
@@ -0,0 +1,30 @@
1
+ export interface TabItem {
2
+ label: string;
3
+ columns?: ColumnGroup[];
4
+ }
5
+ export interface ColumnTab {
6
+ label: string;
7
+ items: CtaItem[];
8
+ }
9
+ export interface CtaItem {
10
+ id: string;
11
+ label: string;
12
+ href: string;
13
+ source: string;
14
+ alt?: string;
15
+ description?: string;
16
+ }
17
+ export interface ColumnGroup {
18
+ group: string;
19
+ title: string;
20
+ description?: string;
21
+ items: CtaItem[];
22
+ }
23
+ export interface ColumnBannerProps {
24
+ heading: string;
25
+ body?: string;
26
+ description?: string;
27
+ TabsWithColumns: TabItem[];
28
+ onFavoriteToggle?: (item: CtaItem, isFavorite: boolean) => void;
29
+ onItemClick?: (item: CtaItem) => void;
30
+ }
@@ -0,0 +1,12 @@
1
+ import type { CallToActionHeroProps } from "./CallToActionHeroProps";
2
+ import type { ButtonProps } from "../../../atoms/button/ButtonProps";
3
+ export interface CallToActionCarouselProps {
4
+ slides: CallToActionHeroProps[];
5
+ initialIndex?: number;
6
+ showArrows?: boolean;
7
+ showDots?: boolean;
8
+ loop?: boolean;
9
+ prevArrowButtonProps?: Partial<ButtonProps>;
10
+ nextArrowButtonProps?: Partial<ButtonProps>;
11
+ autoRotateSeconds?: number;
12
+ }
@@ -0,0 +1,19 @@
1
+ import React from "react";
2
+ import type { ButtonVariant, ButtonType } from "../../../atoms/button/ButtonProps";
3
+ export type CallToActionHeroCta = {
4
+ label: string;
5
+ variant?: ButtonVariant;
6
+ buttonType?: ButtonType;
7
+ className?: string;
8
+ href?: string;
9
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
10
+ };
11
+ export interface CallToActionHeroProps {
12
+ imageSrc: string;
13
+ imageAlt?: string;
14
+ heading: string;
15
+ subheading?: string;
16
+ body: string;
17
+ eyebrow?: string;
18
+ ctas?: CallToActionHeroCta[];
19
+ }
@@ -1,24 +1,42 @@
1
- import { IconProp } from "@fortawesome/fontawesome-svg-core";
2
- export interface SiteLinkGroup {
3
- group: string;
4
- links: {
5
- label: string;
6
- }[];
7
- }
8
- export interface SocialLink {
1
+ import { IconDefinition } from "@fortawesome/fontawesome-svg-core";
2
+ export type FooterLink = {
3
+ label: string;
4
+ href?: string;
5
+ target?: "_self" | "_blank";
6
+ rel?: string;
7
+ };
8
+ export type FooterColumn = {
9
+ heading: string;
10
+ links: FooterLink[];
11
+ };
12
+ export type FooterImage = {
13
+ src: string;
14
+ alt: string;
15
+ href?: string;
16
+ target?: "_self" | "_blank";
17
+ rel?: string;
18
+ };
19
+ export type FooterSocialLink = {
20
+ label: string;
9
21
  href: string;
10
- icon: IconProp | string;
11
- }
12
- export interface Legal {
13
- phone?: string;
14
- disclaimerText: string;
15
- footerLinks: {
16
- label: string;
17
- href: string;
18
- }[];
19
- }
20
- export interface FooterProps {
21
- siteLinks?: SiteLinkGroup[];
22
- socialLinks?: SocialLink[];
23
- legal?: Legal;
24
- }
22
+ faIcon?: IconDefinition;
23
+ iconSrc?: string;
24
+ };
25
+ export type FooterBrandBlock = {
26
+ primaryLogo: FooterImage;
27
+ phoneLine?: string;
28
+ socials?: FooterSocialLink[];
29
+ affiliateLogos?: FooterImage[];
30
+ };
31
+ export type FooterLegalBlock = {
32
+ links?: FooterLink[];
33
+ utilityLink?: FooterLink;
34
+ disclaimerLines?: string[];
35
+ copyrightLine?: string;
36
+ };
37
+ export type FooterProps = {
38
+ brand: FooterBrandBlock;
39
+ columns: FooterColumn[];
40
+ parentLogo?: FooterImage;
41
+ legal: FooterLegalBlock;
42
+ };
@@ -0,0 +1,31 @@
1
+ export type NavLink = {
2
+ label: string;
3
+ href: string;
4
+ };
5
+ export type SubCategory = {
6
+ label: string;
7
+ items: NavLink[];
8
+ };
9
+ export type Promo = {
10
+ imageSrc: string;
11
+ imageAlt: string;
12
+ label?: string;
13
+ href?: string;
14
+ };
15
+ export type NavItem = {
16
+ label: string;
17
+ subcategories: SubCategory[];
18
+ promo?: Promo;
19
+ };
20
+ export type TopNavBarProps = {
21
+ NavMenuWithSubItems: NavItem[];
22
+ Countries: {
23
+ label: string;
24
+ locale: string;
25
+ href: string;
26
+ }[];
27
+ Login: {
28
+ label: string;
29
+ href: string;
30
+ };
31
+ };
@@ -0,0 +1,7 @@
1
+ import { FeatureCardProps } from "../../../molecules/card/featurecard/FeatureCardProps";
2
+ export type FeatureCardSectionProps = {
3
+ title?: string;
4
+ body?: string;
5
+ cards: FeatureCardProps[];
6
+ className?: string;
7
+ };
@@ -0,0 +1,8 @@
1
+ import type { MoreInfoHighlightsCardProps } from "../../../molecules/card/moreinfohighlightscard/MoreInfoHighlightsCardProps";
2
+ export type MoreInfoHighlightsSectionProps = {
3
+ heading: string;
4
+ body?: string;
5
+ cards: MoreInfoHighlightsCardProps[];
6
+ className?: string;
7
+ columns?: 1 | 2 | 3 | 4;
8
+ };