formica-ui-lib 1.0.143 → 1.0.149

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 (92) hide show
  1. package/dist/componentProps/atoms/{button → buttons/button}/ButtonProps.d.ts +8 -6
  2. package/dist/componentProps/atoms/buttons/iconbutton/IconButtonProps.d.ts +2 -0
  3. package/dist/componentProps/atoms/dropdown/DropdownProps.d.ts +1 -1
  4. package/dist/componentProps/atoms/icon/IconProps.d.ts +4 -0
  5. package/dist/componentProps/atoms/image/ImageProps.d.ts +1 -0
  6. package/dist/componentProps/atoms/input/inputProps.d.ts +4 -1
  7. package/dist/componentProps/molecules/card/clickablecard/ClickableCardProps.d.ts +7 -0
  8. package/dist/componentProps/molecules/card/documentlinkcard/DocumentLinkCardProps.d.ts +6 -0
  9. package/dist/componentProps/molecules/card/featurecard/FeatureCardProps.d.ts +13 -6
  10. package/dist/componentProps/molecules/carousel/standardcarousel/StandardCarouselProps.d.ts +1 -1
  11. package/dist/componentProps/molecules/cart/cartactions/CartActionsProps.d.ts +14 -0
  12. package/dist/componentProps/molecules/mediaLinks/footerimagelink/FooterImageLinkProps.d.ts +5 -0
  13. package/dist/componentProps/molecules/navigation/headeractionbutton/HeaderActionButtonProps.d.ts +2 -0
  14. package/dist/componentProps/molecules/navigation/navbutton/NavButtonProps.d.ts +4 -0
  15. package/dist/componentProps/molecules/radiobuttons/RadioButtonsProps.d.ts +12 -0
  16. package/dist/componentProps/molecules/searchbar/SearchBarProps.d.ts +3 -0
  17. package/dist/componentProps/molecules/segmentedcontrol/SegmentedControlProps.d.ts +14 -0
  18. package/dist/componentProps/molecules/selectors/appliedoptionslist/AppliedOptionsListProps.d.ts +2 -0
  19. package/dist/componentProps/molecules/selectors/countryselector/CountrySelectorProps.d.ts +4 -1
  20. package/dist/componentProps/molecules/selectors/multibuttonbar/MultiButtonBarProps.d.ts +9 -3
  21. package/dist/componentProps/molecules/selectors/sortandfilterbar/SortAndFilterBarProps.d.ts +8 -0
  22. package/dist/componentProps/molecules/selectors/tripledropdownbar/TripleDropdownBarProps.d.ts +4 -0
  23. package/dist/componentProps/molecules/selectors/verticalcolorswatchlist/VerticalColorSwatchListProps.d.ts +22 -0
  24. package/dist/componentProps/organisms/banner/columnbanner/ColumnBannerHeaderProps.d.ts +4 -0
  25. package/dist/componentProps/organisms/banner/columnbanner/ColumnCarouselCardProps.d.ts +5 -4
  26. package/dist/componentProps/organisms/banner/columnbanner/ColumnCarouselProps.d.ts +6 -5
  27. package/dist/componentProps/organisms/banner/herobanner/CallToActionHeroProps.d.ts +2 -2
  28. package/dist/componentProps/organisms/cart/checkoutsteppanel/CheckoutAccountStepProps.d.ts +21 -0
  29. package/dist/componentProps/organisms/cart/purchasepanel/PurchasePanelProps.d.ts +2 -5
  30. package/dist/componentProps/organisms/documentlinkcollection/DocumentLinkCollectionProps.d.ts +5 -0
  31. package/dist/componentProps/organisms/featurecards/featurecardscollection/FeatureCardCollectionProps.d.ts +11 -2
  32. package/dist/componentProps/organisms/footer/FooterLinkItemProps.d.ts +5 -0
  33. package/dist/componentProps/organisms/footer/LogosBarProps.d.ts +5 -0
  34. package/dist/componentProps/organisms/footer/SitemapColumnsProps.d.ts +4 -0
  35. package/dist/componentProps/organisms/imagegrid/ImageGridProps.d.ts +9 -0
  36. package/dist/componentProps/organisms/navigation/TopNavActionsProps.d.ts +1 -0
  37. package/dist/componentProps/organisms/navigation/TopNavBarProps.d.ts +1 -0
  38. package/dist/componentProps/organisms/productinformationsection/ProductDetailsPaneProps.d.ts +4 -0
  39. package/dist/componentProps/organisms/productinformationsection/TexturePaneProps.d.ts +4 -0
  40. package/dist/componentProps/organisms/productinformationsection/sizeandgradepane/SizeAndGradePaneProps.d.ts +5 -0
  41. package/dist/componentProps/organisms/verticalcheckboxlistcollection/VerticalCheckboxListCollectionProps.d.ts +9 -1
  42. package/dist/componentProps/scene/category/CategorySceneProps.d.ts +4 -2
  43. package/dist/componentProps/scene/gallery/GallerySceneProps.d.ts +10 -0
  44. package/dist/componentProps/scene/home/HomePageProps.d.ts +26 -0
  45. package/dist/componentProps/templates/cartpaymenttemplate/CartPaymentTemplateProps.d.ts +9 -0
  46. package/dist/componentProps/templates/cartsummarytemplate/CartSummaryTemplateProps.d.ts +7 -0
  47. package/dist/index.cjs +8 -8
  48. package/dist/index.d.ts +8 -4
  49. package/dist/index.js +1610 -1418
  50. package/dist/stories/atoms/buttons/button/Button.d.ts +1 -1
  51. package/dist/stories/atoms/buttons/button/ButtonThemeStyles.d.ts +5 -12
  52. package/dist/stories/atoms/buttons/iconbutton/IconButton.d.ts +4 -0
  53. package/dist/stories/atoms/dropdown/DropdownThemeStyles.d.ts +13 -0
  54. package/dist/stories/atoms/icon/Icon.d.ts +1 -5
  55. package/dist/stories/molecules/card/documentlinkcard/DocumentLinkCard.d.ts +4 -0
  56. package/dist/stories/molecules/cart/cartactions/CartActions.d.ts +1 -14
  57. package/dist/stories/molecules/clickable/clickablecard/ClickableCard.d.ts +4 -0
  58. package/dist/stories/molecules/{input → inputs/input}/InputField.d.ts +1 -1
  59. package/dist/stories/molecules/inputs/searchbar/SearchBar.d.ts +4 -0
  60. package/dist/stories/molecules/mediaLinks/footerImageLink/FooterImageLink.d.ts +2 -5
  61. package/dist/stories/molecules/navigation/headeractionbutton/HeaderActionButton.d.ts +4 -0
  62. package/dist/stories/molecules/navigation/navbutton/NavButton.d.ts +4 -0
  63. package/dist/stories/molecules/radioButtons/RadioButtons.d.ts +1 -12
  64. package/dist/stories/molecules/segmentedcontrol/SegmentedControl.d.ts +4 -0
  65. package/dist/stories/molecules/selectors/countryselector/CountrySelector.d.ts +2 -2
  66. package/dist/stories/molecules/selectors/multibuttonbar/MultiButtonBar.d.ts +1 -1
  67. package/dist/stories/molecules/selectors/sortandfilterbar/SortAndFilterBar.d.ts +4 -0
  68. package/dist/stories/molecules/selectors/tripledropdownbar/TripleDropdownBar.d.ts +4 -0
  69. package/dist/stories/molecules/selectors/verticalcolorswatchlist/VerticalColorSwatchList.d.ts +4 -0
  70. package/dist/stories/organisms/banner/columnbanner/parts/ColumnBannerHeader.d.ts +1 -4
  71. package/dist/stories/organisms/banner/columnbanner/parts/ColumnCarousel.d.ts +1 -0
  72. package/dist/stories/organisms/banner/columnbanner/parts/ColumnCarouselCard.d.ts +1 -0
  73. package/dist/stories/organisms/cart/checkoutsteppanel/CheckoutStepPanel.d.ts +1 -20
  74. package/dist/stories/organisms/documentlinkcollection/DocumentLinkCollection.d.ts +4 -0
  75. package/dist/stories/organisms/imagegrid/ImageGrid.d.ts +4 -0
  76. package/dist/stories/organisms/navigation/Footer/parts/FooterLinkItem.d.ts +2 -5
  77. package/dist/stories/organisms/navigation/Footer/parts/LogosBar.d.ts +1 -6
  78. package/dist/stories/organisms/navigation/Footer/parts/SitemapColumns.d.ts +2 -4
  79. package/dist/stories/organisms/productinformation/productdetailpane/ProductDetailsPane.d.ts +2 -4
  80. package/dist/stories/organisms/productinformation/sizeandgradepane/SizeAndGradePane.d.ts +1 -5
  81. package/dist/stories/organisms/productinformation/texturepane/TexturePane.d.ts +2 -4
  82. package/dist/stories/scenes/gallery/GalleryScene.d.ts +4 -0
  83. package/dist/stories/scenes/home/HomePageScene.d.ts +1 -26
  84. package/dist/stories/templates/cart/payment/CartPaymentTemplate.d.ts +1 -9
  85. package/dist/stories/templates/cart/summary/CartSummaryTemplate.d.ts +1 -7
  86. package/package.json +11 -11
  87. package/dist/componentProps/molecules/selectors/sortandsearchbar/SortAndSearchBarProps.d.ts +0 -5
  88. package/dist/stories/atoms/searchbar/SearchBar.d.ts +0 -2
  89. package/dist/stories/molecules/mediaLinks/footerImageLink/FooterImageLink.stories.d.ts +0 -8
  90. package/dist/stories/molecules/selectors/sortandsearchbar/SortAndSearchBar.d.ts +0 -4
  91. /package/dist/stories/{atoms → molecules/inputs}/searchbar/SearchBar.test.d.ts +0 -0
  92. /package/dist/stories/molecules/selectors/{sortandsearchbar/SortAndSearchBar.test.d.ts → sortandfilterbar/SortAndFilterBar.test.d.ts} +0 -0
