formica-ui-lib 1.0.195 → 1.0.197

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 (44) hide show
  1. package/dist/.gitkeep +1 -0
  2. package/dist/componentProps/molecules/card/swatchquantitycard/SwatchQuantityCardProps.d.ts +13 -0
  3. package/dist/componentProps/molecules/cards/infocard/InfoCardProps.d.ts +12 -4
  4. package/dist/componentProps/molecules/navigation/footerimagelink/FooterImageLinkProps.d.ts +1 -1
  5. package/dist/componentProps/{organisms/footer → molecules/navigation/footerlinkitem}/FooterLinkItemProps.d.ts +1 -1
  6. package/dist/componentProps/organisms/navigation/TopNavBarProps.d.ts +10 -0
  7. package/dist/componentProps/organisms/{footer/LogosBarProps.d.ts → navigation/footerlogosbar/FooterLogosBarProps.d.ts} +2 -2
  8. package/dist/componentProps/organisms/navigation/footersitemap/FooterSitemapProps.d.ts +4 -0
  9. package/dist/componentProps/organisms/section/productinformationsection/ProductInformationSectionProps.d.ts +56 -0
  10. package/dist/componentProps/organisms/section/swatchpurchasepanel/SwatchPurchasePanelLeftPanelProps.d.ts +46 -0
  11. package/dist/componentProps/organisms/section/swatchpurchasepanel/SwatchPurchasePanelProps.d.ts +91 -0
  12. package/dist/componentProps/organisms/section/swatchpurchasepanel/SwatchPurchasePanelRightPanelProps.d.ts +15 -0
  13. package/dist/componentProps/scene/home/HomePageProps.d.ts +1 -1
  14. package/dist/componentProps/scene/sfsolutionscenter/SFSolutionsCenterSceneProps.d.ts +16 -0
  15. package/dist/index.cjs +1 -1
  16. package/dist/index.d.ts +2 -2
  17. package/dist/index.js +302 -284
  18. package/dist/stories/molecules/card/swatchquantitycard/SwatchQuantityCard.d.ts +4 -0
  19. package/dist/stories/molecules/card/swatchquantitycard/SwatchQuantityCard.test.d.ts +1 -0
  20. package/dist/stories/molecules/navigation/footerlinkitem/FooterLinkItem.d.ts +3 -0
  21. package/dist/stories/organisms/navigation/Footer/Footer.d.ts +1 -1
  22. package/dist/stories/organisms/navigation/Footer/FooterBrandBlock/FooterBrandBlock.d.ts +3 -0
  23. package/dist/stories/organisms/navigation/Footer/FooterLegal/FooterLegal.d.ts +3 -0
  24. package/dist/stories/organisms/navigation/Footer/FooterLogosBar/FooterLogosBar.d.ts +3 -0
  25. package/dist/stories/organisms/navigation/Footer/FooterSiteMap/FooterSitemap.d.ts +3 -0
  26. package/dist/stories/scenes/sfsolutionscenter/SFSolutionsCenterScene.d.ts +4 -0
  27. package/dist/stories/scenes/sustainability/{SustainabilityHubScene.d.ts → sustainabilityhub/SustainabilityHubScene.d.ts} +1 -1
  28. package/dist/stories/scenes/{sustainabilitysnippets → sustainability/sustainabilitysnippets}/SustainabilitySnippetsScene.d.ts +1 -1
  29. package/dist/tailwind.css +1 -1
  30. package/package.json +1 -1
  31. package/dist/componentProps/organisms/footer/SitemapColumnsProps.d.ts +0 -4
  32. package/dist/stories/organisms/navigation/Footer/parts/BrandBlock.d.ts +0 -3
  33. package/dist/stories/organisms/navigation/Footer/parts/FooterLinkItem.d.ts +0 -3
  34. package/dist/stories/organisms/navigation/Footer/parts/LegalBlock.d.ts +0 -3
  35. package/dist/stories/organisms/navigation/Footer/parts/LogosBar.d.ts +0 -3
  36. package/dist/stories/organisms/navigation/Footer/parts/SitemapColumns.d.ts +0 -3
  37. package/dist/stories/scenes/sustainabilityhub/SustainabilityHubScene.d.ts +0 -4
  38. package/dist/vite.svg +0 -1
  39. /package/dist/componentProps/organisms/{footer → navigation/footer}/FooterProps.d.ts +0 -0
  40. /package/dist/stories/{organisms/navigation/Footer/parts → molecules/navigation/footerlinkitem}/FooterLinkItem.test.d.ts +0 -0
  41. /package/dist/stories/organisms/navigation/Footer/{parts/BrandBlock.test.d.ts → FooterBrandBlock/FooterBrandBlock.test.d.ts} +0 -0
  42. /package/dist/stories/organisms/navigation/Footer/{parts/LegalBlock.test.d.ts → FooterLegal/FooterLegal.test.d.ts} +0 -0
  43. /package/dist/stories/organisms/navigation/Footer/{parts/LogosBar.test.d.ts → FooterLogosBar/FooterLogosBar.test.d.ts} +0 -0
  44. /package/dist/stories/organisms/navigation/Footer/{parts/SitemapColumns.test.d.ts → FooterSiteMap/FooterSitemap.test.d.ts} +0 -0
