///
import React$1, { FC, ReactNode, Dispatch, CSSProperties, MouseEvent, LegacyRef, ReactChild, ChangeEvent, ReactElement, MutableRefObject, VFC, SetStateAction, Ref, FocusEvent, MouseEventHandler, RefObject } from 'react';
import { Mode } from 'react-hook-form';
declare type Aria = {
expanded?: boolean;
haspopup?: boolean | 'dialog' | 'menu' | 'listbox' | 'tree' | 'grid';
hidden?: boolean;
label?: string;
};
declare type PropsWithChildren = Props & {
children?: ReactNode;
};
declare type PropsWithoutChildren = Props & {
children?: never;
};
declare type ComponentWithChildren = FC>;
declare type ComponentWithoutChildren = FC>;
declare type DefinitionListItem = {
description?: ReactNode;
id: string;
term?: ReactNode;
};
declare type DefinitionListProps = {
className?: string;
hasBottomBorder?: boolean;
isVisible?: boolean;
items?: DefinitionListItem[];
theme?: Themes;
};
declare type ProductDefinitionListItem = DefinitionListItem & {
isExpandable?: boolean;
};
declare type UpSellProduct = {
image?: {
altText?: string;
small?: string;
};
name?: string;
url?: string;
};
declare type Product$1 = {
cartDisclaimer?: string;
definitionList?: ProductDefinitionListItem[];
description?: string;
flyinPanel?: React.ReactNode;
id?: string;
image?: {
altText?: string;
sizes?: {
large?: string;
medium?: string;
small?: string;
};
};
imageSize?: string;
productName: string;
sku: string;
upSellProduct?: UpSellProduct;
variantOptions?: Variant$1[];
};
declare type Themes = 'dark' | 'light';
declare type Slide$2 = {
altText?: string;
className?: string;
copy?: string;
id?: string;
sizes?: {
large?: string;
medium?: string;
small?: string;
xLarge?: string;
xSmall?: string;
};
theme?: Themes;
__typename?: string;
title?: string;
url?: string;
};
declare type Variant$1 = {
alternateAction?: {
url?: string;
label?: string;
openInANewWindow?: boolean;
isDisabled?: boolean;
};
cartDisclaimer?: string;
disableOutOfStockFeature?: boolean;
hasAgeVerificationRequirement?: boolean;
id?: string;
isInStock: boolean;
isSellable?: boolean;
image?: {
altText?: string;
sizes?: {
large?: string;
medium?: string;
small?: string;
};
};
price: string;
slides?: Slide$2[];
size: string;
sku: string;
tracking?: any;
};
declare type BreakpointNames = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'x2l' | 'x3l' | 'x4l';
declare type ViewportNames = BreakpointNames | 'xs only' | 'xs to sm only' | 'xs to md only' | 'xs to xl only' | 'sm only' | 'md only' | 'lg only' | 'lg to xl only' | 'lg to x2l only' | 'xl only';
declare type AddToCartActionType = 'fail' | 'fetching' | 'success';
declare type AddToCartAction = {
type: AddToCartActionType;
payload?: string;
};
declare type OnAddToCartClick = (sku: string, addToCartDispatch: Dispatch) => any;
declare type AddToCartContextProps = {
/**
A callback function that takes `sku`, `addToCartDispatch`, `ADD_TO_CART_ACTION_TYPES`
as arguments. See [AddToCartButton.onClick.js mock](https://github.com/aesop/aesop-gel/tree/develop/src/components/AddToCartButton/__mocks__/AddToCartButton.onClick.js)
for an example. ___Required___
*/
onClick?: OnAddToCartClick;
};
declare type AddToCartContextProviderType = ComponentWithChildren;
type index_d$b_Aria = Aria;
type index_d$b_ComponentWithChildren<_0> = ComponentWithChildren<_0>;
type index_d$b_ComponentWithoutChildren<_0> = ComponentWithoutChildren<_0>;
type index_d$b_Themes = Themes;
type index_d$b_BreakpointNames = BreakpointNames;
type index_d$b_ViewportNames = ViewportNames;
type index_d$b_OnAddToCartClick = OnAddToCartClick;
declare namespace index_d$b {
export {
index_d$b_Aria as Aria,
index_d$b_ComponentWithChildren as ComponentWithChildren,
index_d$b_ComponentWithoutChildren as ComponentWithoutChildren,
Product$1 as Product,
index_d$b_Themes as Themes,
Variant$1 as Variant,
index_d$b_BreakpointNames as BreakpointNames,
index_d$b_ViewportNames as ViewportNames,
index_d$b_OnAddToCartClick as OnAddToCartClick,
};
}
declare type AccordionItem = {
content: ReactNode;
heading: string;
id: string;
};
declare type AccordionProps = {
changeTrackingFn?: (node: string[]) => void;
className?: string;
id?: string;
items?: AccordionItem[];
theme?: Themes;
wrapperClass?: string;
};
declare const Accordion: React$1.ForwardRefExoticComponent>;
declare type AddToCartButtonProps = {
className?: string;
copy?: {
cartAction?: string;
postTaxPrice?: string;
screenReaderText?: string;
updateNotification?: string;
outOfStock?: {
label?: string;
title?: string;
};
};
dataTestRef: string;
isEnabled?: boolean;
isFullWidth?: boolean;
theme?: Themes;
};
declare type AddToCartButtonType = ComponentWithoutChildren;
declare const AddToCartButton: AddToCartButtonType;
declare type AlertProps = {
className?: string;
theme?: Themes;
copy?: string;
severity: 'success';
};
declare type AlertType = ComponentWithoutChildren;
declare const Alert: AlertType;
declare type ImageProps = {
altText?: string;
className?: string;
cta?: {
openInANewWindow?: boolean;
url?: string;
};
height?: string;
id?: string;
isFullBleedImage?: boolean;
isLazyLoaded?: boolean;
sizes?: {
large?: string;
medium?: string;
small?: string;
xLarge?: string;
xSmall?: string;
};
style?: CSSProperties;
type?: 'componentFullBleedImage' | 'componentSquareImage';
theme?: Themes;
width?: string;
};
declare type ControlsProps = {
captions?: {
isActive?: boolean;
onToggleClick?: () => void;
shouldShowToggleButton?: boolean;
copy?: {
toggleButtonTitleOn?: string;
toggleButtonTitleOff?: string;
};
};
className?: string;
copy?: {
closeButtonTitle?: string;
muteButtonTitle?: string;
pauseButtonTitle?: string;
playButtonTitle?: string;
unmuteButtonTitle?: string;
};
hasActiveVideo?: boolean;
hasAllowAudio?: boolean;
hasPlayInFullScreen?: boolean;
isMobileOrTablet?: boolean;
isMuted?: boolean;
isPlaying?: boolean;
onAudioButtonClick?: (event: MouseEvent) => void;
onCloseButtonClick?: (event?: MouseEvent) => void;
onPlayPauseButtonClick?: (event: MouseEvent) => void;
progress?: number;
};
declare type PosterProps = {
className?: string;
copy?: {
playButtonTitle?: string;
altText?: string;
};
isActive?: boolean;
onClick?: (event: MouseEvent) => void;
sizes?: {
small?: string;
medium?: string;
large?: string;
xLarge?: string;
xSmall?: string;
};
};
declare type VideoProps = Pick & {
captions?: {
copy?: ControlsProps['captions']['copy'];
fileUrl?: string;
isActiveOnLoad?: boolean;
languageCode?: string;
languageLabel?: string;
shouldShowToggleButton?: boolean;
};
className?: string;
fallbackImage?: {
className?: string;
copy?: {
altText?: string;
};
sizes?: {
large?: string;
medium?: string;
small?: string;
};
};
hasAllowAudio?: boolean;
hasAutoplay?: boolean;
hasControls?: boolean;
hasLoop?: boolean;
hasNativeControls?: boolean;
hasPlayInFullScreen?: boolean;
hasSpanContent?: boolean;
id?: string;
isBackground?: boolean;
isInMediaBlock?: boolean;
/**
`isFullWidth` is set true by default and this will allow videos to display at the correct aspect ratio.
In the event that a different, more fluid ratio is required, set this prop to false, this will collapse the height of the Video,
but it will react to the height of the surrounding element.
*/
isFullWidth?: boolean;
/**
This prop negates the 16:9 aspect ratio on tablet so Full Width Hero Videos fill any available space.
*/
isHeroFullWidth?: boolean;
isHeroFullWidthMobile?: boolean;
isScrollBasedVideo?: boolean;
poster?: PosterProps;
sizes?: {
large?: string;
medium?: string;
small?: string;
xLarge?: string;
xSmall?: string;
};
};
declare type Font$2 = 'Suisse' | 'Zapf';
declare type VerticalPadding$3 = 'none' | 'small' | 'medium' | 'large';
declare type GridBlocksType$1 = {
id: string;
headline?: string;
bodyCopy?: ReactNode;
link?: {
hasTargetInNewWindow?: boolean;
onClick?: () => void;
text?: string;
type?: string;
url: string;
};
mediaType?: 'image' | 'video';
backgroundImage?: ImageProps;
backgroundColour?: string;
backgroundVideo?: VideoProps;
theme?: Themes;
gradientOverlay?: number;
};
declare type AssetGridProps = {
backgroundColour?: string;
className?: string;
description?: ReactNode;
eyebrow?: string;
gridBlocks?: GridBlocksType$1[];
id?: string;
paddingTop?: VerticalPadding$3;
paddingBottom?: VerticalPadding$3;
title?: string;
titleFont?: Font$2;
};
declare const AssetGrid: React$1.ForwardRefExoticComponent>;
declare type ProgressColor = 'orange' | 'green' | 'blue';
declare type AudioCopy = {
downloadLabel?: string;
downloadTitle?: string;
loading?: string;
pause?: string;
play?: string;
screenReaderText?: string;
seekBackward?: string;
seekForward?: string;
};
declare type AudioProps = {
audioUrl?: string;
artistName?: string;
className?: string;
copy?: AudioCopy;
hasAutoPlay?: boolean;
hasDownload?: boolean;
id?: string;
progressColor?: ProgressColor;
screenReaderText?: string;
trackTitle?: string;
};
declare type AudioType = ComponentWithoutChildren;
declare const Audio: AudioType;
declare type BodyCopyProps = {
childrenClassNames?: {
eyebrow?: string;
heading?: string;
subHeading?: string;
};
className?: string;
content?: ReactNode;
copy?: ReactNode;
eyebrow?: string;
hasFlushHeading?: boolean;
hasSerifFontHeading?: boolean;
heading?: string;
id?: string;
isHeroArticle?: boolean;
subHeading?: string;
theme?: Themes;
};
declare const BodyCopy: React$1.ForwardRefExoticComponent>;
declare type BreadcrumbItem = {
label: string;
id: string;
url: string;
title: string;
dataTestRef?: string;
};
declare type BreadcrumbsProps = {
className?: string;
items?: BreadcrumbItem[];
onHyperlinkClick?: (item: BreadcrumbItem) => void;
theme?: Themes;
};
declare type BreadcrumbsType = ComponentWithoutChildren;
declare const Breadcrumbs$1: BreadcrumbsType;
declare type ButtonBehaviourType = 'button' | 'reset' | 'submit';
declare type ButtonProps = {
aria?: Pick;
children?: ReactNode;
className?: string;
dataTestId?: string;
dataTestRef?: string;
id?: string;
isAlternate?: boolean;
isEnabled?: boolean;
isInline?: boolean;
isLoading?: boolean;
loadingScreenReaderText?: string;
onClick?: (event: MouseEvent) => void;
onMouseEnter?: (event: MouseEvent) => void;
tabIndex?: number;
theme?: Themes;
title?: string;
type?: ButtonBehaviourType;
};
declare const Button: React$1.ForwardRefExoticComponent>;
declare type BynderWidgetCopy = {
screenReaderText?: string;
};
declare type BynderWidgetProps = {
copy?: BynderWidgetCopy;
className?: string;
heading: string;
id: string;
screenReaderText?: string;
theme?: Themes;
};
declare type BynderWidgetType = ComponentWithoutChildren;
declare const BynderWidget: BynderWidgetType;
declare type TextAlign = 'center' | 'left' | 'right';
declare type LinkStyle = 'External Button Link' | 'External No Icon Button Link' | 'External No Icon Link' | 'External Text Link' | 'Internal Button Link' | 'Internal No Icon Button Link' | 'Internal No Icon Link' | 'Internal Text Link';
declare type HyperlinkProps = {
aria?: Pick;
children: ReactNode;
className?: string;
dataTestId?: string;
dataTestRef?: string;
hasTargetInNewWindow?: boolean;
hasTargetInParentFrame?: boolean;
id?: string;
isAlternate?: boolean;
isDownload?: boolean;
kind?: LinkStyle;
onClick?: (event: MouseEvent) => void;
onMouseEnter?: (event: MouseEvent) => void;
/** @deprecated use `kind` instead */
style?: LinkStyle;
tabIndex?: number;
textAlign?: TextAlign;
theme?: Themes;
title?: string;
url: string;
};
declare type CarouselIntroductionProps = {
carouselType?: CarouselType;
copyLocation?: CopyLocation;
cta?: {
style?: LinkStyle;
title?: string;
url?: string;
text?: string;
};
description?: ReactNode;
eyebrow?: string;
heading?: string;
theme?: Themes;
titleFont?: FontType;
totalProductsCount?: number;
};
declare type Slide$1 = {
carouselBadge?: string;
caption?: string;
description?: string;
heading?: string;
id?: string;
isLoading?: boolean;
image: ImageProps;
subHeading?: string;
url?: string;
};
declare type CarouselType = 'content' | 'commerce' | 'insider';
declare type CopyLocation = 'left' | 'top';
declare type FontType = 'Suisse' | 'Zapf';
declare type CarouselProps = {
autoplaySpeed?: number;
carouselType?: CarouselType;
copyLocation?: CopyLocation;
className?: string;
dataTestId?: string;
hasAutoplay?: boolean;
hasFlushPagination?: boolean;
hasFullWidthSlides?: boolean;
hasShowCaption?: boolean;
hasSlideCounter?: boolean;
id?: string;
initialSlideIndex?: number;
introduction?: Omit;
isCompact?: boolean;
onNextAndPrevClick?: () => void;
screenReaderText?: string;
slides?: Slide$1[];
slideRefs?: LegacyRef[];
titleFont?: FontType;
theme?: Themes;
};
declare const Carousel: React$1.ForwardRefExoticComponent>;
declare type CheckboxProps = {
checkboxClassName?: string;
className?: string;
dataTestId?: string;
dataTestRef?: string;
description?: ReactChild;
errorMessage?: string;
id?: string;
/** will be overriden by `isCheckedControlled` if `isCheckedControlled` is provided*/
isChecked?: boolean;
/** will override `isChecked` if provided */
isCheckedControlled?: boolean;
isEnabled?: boolean;
label: ReactChild;
labelClassName?: string;
name?: string;
onBlur?: (event: React.FocusEvent) => void;
onChange?: (event: ChangeEvent) => void;
onFocus?: (event: React.FocusEvent) => void;
theme?: Themes;
wrapperClassName?: string;
};
declare const Checkbox: React$1.ForwardRefExoticComponent>;
declare type Wrapper = (children: ReactNode) => ReactElement;
declare type ConditionalWrapperProps = {
/**
* If the condition is false, this functional component will be used instead of simply returning the children unwrapped.
*/
alternateWrapper?: Wrapper;
/**
* If this boolean prop resolves to true the children prop will be wrapped in the wrapper prop.
*/
condition: boolean;
/**
* A functional component that receives the children prop as an argument, `children => {children}
`
*/
wrapper: Wrapper;
};
declare type ConditionalWrapperType = ComponentWithChildren;
declare const ConditionalWrapper: ConditionalWrapperType;
declare type Image$2 = Pick;
declare type Article$1 = {
articleRef?: MutableRefObject;
category?: string;
horizontalThumbnail?: Image$2;
id?: string;
longTitle?: string;
onClick?: () => void;
readingTime?: string;
uri?: string;
verticalThumbnail?: Image$2;
};
declare type ContentHubArticleProps = Article$1 & {
className?: string;
dataTestRef: string;
isHorizontal?: boolean;
isInFirstGroup?: boolean;
isMenuItem?: boolean;
isReadMore?: boolean;
};
declare type ContentHubArticleType = ComponentWithoutChildren;
declare const ContentHubArticle: ContentHubArticleType;
declare type ListArticle = Article$1 & {
mobileArticleRef?: MutableRefObject;
};
declare type ContentHubArticleListProps = {
articles?: ListArticle[];
className?: string;
isFirstGroup?: boolean;
pattern?: 0 | 1;
};
declare type ContentHubArticleListType = ComponentWithoutChildren;
declare const ContentHubArticleList: ContentHubArticleListType;
declare type VerticalPadding$2 = 'none' | 'small' | 'medium' | 'large';
declare type Font$1 = 'Suisse' | 'Zapf';
declare type GridBlocksType = {
id: string;
headline?: string;
bodyCopy?: ReactNode;
link?: {
hasTargetInNewWindow?: boolean;
onClick?: () => void;
text?: string;
type?: string;
url: string;
};
backgroundColor?: string;
theme?: Themes;
};
declare type CopyGridProps = {
backgroundColor?: string;
className?: string;
gridBlocks?: GridBlocksType[];
headline?: string;
headlineFont?: Font$1;
paddingTop?: VerticalPadding$2;
paddingBottom?: VerticalPadding$2;
theme?: Themes;
};
declare const CopyGrid: React$1.ForwardRefExoticComponent>;
declare type DateSelectorProps = {
className?: string;
copy?: {
day?: string;
month?: string;
/** `['January', 'February', etc ]` */
monthLabels?: string[];
year?: string;
};
isEnabled?: boolean;
/** Maximum number of years to show in the year dropdown */
maxYears?: number;
name?: string;
onChange?: (date: string) => void;
theme?: Themes;
/** An ISO data, e.g. 2021-09-20 */
value?: string;
};
declare type DateSelectorType = ComponentWithoutChildren;
declare const DateSelector$1: DateSelectorType;
declare const DefinitionList: React$1.ForwardRefExoticComponent>;
declare type DialogBannerProps = {
className?: string;
copy?: {
closeButtonTitle?: string;
};
cta?: {
dataTestRef?: string;
id?: string;
openInANewWindow?: boolean;
text?: string;
title?: string;
url: string;
};
hasCloseButton?: boolean;
isVisible?: boolean;
message: string;
onClose: () => void;
position?: 'top' | 'bottom';
theme?: 'dark' | 'black';
heading: string;
};
declare type DialogBannerType = VFC;
declare const DialogBanner: DialogBannerType;
declare type MediaType = 'video' | 'image' | 'scrollbasedvideo';
declare type MediaBlockProps = {
altText?: string;
caption?: ReactNode;
fallbackImage?: VideoProps['fallbackImage'];
heading?: string;
link?: {
hasTargetInNewWindow?: boolean;
text?: string;
type?: string;
url: string;
};
poster?: VideoProps['poster'];
type?: MediaType;
theme?: Themes;
sizes: {
large?: string;
medium?: string;
small?: string;
xLarge?: string;
xSmall?: string;
};
};
declare type DoubleMediaProps = {
className?: string;
mediaOne?: MediaBlockProps;
mediaTwo?: MediaBlockProps;
theme?: Themes;
};
declare const DoubleMedia: React$1.ForwardRefExoticComponent>;
declare type ImageSectionProps = {
className?: string;
image?: ImageProps;
};
declare type TextSectionProps = {
id?: string;
tabIndex?: number;
text?: ReactNode;
theme?: Themes;
};
declare type FiftyFiftyFloatingTextProps = {
backgroundImages?: {
image?: ImageSectionProps['image'];
}[];
id?: string;
textTransition?: number;
textBlocks?: {
text?: TextSectionProps['text'];
}[];
theme?: Themes;
};
declare const FiftyFiftyFloatingText: React$1.ForwardRefExoticComponent>;
declare type FigureProps = {
caption?: string;
className?: string;
hasCaptionBorder?: boolean;
hasCaptionOffset?: boolean;
id?: string;
theme?: string;
foo?: boolean;
};
declare type FigureType = ComponentWithChildren;
declare const Figure: FigureType;
declare type FlyinPanelProps = {
children: React.ReactNode;
className?: string;
copy?: {
close?: string;
};
heading?: string;
isVisible?: boolean;
onClose: () => void;
theme?: Themes;
};
declare type FlyinPanelType = ComponentWithChildren;
declare const FlyinPanel: FlyinPanelType;
declare type Link$2 = {
id?: string;
clickCallback?: () => void;
openInANewWindow?: boolean;
text: string;
url: string;
};
declare type FooterBlockProps = {
className?: string;
copy?: ReactNode;
heading?: string;
headingClassName?: string;
isVisibleOnTabletAndMobile?: boolean;
links?: Link$2[];
listClassName?: string;
listItemClassName?: string;
theme?: Themes;
};
declare type FooterBlockType = ComponentWithoutChildren;
declare const FooterBlock: FooterBlockType;
declare type BackgroundElementProps = {
className?: string;
image?: ImageProps;
mediaType?: 'image' | 'video';
video?: VideoProps;
};
declare type FullscreenSectionProps = {
text?: ReactNode;
theme?: Themes;
};
declare type FullWidthHeroScrollProps = {
backgroundImage?: BackgroundElementProps['image'];
backgroundMediaType?: BackgroundElementProps['mediaType'];
backgroundVideo?: BackgroundElementProps['video'];
copy?: BodyCopyProps['copy'];
cta?: {
englishLabel?: string;
onClick?: () => void;
text?: string;
url?: string;
};
eyebrow?: string;
hasSerifFontHeading?: boolean;
hasTopOffset?: boolean;
heading?: string;
id?: string;
textBlocks?: {
text?: FullscreenSectionProps['text'];
}[];
theme?: Themes;
};
declare const FullWidthHeroScroll: React$1.ForwardRefExoticComponent>;
declare type TrackingCallback = {
desktop: {
desktopMenuItemClickOrHover: (menuItemTrackingProps: MenuItemTrackingWithAction) => void;
desktopCategoryItemClickOrHover: (categoryItemTrackingProps: CategoryItemTrackingWithAction) => void;
};
tablet: {
tabletMenuItemClick: (tabletMenuItemTrackingProps: MenuItemTrackingWithAction) => void;
tabletCategoryItemClick: (tabletCategoryItemTrackingProps: CategoryItemTrackingWithAction) => void;
};
mobile: {
mobileMenuItemClick: (mobileMenuItemTrackingProps: MenuItemTrackingWithMobileAction) => void;
mobileCategoryItemClick: (mobileCategoryItemTrackingProps: CategoryItemTrackingWithMobileAction) => void;
};
common: {
promotionCardClick: (promotionCardTrackingProps: PromotionCardClickTracking) => void;
promotionCardImpression: (promotionCardTrackingProps: PromotionCardImpressionTracking) => void;
};
};
declare type PromotionCardImpressionTracking = {
id: string;
creative: string;
position: string;
isVisible: boolean;
};
declare type PromotionCardClickTracking = PromotionCardImpressionTracking & {
englishLabel: string;
};
declare type MenuType = 'Shop' | 'Read' | 'Stores' | 'Search' | 'Menu' | 'Custom Link';
declare type CategoryItemTracking = {
menuCategory: string;
menuLabel: string;
menuSection: 'Panel 1' | 'Panel 2' | 'Navbar';
menuSubnav: string;
menuText?: string;
menuType: MenuType;
menuUrl?: string;
};
declare type MenuItemTracking = {
menuCategory: string;
menuLabel: string;
menuText?: string;
menuType: MenuType;
menuUrl?: string;
menuSection: 'Panel 1' | 'Navbar';
};
declare type DesktopAndTabletTrackingActions = {
action: 'Open' | 'Close' | 'Click' | 'Hover';
};
declare type MobileTrackingActions = {
action: 'Open' | 'Close' | 'Click' | 'Hover' | 'Expand' | 'Collapse' | 'Back';
};
declare type CategoryItemTrackingWithAction = CategoryItemTracking & DesktopAndTabletTrackingActions;
declare type CategoryItemTrackingWithMobileAction = CategoryItemTracking & MobileTrackingActions;
declare type MenuItemTrackingWithAction = MenuItemTracking & DesktopAndTabletTrackingActions;
declare type MenuItemTrackingWithMobileAction = MenuItemTracking & MobileTrackingActions;
declare type CollectionImage = {
id?: string;
altText: string;
creative?: string;
sizes: {
medium?: string;
large?: string;
small?: string;
};
};
declare type Clickable = {
dataTestRef?: string;
id: string;
shouldDisplayHeading?: boolean;
label: string;
title: string;
url?: string;
};
declare type Trigger = Clickable & {
onClick: () => void;
type: 'trigger';
count?: number;
component?: () => ReactElement;
isLegacyMenu?: boolean;
};
declare type Link$1 = Clickable & {
alternateLabel?: string;
hasTargetInNewWindow?: boolean;
isExternal?: boolean;
onClick?: () => void;
menuSubnav?: string;
menuType?: 'Shop' | 'Read';
panel?: 'Panel 1' | 'Panel 2';
type?: 'link';
url: string;
};
declare type Promotion = Clickable & {
heading: string;
image?: CollectionImage;
type: 'promotion';
url: string;
};
declare type Article = Clickable & {
image?: CollectionImage;
isVisible?: boolean;
metaDuration?: string;
metaLabel?: string;
menuSubnav?: string;
menuType: 'Shop' | 'Read';
panel: 'Panel 1' | 'Panel 2';
type: 'article';
url: string;
};
declare type Read = Clickable & {
articles: Article[];
articlesListHeading?: string;
backLabel?: string;
backgroundColor?: string;
baseUrl?: string;
image?: CollectionImage;
items: (Link$1 | NestedCollection)[];
topLevelCollectionLabel?: string;
type: 'read-collection';
};
declare type Actions = {
account: ((Link$1 & {
recentOrders?: {
url?: string;
title?: string;
label?: string;
};
}) | Trigger) & {
isAuthenticated?: boolean;
};
cart: Trigger;
cabinet: Link$1;
logo: Link$1;
shop: Omit & {
onClick?: () => void;
};
support: Trigger;
menu: Omit & {
closeLabel: string;
closeTitle: string;
onClick?: () => void;
};
search: Trigger;
stores: Trigger;
};
declare type NotableNestedCollection = Clickable & {
items: Link$1[];
type: 'notable-nested-collection';
};
declare type NestedCollection = Clickable & {
items: Link$1[];
type: 'nested-collection';
};
declare type Collection = Clickable & {
backLabel?: string;
backgroundColor?: string;
image?: CollectionImage;
items: (Link$1 | NestedCollection | NotableNestedCollection)[];
promotion?: Promotion;
topLevelCollectionLabel?: string;
type: 'collection';
};
declare type GlobalNavigationType = ComponentWithChildren;
declare type GlobalNavigationStateContextProviderProps = {
activeCollectionId?: string;
isOpen?: boolean;
};
declare type GlobalNavigationStateContextProviderType = ComponentWithChildren;
declare type ActiveViewTypes = 'none' | 'mobile' | 'tablet' | 'desktop';
declare type StickyNavType = {
isFixed: boolean;
isHidden: boolean;
offsetTop: number;
};
declare type GlobalNavigationStateContextType = {
activeCollectionId: string;
activeView: ActiveViewTypes;
isOpen: boolean;
menuCategoryLabel: string;
menuType: MenuType;
setActiveCollectionId: (id: string) => void;
setIsOpen: Dispatch>;
setMenuCategoryLabel: (categoryLabel: string) => void;
setMenuType: (menuType: MenuType) => void;
setStickyNavProps: Dispatch>;
stickyNavProps: StickyNavType;
};
declare type UseGlobalNavigationStateContext = () => GlobalNavigationStateContextType;
declare type GlobalNavigationContextType = {
actions: Actions;
className?: string;
collections: Collection[];
customLinks?: Link$1[];
isVisuallyObstructed?: boolean;
isOpenSearchBackToMenu?: boolean;
/** User created on Navigation close event callback */
onClose?: () => void;
/** User created on Navigation open event callback */
onOpen?: () => void;
read: Read;
theme?: Themes;
isLegacyMenu?: boolean;
trackingCallbacks: TrackingCallback;
isWishlistEnabled?: boolean;
};
declare type GlobalNavigationContextProviderProps = {
value: GlobalNavigationContextType;
};
declare type GlobalNavigationContextProviderType = ComponentWithChildren;
declare type DesktopViewProps = {
className?: string;
};
declare type DesktopViewType = ComponentWithoutChildren;
declare type DesktopViewContextType = {
closedClassName?: string;
closedLogoTheme?: Themes;
openClassName?: string;
};
declare type DesktopViewContextProviderType = ComponentWithChildren;
declare const DesktopViewContextProvider: DesktopViewContextProviderType;
declare type MobileViewContextProviderProps = {
closedClassName?: string;
closedTheme?: Themes;
openClassName?: string;
};
declare type MobileViewContextProviderType = ComponentWithChildren;
declare type MobileViewProps = {
className?: string;
};
declare type MobileViewType = ComponentWithoutChildren;
declare const MobileViewContextProvider: MobileViewContextProviderType;
declare type TabletViewProps = {
className?: string;
};
declare type TabletViewType = ComponentWithChildren;
declare type TabletViewContextProviderProps = {
closedClassName?: string;
closedLogoTheme?: Themes;
openClassName?: string;
};
declare type TabletViewContextProviderType = ComponentWithChildren;
declare const TabletViewContextProvider: TabletViewContextProviderType;
declare const GlobalNavigation: GlobalNavigationType;
declare const GlobalNavigationStateContextProvider: GlobalNavigationStateContextProviderType;
declare const useGlobalNavigationStateContext: UseGlobalNavigationStateContext;
declare const GlobalNavigationContextProvider: GlobalNavigationContextProviderType;
declare const DesktopView: DesktopViewType;
declare const MobileView: MobileViewType;
declare const TabletView: TabletViewType;
declare type GoogleMapProps = {
center: {
lat?: number;
lng?: number;
};
className?: string;
copy?: {
directions?: string;
screenReaderText?: string;
storeLocator?: {
label?: string;
message?: string;
title?: string;
url?: string;
};
openingHours?: {
alternateHoursNote?: string;
heading?: string;
};
};
customMarker?: {
lat?: number;
lng?: number;
type?: 'PIN' | 'PLACE';
};
hasMarkerIndexes?: boolean;
id?: string;
initialZoom?: number;
places?: {
lat?: number;
lng?: number;
id?: string;
storeName?: string;
storeType?: string;
address?: string;
phoneNumber?: string;
openingHours?: any[];
}[];
theme?: Themes;
};
declare type GoogleMapType = ComponentWithoutChildren;
declare const GoogleMap: GoogleMapType;
declare type HeadingLevels = '1' | '2' | '3' | '4' | '5' | '6';
declare type HeadingSizes = 'xXSmall' | 'xSmall' | 'small' | 'medium' | 'large' | 'xLarge';
declare type HeadingProps = {
className?: string;
dataTestRef?: string;
hasMediumWeightFont?: boolean;
hasSerifFont?: boolean;
id?: string;
isFlush?: boolean;
level: HeadingLevels;
size: HeadingSizes;
theme?: Themes;
};
declare type HeadingType = ComponentWithChildren;
declare const Heading: HeadingType;
declare type HeroBannerMediaAnchorPoints = 'center' | 'left' | 'right' | 'bottom' | 'top';
declare type HeroBannerVariations = 'article-header' | 'default' | 'fifty-fifty' | 'full-display' | 'landing-header' | 'wide-header';
declare type HeroBannerCopy = {
description?: ReactNode;
eyebrow?: string;
heading?: string;
subHeading?: string;
};
declare type HeroBannerProps = {
backgroundColor?: string;
className?: string;
containMedia?: HeroBannerMediaAnchorPoints;
content?: ReactNode;
copy?: HeroBannerCopy;
foregroundImage?: ReactElement;
foregroundImageLink?: {
onClick?: () => void;
url?: string;
title?: string;
};
hasSerifFontHeading?: boolean;
hasTopOffset?: boolean;
media: ReactElement;
theme?: Themes;
variation?: HeroBannerVariations;
};
declare const HeroBanner: React$1.ForwardRefExoticComponent>;
declare type HiddenViewports = 'sm' | 'md' | 'lg' | 'xl';
declare type HiddenProps = {
children: React.ReactNode;
/** An array of strings representing viewports that the children components
* will be unmounted on. 'sm' | 'md' | 'lg' | 'xl'.
*/
when: HiddenViewports[];
};
declare type HiddenType = ComponentWithChildren;
/**
* The Hidden component will unmount children components given they meet
* the breakpoint criteria of the `sm`, `me`, `lg` and/or `xl` in the `when` prop.
* @param children
* @param when - 'sm' | 'md' | 'lg' | 'xl'
*/
declare const Hidden: HiddenType;
declare const Hyperlink: React$1.ForwardRefExoticComponent>;
declare type SvgName = '' | 'aesop' | 'chevron' | 'close' | 'downArrow' | 'download' | 'muted' | 'pause' | 'play' | 'plusAndCloseWithCircle' | 'rightArrow' | 'rightUpArrow' | 'scrolldown' | 'search' | 'seek' | 'success' | 'heart' | 'unmuted' | 'warning';
declare type IconProps = {
aria?: Pick;
className?: string;
dataRef?: string;
height?: number;
isActive?: boolean;
name: SvgName;
tabIndex?: number;
theme?: Themes;
title?: string;
width?: number;
};
declare type IconType = ComponentWithoutChildren;
declare const Icon: IconType;
declare type IconLinkProps = {
altText?: string;
className?: string;
dataTestRef?: string;
hasTargetInNewWindow?: boolean;
height?: number;
icon?: {
sizes: ImageProps['sizes'];
};
iconImageClassName?: string;
onClick?: () => void;
target?: string;
width?: number;
};
declare type IconLinkType = ComponentWithoutChildren;
declare const IconLink: IconLinkType;
declare const Image$1: React$1.ForwardRefExoticComponent>;
declare type Slide = {
caption?: string;
id?: string;
image: ImageProps;
};
declare type ImageCarouselProps = {
autoplaySpeed?: number;
className?: string;
hasAutoplay?: boolean;
hasFlushPagination?: boolean;
isCompact?: boolean;
slides?: Slide[];
theme?: Themes;
};
declare type ImageCarouselType = ComponentWithoutChildren;
declare const ImageCarousel: ImageCarouselType;
declare type ListItem = {
content: React.ReactNode;
id: string;
};
declare type ListProps = {
className?: string;
items?: ListItem[];
listItemClassName?: string;
theme?: Themes;
};
declare type KitListProps = {
className?: string;
isVisible?: boolean;
items: ListItem[];
theme?: Themes;
};
/** @TODO replace the `any` in the forwardRef type
* Following our forwardRef tyings, this first value should be HTMLUListElement (based on typeof List)
* However, due to https://stackoverflow.com/questions/58469229/react-with-typescript-generics-while-using-react-forwardref/58473012
* this does not work, and if List's return type changes, this static type will break
*/
declare const KitList: React$1.ForwardRefExoticComponent>;
declare type LinkButtonGroupProps = {
children?: JSX.Element | JSX.Element[] /** @TODO figure out how to efficiently allow only Button an Hyperlink */;
className?: string;
hasFitContent?: boolean;
isFlush?: boolean;
isFullWidth?: boolean;
textAlign?: 'center' | 'left' | 'right';
theme?: Themes;
};
declare type LinkButtonGroupType = (props: LinkButtonGroupProps) => ReactElement | null;
declare const LinkButtonGroup: LinkButtonGroupType;
declare const List$1: React$1.ForwardRefExoticComponent>;
declare type LoadingSizes = 'small' | 'medium' | 'large' | 'ultra';
declare type LoadingProps = {
align?: 'start' | 'center' | 'end';
centerVertical?: boolean;
className?: string;
isLoading: boolean;
screenReaderText?: string;
shouldFillSpace?: boolean;
size?: LoadingSizes;
theme?: Themes;
};
declare type LoadingType = ComponentWithoutChildren;
declare const Loading: LoadingType;
declare type LoadMoreButtonProps = {
className?: string;
copy?: {
actionLabel?: string;
screenReaderText?: string;
};
dataTestRef: string;
isEnabled?: boolean;
screenReaderText?: string;
};
declare type LoadMoreButtonType = ComponentWithoutChildren;
declare const LoadMoreButton: LoadMoreButtonType;
declare type ContentCopy = {
description?: React.ReactNode;
eyebrow?: string;
heading?: string;
subHeading?: string;
};
declare type ContainMedia = 'center' | 'left' | 'right';
declare type ForegroundImageLink = {
onClick?: () => void;
url: string;
title: string;
};
declare type MediaWithContentProps = {
backgroundColor?: string;
className?: string;
containMedia?: ContainMedia;
content?: React.ReactNode;
copy: ContentCopy;
foregroundImage?: JSX.Element;
foregroundImageLink?: ForegroundImageLink;
hasFullWidthImage?: boolean;
hasSerifFontHeading?: boolean;
isReverse?: boolean;
media: JSX.Element;
theme?: Themes;
};
declare const MediaWithContent: React$1.ForwardRefExoticComponent>;
declare type ModalBodyCopy = {
copy?: {
close?: string;
};
};
declare type ModalAndModalBodyProps = {
aria?: {
label?: string;
};
className?: string;
classNameModalBody?: string;
isFullScreen?: boolean;
isVisible: boolean;
onClose: () => void;
theme?: Themes;
topLeftChildren?: ReactChild;
};
declare type ModalProps = ModalAndModalBodyProps & ModalBodyCopy;
declare type ModalType = ComponentWithChildren;
declare const Modal: ModalType;
declare type Link = Pick & {
text: string;
};
declare type NavigationBarProps = {
childLinks?: Link[];
className?: string;
parentLink?: Link;
selectedUrl?: string;
};
declare type NavigationBarType = ComponentWithoutChildren;
declare const NavigationBar: NavigationBarType;
declare type NotificationModalProps = {
backgroundColor?: string;
className?: string;
notificationMessage?: string;
};
declare type NotificationModalType = ComponentWithoutChildren;
declare const NotificationModal: NotificationModalType;
declare type TransitionTypeLabel = 'fade' | 'fadeDelay' | 'fadeIn' | 'shiftInDown' | 'shiftInLeft' | 'shiftInUp' | 'slideDown' | 'slideDownBounce' | 'slideLeft' | 'slideRight' | 'slowFade' | 'fixed' | 'zoom' | 'zoomDelay';
declare type TransitionProps = {
children: JSX.Element;
isActive?: boolean;
isActiveOnMount?: boolean;
shouldMountOnEnter?: boolean;
shouldUnmountOnExit?: boolean;
type?: TransitionTypeLabel;
};
declare type TransitionType = (props: TransitionProps) => ReactElement | null;
declare type OverlayProps = {
className?: string;
isVisible?: boolean;
onClose: () => void;
type?: TransitionTypeLabel;
};
declare type OverlayType = ComponentWithoutChildren;
declare const Overlay: OverlayType;
declare type ParagraphProps = {
className?: string;
hasSerifFont?: boolean;
isFlush?: boolean;
isHero?: boolean;
isLarge?: boolean;
theme?: Themes;
};
declare type ParagraphType = ComponentWithChildren;
declare type ParagraphSetProps = {
className?: string;
isLarge?: boolean;
theme?: Themes;
};
declare type ParagraphSetType = ComponentWithChildren;
declare const Paragraph: ParagraphType;
declare const ParagraphSet: ParagraphSetType;
declare type PasswordInputProps = {
buttonLabels?: {
ariaHideLabel?: string;
ariaShowLabel?: string;
hideLabel?: string;
showLabel?: string;
};
className?: string;
dataTestId?: string;
dataTestRef?: string;
errorMessage?: string;
id?: string;
isEnabled?: boolean;
label?: string;
name: string;
onBlur?: (e: React.ChangeEvent) => void;
onChange?: (e: React.ChangeEvent) => void;
theme?: Themes;
};
declare type PasswordInputType = ComponentWithoutChildren;
declare const PasswordInput: PasswordInputType;
declare type PersonalInfoSummaryProps = {
className?: string;
theme?: Themes;
prefixOptions?: {
value: string;
text: string;
}[];
shouldShowPrefix?: boolean;
shouldHaveNameSpace?: boolean;
shouldSwapFullNameOrder?: boolean;
userDetails?: {
suffix?: string;
prefix?: string;
firstName?: string;
lastName?: string;
dateOfBirth?: string;
email?: string;
};
};
declare type PersonalInfoSummaryType = VFC;
declare const PersonalInfoSummary: PersonalInfoSummaryType;
declare type HorizontalPadding = 'none' | 'small';
declare type VerticalPadding$1 = 'none' | 'small' | 'medium' | 'large';
declare type PodiumProps = {
backgroundColor?: string;
children?: React.ReactNode;
className?: string;
'data-test-ref'?: string;
horizontalPadding?: HorizontalPadding;
id?: string;
isActive?: boolean;
isActiveOnMount?: boolean;
isHorizontalFlushOnLarge?: boolean;
isHorizontalFlushOnMedium?: boolean;
isHorizontalFlushOnSmall?: boolean;
paddingBottom?: VerticalPadding$1;
paddingLeft?: HorizontalPadding;
paddingRight?: HorizontalPadding;
paddingTop?: VerticalPadding$1;
theme?: Themes;
transition?: TransitionTypeLabel;
verticalPadding?: VerticalPadding$1;
};
declare const Podium: React$1.ForwardRefExoticComponent>;
declare type Media = {
sizes?: {
xSmall?: string;
small?: string;
medium?: string;
large?: string;
xLarge?: string;
};
};
declare type Image = Media & {
altText?: string;
};
declare type Video$1 = Media & {
fallbackImage?: {
copy?: {
altText?: string;
};
sizes?: {
large?: string;
medium?: string;
small?: string;
};
};
};
declare type AddToCartCopy = {
cartAction?: string;
updateNotification?: string;
outOfStock?: {
label?: string;
title?: string;
};
};
declare type Background = 'Colour' | 'Image' | 'Video';
declare type State = {
background?: Background;
backgroundColour?: string;
backgroundImage?: Image;
backgroundVideo?: Video$1;
copy?: ReactNode;
eyebrow?: string;
foregroundImage?: Image;
hasSerifFont?: boolean;
theme?: Themes;
title?: string;
};
declare type ClosedState = State & {
id?: string;
openButtonText?: string;
};
declare type OpenState = State & {
closeButtonText?: string;
cta?: {
text?: string;
url?: string;
};
product: {
variants: Variant$1[];
};
};
declare type VisualState = 'compressed' | 'default' | 'expanded';
declare type ProductAccordionItem = {
closedState?: ClosedState;
id?: string;
isCompressed?: boolean;
isExpanded?: boolean;
onPromoClick?: () => void;
openState?: OpenState;
theme?: Themes;
visualState?: VisualState;
};
declare type Product = ProductAccordionItem & {
handleAddToCart: OnAddToCartClick;
};
declare type ProductAccordionProps = {
className?: string;
id?: string;
addToCartCopy?: AddToCartCopy;
openIndex?: string;
products: Product[];
};
declare type ProductAccordionType = ComponentWithoutChildren;
declare const ProductAccordion: ProductAccordionType;
declare type ProductCommerceProps = {
className?: string;
copy?: {
addToCart?: {
cartAction?: string;
updateNotification?: string;
outOfStock?: {
label?: string;
title?: string;
};
};
screenReaderText?: string;
size?: string;
};
cta?: {
text?: string;
url?: string;
};
description?: React.ReactNode;
eyebrow?: string;
heading?: string;
id?: string;
isActive?: boolean;
onCtaClick?: () => void;
size?: string;
theme?: Themes;
};
declare const ProductCommerce: React$1.ForwardRefExoticComponent>;
declare type ContentSide = 'Left' | 'Right';
declare type VerticalPadding = 'none' | 'small' | 'medium' | 'large';
declare type Font = 'suisse' | 'zapf';
declare type ProductCommerceCardProps = {
id?: string;
className?: string;
productQuantity?: number;
productsContainer?: ReactNode;
headline?: string;
headlineFontStyle?: Font;
eyebrow?: string;
copy?: React.ReactNode;
backgroundColor?: string;
contentSide?: ContentSide;
theme?: Themes;
paddingTop?: VerticalPadding;
paddingBottom?: VerticalPadding;
asset?: ImageProps | VideoProps;
isImage?: boolean;
};
declare const ProductCommerceCards: React$1.ForwardRefExoticComponent>;
declare type ProductDetailBodyCopy = {
addToCart?: {
cartAction?: string;
updateNotification?: string;
outOfStock?: {
label?: string;
title?: string;
};
};
size?: {
singular?: string;
plural?: string;
};
upSellProductLabel?: string;
flyinPanelHeading?: string;
};
declare type Breadcrumbs = {
items?: BreadcrumbItem[];
theme?: Themes;
};
declare type ProductDetailHeaderProps = {
AddToCabinetButton?: React.ReactNode;
breadcrumbs?: Breadcrumbs;
className?: string;
copy?: ProductDetailBodyCopy;
onBreadcrumbClick?: (item: BreadcrumbItem, selectedVariant: Variant$1) => void;
onFlyinOpenCloseClick?: (flyinStatus: 'open' | 'close', selectedVariant: Variant$1) => void;
onUpsellClick?: () => void;
onUpsellScrollIntoView?: () => void;
paymentWidget?: React.ReactNode;
backInStockNotification?: React.ReactNode;
theme?: Themes;
};
declare type ProductDetailHeaderType = ComponentWithoutChildren;
declare const ProductDetailHeader: ProductDetailHeaderType;
declare type ProductExtractProps = {
dataTestRef: string;
className?: string;
hasBottomBorder?: boolean;
hasTopMargin?: boolean;
imageSize?: 'small' | 'medium';
isVisible?: boolean;
itemNum?: number;
theme?: Themes;
onHyperlinkClick?: () => void;
product?: {
image?: ImageProps;
name?: string;
url?: string;
};
works?: string;
};
declare const ProductExtract: React$1.ForwardRefExoticComponent>;
declare type Copy = {
addToCart?: {
cartAction?: string;
outOfStock?: {
label?: string;
title?: string;
};
updateNotification?: string;
};
viewMore?: string;
};
declare type CallToAction = {
clickFunction?: () => void;
text?: string;
url?: string;
};
declare type ProductGridItemProps = {
className?: string;
copy?: Copy;
cta?: CallToAction;
hasCarousel?: boolean;
topRow?: React.ReactNode;
hasViewMore?: boolean;
id?: string;
info?: string;
onCtaClick?: () => void;
slides?: Slide$2[];
/** if provided, will pass this as `hasTargetInParentFrame` to `Hyperlinks` within `ProductGridItem` */
targetParentFrameForLinks?: boolean;
theme?: Themes;
url?: string;
};
declare const ProductGridItem: React$1.ForwardRefExoticComponent>;
declare type QuoteProps = {
author: string;
className?: string;
content: string;
theme?: Themes;
};
declare const Quote: React$1.ForwardRefExoticComponent>;
declare type RadioProps = {
className?: string;
dataTestRef?: string;
dataTestId?: string;
onChange: (event: ChangeEvent) => void;
optionLabel: string;
optionValue: string;
name: string;
value?: string;
theme?: Themes;
};
declare type RadioGroupProps = {
className?: string;
dataTestRef?: string;
errorMessage?: string;
name: string;
onChange: (event: ChangeEvent) => void;
options?: {
label?: string;
value?: string;
}[];
theme?: Themes;
value?: string;
};
declare type RadioType = ComponentWithoutChildren;
declare type RadioGroupType = ComponentWithoutChildren & {
Radio: RadioType;
};
declare const RadioGroup: RadioGroupType;
declare type RatingProps = {
className?: string;
dataTestRef?: string;
errorMessage?: string;
max?: number;
name: string;
onChange: (event: ChangeEvent) => void;
theme?: Themes;
value?: string;
};
declare type RatingType = ComponentWithoutChildren;
declare const Rating: RatingType;
declare type ReadMoreProps = {
articles: Article$1[];
className?: string;
};
declare type ReadMoreType = ComponentWithoutChildren;
declare const ReadMore: ReadMoreType;
declare type ScreenReaderOnlyProps = {
as?: keyof JSX.IntrinsicElements;
className?: string;
};
declare type ScreenReaderOnlyType = ComponentWithChildren;
declare const ScreenReaderOnly: ScreenReaderOnlyType;
declare type MessageProps = {
className?: string;
copy: string;
heading: string;
id?: string;
link?: {
title: string;
url: string;
};
theme?: Themes;
};
declare type SecondaryMessageProps = {
className?: string;
id?: string;
items?: [MessageProps?, MessageProps?];
theme?: Themes;
};
declare type SecondaryMessageType = ComponentWithoutChildren;
declare const SecondaryMessage: SecondaryMessageType;
declare type SectionHeadingProps = {
childrenClassNames?: {
eyebrow?: string;
heading?: string;
subHeading?: string;
};
className?: string;
eyebrow?: string;
hasSerifFontHeading?: boolean;
heading?: string;
id?: string;
isFlush?: boolean;
isOffsetPageHeading?: boolean;
isHeroHeading?: boolean;
isPageHeading?: boolean;
subHeading?: ReactNode;
theme?: Themes;
titleFont?: 'Suisse' | 'Zapf';
};
declare type SectionHeadingType = ComponentWithoutChildren;
declare const SectionHeading: SectionHeadingType;
declare type SelectOption = {
id?: string;
label?: string;
value?: string;
};
declare type SelectProps = {
className?: string;
dataTestRef?: string;
errorMessage?: string;
isBlock?: boolean;
isEnabled?: boolean;
label?: string;
name: string;
onBlur?: (event: React.FocusEvent) => void;
onChange: (event: React.ChangeEvent) => void;
onFocus?: (event: React.FocusEvent) => void;
options: SelectOption[];
theme?: Themes;
value?: string;
};
declare const Select$1: React$1.ForwardRefExoticComponent>;
declare type HoursListItem = {
dayName?: string;
hours?: string | string[];
id?: string;
isAlternate?: boolean;
};
declare type StoreHoursListProps = {
alternateHoursNote?: string;
className?: string;
heading?: string;
hoursList?: HoursListItem[];
theme?: Themes;
};
declare type StoreHoursListType = ComponentWithoutChildren;
declare type StoreDetailCopy = {
location?: string;
email?: string;
phone?: string;
facialAppointments?: string;
facialAppointmentsLink?: string;
openingHours?: string;
clickAndCollectSansSerif?: string;
};
declare type StoreDetailHeaderProps = {
alternateHoursNote?: string;
className?: string;
copy?: StoreDetailCopy;
facialAppointments?: boolean;
facialAppointmentsLink?: string;
email?: string;
location?: string;
onLocationClick?: () => void;
onFacialAppointmentClick?: () => void;
openingHours?: HoursListItem[];
phone?: string;
storeName: string;
storeType?: string;
theme?: Themes;
hasCnC?: boolean;
storePageCallout?: string[];
cncAvailable?: string[];
};
declare type StoreDetailHeaderType = ComponentWithoutChildren;
declare const StoreDetailHeader: StoreDetailHeaderType;
declare const StoreHoursList: StoreHoursListType;
declare type SubNavLink = {
children: string /** @TODO change this prop api to content or text */;
id?: string;
hasTargetInNewWindow?: boolean;
style?: LinkStyle;
url: string;
onClick?: (event: MouseEvent) => void;
};
declare type SubNavProps = {
className?: string;
id: string;
isSelect?: boolean;
links: SubNavLink[];
heading?: string;
headingClassName?: string;
theme?: Themes;
onSelectCallback?: (event: React.ChangeEvent) => void;
};
declare const SubNav: React$1.ForwardRefExoticComponent>;
declare type Column = {
key: string;
title: string;
};
declare type CommonTableProps = {
caption?: string;
className?: string;
dataTestRef?: string;
};
declare type TableProps = CommonTableProps & ({
children: ReactNode;
columns?: never;
rows?: never;
} | {
children?: never;
columns?: Column[];
rows?: any[];
});
declare const Table: React$1.ForwardRefExoticComponent>;
declare type TextareaProps = {
className?: string;
dataTestRef?: string;
defaultValue?: string;
id: string;
inputRef?: Ref;
isEnabled?: boolean;
maxLength?: number;
name?: string;
onBlur?: (event: FocusEvent) => void;
onChange?: (event: ChangeEvent) => void;
rows?: number;
textareaClassName?: string;
theme?: Themes;
value?: string;
};
declare type TextareaType = ComponentWithoutChildren;
declare const Textarea: TextareaType;
declare type TextareaV2Props = {
classNames?: {
errorMessage?: string;
textarea?: string;
label?: string;
wrapper?: string;
};
dataTestRef?: string;
errorMessage?: string;
id?: string;
isEnabled?: boolean;
label: string;
maxLength?: number;
name?: string;
onBlur?: (event: FocusEvent) => void;
onChange?: (event: ChangeEvent) => void;
rows?: number;
theme?: Themes;
value?: string;
};
declare const TextareaV2: React$1.ForwardRefExoticComponent>;
declare type TextInputProps = {
'data-test-ref'?: string;
className?: string;
defaultValue?: string;
hasContent?: boolean;
hasError?: boolean;
/** @deprecated no underlying functionality */
hasValidation?: boolean;
id: string;
inputClassName?: string;
inputRef?: Ref;
isEnabled?: boolean;
label?: string;
max?: number;
maxLength?: number;
min?: number;
name?: string;
onBlur?: (event: FocusEvent) => void;
onChange?: (event: ChangeEvent) => void;
onFocus?: (event: ChangeEvent) => void;
prefixElement?: ReactElement;
theme?: Themes;
type?: 'text' | 'password' | 'email' | 'number' | 'tel' | 'search';
value?: string;
};
declare type TextInputType = ComponentWithoutChildren;
declare const TextInput: TextInputType;
declare type TextInputV2Props = {
autoComplete?: string;
classNames?: {
errorMessage?: string;
input?: string;
label?: string;
wrapper?: string;
};
dataTestId?: string;
dataTestRef?: string;
errorMessage?: string;
id?: string;
isEnabled?: boolean;
label: string;
max?: number;
maxLength?: number;
min?: number;
name?: string;
onBeforeInput?: (e: React.ChangeEvent) => void;
onBlur?: (event: React.FocusEvent) => void;
onChange?: (event: ChangeEvent) => void;
onCopyCapture?: (e: React.ClipboardEvent) => void;
onFocus?: (event: React.FocusEvent) => void;
onKeyDown?: (e: React.KeyboardEvent) => void;
onPasteCapture?: (e: React.ClipboardEvent) => void;
pattern?: string;
theme?: Themes;
type?: 'text' | 'password' | 'email' | 'number' | 'tel' | 'search';
/** `valueControlled` takes precedence over `value` prop */
value?: string;
/** `valueControlled` takes precedence over `value` prop */
valueControlled?: string;
};
declare const TextInputV2: React$1.ForwardRefExoticComponent>;
declare type TextOverFullWidthAssetProps = {
backgroundImage?: ImageProps;
backgroundVideo?: VideoProps;
className?: string;
content: ReactNode;
copyHeight?: 'Top' | 'Bottom';
copySide?: 'Left' | 'Right';
mediaType: 'Image' | 'Video';
};
declare type TextOverFullWidthAssetType = ComponentWithoutChildren;
declare const TextOverFullWidthAsset: TextOverFullWidthAssetType;
declare const Transition: TransitionType;
declare type TwoColumnLayoutProps = {
childrenClassNames?: {
sidebar?: string;
content?: string;
};
className?: string;
content: React.ReactNode;
hasFullWidthContent?: boolean;
id?: string;
isFlushOnSmall?: boolean;
isReversed?: boolean;
sidebar?: React.ReactNode;
theme?: Themes;
};
declare type TwoColumnLayoutType = ComponentWithoutChildren;
declare const TwoColumnLayout: TwoColumnLayoutType;
/**
* Not using HyperlinkType as url is not required here
* @TODO openInANewWindow needs to be updated
*/
declare type HyperlinkItem = {
id: string;
text: string;
style?: LinkStyle;
url?: string;
openInANewWindow?: boolean;
onClick?: () => void;
};
declare type List = {
id: string;
heading?: string;
subHeading?: string;
items?: HyperlinkItem[];
};
declare type TwoColumnListProps = {
className?: string;
leftColumn: List[];
rightColumn: List[];
theme?: Themes;
};
declare const TwoColumnList: React$1.ForwardRefExoticComponent>;
declare const Video: React$1.ForwardRefExoticComponent & {
captions?: {
copy?: {
toggleButtonTitleOn?: string;
toggleButtonTitleOff?: string;
};
fileUrl?: string;
isActiveOnLoad?: boolean;
languageCode?: string;
languageLabel?: string;
shouldShowToggleButton?: boolean;
};
className?: string;
fallbackImage?: {
className?: string;
copy?: {
altText?: string;
};
sizes?: {
large?: string;
medium?: string;
small?: string;
};
};
hasAllowAudio?: boolean;
hasAutoplay?: boolean;
hasControls?: boolean;
hasLoop?: boolean;
hasNativeControls?: boolean;
hasPlayInFullScreen?: boolean;
hasSpanContent?: boolean;
id?: string;
isBackground?: boolean;
isInMediaBlock?: boolean;
isFullWidth?: boolean;
isHeroFullWidth?: boolean;
isHeroFullWidthMobile?: boolean;
isScrollBasedVideo?: boolean;
poster?: PosterProps;
sizes?: {
large?: string;
medium?: string;
small?: string;
xLarge?: string;
xSmall?: string;
};
} & React$1.RefAttributes>;
declare const index_d$a_Accordion: typeof Accordion;
declare const index_d$a_AddToCartButton: typeof AddToCartButton;
declare const index_d$a_Alert: typeof Alert;
declare const index_d$a_AssetGrid: typeof AssetGrid;
declare const index_d$a_Audio: typeof Audio;
declare const index_d$a_BodyCopy: typeof BodyCopy;
declare const index_d$a_Button: typeof Button;
declare const index_d$a_BynderWidget: typeof BynderWidget;
declare const index_d$a_Carousel: typeof Carousel;
declare const index_d$a_Checkbox: typeof Checkbox;
declare const index_d$a_ConditionalWrapper: typeof ConditionalWrapper;
declare const index_d$a_ContentHubArticle: typeof ContentHubArticle;
declare const index_d$a_ContentHubArticleList: typeof ContentHubArticleList;
declare const index_d$a_CopyGrid: typeof CopyGrid;
declare const index_d$a_DefinitionList: typeof DefinitionList;
declare const index_d$a_DialogBanner: typeof DialogBanner;
declare const index_d$a_DoubleMedia: typeof DoubleMedia;
declare const index_d$a_FiftyFiftyFloatingText: typeof FiftyFiftyFloatingText;
declare const index_d$a_Figure: typeof Figure;
declare const index_d$a_FlyinPanel: typeof FlyinPanel;
declare const index_d$a_FooterBlock: typeof FooterBlock;
declare const index_d$a_FullWidthHeroScroll: typeof FullWidthHeroScroll;
declare const index_d$a_GlobalNavigation: typeof GlobalNavigation;
declare const index_d$a_DesktopView: typeof DesktopView;
declare const index_d$a_DesktopViewContextProvider: typeof DesktopViewContextProvider;
declare const index_d$a_MobileView: typeof MobileView;
declare const index_d$a_MobileViewContextProvider: typeof MobileViewContextProvider;
declare const index_d$a_TabletView: typeof TabletView;
declare const index_d$a_TabletViewContextProvider: typeof TabletViewContextProvider;
declare const index_d$a_GlobalNavigationContextProvider: typeof GlobalNavigationContextProvider;
declare const index_d$a_GlobalNavigationStateContextProvider: typeof GlobalNavigationStateContextProvider;
declare const index_d$a_useGlobalNavigationStateContext: typeof useGlobalNavigationStateContext;
declare const index_d$a_GoogleMap: typeof GoogleMap;
declare const index_d$a_Heading: typeof Heading;
declare const index_d$a_HeroBanner: typeof HeroBanner;
declare const index_d$a_Hidden: typeof Hidden;
declare const index_d$a_Hyperlink: typeof Hyperlink;
declare const index_d$a_Icon: typeof Icon;
declare const index_d$a_IconLink: typeof IconLink;
declare const index_d$a_ImageCarousel: typeof ImageCarousel;
declare const index_d$a_KitList: typeof KitList;
declare const index_d$a_LinkButtonGroup: typeof LinkButtonGroup;
declare const index_d$a_Loading: typeof Loading;
declare const index_d$a_LoadMoreButton: typeof LoadMoreButton;
declare const index_d$a_MediaWithContent: typeof MediaWithContent;
declare const index_d$a_Modal: typeof Modal;
declare const index_d$a_NavigationBar: typeof NavigationBar;
declare const index_d$a_NotificationModal: typeof NotificationModal;
declare const index_d$a_Overlay: typeof Overlay;
declare const index_d$a_Paragraph: typeof Paragraph;
declare const index_d$a_ParagraphSet: typeof ParagraphSet;
declare const index_d$a_PasswordInput: typeof PasswordInput;
declare const index_d$a_PersonalInfoSummary: typeof PersonalInfoSummary;
declare const index_d$a_Podium: typeof Podium;
declare const index_d$a_ProductAccordion: typeof ProductAccordion;
declare const index_d$a_ProductCommerce: typeof ProductCommerce;
declare const index_d$a_ProductCommerceCards: typeof ProductCommerceCards;
declare const index_d$a_ProductDetailHeader: typeof ProductDetailHeader;
declare const index_d$a_ProductExtract: typeof ProductExtract;
declare const index_d$a_ProductGridItem: typeof ProductGridItem;
declare const index_d$a_Quote: typeof Quote;
declare const index_d$a_RadioGroup: typeof RadioGroup;
declare const index_d$a_Rating: typeof Rating;
declare const index_d$a_ReadMore: typeof ReadMore;
declare const index_d$a_ScreenReaderOnly: typeof ScreenReaderOnly;
declare const index_d$a_SecondaryMessage: typeof SecondaryMessage;
declare const index_d$a_SectionHeading: typeof SectionHeading;
declare const index_d$a_StoreDetailHeader: typeof StoreDetailHeader;
declare const index_d$a_StoreHoursList: typeof StoreHoursList;
declare const index_d$a_SubNav: typeof SubNav;
declare const index_d$a_Table: typeof Table;
declare const index_d$a_Textarea: typeof Textarea;
declare const index_d$a_TextareaV2: typeof TextareaV2;
declare const index_d$a_TextInput: typeof TextInput;
declare const index_d$a_TextInputV2: typeof TextInputV2;
declare const index_d$a_TextOverFullWidthAsset: typeof TextOverFullWidthAsset;
declare const index_d$a_Transition: typeof Transition;
declare const index_d$a_TwoColumnLayout: typeof TwoColumnLayout;
declare const index_d$a_TwoColumnList: typeof TwoColumnList;
declare const index_d$a_Video: typeof Video;
declare namespace index_d$a {
export {
index_d$a_Accordion as Accordion,
index_d$a_AddToCartButton as AddToCartButton,
index_d$a_Alert as Alert,
index_d$a_AssetGrid as AssetGrid,
index_d$a_Audio as Audio,
index_d$a_BodyCopy as BodyCopy,
Breadcrumbs$1 as Breadcrumbs,
index_d$a_Button as Button,
index_d$a_BynderWidget as BynderWidget,
index_d$a_Carousel as Carousel,
index_d$a_Checkbox as Checkbox,
index_d$a_ConditionalWrapper as ConditionalWrapper,
index_d$a_ContentHubArticle as ContentHubArticle,
index_d$a_ContentHubArticleList as ContentHubArticleList,
index_d$a_CopyGrid as CopyGrid,
DateSelector$1 as DateSelector,
index_d$a_DefinitionList as DefinitionList,
index_d$a_DialogBanner as DialogBanner,
index_d$a_DoubleMedia as DoubleMedia,
index_d$a_FiftyFiftyFloatingText as FiftyFiftyFloatingText,
index_d$a_Figure as Figure,
index_d$a_FlyinPanel as FlyinPanel,
index_d$a_FooterBlock as FooterBlock,
index_d$a_FullWidthHeroScroll as FullWidthHeroScroll,
index_d$a_GlobalNavigation as GlobalNavigation,
index_d$a_DesktopView as DesktopView,
index_d$a_DesktopViewContextProvider as DesktopViewContextProvider,
index_d$a_MobileView as MobileView,
index_d$a_MobileViewContextProvider as MobileViewContextProvider,
index_d$a_TabletView as TabletView,
index_d$a_TabletViewContextProvider as TabletViewContextProvider,
index_d$a_GlobalNavigationContextProvider as GlobalNavigationContextProvider,
index_d$a_GlobalNavigationStateContextProvider as GlobalNavigationStateContextProvider,
index_d$a_useGlobalNavigationStateContext as useGlobalNavigationStateContext,
index_d$a_GoogleMap as GoogleMap,
index_d$a_Heading as Heading,
index_d$a_HeroBanner as HeroBanner,
index_d$a_Hidden as Hidden,
index_d$a_Hyperlink as Hyperlink,
index_d$a_Icon as Icon,
index_d$a_IconLink as IconLink,
Image$1 as Image,
index_d$a_ImageCarousel as ImageCarousel,
index_d$a_KitList as KitList,
index_d$a_LinkButtonGroup as LinkButtonGroup,
List$1 as List,
index_d$a_Loading as Loading,
index_d$a_LoadMoreButton as LoadMoreButton,
index_d$a_MediaWithContent as MediaWithContent,
index_d$a_Modal as Modal,
index_d$a_NavigationBar as NavigationBar,
index_d$a_NotificationModal as NotificationModal,
index_d$a_Overlay as Overlay,
Paragraph as P,
index_d$a_Paragraph as Paragraph,
index_d$a_ParagraphSet as ParagraphSet,
index_d$a_PasswordInput as PasswordInput,
index_d$a_PersonalInfoSummary as PersonalInfoSummary,
index_d$a_Podium as Podium,
ProductAccordion as HorizontalProductDisplayAccordion,
index_d$a_ProductAccordion as ProductAccordion,
index_d$a_ProductCommerce as ProductCommerce,
index_d$a_ProductCommerceCards as ProductCommerceCards,
index_d$a_ProductDetailHeader as ProductDetailHeader,
index_d$a_ProductExtract as ProductExtract,
index_d$a_ProductGridItem as ProductGridItem,
index_d$a_Quote as Quote,
index_d$a_RadioGroup as RadioGroup,
index_d$a_Rating as Rating,
index_d$a_ReadMore as ReadMore,
index_d$a_ScreenReaderOnly as ScreenReaderOnly,
index_d$a_SecondaryMessage as SecondaryMessage,
index_d$a_SectionHeading as SectionHeading,
Select$1 as Select,
index_d$a_StoreDetailHeader as StoreDetailHeader,
index_d$a_StoreHoursList as StoreHoursList,
index_d$a_SubNav as SubNav,
index_d$a_Table as Table,
index_d$a_Textarea as Textarea,
index_d$a_TextareaV2 as TextareaV2,
index_d$a_TextInput as TextInput,
index_d$a_TextInputV2 as TextInputV2,
index_d$a_TextOverFullWidthAsset as TextOverFullWidthAsset,
index_d$a_Transition as Transition,
index_d$a_TwoColumnLayout as TwoColumnLayout,
index_d$a_TwoColumnList as TwoColumnList,
index_d$a_Video as Video,
};
}
declare type FieldValidation = {
isRequired?: {
message: string;
};
maxLength?: {
value: number;
message: string;
};
isSameAs?: {
fieldName: string;
message: string;
};
pattern?: {
value: string;
message: string;
};
};
declare type CheckBox = {
type: 'Checkbox';
};
declare type DateSelector = {
type: 'DateSelector';
} & Pick;
declare type Select = {
type: 'Select';
} & Pick;
declare type TextField = {
type: 'TextField';
subtype?: TextInputV2Props['type'];
};
declare type FieldSchema = {
/** An initial value for the field. The value in `defaultValues` prop for the same field will take precedence */
defaultValue?: string;
onChange?: (data: any) => void;
/** The field's HTML id attribute */
id?: string;
isEnabled?: boolean;
/** The field's label, often used for accessibility */
label?: string;
/** An identifier of the field to the form */
name: string;
/** Contains properties relating to the field's appearance */
styling?: {
/** Corresponds to the css `flex` property. Can be a value of 1, 2 or 3 */
flex?: number;
};
/** Passed to fields as `dataTestRef` */
testRef?: string;
/** Contains validation rules for the form field */
validation?: FieldValidation;
} & (CheckBox | DateSelector | Select | TextField);
declare type FormFieldsRow = FieldSchema[];
declare type FormSchema = FormFieldsRow[];
declare type DynamicFormProps = {
children?: ReactNode;
className?: string;
defaultValues?: Record;
formName?: string;
formSchema?: FormSchema;
onSubmit: (formData: Record) => void;
theme?: Themes;
validationMode?: Mode;
};
declare const DynamicForm: React$1.ForwardRefExoticComponent>;
declare type BreakpointValue = {
minWidth?: number;
maxWidth?: number;
};
declare const BREAKPOINTS: Map;
declare const GREY_60 = "#b3ada5";
declare const HIGHLIGHT_GREEN = "#007544";
declare const HIGHLIGHT_BLUE = "#114094";
declare const HIGHLIGHT_ORANGE = "#c67330";
declare const colors_d_GREY_60: typeof GREY_60;
declare const colors_d_HIGHLIGHT_GREEN: typeof HIGHLIGHT_GREEN;
declare const colors_d_HIGHLIGHT_BLUE: typeof HIGHLIGHT_BLUE;
declare const colors_d_HIGHLIGHT_ORANGE: typeof HIGHLIGHT_ORANGE;
declare namespace colors_d {
export {
colors_d_GREY_60 as GREY_60,
colors_d_HIGHLIGHT_GREEN as HIGHLIGHT_GREEN,
colors_d_HIGHLIGHT_BLUE as HIGHLIGHT_BLUE,
colors_d_HIGHLIGHT_ORANGE as HIGHLIGHT_ORANGE,
};
}
declare const CLUSTER_IMAGE_PATH = "./assets/Map-cluster-icon.svg";
declare const DIRECTIONS_URL_PREFIX = "https://www.google.com/maps?saddr=Current+Location&daddr=";
declare const MARKER_TYPE: {
PIN: string;
PLACE: string;
};
declare const googleMaps_d_CLUSTER_IMAGE_PATH: typeof CLUSTER_IMAGE_PATH;
declare const googleMaps_d_DIRECTIONS_URL_PREFIX: typeof DIRECTIONS_URL_PREFIX;
declare const googleMaps_d_MARKER_TYPE: typeof MARKER_TYPE;
declare namespace googleMaps_d {
export {
googleMaps_d_CLUSTER_IMAGE_PATH as CLUSTER_IMAGE_PATH,
googleMaps_d_DIRECTIONS_URL_PREFIX as DIRECTIONS_URL_PREFIX,
googleMaps_d_MARKER_TYPE as MARKER_TYPE,
};
}
declare const A = "a";
declare const html_d_A: typeof A;
declare namespace html_d {
export {
html_d_A as A,
};
}
declare const EXTERNAL_BUTTON_LINK = "External Button Link";
declare const EXTERNAL_NO_ICON_BUTTON_LINK = "External No Icon Button Link";
declare const EXTERNAL_NO_ICON_TEXT_LINK = "External No Icon Link";
declare const EXTERNAL_TEXT_LINK = "External Text Link";
declare const INTERNAL_BUTTON_LINK = "Internal Button Link";
declare const INTERNAL_NO_ICON_BUTTON_LINK = "Internal No Icon Button Link";
declare const INTERNAL_NO_ICON_TEXT_LINK = "Internal No Icon Link";
declare const INTERNAL_TEXT_LINK = "Internal Text Link";
declare const hyperlinkStyleTypes_d_EXTERNAL_BUTTON_LINK: typeof EXTERNAL_BUTTON_LINK;
declare const hyperlinkStyleTypes_d_EXTERNAL_NO_ICON_BUTTON_LINK: typeof EXTERNAL_NO_ICON_BUTTON_LINK;
declare const hyperlinkStyleTypes_d_EXTERNAL_NO_ICON_TEXT_LINK: typeof EXTERNAL_NO_ICON_TEXT_LINK;
declare const hyperlinkStyleTypes_d_EXTERNAL_TEXT_LINK: typeof EXTERNAL_TEXT_LINK;
declare const hyperlinkStyleTypes_d_INTERNAL_BUTTON_LINK: typeof INTERNAL_BUTTON_LINK;
declare const hyperlinkStyleTypes_d_INTERNAL_NO_ICON_BUTTON_LINK: typeof INTERNAL_NO_ICON_BUTTON_LINK;
declare const hyperlinkStyleTypes_d_INTERNAL_NO_ICON_TEXT_LINK: typeof INTERNAL_NO_ICON_TEXT_LINK;
declare const hyperlinkStyleTypes_d_INTERNAL_TEXT_LINK: typeof INTERNAL_TEXT_LINK;
declare namespace hyperlinkStyleTypes_d {
export {
hyperlinkStyleTypes_d_EXTERNAL_BUTTON_LINK as EXTERNAL_BUTTON_LINK,
hyperlinkStyleTypes_d_EXTERNAL_NO_ICON_BUTTON_LINK as EXTERNAL_NO_ICON_BUTTON_LINK,
hyperlinkStyleTypes_d_EXTERNAL_NO_ICON_TEXT_LINK as EXTERNAL_NO_ICON_TEXT_LINK,
hyperlinkStyleTypes_d_EXTERNAL_TEXT_LINK as EXTERNAL_TEXT_LINK,
hyperlinkStyleTypes_d_INTERNAL_BUTTON_LINK as INTERNAL_BUTTON_LINK,
hyperlinkStyleTypes_d_INTERNAL_NO_ICON_BUTTON_LINK as INTERNAL_NO_ICON_BUTTON_LINK,
hyperlinkStyleTypes_d_INTERNAL_NO_ICON_TEXT_LINK as INTERNAL_NO_ICON_TEXT_LINK,
hyperlinkStyleTypes_d_INTERNAL_TEXT_LINK as INTERNAL_TEXT_LINK,
};
}
declare const ENTER = 13;
declare const ESCAPE = 27;
declare const TAB = 9;
declare const keyboardCodes_d_ENTER: typeof ENTER;
declare const keyboardCodes_d_ESCAPE: typeof ESCAPE;
declare const keyboardCodes_d_TAB: typeof TAB;
declare namespace keyboardCodes_d {
export {
keyboardCodes_d_ENTER as ENTER,
keyboardCodes_d_ESCAPE as ESCAPE,
keyboardCodes_d_TAB as TAB,
};
}
declare const AESOP = "Aesop";
declare const labels_d_AESOP: typeof AESOP;
declare namespace labels_d {
export {
labels_d_AESOP as AESOP,
};
}
declare const LOCATION_TYPES: {
DEPARTMENT_STORE: string;
SIGNATURE_STORE: string;
STOCKIST: string;
};
declare const stores_d_LOCATION_TYPES: typeof LOCATION_TYPES;
declare namespace stores_d {
export {
stores_d_LOCATION_TYPES as LOCATION_TYPES,
};
}
declare const ADDRESS_COMPANY = "ADDRESS_COMPANY";
declare const ADDRESS_COUNTRY = "ADDRESS_COUNTRY";
declare const ADDRESS_COUNTRY_CODE = "ADDRESS_COUNTRY_CODE";
declare const ADDRESS_LINE_1 = "ADDRESS_LINE_1";
declare const ADDRESS_LINE_2 = "ADDRESS_LINE_2";
declare const ADDRESS_PHONE_NUMBER = "ADDRESS_PHONE_NUMBER";
declare const ADDRESS_POSTAL_CODE = "ADDRESS_POSTAL_CODE";
declare const ADDRESS_REGION = "ADDRESS_REGION";
declare const ADDRESS_TOWN = "ADDRESS_TOWN";
declare const ADD_TO_CART_LARGE_CTA = "ADD_TO_CART_LARGE_CTA";
declare const ADD_TO_CART_SMALL_CTA = "ADD_TO_CART_SMALL_CTA";
declare const ADD_TO_CART_TEST = "ADD_TO_CART_TEST";
declare const CART_CHECKOUT_CTA = "CART_CHECKOUT_CTA";
declare const CART_CLOSE = "CART_CLOSE";
declare const CART_HEADING = "CART_HEADING";
declare const CART_PROMO_AMOUNT = "CART_PROMO_AMOUNT";
declare const CART_PROMO_CTA = "CART_PROMO_CTA";
declare const CART_PROMO_INPUT = "CART_PROMO_INPUT";
declare const CHECKOUT_BILLING_SAME_SHIPPING = "CHECKOUT_BILLING_SAME_SHIPPING";
declare const CHECKOUT_BILLING_TAX = "CHECKOUT_BILLING_TAX";
declare const CHECKOUT_CUSTOMER_EMAIL = "CHECKOUT_CUSTOMER_EMAIL";
declare const CHECKOUT_CUSTOMER_FIRST_NAME = "CHECKOUT_CUSTOMER_FIRST_NAME";
declare const CHECKOUT_CUSTOMER_GUEST_BUTTON = "CHECKOUT_CUSTOMER_GUEST_BUTTON";
declare const CHECKOUT_CUSTOMER_LAST_NAME = "CHECKOUT_CUSTOMER_LAST_NAME";
declare const CHECKOUT_CUSTOMER_PASSWORD = "CHECKOUT_CUSTOMER_PASSWORD";
declare const CHECKOUT_CUSTOMER_PREFIX = "CHECKOUT_CUSTOMER_PREFIX";
declare const CHECKOUT_CUSTOMER_SUBMIT = "CHECKOUT_CUSTOMER_SUBMIT";
declare const CHECKOUT_GIFT = "CHECKOUT_GIFT";
declare const CHECKOUT_GIFT_INSTRUCTIONS = "CHECKOUT_GIFT_INSTRUCTIONS";
declare const CHECKOUT_GIFT_INSTRUCTIONS_CHECKBOX = "CHECKOUT_GIFT_INSTRUCTIONS_CHECKBOX";
declare const CHECKOUT_GIFT_MESSAGE = "CHECKOUT_GIFT_MESSAGE";
declare const CHECKOUT_GIFT_MESSAGE_CHECKBOX = "CHECKOUT_GIFT_MESSAGE_CHECKBOX";
declare const CHECKOUT_PAYMENT_CARD = "CHECKOUT_PAYMENT_CARD";
declare const CHECKOUT_PAYMENT_CARD_HOLDER = "CHECKOUT_PAYMENT_CARD_HOLDER";
declare const CHECKOUT_PAYMENT_CVC = "CHECKOUT_PAYMENT_CVC";
declare const CHECKOUT_PAYMENT_EXPIRATION = "CHECKOUT_PAYMENT_EXPIRATION";
declare const CHECKOUT_PAYMENT_GIFTCARD_CODE = "CHECKOUT_PAYMENT_GIFTCARD_CODE";
declare const CHECKOUT_PAYMENT_GIFTCARD_PIN = "CHECKOUT_PAYMENT_GIFTCARD_PIN";
declare const CHECKOUT_PAYMENT_METHOD = "CHECKOUT_PAYMENT_METHOD";
declare const CHECKOUT_PAYMENT_SUBMIT = "CHECKOUT_PAYMENT_SUBMIT";
declare const CHECKOUT_REVIEW_SUBMIT = "CHECKOUT_REVIEW_SUBMIT";
declare const CHECKOUT_REVIEW_TOS_CHECKBOX = "CHECKOUT_REVIEW_TOS_CHECKBOX";
declare const CHECKOUT_REVIEW_TOTAL = "CHECKOUT_REVIEW_TOTAL";
declare const CHECKOUT_SAMPLES_RADIO = "CHECKOUT_SAMPLES_RADIO";
declare const CHECKOUT_SAMPLES_SUBMIT = "CHECKOUT_SAMPLES_SUBMIT";
declare const CHECKOUT_SHIPPING_METHOD = "CHECKOUT_SHIPPING_METHOD";
declare const CHECKOUT_SHIPPING_SUBMIT = "CHECKOUT_SHIPPING_SUBMIT";
declare const CONFIRMATION_ACCOUNT_BUTTON = "CONFIRMATION_ACCOUNT_BUTTON";
declare const CONTENT_HUB_LOAD_MORE_BUTTON = "CONTENT_HUB_LOAD_MORE_BUTTON";
declare const FOOTER_LINK = "FOOTER_LINK";
declare const NAV_CART = "NAV_CART";
declare const NAV_LOGIN = "NAV_LOGIN";
declare const NAV_LOGO = "NAV_LOGO";
declare const NAV_READ = "NAV_READ";
declare const NAV_SEARCH = "NAV_SEARCH";
declare const NAV_SHOP = "NAV_SHOP";
declare const NAV_SHOP_1 = "NAV_SHOP_1";
declare const NAV_SHOP_2 = "NAV_SHOP_2";
declare const NAV_SHOP_PRODUCT_CTA = "NAV_SHOP_PRODUCT_CTA";
declare const NAV_SHOP_PRODUCT_RADIO = "NAV_SHOP_PRODUCT_RADIO";
declare const NAV_VISIT = "NAV_VISIT";
declare const NAV_VISIT_CHECKBOX = "NAV_VISIT_CHECKBOX";
declare const NAV_VISIT_INPUT = "NAV_VISIT_INPUT";
declare const test_refs_d_ADDRESS_COMPANY: typeof ADDRESS_COMPANY;
declare const test_refs_d_ADDRESS_COUNTRY: typeof ADDRESS_COUNTRY;
declare const test_refs_d_ADDRESS_COUNTRY_CODE: typeof ADDRESS_COUNTRY_CODE;
declare const test_refs_d_ADDRESS_LINE_1: typeof ADDRESS_LINE_1;
declare const test_refs_d_ADDRESS_LINE_2: typeof ADDRESS_LINE_2;
declare const test_refs_d_ADDRESS_PHONE_NUMBER: typeof ADDRESS_PHONE_NUMBER;
declare const test_refs_d_ADDRESS_POSTAL_CODE: typeof ADDRESS_POSTAL_CODE;
declare const test_refs_d_ADDRESS_REGION: typeof ADDRESS_REGION;
declare const test_refs_d_ADDRESS_TOWN: typeof ADDRESS_TOWN;
declare const test_refs_d_ADD_TO_CART_LARGE_CTA: typeof ADD_TO_CART_LARGE_CTA;
declare const test_refs_d_ADD_TO_CART_SMALL_CTA: typeof ADD_TO_CART_SMALL_CTA;
declare const test_refs_d_ADD_TO_CART_TEST: typeof ADD_TO_CART_TEST;
declare const test_refs_d_CART_CHECKOUT_CTA: typeof CART_CHECKOUT_CTA;
declare const test_refs_d_CART_CLOSE: typeof CART_CLOSE;
declare const test_refs_d_CART_HEADING: typeof CART_HEADING;
declare const test_refs_d_CART_PROMO_AMOUNT: typeof CART_PROMO_AMOUNT;
declare const test_refs_d_CART_PROMO_CTA: typeof CART_PROMO_CTA;
declare const test_refs_d_CART_PROMO_INPUT: typeof CART_PROMO_INPUT;
declare const test_refs_d_CHECKOUT_BILLING_SAME_SHIPPING: typeof CHECKOUT_BILLING_SAME_SHIPPING;
declare const test_refs_d_CHECKOUT_BILLING_TAX: typeof CHECKOUT_BILLING_TAX;
declare const test_refs_d_CHECKOUT_CUSTOMER_EMAIL: typeof CHECKOUT_CUSTOMER_EMAIL;
declare const test_refs_d_CHECKOUT_CUSTOMER_FIRST_NAME: typeof CHECKOUT_CUSTOMER_FIRST_NAME;
declare const test_refs_d_CHECKOUT_CUSTOMER_GUEST_BUTTON: typeof CHECKOUT_CUSTOMER_GUEST_BUTTON;
declare const test_refs_d_CHECKOUT_CUSTOMER_LAST_NAME: typeof CHECKOUT_CUSTOMER_LAST_NAME;
declare const test_refs_d_CHECKOUT_CUSTOMER_PASSWORD: typeof CHECKOUT_CUSTOMER_PASSWORD;
declare const test_refs_d_CHECKOUT_CUSTOMER_PREFIX: typeof CHECKOUT_CUSTOMER_PREFIX;
declare const test_refs_d_CHECKOUT_CUSTOMER_SUBMIT: typeof CHECKOUT_CUSTOMER_SUBMIT;
declare const test_refs_d_CHECKOUT_GIFT: typeof CHECKOUT_GIFT;
declare const test_refs_d_CHECKOUT_GIFT_INSTRUCTIONS: typeof CHECKOUT_GIFT_INSTRUCTIONS;
declare const test_refs_d_CHECKOUT_GIFT_INSTRUCTIONS_CHECKBOX: typeof CHECKOUT_GIFT_INSTRUCTIONS_CHECKBOX;
declare const test_refs_d_CHECKOUT_GIFT_MESSAGE: typeof CHECKOUT_GIFT_MESSAGE;
declare const test_refs_d_CHECKOUT_GIFT_MESSAGE_CHECKBOX: typeof CHECKOUT_GIFT_MESSAGE_CHECKBOX;
declare const test_refs_d_CHECKOUT_PAYMENT_CARD: typeof CHECKOUT_PAYMENT_CARD;
declare const test_refs_d_CHECKOUT_PAYMENT_CARD_HOLDER: typeof CHECKOUT_PAYMENT_CARD_HOLDER;
declare const test_refs_d_CHECKOUT_PAYMENT_CVC: typeof CHECKOUT_PAYMENT_CVC;
declare const test_refs_d_CHECKOUT_PAYMENT_EXPIRATION: typeof CHECKOUT_PAYMENT_EXPIRATION;
declare const test_refs_d_CHECKOUT_PAYMENT_GIFTCARD_CODE: typeof CHECKOUT_PAYMENT_GIFTCARD_CODE;
declare const test_refs_d_CHECKOUT_PAYMENT_GIFTCARD_PIN: typeof CHECKOUT_PAYMENT_GIFTCARD_PIN;
declare const test_refs_d_CHECKOUT_PAYMENT_METHOD: typeof CHECKOUT_PAYMENT_METHOD;
declare const test_refs_d_CHECKOUT_PAYMENT_SUBMIT: typeof CHECKOUT_PAYMENT_SUBMIT;
declare const test_refs_d_CHECKOUT_REVIEW_SUBMIT: typeof CHECKOUT_REVIEW_SUBMIT;
declare const test_refs_d_CHECKOUT_REVIEW_TOS_CHECKBOX: typeof CHECKOUT_REVIEW_TOS_CHECKBOX;
declare const test_refs_d_CHECKOUT_REVIEW_TOTAL: typeof CHECKOUT_REVIEW_TOTAL;
declare const test_refs_d_CHECKOUT_SAMPLES_RADIO: typeof CHECKOUT_SAMPLES_RADIO;
declare const test_refs_d_CHECKOUT_SAMPLES_SUBMIT: typeof CHECKOUT_SAMPLES_SUBMIT;
declare const test_refs_d_CHECKOUT_SHIPPING_METHOD: typeof CHECKOUT_SHIPPING_METHOD;
declare const test_refs_d_CHECKOUT_SHIPPING_SUBMIT: typeof CHECKOUT_SHIPPING_SUBMIT;
declare const test_refs_d_CONFIRMATION_ACCOUNT_BUTTON: typeof CONFIRMATION_ACCOUNT_BUTTON;
declare const test_refs_d_CONTENT_HUB_LOAD_MORE_BUTTON: typeof CONTENT_HUB_LOAD_MORE_BUTTON;
declare const test_refs_d_FOOTER_LINK: typeof FOOTER_LINK;
declare const test_refs_d_NAV_CART: typeof NAV_CART;
declare const test_refs_d_NAV_LOGIN: typeof NAV_LOGIN;
declare const test_refs_d_NAV_LOGO: typeof NAV_LOGO;
declare const test_refs_d_NAV_READ: typeof NAV_READ;
declare const test_refs_d_NAV_SEARCH: typeof NAV_SEARCH;
declare const test_refs_d_NAV_SHOP: typeof NAV_SHOP;
declare const test_refs_d_NAV_SHOP_1: typeof NAV_SHOP_1;
declare const test_refs_d_NAV_SHOP_2: typeof NAV_SHOP_2;
declare const test_refs_d_NAV_SHOP_PRODUCT_CTA: typeof NAV_SHOP_PRODUCT_CTA;
declare const test_refs_d_NAV_SHOP_PRODUCT_RADIO: typeof NAV_SHOP_PRODUCT_RADIO;
declare const test_refs_d_NAV_VISIT: typeof NAV_VISIT;
declare const test_refs_d_NAV_VISIT_CHECKBOX: typeof NAV_VISIT_CHECKBOX;
declare const test_refs_d_NAV_VISIT_INPUT: typeof NAV_VISIT_INPUT;
declare namespace test_refs_d {
export {
test_refs_d_ADDRESS_COMPANY as ADDRESS_COMPANY,
test_refs_d_ADDRESS_COUNTRY as ADDRESS_COUNTRY,
test_refs_d_ADDRESS_COUNTRY_CODE as ADDRESS_COUNTRY_CODE,
test_refs_d_ADDRESS_LINE_1 as ADDRESS_LINE_1,
test_refs_d_ADDRESS_LINE_2 as ADDRESS_LINE_2,
test_refs_d_ADDRESS_PHONE_NUMBER as ADDRESS_PHONE_NUMBER,
test_refs_d_ADDRESS_POSTAL_CODE as ADDRESS_POSTAL_CODE,
test_refs_d_ADDRESS_REGION as ADDRESS_REGION,
test_refs_d_ADDRESS_TOWN as ADDRESS_TOWN,
test_refs_d_ADD_TO_CART_LARGE_CTA as ADD_TO_CART_LARGE_CTA,
test_refs_d_ADD_TO_CART_SMALL_CTA as ADD_TO_CART_SMALL_CTA,
test_refs_d_ADD_TO_CART_TEST as ADD_TO_CART_TEST,
test_refs_d_CART_CHECKOUT_CTA as CART_CHECKOUT_CTA,
test_refs_d_CART_CLOSE as CART_CLOSE,
test_refs_d_CART_HEADING as CART_HEADING,
test_refs_d_CART_PROMO_AMOUNT as CART_PROMO_AMOUNT,
test_refs_d_CART_PROMO_CTA as CART_PROMO_CTA,
test_refs_d_CART_PROMO_INPUT as CART_PROMO_INPUT,
test_refs_d_CHECKOUT_BILLING_SAME_SHIPPING as CHECKOUT_BILLING_SAME_SHIPPING,
test_refs_d_CHECKOUT_BILLING_TAX as CHECKOUT_BILLING_TAX,
test_refs_d_CHECKOUT_CUSTOMER_EMAIL as CHECKOUT_CUSTOMER_EMAIL,
test_refs_d_CHECKOUT_CUSTOMER_FIRST_NAME as CHECKOUT_CUSTOMER_FIRST_NAME,
test_refs_d_CHECKOUT_CUSTOMER_GUEST_BUTTON as CHECKOUT_CUSTOMER_GUEST_BUTTON,
test_refs_d_CHECKOUT_CUSTOMER_LAST_NAME as CHECKOUT_CUSTOMER_LAST_NAME,
test_refs_d_CHECKOUT_CUSTOMER_PASSWORD as CHECKOUT_CUSTOMER_PASSWORD,
test_refs_d_CHECKOUT_CUSTOMER_PREFIX as CHECKOUT_CUSTOMER_PREFIX,
test_refs_d_CHECKOUT_CUSTOMER_SUBMIT as CHECKOUT_CUSTOMER_SUBMIT,
test_refs_d_CHECKOUT_GIFT as CHECKOUT_GIFT,
test_refs_d_CHECKOUT_GIFT_INSTRUCTIONS as CHECKOUT_GIFT_INSTRUCTIONS,
test_refs_d_CHECKOUT_GIFT_INSTRUCTIONS_CHECKBOX as CHECKOUT_GIFT_INSTRUCTIONS_CHECKBOX,
test_refs_d_CHECKOUT_GIFT_MESSAGE as CHECKOUT_GIFT_MESSAGE,
test_refs_d_CHECKOUT_GIFT_MESSAGE_CHECKBOX as CHECKOUT_GIFT_MESSAGE_CHECKBOX,
test_refs_d_CHECKOUT_PAYMENT_CARD as CHECKOUT_PAYMENT_CARD,
test_refs_d_CHECKOUT_PAYMENT_CARD_HOLDER as CHECKOUT_PAYMENT_CARD_HOLDER,
test_refs_d_CHECKOUT_PAYMENT_CVC as CHECKOUT_PAYMENT_CVC,
test_refs_d_CHECKOUT_PAYMENT_EXPIRATION as CHECKOUT_PAYMENT_EXPIRATION,
test_refs_d_CHECKOUT_PAYMENT_GIFTCARD_CODE as CHECKOUT_PAYMENT_GIFTCARD_CODE,
test_refs_d_CHECKOUT_PAYMENT_GIFTCARD_PIN as CHECKOUT_PAYMENT_GIFTCARD_PIN,
test_refs_d_CHECKOUT_PAYMENT_METHOD as CHECKOUT_PAYMENT_METHOD,
test_refs_d_CHECKOUT_PAYMENT_SUBMIT as CHECKOUT_PAYMENT_SUBMIT,
test_refs_d_CHECKOUT_REVIEW_SUBMIT as CHECKOUT_REVIEW_SUBMIT,
test_refs_d_CHECKOUT_REVIEW_TOS_CHECKBOX as CHECKOUT_REVIEW_TOS_CHECKBOX,
test_refs_d_CHECKOUT_REVIEW_TOTAL as CHECKOUT_REVIEW_TOTAL,
test_refs_d_CHECKOUT_SAMPLES_RADIO as CHECKOUT_SAMPLES_RADIO,
test_refs_d_CHECKOUT_SAMPLES_SUBMIT as CHECKOUT_SAMPLES_SUBMIT,
test_refs_d_CHECKOUT_SHIPPING_METHOD as CHECKOUT_SHIPPING_METHOD,
test_refs_d_CHECKOUT_SHIPPING_SUBMIT as CHECKOUT_SHIPPING_SUBMIT,
test_refs_d_CONFIRMATION_ACCOUNT_BUTTON as CONFIRMATION_ACCOUNT_BUTTON,
test_refs_d_CONTENT_HUB_LOAD_MORE_BUTTON as CONTENT_HUB_LOAD_MORE_BUTTON,
test_refs_d_FOOTER_LINK as FOOTER_LINK,
test_refs_d_NAV_CART as NAV_CART,
test_refs_d_NAV_LOGIN as NAV_LOGIN,
test_refs_d_NAV_LOGO as NAV_LOGO,
test_refs_d_NAV_READ as NAV_READ,
test_refs_d_NAV_SEARCH as NAV_SEARCH,
test_refs_d_NAV_SHOP as NAV_SHOP,
test_refs_d_NAV_SHOP_1 as NAV_SHOP_1,
test_refs_d_NAV_SHOP_2 as NAV_SHOP_2,
test_refs_d_NAV_SHOP_PRODUCT_CTA as NAV_SHOP_PRODUCT_CTA,
test_refs_d_NAV_SHOP_PRODUCT_RADIO as NAV_SHOP_PRODUCT_RADIO,
test_refs_d_NAV_VISIT as NAV_VISIT,
test_refs_d_NAV_VISIT_CHECKBOX as NAV_VISIT_CHECKBOX,
test_refs_d_NAV_VISIT_INPUT as NAV_VISIT_INPUT,
};
}
declare const VIEWPORTS: Map;
declare const index_d$9_BREAKPOINTS: typeof BREAKPOINTS;
declare const index_d$9_VIEWPORTS: typeof VIEWPORTS;
declare namespace index_d$9 {
export {
index_d$9_BREAKPOINTS as BREAKPOINTS,
colors_d as COLORS,
googleMaps_d as GOOGLE_MAPS,
html_d as HTML,
hyperlinkStyleTypes_d as HYPERLINK_STYLE_TYPES,
keyboardCodes_d as KEYBOARD_CODES,
labels_d as LABELS,
stores_d as STORES,
test_refs_d as TEST_REFS,
index_d$9_VIEWPORTS as VIEWPORTS,
};
}
declare const AddToCartContextProvider: AddToCartContextProviderType;
declare const useAddToCartContext: () => any;
declare type ErrorContextProps = {
children: ReactNode;
error?: string;
};
declare const ErrorContextProvider: ({ children, error, }: ErrorContextProps) => ReactElement;
declare const useErrorContext: () => string;
declare type Options = {
libraries?: string[];
regionCode?: string;
languageCode?: string;
};
declare type GoogleMapsContextProps = {
apiKey?: string;
options?: Options;
};
declare type GoogleMapsContextProviderType = ComponentWithChildren;
declare const GoogleMapsContextProvider: GoogleMapsContextProviderType;
declare const useGoogleMapsContext: () => {
googleMap: any;
isLoading: boolean;
};
declare type LoadMoreContextProps = {
/**
A callback function that takes `sku`, `LoadMoreDispatch`, `ADD_TO_CART_ACTION_TYPES`
as arguments. See [LoadMoreButton.onClick.ts mock](https://github.com/aesop/aesop-gel/tree/develop/src/components/LoadMoreButton/__mocks__/LoadMoreButton.onClick.ts)
for an example. ___Required___
*/
onClick: MouseEventHandler;
};
declare type LoadMoreContextProviderType = ComponentWithChildren;
declare const LoadMoreContextProvider: LoadMoreContextProviderType;
declare const useLoadMoreContext: () => any;
declare type NavBarThemeContextProps = {
loginAndCartTheme?: string;
navigationAndLogoTheme?: string;
};
declare type NavBarThemeContextProviderType = ComponentWithChildren;
declare const NavBarThemeContextProvider: NavBarThemeContextProviderType;
declare const useNavBarThemeContext: () => any;
declare const NotificationContextProvider: ComponentWithChildren;
declare const useNotificationContext: () => any;
declare type ProductDetailContextType = {
productDetail: Product$1;
setProductDetail: Dispatch>;
};
declare type ProductDetailContextProps = {
product?: Product$1;
};
declare type ProductDetailContextProviderType = ComponentWithChildren;
declare const ProductDetailContextProvider: ProductDetailContextProviderType;
declare const useProductDetailContext: () => ProductDetailContextType;
declare type ThemeContextProps = {
theme?: Themes;
};
declare type ThemeContextProviderType = ComponentWithChildren;
declare const ThemeContextProvider: ThemeContextProviderType;
declare const useThemeContext: (propTheme: Themes, defaultTheme?: string) => Themes;
declare type OnVariantChange = (event: ChangeEvent, currentVariants: Variant$1[]) => void;
declare type VariantSelectContextType = {
onVariantChange: OnVariantChange;
selectedVariant?: Variant$1;
setSelectedVariant: Dispatch>;
variants: Variant$1[];
};
declare type VariantSelectContextProps = {
variants: Variant$1[];
selectedVariantIndex?: number;
};
declare type VariantSelectContextProviderType = ComponentWithChildren;
declare const VariantSelectContextProvider: VariantSelectContextProviderType;
declare const useVariantSelectContext: () => VariantSelectContextType;
declare const index_d$8_AddToCartContextProvider: typeof AddToCartContextProvider;
declare const index_d$8_useAddToCartContext: typeof useAddToCartContext;
declare const index_d$8_ErrorContextProvider: typeof ErrorContextProvider;
declare const index_d$8_useErrorContext: typeof useErrorContext;
declare const index_d$8_GoogleMapsContextProvider: typeof GoogleMapsContextProvider;
declare const index_d$8_useGoogleMapsContext: typeof useGoogleMapsContext;
declare const index_d$8_LoadMoreContextProvider: typeof LoadMoreContextProvider;
declare const index_d$8_useLoadMoreContext: typeof useLoadMoreContext;
declare const index_d$8_NavBarThemeContextProvider: typeof NavBarThemeContextProvider;
declare const index_d$8_useNavBarThemeContext: typeof useNavBarThemeContext;
declare const index_d$8_NotificationContextProvider: typeof NotificationContextProvider;
declare const index_d$8_useNotificationContext: typeof useNotificationContext;
declare const index_d$8_ProductDetailContextProvider: typeof ProductDetailContextProvider;
declare const index_d$8_useProductDetailContext: typeof useProductDetailContext;
declare const index_d$8_ThemeContextProvider: typeof ThemeContextProvider;
declare const index_d$8_useThemeContext: typeof useThemeContext;
declare const index_d$8_useVariantSelectContext: typeof useVariantSelectContext;
declare const index_d$8_VariantSelectContextProvider: typeof VariantSelectContextProvider;
declare namespace index_d$8 {
export {
index_d$8_AddToCartContextProvider as AddToCartContextProvider,
index_d$8_useAddToCartContext as useAddToCartContext,
index_d$8_ErrorContextProvider as ErrorContextProvider,
index_d$8_useErrorContext as useErrorContext,
index_d$8_GoogleMapsContextProvider as GoogleMapsContextProvider,
index_d$8_useGoogleMapsContext as useGoogleMapsContext,
index_d$8_LoadMoreContextProvider as LoadMoreContextProvider,
index_d$8_useLoadMoreContext as useLoadMoreContext,
index_d$8_NavBarThemeContextProvider as NavBarThemeContextProvider,
index_d$8_useNavBarThemeContext as useNavBarThemeContext,
index_d$8_NotificationContextProvider as NotificationContextProvider,
index_d$8_useNotificationContext as useNotificationContext,
index_d$8_ProductDetailContextProvider as ProductDetailContextProvider,
index_d$8_useProductDetailContext as useProductDetailContext,
index_d$8_ThemeContextProvider as ThemeContextProvider,
index_d$8_useThemeContext as useThemeContext,
index_d$8_useVariantSelectContext as useVariantSelectContext,
index_d$8_VariantSelectContextProvider as VariantSelectContextProvider,
};
}
declare type UseElementWidth = (ref: RefObject) => number;
declare const useElementWidth: UseElementWidth;
declare type UseEscapeKeyListener = (onKeyPress: (event: KeyboardEvent) => void, shouldRunCallback?: boolean) => void;
declare const useEscapeKeyListener: UseEscapeKeyListener;
declare type UseExecuteOnImpressionOptions = {
threshold?: number;
isExecutableOnReEntry?: boolean;
};
declare type UseExecuteOnImpression = (ref: RefObject, callback: () => void, options?: UseExecuteOnImpressionOptions) => void;
/**
* A hook to execute a callback when the element enters the fold
* @param {HTMLElement} ref a DOM reference to the element
* @param {Function} callback a callback function to execute
* @param {{threshold: Number, isExecutableOnReEntry: Boolean}} options hook behaviour options
*
*
* @example
* const ref = React.useRef(null);
* const myFunction = () => console.log('Execute order 66');
* const options = {threshold: 0.5, isExecutableOnReEntry: true};
*
* useExecuteOnImpression(ref, myFunction, options)
*/
declare const useExecuteOnImpression: UseExecuteOnImpression;
declare type UseFocusOnFirst = {
(shouldUse?: boolean, query?: string): React.MutableRefObject[];
};
declare const useFocusOnFirst: UseFocusOnFirst;
declare const useHasMounted: () => boolean;
declare type EmptyObject = Record;
declare type UseImageTransition = (image: ImageProps, ref: RefObject, duration?: number, attributes?: Attributes | EmptyObject) => [(ImageProps & Attributes) | EmptyObject, boolean];
declare const useImageTransition: UseImageTransition;
declare type UseOnScreen = (ref: RefObject, threshold?: number, rootMargin?: string, shouldNotifyOnLeavingScreen?: boolean) => boolean;
declare const useOnScreen: UseOnScreen;
declare const useOverflowHidden: (isVisible: boolean) => void;
declare type UseScriptOptions = {
async?: boolean;
dataSet?: {
[key: string]: string;
};
defer?: boolean;
id?: string;
onLoad?: () => void;
shouldCheckForExisting?: boolean;
src?: string;
};
declare type UseScriptReturn = [boolean, ErrorEvent];
declare type UseScript = (options: UseScriptOptions) => UseScriptReturn;
declare const useScript: UseScript;
declare type UseToggleHandlers = {
on: () => void;
off: () => void;
toggle: () => void;
reset: () => void;
};
declare type UseToggle = (initialState?: boolean) => [boolean, UseToggleHandlers];
declare const useToggle: UseToggle;
declare type UseTrapFocus = {
(shouldTrap?: boolean, query?: string): React.MutableRefObject[];
};
declare const useTrapFocus: UseTrapFocus;
declare type WindowSize = {
height: number;
width: number;
};
declare type UseWindowHasResized = (callback?: () => void) => WindowSize;
declare const useWindowHasResized: UseWindowHasResized;
declare const index_d$7_useElementWidth: typeof useElementWidth;
declare const index_d$7_useEscapeKeyListener: typeof useEscapeKeyListener;
declare const index_d$7_useExecuteOnImpression: typeof useExecuteOnImpression;
declare const index_d$7_useFocusOnFirst: typeof useFocusOnFirst;
declare const index_d$7_useHasMounted: typeof useHasMounted;
declare const index_d$7_useImageTransition: typeof useImageTransition;
declare const index_d$7_useOnScreen: typeof useOnScreen;
declare const index_d$7_useOverflowHidden: typeof useOverflowHidden;
declare const index_d$7_useScript: typeof useScript;
declare const index_d$7_useToggle: typeof useToggle;
declare const index_d$7_useTrapFocus: typeof useTrapFocus;
declare const index_d$7_useWindowHasResized: typeof useWindowHasResized;
declare namespace index_d$7 {
export {
index_d$7_useElementWidth as useElementWidth,
index_d$7_useEscapeKeyListener as useEscapeKeyListener,
index_d$7_useExecuteOnImpression as useExecuteOnImpression,
index_d$7_useFocusOnFirst as useFocusOnFirst,
index_d$7_useHasMounted as useHasMounted,
index_d$7_useImageTransition as useImageTransition,
index_d$7_useOnScreen as useOnScreen,
index_d$7_useOverflowHidden as useOverflowHidden,
index_d$7_useScript as useScript,
index_d$7_useToggle as useToggle,
index_d$7_useTrapFocus as useTrapFocus,
index_d$7_useWindowHasResized as useWindowHasResized,
};
}
declare const isInBrowser: () => boolean;
/**
* Device detection. https://stackoverflow.com/questions/49328382/browser-detection-in-reactjs
* @TODO consider replacing with https://www.npmjs.com/package/react-device-detect
* or https://www.npmjs.com/package/bowser
*/
declare const isOpera: boolean;
declare const isFirefox: boolean;
declare const isSafari: boolean;
declare const isIE: boolean;
declare const isEdge: boolean;
declare const isChrome: boolean;
declare const isBlink: boolean;
declare const index_d$6_isInBrowser: typeof isInBrowser;
declare const index_d$6_isOpera: typeof isOpera;
declare const index_d$6_isFirefox: typeof isFirefox;
declare const index_d$6_isSafari: typeof isSafari;
declare const index_d$6_isIE: typeof isIE;
declare const index_d$6_isEdge: typeof isEdge;
declare const index_d$6_isChrome: typeof isChrome;
declare const index_d$6_isBlink: typeof isBlink;
declare namespace index_d$6 {
export {
index_d$6_isInBrowser as isInBrowser,
index_d$6_isOpera as isOpera,
index_d$6_isFirefox as isFirefox,
index_d$6_isSafari as isSafari,
index_d$6_isIE as isIE,
index_d$6_isEdge as isEdge,
index_d$6_isChrome as isChrome,
index_d$6_isBlink as isBlink,
};
}
declare const mergeRefs: (...refs: (React$1.MutableRefObject | React$1.LegacyRef)[]) => (instance: Type) => void;
declare const index_d$5_mergeRefs: typeof mergeRefs;
declare namespace index_d$5 {
export {
index_d$5_mergeRefs as mergeRefs,
};
}
declare const isObjectPopulatedArray: (obj?: any) => boolean;
declare const index_d$4_isObjectPopulatedArray: typeof isObjectPopulatedArray;
declare namespace index_d$4 {
export {
index_d$4_isObjectPopulatedArray as isObjectPopulatedArray,
};
}
declare const getPortalRoot: (id: string) => HTMLElement | null;
declare const index_d$3_getPortalRoot: typeof getPortalRoot;
declare namespace index_d$3 {
export {
index_d$3_getPortalRoot as getPortalRoot,
};
}
declare type Variant = {
size?: string;
sku?: string;
};
declare type RadioOptions = {
label: string;
value: string;
};
declare const getVariantRadioOptions: (variants: Variant[]) => RadioOptions[];
declare const index_d$2_getVariantRadioOptions: typeof getVariantRadioOptions;
declare namespace index_d$2 {
export {
index_d$2_getVariantRadioOptions as getVariantRadioOptions,
};
}
declare const isViewport: (viewport: ViewportNames) => boolean;
declare const index_d$1_isViewport: typeof isViewport;
declare namespace index_d$1 {
export {
index_d$1_isViewport as isViewport,
};
}
declare namespace index_d {
export {
index_d$6 as environment,
index_d$5 as mergeRefs,
index_d$4 as objects,
index_d$3 as portal,
index_d$2 as product,
index_d$1 as viewport,
};
}
export { Accordion, AddToCartButton, AddToCartContextProvider, Alert, AssetGrid, Audio, BodyCopy, Breadcrumbs$1 as Breadcrumbs, Button, BynderWidget, Carousel, Checkbox, ConditionalWrapper, ContentHubArticle, ContentHubArticleList, CopyGrid, DateSelector$1 as DateSelector, DefinitionList, DesktopView, DesktopViewContextProvider, DialogBanner, DoubleMedia, DynamicForm, ErrorContextProvider, FiftyFiftyFloatingText, Figure, FlyinPanel, FooterBlock, FullWidthHeroScroll, GlobalNavigation, GlobalNavigationContextProvider, GlobalNavigationStateContextProvider, GoogleMap, GoogleMapsContextProvider, Heading, HeroBanner, Hidden, ProductAccordion as HorizontalProductDisplayAccordion, Hyperlink, Icon, IconLink, Image$1 as Image, ImageCarousel, KitList, LinkButtonGroup, List$1 as List, LoadMoreButton, LoadMoreContextProvider, Loading, MediaWithContent, MobileView, MobileViewContextProvider, Modal, NavBarThemeContextProvider, NavigationBar, NotificationContextProvider, NotificationModal, Overlay, Paragraph as P, Paragraph, ParagraphSet, PasswordInput, PersonalInfoSummary, Podium, ProductAccordion, ProductCommerce, ProductCommerceCards, ProductDetailContextProvider, ProductDetailHeader, ProductExtract, ProductGridItem, Quote, RadioGroup, Rating, ReadMore, SecondaryMessage, SectionHeading, Select$1 as Select, StoreDetailHeader, StoreHoursList, SubNav, Table, TabletView, TabletViewContextProvider, TextInput, TextInputV2, TextOverFullWidthAsset, Textarea, TextareaV2, ThemeContextProvider, Transition, TwoColumnLayout, TwoColumnList, VariantSelectContextProvider, Video, index_d$a as components, index_d$9 as constants, index_d$8 as contexts, index_d$7 as customHooks, index_d$6 as environment, index_d$4 as objects, index_d$2 as product, index_d$b as types, useAddToCartContext, useElementWidth, useErrorContext, useEscapeKeyListener, useExecuteOnImpression, useFocusOnFirst, useGlobalNavigationStateContext, useGoogleMapsContext, useHasMounted, useImageTransition, useLoadMoreContext, useNavBarThemeContext, useNotificationContext, useOnScreen, useOverflowHidden, useProductDetailContext, useScript, useThemeContext, useToggle, useTrapFocus, useVariantSelectContext, useWindowHasResized, index_d as utils, index_d$1 as viewport };