@@ -1,10 +1,10 @@
1
1
  import React from "react";
2
- import type { FaTypeClass } from "../icon/IconProps";
3
- export type ButtonVariant = "standard" | "nav" | "text" | "icon" | "segmented" | "small" | "grid" | "header";
4
- export type ButtonType = "primary" | "secondary" | "accent" | "ghost" | "radio";
2
+ import type { FaTypeClass } from "../../icon/IconProps";
3
+ export type ButtonVariant = "solid" | "outline" | "ghost" | "link" | "chip";
4
+ export type ButtonIntent = "primary" | "secondary" | "neutral" | "accent" | "danger" | "ghost" | "radio";
5
5
  export type IconSize = "xs" | "sm" | "md" | "lg" | "xl";
6
6
  export type IconPosition = "left" | "right";
7
- export type SegmentPosition = "only" | "first" | "middle" | "last";
7
+ export type ButtonSize = "xs" | "sm" | "md" | "lg";
8
8
  export type ButtonAlignment = "justify-start" | "justify-center" | "justify-end" | "justify-between" | "justify-around" | "justify-evenly";
9
9
  export interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "className" | "children"> {
10
10
  label?: string;
@@ -15,9 +15,11 @@ export interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonE
15
15
  iconSize?: IconSize;
16
16
  iconPosition?: IconPosition;
17
17
  variant?: ButtonVariant;
18
- buttonType?: ButtonType;
19
- segmentPosition?: SegmentPosition;
18
+ intent?: ButtonIntent;
19
+ buttonType?: ButtonIntent;
20
+ size?: ButtonSize;
20
21
  buttonAlignment?: ButtonAlignment;
21
22
  active?: boolean;
23
+ fullWidth?: boolean;
22
24
  className?: string;
23
25
  }