package/dist/.gitkeep ADDED
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,13 @@
1
+ export type SwatchQuantityCardProps = {
2
+ imageSrc: string;
3
+ imageAlt: string;
4
+ title: string;
5
+ brand: string;
6
+ decorNumber: number;
7
+ swatchType: string;
8
+ initialQuantity?: number;
9
+ minQuantity?: number;
10
+ maxQuantity?: number;
11
+ onQuantityChange?: (quantity: number) => void;
12
+ onRemoveItem?: () => void;
13
+ };
@@ -1,15 +1,23 @@
1
+ import type { ButtonVariant, ButtonIntent, ButtonSize } from "../../../atoms/buttons/button/ButtonProps";
1
2
  export type InfoCardAlign = "left" | "right";
2
- export interface InfoCardButtonClickPayload {
3
+ export type InfoCardButton = {
3
4
  buttonLabel: string;
4
5
  buttonHref?: string;
5
- }
6
+ variant?: ButtonVariant;
7
+ intent?: ButtonIntent;
8
+ size?: ButtonSize;
9
+ };
10
+ export type InfoCardButtonClickPayload = {
11
+ buttonLabel: string;
12
+ buttonHref?: string;
13
+ index: number;
14
+ };
6
15
  export interface InfoCardProps {
7
16
  imageSrc: string;
8
17
  imageAlt?: string;
9
18
  headline?: string;
10
19
  body: string;
11
- buttonLabel?: string;
12
- buttonHref?: string;
20
+ buttons?: InfoCardButton[];
13
21
  align?: InfoCardAlign;
14
22
  onButtonClick?: (payload: InfoCardButtonClickPayload) => void;
15
23
  }
@@ -1,4 +1,4 @@
1
- import type { FooterImageProps } from "../../../organisms/footer/FooterProps";
1
+ import type { FooterImageProps } from "../../../organisms/navigation/footer/FooterProps";
2
2
  export type FooterImageLinkProps = {
3
3
  img: FooterImageProps;
4
4
  className?: string;
@@ -1,4 +1,4 @@
1
- import type { FooterLinkProps } from "./FooterProps";
1
+ import type { FooterLinkProps } from "../../../organisms/navigation/footer/FooterProps";
2
2
  export type FooterLinkItemProps = {
3
3
  item: FooterLinkProps;
4
4
  className?: string;
@@ -1,15 +1,25 @@
1
1
  import { Country } from "../../molecules/selectors/countryselector/CountrySelectorProps";
2
2
  export type NavLinkItem = {
3
+ id?: string;
3
4
  label: string;
4
5
  href: string;
5
6
  };
6
7
  export type NavSubcategory = {
8
+ id?: string;
7
9
  label: string;
8
10
  items: NavLinkItem[];
9
11
  };
12
+ export type NavPromo = {
13
+ imageSrc: string;
14
+ imageAlt: string;
15
+ label: string;
16
+ href: string;
17
+ };
10
18
  export type NavItem = {
19
+ id?: string;
11
20
  label: string;
12
21
  href?: string;
22
+ promo?: NavPromo;
13
23
  subcategories?: NavSubcategory[];
14
24
  };
15
25
  export type TopNavCartSummary = {
@@ -1,5 +1,5 @@
1
- import type { FooterImageProps } from "./FooterProps";
2
- export type LogosBarProps = {
1
+ import type { FooterImageProps } from "../footer/FooterProps";
2
+ export type FooterLogosBarProps = {
3
3
  affiliateLogos?: FooterImageProps[];
4
4
  parentLogo?: FooterImageProps;
5
5
  phoneLine?: string;
@@ -0,0 +1,4 @@
1
+ import type { FooterColumnProps } from "../footer/FooterProps";
2
+ export type FooterSitemapProps = {
3
+ columns: FooterColumnProps[];
4
+ };
@@ -0,0 +1,56 @@
1
+ import React from "react";
2
+ export type ProductInformationTabKey = "details" | "texture" | "sizeAndGrade";
3
+ export type ProductDetailsData = {
4
+ summary?: string;
5
+ content?: React.ReactNode;
6
+ };
7
+ export type TextureItem = {
8
+ key: string;
9
+ title?: string;
10
+ imageSrc?: string;
11
+ imageAlt?: string;
12
+ description?: string;
13
+ };
14
+ export type TextureGroup = {
15
+ id: string;
16
+ title: string;
17
+ items: TextureItem[];
18
+ };
19
+ export type TextureData = {
20
+ groups?: TextureGroup[];
21
+ };
22
+ export type SizeAndGradeDefinition = {
23
+ id: string;
24
+ grade: string;
25
+ text: string;
26
+ };
27
+ export type SizeAndGradeCardData = {
28
+ id: string;
29
+ title: string;
30
+ grade?: string;
31
+ thickness?: string;
32
+ subtitle?: string;
33
+ items?: string[];
34
+ mtoItems?: string[];
35
+ };
36
+ export type SizeAndGradeData = {
37
+ summary?: string;
38
+ grade?: string;
39
+ definitions?: SizeAndGradeDefinition[];
40
+ cards?: SizeAndGradeCardData[];
41
+ content?: React.ReactNode;
42
+ };
43
+ export type ProductInformationSectionProps = {
44
+ ranges: ProductInformationRange[];
45
+ defaultTab?: ProductInformationTabKey;
46
+ defaultRangeId?: string;
47
+ selectedGrade?: string;
48
+ className?: string;
49
+ };
50
+ export type ProductInformationRange = {
51
+ id: string;
52
+ label: string;
53
+ details?: ProductDetailsData;
54
+ texture?: TextureData;
55
+ sizeAndGrade?: SizeAndGradeData;
56
+ };
@@ -0,0 +1,46 @@
1
+ import type { ButtonGridItem } from "../../../molecules/buttons/buttongrid/ButtonGridProps";
2
+ export type SwatchPurchasePanelTab = "Sample" | "Buy Now" | string;
3
+ export type SwatchOption = ButtonGridItem & {
4
+ id: string;
5
+ label: string;
6
+ value: string;
7
+ disabled?: boolean;
8
+ active?: boolean;
9
+ onClick?: () => void;
10
+ };
11
+ export type SwatchPurchasePanelLeftPanelNavigateMeta = {
12
+ kind: "availability" | "returnPolicy";
13
+ };
14
+ export type SwatchPurchasePanelLeftPanelProps = {
15
+ sku?: string;
16
+ title?: string;
17
+ decor?: string;
18
+ description?: string;
19
+ patternRepeat?: string;
20
+ onDownloadSwatch?: () => void;
21
+ onDownloadFullSheet?: () => void;
22
+ tabs?: SwatchPurchasePanelTab[];
23
+ activeTab: SwatchPurchasePanelTab;
24
+ onTabChange: (tab: SwatchPurchasePanelTab) => void;
25
+ productOptions?: SwatchOption[];
26
+ gradeOptions?: SwatchOption[];
27
+ textureOptions?: SwatchOption[];
28
+ sizeOptions?: SwatchOption[];
29
+ selectedProduct?: string | null;
30
+ selectedGrade?: string | null;
31
+ selectedTexture?: string | null;
32
+ selectedSize?: string | null;
33
+ availabilityHref?: string;
34
+ availabilityLabel?: string;
35
+ notReturnableText?: string;
36
+ returnPolicyHref?: string;
37
+ returnPolicyLabel?: string;
38
+ onNavigate?: (href: string, meta?: SwatchPurchasePanelLeftPanelNavigateMeta) => void;
39
+ priceLabel?: string;
40
+ initialQuantity?: number;
41
+ minQuantity?: number;
42
+ maxQuantity?: number;
43
+ onQuantityChange?: (quantity: number) => void;
44
+ onAddToWishlist: () => void;
45
+ onAddToCart: (quantity: number) => void;
46
+ };
@@ -0,0 +1,91 @@
1
+ export type SwatchPurchasePanelTab = "Sample" | "Buy Now" | string;
2
+ export type SwatchPurchasePanelNavigateMeta = {
3
+ kind: "availability" | "returnPolicy";
4
+ };
5
+ export type SwatchPurchasePanelCarouselProps = {
6
+ slides: any[];
7
+ initialIndex?: number;
8
+ text?: string;
9
+ };
10
+ export type AddToFavoritesPayloadProps = {
11
+ sku?: string;
12
+ decor?: string;
13
+ };
14
+ export type SwatchPurchasePanelOptionProps = {
15
+ id: string;
16
+ label: string;
17
+ disabled?: boolean;
18
+ value?: string;
19
+ active?: boolean;
20
+ onClick?: (id: string) => void;
21
+ };
22
+ export type CartOrderProps = {
23
+ type: SwatchPurchasePanelTab;
24
+ sku?: string;
25
+ decor?: string;
26
+ product: string | null;
27
+ grade: string | null;
28
+ texture: string | null;
29
+ size: string | null;
30
+ quantity: number;
31
+ priceValue?: number;
32
+ priceLabel?: string;
33
+ currency?: string;
34
+ };
35
+ export type SwatchPurchasePanelTabOptionGroups = {
36
+ productOptions?: SwatchPurchasePanelOptionProps[];
37
+ gradeOptions?: SwatchPurchasePanelOptionProps[];
38
+ textureOptions?: SwatchPurchasePanelOptionProps[];
39
+ sizeOptions?: SwatchPurchasePanelOptionProps[];
40
+ };
41
+ export type ProductVariantProps = {
42
+ id: string;
43
+ sku: string;
44
+ productName?: string;
45
+ rangeId?: string;
46
+ texture?: string;
47
+ thicknessIn?: string;
48
+ widthIn?: string;
49
+ lengthIn?: string;
50
+ price?: {
51
+ value?: number;
52
+ label?: string;
53
+ };
54
+ finish?: string;
55
+ grade?: string;
56
+ isWebEnabled?: boolean;
57
+ };
58
+ export type SwatchPurchasePanelProps = {
59
+ sku?: string;
60
+ decor?: string;
61
+ title: string;
62
+ description?: string;
63
+ patternRepeat?: string;
64
+ onDownloadSwatch?: () => void;
65
+ onDownloadFullSheet?: () => void;
66
+ carousel: SwatchPurchasePanelCarouselProps;
67
+ tabs?: SwatchPurchasePanelTab[];
68
+ initialTab?: SwatchPurchasePanelTab;
69
+ tabOptions?: Record<SwatchPurchasePanelTab, SwatchPurchasePanelTabOptionGroups>;
70
+ productOptions?: SwatchPurchasePanelOptionProps[];
71
+ gradeOptions?: SwatchPurchasePanelOptionProps[];
72
+ textureOptions?: SwatchPurchasePanelOptionProps[];
73
+ sizeOptions?: SwatchPurchasePanelOptionProps[];
74
+ variants?: ProductVariantProps[];
75
+ priceLabel?: string;
76
+ priceValue?: number;
77
+ currency?: string;
78
+ initialQuantity?: number;
79
+ minQuantity?: number;
80
+ maxQuantity?: number;
81
+ onAddToWishlist: (payload: AddToFavoritesPayloadProps) => void;
82
+ onAddToCart: (order: CartOrderProps) => void;
83
+ availabilityHref?: string;
84
+ availabilityLabel?: string;
85
+ returnPolicyHref?: string;
86
+ returnPolicyLabel?: string;
87
+ notReturnableText?: string;
88
+ onNavigate?: (href: string, meta?: SwatchPurchasePanelNavigateMeta) => void;
89
+ };
90
+ export type GroupName = "product" | "grade" | "texture" | "size";
91
+ export type SelectedState = Record<GroupName, string | null>;
@@ -0,0 +1,15 @@
1
+ import { ImageSlideProps } from "../../carousels/imagecarousel/ImageCarouselProps";
2
+ export type SwatchPurchasePanelCarouselSlide = {
3
+ id: string;
4
+ imageSrc: string;
5
+ imageAlt: string;
6
+ title?: string;
7
+ };
8
+ export type SwatchPurchasePanelCarousel = {
9
+ slides: ImageSlideProps[];
10
+ initialIndex?: number;
11
+ text?: string;
12
+ };
13
+ export type SwatchPurchasePanelRightPanelProps = {
14
+ carousel?: SwatchPurchasePanelCarousel;
15
+ };
@@ -5,7 +5,7 @@ import type { CallToActionHeroProps } from "../../organisms/banners/herobanner/C
5
5
  import type { ButtonProps } from "../../atoms/buttons/button/ButtonProps";
6
6
  import type { ColumnBannerProps } from "../../organisms/banners/columnbanner/ColumnBannerProps";
7
7
  import type { FeatureCardCollectionProps } from "../../organisms/collections/featurecardcollection/FeatureCardCollectionProps";
8
- import type { FooterProps } from "../../organisms/footer/FooterProps";
8
+ import type { FooterProps } from "../../organisms/navigation/footer/FooterProps";
9
9
  import type { MoreInfoHighlightsCollectionProps } from "../../organisms/collections/moreinfohighlightscollection/MoreInfoHighlightsCollectionProps";
10
10
  import type { InfoCardProps } from "../../molecules/cards/infocard/InfoCardProps";
11
11
  export type HomePageProps = {
@@ -0,0 +1,16 @@
1
+ import type { CallToActionHeroProps } from "../../organisms/banners/herobanner/CallToActionHeroProps";
2
+ import type { MultiButtonBarProps } from "../../molecules/selectors/multibuttonbar/MultiButtonBarProps";
3
+ import type { TextCardProps } from "../../molecules/cards/textcard/TextCardProps";
4
+ import type { InfoCardProps } from "../../molecules/cards/infocard/InfoCardProps";
5
+ import type { StandardCopyHeroProps } from "../../organisms/banners/standardcopyhero/StandardCopyHeroProps";
6
+ import type { FeatureCardCollectionProps } from "../../organisms/collections/featurecardcollection/FeatureCardCollectionProps";
7
+ export interface SFSolutionsCenterSceneProps {
8
+ callToActionHeroProps: CallToActionHeroProps;
9
+ multiButtonBarProps: MultiButtonBarProps;
10
+ textCardProps: TextCardProps;
11
+ infoCardProps: InfoCardProps;
12
+ infoCardProps2: InfoCardProps;
13
+ infoCardProps3: InfoCardProps;
14
+ standardCopyHeroProps: StandardCopyHeroProps;
15
+ featureCardCollectionProps: FeatureCardCollectionProps;
16
+ }