@@ -0,0 +1,2 @@
1
+ import type { ButtonProps } from "../button/ButtonProps";
2
+ export type IconButtonProps = Omit<ButtonProps, "variant" | "label" | "children">;
@@ -12,7 +12,7 @@ export interface DropdownProps {
12
12
  placeholder?: string;
13
13
  disabled?: boolean;
14
14
  hasError?: boolean;
15
- variant?: "field" | "filter";
15
+ variant?: "field" | "filter" | "toolbar";
16
16
  onChange?: (event: React.ChangeEvent<HTMLSelectElement>) => void;
17
17
  onBlur?: (event: React.FocusEvent<HTMLSelectElement>) => void;
18
18
  }
@@ -10,3 +10,7 @@ export type IconProps = {
10
10
  className?: string;
11
11
  title?: string;
12
12
  };
13
+ export type Props = Omit<IconProps, "icon"> & {
14
+ iconType: FaTypeClass;
15
+ iconName: string;
16
+ };
@@ -4,6 +4,7 @@ export type ImageProps = Omit<React.ImgHTMLAttributes<HTMLImageElement>, "src" |
4
4
  alt: string;
5
5
  quality: number;
6
6
  fit?: "contain" | "cover" | "fill";
7
+ useNetlifyImages?: boolean;
7
8
  };
8
9
  export type NetlifyLoaderArgs = {
9
10
  src: string;
@@ -2,14 +2,17 @@ import React from "react";
2
2
  export interface InputProps {
3
3
  id?: string;
4
4
  name?: string;
5
- type?: "text" | "email" | "password" | "tel" | "number";
5
+ type?: "text" | "email" | "password" | "tel" | "number" | "search";
6
6
  value?: string;
7
7
  placeholder?: string;
8
8
  disabled?: boolean;
9
9
  required?: boolean;
10
10
  hasError?: boolean;
11
11
  className?: string;
12
+ inputClassName?: string;
12
13
  autoComplete?: string;
14
+ leadingIcon?: React.ReactNode;
15
+ trailingIcon?: React.ReactNode;
13
16
  onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
14
17
  onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;
15
18
  onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ export type ClickableCardProps = {
3
+ children: React.ReactNode;
4
+ onCardClick: () => void;
5
+ ariaLabel: string;
6
+ className?: string;
7
+ };
@@ -0,0 +1,6 @@
1
+ export type DocumentLinkCardProps = {
2
+ title: string;
3
+ details: string;
4
+ iconName?: string;
5
+ onDocumentClick: () => void;
6
+ };
@@ -1,8 +1,15 @@
1
- export interface FeatureCardProps {
1
+ export type FeatureCardCtaMode = "button" | "text" | "hidden";
2
+ export type FeatureCardClickPayload = {
3
+ title: string;
4
+ description?: string;
5
+ buttonLabel?: string;
6
+ };
7
+ export type FeatureCardProps = {
2
8
  imageSrc: string;
3
- imageAlt: string;
9
+ imageAlt?: string;
4
10
  title: string;
5
- description: string;
6
- buttonLabel: string;
7
- buttonHref: string;
8
- }
11
+ description?: string;
12
+ buttonLabel?: string;
13
+ ctaMode?: FeatureCardCtaMode;
14
+ onCtaClick?: (payload: FeatureCardClickPayload) => void;
15
+ };
@@ -1,4 +1,4 @@
1
- import type { ButtonProps } from "../../../atoms/button/ButtonProps";
1
+ import type { ButtonProps } from "../../../atoms/buttons/button/ButtonProps";
2
2
  export interface StandardCarouselSlide {
3
3
  imageSrc: string;
4
4
  imageAlt?: string;
@@ -0,0 +1,14 @@
1
+ export type CartActionsProps = {
2
+ initialQuantity?: number;
3
+ minQuantity?: number;
4
+ maxQuantity?: number;
5
+ /** parent callbacks */
6
+ onAddToWishlist: () => void;
7
+ onAddToCart: (quantity: number) => void;
8
+ onQuantityChange?: (quantity: number) => void;
9
+ /** optional labels */
10
+ wishlistLabel?: string;
11
+ cartLabel?: string;
12
+ /** layout hooks */
13
+ className?: string;
14
+ };
@@ -0,0 +1,5 @@
1
+ import type { FooterImageProps } from "../../../organisms/footer/FooterProps";
2
+ export type FooterImageLinkProps = {
3
+ img: FooterImageProps;
4
+ className?: string;
5
+ };
@@ -0,0 +1,2 @@
1
+ import type { ButtonProps } from "../../../atoms/buttons/button/ButtonProps";
2
+ export type HeaderActionButtonProps = Omit<ButtonProps, "variant" | "size">;
@@ -0,0 +1,4 @@
1
+ import type { ButtonProps } from "../../../atoms/buttons/button/ButtonProps";
2
+ export type NavButtonProps = Omit<ButtonProps, "variant" | "size"> & {
3
+ isCurrent?: boolean;
4
+ };
@@ -0,0 +1,12 @@
1
+ export type RadioButtonsOption = string;
2
+ export interface RadioButtonsProps {
3
+ options: RadioButtonsOption[];
4
+ value?: RadioButtonsOption;
5
+ defaultValue?: RadioButtonsOption;
6
+ onChange?: (value: RadioButtonsOption, index: number) => void;
7
+ ariaLabel?: string;
8
+ disabled?: boolean;
9
+ className?: string;
10
+ containerClassName?: string;
11
+ buttonClassName?: string;
12
+ }
@@ -0,0 +1,3 @@
1
+ import { InputProps } from "../../atoms/input/inputProps";
2
+ export interface SearchBarProps extends Omit<InputProps, "type"> {
3
+ }
@@ -0,0 +1,14 @@
1
+ export type SegmentedControlItem = {
2
+ id: string;
3
+ label: string;
4
+ disabled?: boolean;
5
+ };
6
+ export type SegmentedControlProps = {
7
+ items: SegmentedControlItem[];
8
+ selectedId?: string;
9
+ onSelect?: (id: string) => void;
10
+ className?: string;
11
+ buttonClassName?: string;
12
+ disabled?: boolean;
13
+ ariaLabel?: string;
14
+ };
@@ -8,6 +8,8 @@ export type AppliedOptionItem = {
8
8
  };
9
9
  export interface AppliedOptionsListProps {
10
10
  header?: string;
11
+ clearAllLabel?: string;
12
+ emptyStateLabel?: string;
11
13
  optionsList: AppliedOptionItem[];
12
14
  onRemoveOption: (payload: AppliedOptionRemovePayload) => void;
13
15
  onRemoveAll: () => void;
@@ -3,6 +3,9 @@ export interface Country {
3
3
  locale: string;
4
4
  href: string;
5
5
  }
6
- export interface Props {
6
+ export interface CountrySelectorProps {
7
7
  countries?: Country[];
8
+ selectedCountry?: Country | null;
9
+ onCountrySelect?: (country: Country) => void;
8
10
  }
11
+ export type Props = CountrySelectorProps;
@@ -1,7 +1,13 @@
1
- export type OptionItem = {
1
+ export type MultiButtonBarOption = {
2
+ label: string;
3
+ value?: string;
4
+ };
5
+ export type MultiButtonBarSelectPayload = {
6
+ value?: string;
2
7
  label: string;
3
8
  };
4
9
  export type MultiButtonBarProps = {
5
- options: OptionItem[];
6
- defaultValue: string;
10
+ options: MultiButtonBarOption[];
11
+ selectedValue?: string;
12
+ onSelect?: (payload: MultiButtonBarSelectPayload) => void;
7
13
  };
@@ -0,0 +1,8 @@
1
+ import { DropdownProps } from "../../../atoms/dropdown/DropdownProps";
2
+ import { SearchBarProps } from "../../searchbar/SearchBarProps";
3
+ export type SortAndFilterBarProps = {
4
+ buttonName: string;
5
+ onButtonClick?: () => void;
6
+ dropdownProps: DropdownProps;
7
+ searchBarProps: SearchBarProps;
8
+ };
@@ -0,0 +1,4 @@
1
+ import { DropdownProps } from "../../../atoms/dropdown/DropdownProps";
2
+ export type TripleDropdownBarProps = {
3
+ dropdowns: DropdownProps[];
4
+ };
@@ -0,0 +1,22 @@
1
+ import type { IconColor } from "../../../atoms/icon/IconProps";
2
+ export interface VerticalColorSwatchListSelectPayload {
3
+ id: string;
4
+ name: string;
5
+ label: string;
6
+ color: string;
7
+ checked: boolean;
8
+ }
9
+ export interface VerticalColorSwatchListOption {
10
+ id: string;
11
+ name: string;
12
+ label: string;
13
+ color: string;
14
+ checked?: boolean;
15
+ disabled?: boolean;
16
+ checkIconColor?: IconColor;
17
+ onSelect?: (payload: VerticalColorSwatchListSelectPayload) => void;
18
+ }
19
+ export interface VerticalColorSwatchListProps {
20
+ label: string;
21
+ options: VerticalColorSwatchListOption[];
22
+ }
@@ -0,0 +1,4 @@
1
+ export type ColumnBannerHeaderProps = {
2
+ heading?: string;
3
+ body?: string;
4
+ };
@@ -1,6 +1,7 @@
1
- type ColumnCarouselCardProps = {
1
+ import type { CtaItem } from "./ColumnBannerProps";
2
+ export type ColumnCarouselCardProps = {
2
3
  id: string;
3
- item: any;
4
+ item: CtaItem;
4
5
  absoluteIdx: number;
5
6
  isActive: boolean;
6
7
  showLabel: boolean;
@@ -9,6 +10,6 @@ type ColumnCarouselCardProps = {
9
10
  isFav: boolean;
10
11
  setActiveIndex: (n: number | null) => void;
11
12
  onLoaded: (id: string) => void;
12
- onToggleFav: (item: any) => void;
13
- onItemClick?: (item: any) => void;
13
+ onToggleFav: (item: CtaItem) => void;
14
+ onItemClick?: (item: CtaItem) => void;
14
15
  };
@@ -1,5 +1,6 @@
1
- type ColumnCarouselProps = {
2
- items: any[];
1
+ import type { CtaItem } from "./ColumnBannerProps";
2
+ export type ColumnCarouselProps = {
3
+ items: CtaItem[];
3
4
  startIndex: number;
4
5
  activeIndex: number | null;
5
6
  setActiveIndex: (n: number | null) => void;
@@ -10,7 +11,7 @@ type ColumnCarouselProps = {
10
11
  loadedIds: Set<string>;
11
12
  favoriteIds: Set<string>;
12
13
  onLoaded: (id: string) => void;
13
- onToggleFav: (item: any) => void;
14
- onItemClick?: (item: any) => void;
15
- getItemId?: (item: any) => string;
14
+ onToggleFav: (item: CtaItem) => void;
15
+ onItemClick?: (item: CtaItem) => void;
16
+ getItemId?: (item: CtaItem) => string;
16
17
  };
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
- import type { ButtonVariant, ButtonType } from "../../../atoms/button/ButtonProps";
2
+ import type { ButtonVariant, ButtonIntent } from "../../../atoms/buttons/button/ButtonProps";
3
3
  export type CallToActionHeroCta = {
4
4
  label: string;
5
5
  variant?: ButtonVariant;
6
- buttonType?: ButtonType;
6
+ intent?: ButtonIntent;
7
7
  className?: string;
8
8
  href?: string;
9
9
  onClick?: React.MouseEventHandler<HTMLButtonElement>;
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ export interface CheckoutAccountStepProps {
3
+ currentStep?: number;
4
+ steps?: string[];
5
+ activeMode?: "createAccount" | "signIn";
6
+ email?: string;
7
+ password?: string;
8
+ emailError?: string;
9
+ passwordError?: string;
10
+ emailHasError?: boolean;
11
+ passwordHasError?: boolean;
12
+ onModeChange?: (mode: "createAccount" | "signIn") => void;
13
+ onEmailChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
14
+ onPasswordChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
15
+ onEmailBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;
16
+ onPasswordBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;
17
+ onForgotPasswordClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;
18
+ onContinue?: () => void;
19
+ onContinueAsGuest?: () => void;
20
+ className?: string;
21
+ }
@@ -1,12 +1,9 @@
1
+ import type { SwatchPurchasePanelCarousel } from "./PurchasePanelRightPanelProps";
1
2
  export type PurchasePanelTab = "Sample" | "Buy Now" | string;
2
3
  export type SwatchPurchasePanelNavigateMeta = {
3
4
  kind: "availability" | "returnPolicy";
4
5
  };
5
- export type PurchasePanelCarouselProps = {
6
- slides: any[];
7
- initialIndex?: number;
8
- text?: string;
9
- };
6
+ export type PurchasePanelCarouselProps = SwatchPurchasePanelCarousel;
10
7
  export type AddToFavoritesPayloadProps = {
11
8
  sku?: string;
12
9
  decor?: string;
@@ -0,0 +1,5 @@
1
+ import { DocumentLinkCardProps } from "../../molecules/card/documentlinkcard/DocumentLinkCardProps";
2
+ export interface DocumentLinkCollectionProps {
3
+ title: string;
4
+ documentLinkCards: DocumentLinkCardProps[];
5
+ }
@@ -1,6 +1,15 @@
1
- import { FeatureCardProps } from "../../../molecules/card/featurecard/FeatureCardProps";
1
+ import type { FeatureCardClickPayload } from "../../../molecules/card/featurecard/FeatureCardProps";
2
+ export type FeatureCardCollectionItem = {
3
+ imageSrc: string;
4
+ imageAlt?: string;
5
+ title: string;
6
+ description?: string;
7
+ buttonLabel?: string;
8
+ onCardClick?: () => void;
9
+ onCtaClick?: (payload: FeatureCardClickPayload) => void;
10
+ };
2
11
  export type FeatureCardCollectionProps = {
3
12
  title?: string;
4
13
  body?: string;
5
- cards: FeatureCardProps[];
14
+ cards?: FeatureCardCollectionItem[];
6
15
  };
@@ -0,0 +1,5 @@
1
+ import type { FooterLinkProps } from "./FooterProps";
2
+ export type FooterLinkItemProps = {
3
+ item: FooterLinkProps;
4
+ className?: string;
5
+ };
@@ -0,0 +1,5 @@
1
+ import type { FooterImageProps } from "./FooterProps";
2
+ export type LogosBarProps = {
3
+ affiliateLogos?: FooterImageProps[];
4
+ parentLogo?: FooterImageProps;
5
+ };
@@ -0,0 +1,4 @@
1
+ import type { FooterColumnProps } from "./FooterProps";
2
+ export type SitemapColumnsProps = {
3
+ columns: FooterColumnProps[];
4
+ };
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ export type GridImage = Omit<React.ImgHTMLAttributes<HTMLImageElement>, "src" | "alt"> & {
3
+ src: string;
4
+ alt: string;
5
+ quality: number;
6
+ };
7
+ export interface ImageGridProps {
8
+ images: GridImage[];
9
+ }
@@ -2,6 +2,7 @@ import type { Country } from "../../molecules/selectors/countryselector/CountryS
2
2
  import type { TopNavLogin, TopNavCartSummary } from "./TopNavBarProps";
3
3
  export type TopNavActionsProps = {
4
4
  Countries?: Country[];
5
+ selectedCountry?: Country | null;
5
6
  Login: TopNavLogin;
6
7
  Cart?: TopNavCartSummary;
7
8
  onSearchClick?: () => void;
@@ -35,6 +35,7 @@ export type TopNavLogo = {
35
35
  export type TopNavBarProps = {
36
36
  NavMenuWithSubItems?: NavItem[];
37
37
  Countries?: Country[];
38
+ selectedCountry?: Country | null;
38
39
  Login?: TopNavLogin;
39
40
  Cart?: TopNavCartSummary;
40
41
  Logo?: TopNavLogo;
@@ -0,0 +1,4 @@
1
+ import type { ProductDetailsData } from "./ProductInformationSectionProps";
2
+ export type ProductDetailsPaneProps = {
3
+ data?: ProductDetailsData;
4
+ };
@@ -0,0 +1,4 @@
1
+ import type { TextureData } from "./ProductInformationSectionProps";
2
+ export type TexturePaneProps = {
3
+ data?: TextureData;
4
+ };
@@ -0,0 +1,5 @@
1
+ import { SizeAndGradeData } from "../ProductInformationSectionProps";
2
+ export type SizeAndGradePaneProps = {
3
+ data?: SizeAndGradeData;
4
+ selectedGrade?: string;
5
+ };
@@ -1,8 +1,16 @@
1
1
  import { VerticalCheckboxListProps } from "../../molecules/selectors/verticalcheckboxlist/VerticalCheckboxListProps";
2
2
  import { AppliedOptionsListProps } from "../../molecules/selectors/appliedoptionslist/AppliedOptionsListProps";
3
+ import { VerticalColorSwatchListProps } from "../../molecules/selectors/verticalcolorswatchlist/VerticalColorSwatchListProps";
4
+ export interface VerticalCheckboxListCollectionCheckboxSection extends VerticalCheckboxListProps {
5
+ type: "checkbox";
6
+ }
7
+ export interface VerticalCheckboxListCollectionColorSection extends VerticalColorSwatchListProps {
8
+ type: "colorSwatch";
9
+ }
10
+ export type VerticalCheckboxListCollectionSection = VerticalCheckboxListCollectionCheckboxSection | VerticalCheckboxListCollectionColorSection;
3
11
  export interface VerticalCheckboxListCollectionProps {
4
12
  header?: string;
5
13
  headerIcon?: string;
6
14
  appliedOptions?: AppliedOptionsListProps;
7
- sections: VerticalCheckboxListProps[];
15
+ sections: VerticalCheckboxListCollectionSection[];
8
16
  }
@@ -1,10 +1,12 @@
1
1
  import type { StandardCopyHeroProps } from "../../organisms/banner/standardcopyhero/StandardCopyHeroProps";
2
2
  import type { MultiButtonBarProps } from "../../molecules/selectors/multibuttonbar/MultiButtonBarProps";
3
- import type { SortAndSearchBarProps } from "../../molecules/selectors/sortandsearchbar/SortAndSearchBarProps";
3
+ import type { SortAndFilterBarProps } from "../../molecules/selectors/sortandfilterbar/SortAndFilterBarProps";
4
4
  import type { DecorGridProps } from "../../organisms/decorgrid/DecorGridProps";
5
+ import type { VerticalCheckboxListCollectionProps } from "../../organisms/verticalcheckboxlistcollection/VerticalCheckboxListCollectionProps";
5
6
  export type CategorySceneProps = {
6
7
  standardCopyHeroProps: StandardCopyHeroProps;
7
8
  multiButtonBarProps: MultiButtonBarProps;
8
- sortAndSearchBarProps: SortAndSearchBarProps;
9
+ sortAndSearchBarProps: SortAndFilterBarProps;
10
+ verticalCheckboxListCollectionProps?: VerticalCheckboxListCollectionProps;
9
11
  decorGridProps: DecorGridProps;
10
12
  };
@@ -0,0 +1,10 @@
1
+ import type { StandardCopyHeroProps } from "../../organisms/banner/standardcopyhero/StandardCopyHeroProps";
2
+ import type { MultiButtonBarProps } from "../../molecules/selectors/multibuttonbar/MultiButtonBarProps";
3
+ import type { TripleDropdownBarProps } from "../../molecules/selectors/tripledropdownbar/TripleDropdownBarProps";
4
+ import type { ImageGridProps } from "../../organisms/imagegrid/ImageGridProps";
5
+ export type GallerySceneProps = {
6
+ standardCopyHeroProps: StandardCopyHeroProps;
7
+ multiButtonBarProps: MultiButtonBarProps;
8
+ tripleDropdownBarProps: TripleDropdownBarProps;
9
+ imageGridProps: ImageGridProps;
10
+ };
@@ -0,0 +1,26 @@
1
+ import type { BrandNavBarProps } from "../../organisms/navigation/BrandNavBarProps";
2
+ import type { TopNavBarProps } from "../../organisms/navigation/TopNavBarProps";
3
+ import type { CallToActionHeroProps } from "../../organisms/banner/herobanner/CallToActionHeroProps";
4
+ import type { ButtonProps } from "../../atoms/buttons/button/ButtonProps";
5
+ import type { ColumnBannerProps } from "../../organisms/banner/columnbanner/ColumnBannerProps";
6
+ import type { FeatureCardCollectionProps } from "../../organisms/featurecards/featurecardscollection/FeatureCardCollectionProps";
7
+ import type { FooterProps } from "../../organisms/footer/FooterProps";
8
+ import type { MoreInfoHighlightsSectionProps } from "../../organisms/moreinfohighlightssection/MoreInfoHighlightsSectionProps";
9
+ import type { FeatureBannerProps } from "../../organisms/banner/featurebanner/FeatureBannerProps";
10
+ export type HomePageProps = {
11
+ brandNavBarProps: BrandNavBarProps;
12
+ topNavBarProps: TopNavBarProps;
13
+ callToActionCarouselProps?: {
14
+ slides: CallToActionHeroProps[];
15
+ showArrows?: boolean;
16
+ showDots?: boolean;
17
+ loop?: boolean;
18
+ nextArrowButtonProps?: Pick<ButtonProps, "buttonType" | "className">;
19
+ prevArrowButtonProps?: Pick<ButtonProps, "buttonType" | "className">;
20
+ };
21
+ columnBannerProps?: ColumnBannerProps;
22
+ featureBannerProps?: FeatureBannerProps;
23
+ featureCardSectionProps?: FeatureCardCollectionProps;
24
+ moreInfoHighlightsSectionProps?: MoreInfoHighlightsSectionProps;
25
+ footerProps?: FooterProps;
26
+ };
@@ -0,0 +1,9 @@
1
+ import type { CheckoutProgressIndicatorProps } from "../../molecules/selectors/progressindicator/CheckoutProgressIndicatorProps";
2
+ import type { CartTotalsPanelProps } from "../../organisms/cart/carttotalspanel/CartTotalsPanelProps";
3
+ import { CartPaymentPanelProps } from "../../organisms/cart/cartpaymentpanel/CartPaymentPanelProps";
4
+ export interface CartPaymentTemplateProps {
5
+ cartPaymentPanelProps: CartPaymentPanelProps;
6
+ checkoutProgressIndicatorProps: CheckoutProgressIndicatorProps;
7
+ cartTotalsPanelProps: CartTotalsPanelProps;
8
+ className?: string;
9
+ }
@@ -0,0 +1,7 @@
1
+ import { CheckoutAccountStepProps } from "../../organisms/cart/checkoutsteppanel/CheckoutAccountStepProps";
2
+ import { OrderSummarySectionLeftPanelProps } from "../../organisms/cart/ordersummarysection/OrderSummarySectionLeftPanelProps";
3
+ export interface CartSummaryTemplateProps {
4
+ cartSummaryProps: OrderSummarySectionLeftPanelProps;
5
+ checkoutAccountStepProps: CheckoutAccountStepProps;
6
+ className?: string;
7
+ }