@trafilea/afrodita-components 4.0.2-beta.10 → 4.0.2-beta.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.d.ts CHANGED
@@ -1,11 +1,7 @@
1
1
  /// <reference types="react" />
2
- import { IconWrapperProps } from 'src/components/Icon-wrapper/IconWrapper';
3
- import React, { ReactNode, FC, AriaAttributes, CSSProperties, AnchorHTMLAttributes, LabelHTMLAttributes, ElementType, RefObject } from 'react';
2
+ import React, { ReactNode, FC, ElementType, CSSProperties, AriaAttributes, AnchorHTMLAttributes, LabelHTMLAttributes, RefObject } from 'react';
4
3
  import * as _emotion_react_jsx_runtime from '@emotion/react/jsx-runtime';
5
- import { ButtonProps } from 'src/components/shared/button/Button';
6
4
  import * as _emotion_react_types_jsx_namespace from '@emotion/react/types/jsx-namespace';
7
- import { SearchBarOptionItem as SearchBarOptionItem$1 } from 'src/types/types';
8
- import { ThemeBreakpoints as ThemeBreakpoints$1 } from 'src/core/theme/Theme';
9
5
 
10
6
  declare enum CardSectionType {
11
7
  Header = 0,
@@ -29,7 +25,7 @@ declare enum InputValidationType {
29
25
  Empty = 2
30
26
  }
31
27
 
32
- interface IconProps$1 {
28
+ interface IconProps {
33
29
  width?: number;
34
30
  height?: number;
35
31
  fill?: string;
@@ -78,7 +74,7 @@ declare type ImageType = {
78
74
  imageUrl: string;
79
75
  alt: string;
80
76
  };
81
- interface IconWithOpacityProps extends IconProps$1 {
77
+ interface IconWithOpacityProps extends IconProps {
82
78
  opacity?: number;
83
79
  }
84
80
  interface WithTestId {
@@ -109,7 +105,7 @@ interface SearchBarOptionItem {
109
105
  title: string;
110
106
  }
111
107
 
112
- declare const SixtyDaysGuarantee: ({ height, width, fill, title }: IconProps$1) => JSX.Element;
108
+ declare const SixtyDaysGuarantee: ({ height, width, fill, title }: IconProps) => JSX.Element;
113
109
 
114
110
  declare const Custom_SixtyDaysGuarantee: typeof SixtyDaysGuarantee;
115
111
  declare namespace Custom {
@@ -118,22 +114,22 @@ declare namespace Custom {
118
114
  };
119
115
  }
120
116
 
121
- declare const Check: ({ height, width, fill }: IconProps$1) => JSX.Element;
117
+ declare const Check: ({ height, width, fill }: IconProps) => JSX.Element;
122
118
 
123
- declare const ClearLight: ({ height, width, fill }: IconProps$1) => JSX.Element;
119
+ declare const ClearLight: ({ height, width, fill }: IconProps) => JSX.Element;
124
120
 
125
- declare const LightExclamation: ({ height, width, fill }: IconProps$1) => JSX.Element;
121
+ declare const LightExclamation: ({ height, width, fill }: IconProps) => JSX.Element;
126
122
 
127
- interface LightCheckProps extends IconProps$1 {
123
+ interface LightCheckProps extends IconProps {
128
124
  strokeWidth?: number;
129
125
  }
130
126
  declare const LightCheck: ({ height, width, fill, strokeWidth }: LightCheckProps) => JSX.Element;
131
127
 
132
- declare const Question: ({ height, width, fill }: IconProps$1) => JSX.Element;
128
+ declare const Question: ({ height, width, fill }: IconProps) => JSX.Element;
133
129
 
134
- declare const Close: ({ height, width, fill }: IconProps$1) => JSX.Element;
130
+ declare const Close: ({ height, width, fill }: IconProps) => JSX.Element;
135
131
 
136
- declare const Trash: ({ height, width, fill }: IconProps$1) => JSX.Element;
132
+ declare const Trash: ({ height, width, fill }: IconProps) => JSX.Element;
137
133
 
138
134
  declare const Actions_Check: typeof Check;
139
135
  declare const Actions_ClearLight: typeof ClearLight;
@@ -156,16 +152,16 @@ declare namespace Actions {
156
152
  };
157
153
  }
158
154
 
159
- declare const FitPredictor$1: ({ height, width, fill }: IconProps$1) => JSX.Element;
155
+ declare const FitPredictor$1: ({ height, width, fill }: IconProps) => JSX.Element;
160
156
 
161
- interface LoadingProps extends IconProps$1 {
157
+ interface LoadingProps extends IconProps {
162
158
  backgroundColor: string;
163
159
  }
164
160
  declare const Loading: ({ height, width, fill, backgroundColor }: LoadingProps) => JSX.Element;
165
161
 
166
- declare const Shapermint: ({ height, width }: IconProps$1) => JSX.Element;
162
+ declare const Shapermint: ({ height, width }: IconProps) => JSX.Element;
167
163
 
168
- declare const McAfee: ({ height, width }: IconProps$1) => JSX.Element;
164
+ declare const McAfee: ({ height, width }: IconProps) => JSX.Element;
169
165
 
170
166
  type Other_LoadingProps = LoadingProps;
171
167
  declare const Other_Loading: typeof Loading;
@@ -181,19 +177,19 @@ declare namespace Other {
181
177
  };
182
178
  }
183
179
 
184
- declare const ChevronDown: ({ height, width, fill }: IconProps$1) => JSX.Element;
180
+ declare const ChevronDown: ({ height, width, fill }: IconProps) => JSX.Element;
185
181
 
186
182
  declare const ChevronLeft: ({ height, width, fill, opacity }: IconWithOpacityProps) => JSX.Element;
187
183
 
188
184
  declare const ChevronRight: ({ height, width, fill, opacity }: IconWithOpacityProps) => JSX.Element;
189
185
 
190
- declare const ChevronRightVariant: ({ height, width, fill }: IconProps$1) => JSX.Element;
186
+ declare const ChevronRightVariant: ({ height, width, fill }: IconProps) => JSX.Element;
191
187
 
192
- declare const ChevronUp: ({ height, width, fill }: IconProps$1) => JSX.Element;
188
+ declare const ChevronUp: ({ height, width, fill }: IconProps) => JSX.Element;
193
189
 
194
- declare const ChevronUpSolid: ({ height, width, fill }: IconProps$1) => JSX.Element;
190
+ declare const ChevronUpSolid: ({ height, width, fill }: IconProps) => JSX.Element;
195
191
 
196
- declare const CircleUp: ({ width, height, fill }: IconProps$1) => JSX.Element;
192
+ declare const CircleUp: ({ width, height, fill }: IconProps) => JSX.Element;
197
193
 
198
194
  declare const Arrows_ChevronDown: typeof ChevronDown;
199
195
  declare const Arrows_ChevronLeft: typeof ChevronLeft;
@@ -214,25 +210,25 @@ declare namespace Arrows {
214
210
  };
215
211
  }
216
212
 
217
- declare const Clock: ({ height, width, fill }: IconProps$1) => JSX.Element;
213
+ declare const Clock: ({ height, width, fill }: IconProps) => JSX.Element;
218
214
 
219
- declare const FlagUSA: ({ height, width, fill }: IconProps$1) => JSX.Element;
215
+ declare const FlagUSA: ({ height, width, fill }: IconProps) => JSX.Element;
220
216
 
221
- declare const Minus: ({ height, width, fill, title }: IconProps$1) => JSX.Element;
217
+ declare const Minus: ({ height, width, fill, title }: IconProps) => JSX.Element;
222
218
 
223
- declare const Plus: ({ height, width, fill, title }: IconProps$1) => JSX.Element;
219
+ declare const Plus: ({ height, width, fill, title }: IconProps) => JSX.Element;
224
220
 
225
- declare const Rule: ({ width, height, fill }: IconProps$1) => JSX.Element;
221
+ declare const Rule: ({ width, height, fill }: IconProps) => JSX.Element;
226
222
 
227
- declare const Star: ({ height, width, fill }: IconProps$1) => JSX.Element;
223
+ declare const Star: ({ height, width, fill }: IconProps) => JSX.Element;
228
224
 
229
- declare const StarEmpty: ({ height, width, fill }: IconProps$1) => JSX.Element;
225
+ declare const StarEmpty: ({ height, width, fill }: IconProps) => JSX.Element;
230
226
 
231
- declare const StarHalf: ({ height, width, fill }: IconProps$1) => JSX.Element;
227
+ declare const StarHalf: ({ height, width, fill }: IconProps) => JSX.Element;
232
228
 
233
- declare const Stopwatch: ({ height, width, fill, title }: IconProps$1) => JSX.Element;
229
+ declare const Stopwatch: ({ height, width, fill, title }: IconProps) => JSX.Element;
234
230
 
235
- declare const Shipping: ({ height, width, fill }: IconProps$1) => JSX.Element;
231
+ declare const Shipping: ({ height, width, fill }: IconProps) => JSX.Element;
236
232
 
237
233
  declare const PDP_Clock: typeof Clock;
238
234
  declare const PDP_FlagUSA: typeof FlagUSA;
@@ -259,19 +255,19 @@ declare namespace PDP {
259
255
  };
260
256
  }
261
257
 
262
- declare const Facebook: ({ height, width, fill }: IconProps$1) => JSX.Element;
258
+ declare const Facebook: ({ height, width, fill }: IconProps) => JSX.Element;
263
259
 
264
- declare const FacebookSolid: ({ height, width, fill }: IconProps$1) => JSX.Element;
260
+ declare const FacebookSolid: ({ height, width, fill }: IconProps) => JSX.Element;
265
261
 
266
- declare const Instagram: ({ height, width, fill }: IconProps$1) => JSX.Element;
262
+ declare const Instagram: ({ height, width, fill }: IconProps) => JSX.Element;
267
263
 
268
- declare const InstagramSolid: ({ height, width, fill }: IconProps$1) => JSX.Element;
264
+ declare const InstagramSolid: ({ height, width, fill }: IconProps) => JSX.Element;
269
265
 
270
- declare const Pinterest: ({ height, width, fill }: IconProps$1) => JSX.Element;
266
+ declare const Pinterest: ({ height, width, fill }: IconProps) => JSX.Element;
271
267
 
272
- declare const Twitter: ({ height, width, fill }: IconProps$1) => JSX.Element;
268
+ declare const Twitter: ({ height, width, fill }: IconProps) => JSX.Element;
273
269
 
274
- declare const Youtube: ({ height, width, fill }: IconProps$1) => JSX.Element;
270
+ declare const Youtube: ({ height, width, fill }: IconProps) => JSX.Element;
275
271
 
276
272
  declare const SocialMedia_Facebook: typeof Facebook;
277
273
  declare const SocialMedia_FacebookSolid: typeof FacebookSolid;
@@ -292,13 +288,13 @@ declare namespace SocialMedia {
292
288
  };
293
289
  }
294
290
 
295
- declare const Search: ({ height, width, fill }: IconProps$1) => JSX.Element;
291
+ declare const Search: ({ height, width, fill }: IconProps) => JSX.Element;
296
292
 
297
- declare const User: ({ height, width, fill }: IconProps$1) => JSX.Element;
293
+ declare const User: ({ height, width, fill }: IconProps) => JSX.Element;
298
294
 
299
- declare const ShoppingBag: ({ height, width, fill }: IconProps$1) => JSX.Element;
295
+ declare const ShoppingBag: ({ height, width, fill }: IconProps) => JSX.Element;
300
296
 
301
- declare const MapMarker: ({ height, width, fill }: IconProps$1) => JSX.Element;
297
+ declare const MapMarker: ({ height, width, fill }: IconProps) => JSX.Element;
302
298
 
303
299
  declare const Navigation_Search: typeof Search;
304
300
  declare const Navigation_User: typeof User;
@@ -313,40 +309,41 @@ declare namespace Navigation {
313
309
  };
314
310
  }
315
311
 
316
- declare const QuestionCircle: ({ height, width, fill }: IconProps$1) => JSX.Element;
312
+ declare const QuestionCircle: ({ height, width, fill }: IconProps) => JSX.Element;
317
313
 
318
- declare const Messenger: ({ height, width, fill }: IconProps$1) => JSX.Element;
314
+ declare const Messenger: ({ height, width, fill }: IconProps) => JSX.Element;
319
315
 
320
- declare const Comment: ({ height, width, fill }: IconProps$1) => JSX.Element;
316
+ declare const Comment: ({ height, width, fill }: IconProps) => JSX.Element;
321
317
 
322
- interface IconProps {
318
+ interface IconWrapperProps {
323
319
  width?: number;
324
320
  height?: number;
325
- fill?: string;
326
321
  title?: string;
327
- }
328
- declare const Message: ({ height, width, fill }: IconProps) => JSX.Element;
322
+ viewBoxX: number;
323
+ viewBoxY: number;
324
+ children: React.ReactNode;
325
+ testid?: string;
326
+ fill?: string;
327
+ }
329
328
 
330
329
  declare const Mail: ({ height, width }: IconWrapperProps) => JSX.Element;
331
330
 
332
331
  declare const Messaging_QuestionCircle: typeof QuestionCircle;
333
332
  declare const Messaging_Messenger: typeof Messenger;
334
333
  declare const Messaging_Comment: typeof Comment;
335
- declare const Messaging_Message: typeof Message;
336
334
  declare const Messaging_Mail: typeof Mail;
337
335
  declare namespace Messaging {
338
336
  export {
339
337
  Messaging_QuestionCircle as QuestionCircle,
340
338
  Messaging_Messenger as Messenger,
341
339
  Messaging_Comment as Comment,
342
- Messaging_Message as Message,
343
340
  Messaging_Mail as Mail,
344
341
  };
345
342
  }
346
343
 
347
- declare const AppleStore: ({ height, width }: IconProps$1) => JSX.Element;
344
+ declare const AppleStore: ({ height, width }: IconProps) => JSX.Element;
348
345
 
349
- declare const GooglePlay: ({ height, width }: IconProps$1) => JSX.Element;
346
+ declare const GooglePlay: ({ height, width }: IconProps) => JSX.Element;
350
347
 
351
348
  declare const Download_AppleStore: typeof AppleStore;
352
349
  declare const Download_GooglePlay: typeof GooglePlay;
@@ -357,23 +354,23 @@ declare namespace Download {
357
354
  };
358
355
  }
359
356
 
360
- declare const Visa: ({ height, width }: IconProps$1) => JSX.Element;
357
+ declare const Visa: ({ height, width }: IconProps) => JSX.Element;
361
358
 
362
- declare const MasterCard: ({ height, width }: IconProps$1) => JSX.Element;
359
+ declare const MasterCard: ({ height, width }: IconProps) => JSX.Element;
363
360
 
364
- declare const AMEX: ({ height, width }: IconProps$1) => JSX.Element;
361
+ declare const Amex: ({ height, width }: IconProps) => JSX.Element;
365
362
 
366
- declare const JCB: ({ height, width }: IconProps$1) => JSX.Element;
363
+ declare const JCB: ({ height, width }: IconProps) => JSX.Element;
367
364
 
368
- declare const Paypal: ({ height, width }: IconProps$1) => JSX.Element;
365
+ declare const Paypal: ({ height, width }: IconProps) => JSX.Element;
369
366
 
370
- declare const Klarna: ({ height, width }: IconProps$1) => JSX.Element;
367
+ declare const Klarna: ({ height, width }: IconProps) => JSX.Element;
371
368
 
372
- declare const Amazon: ({ height, width }: IconProps$1) => JSX.Element;
369
+ declare const Amazon: ({ height, width }: IconProps) => JSX.Element;
373
370
 
374
371
  declare const Payment_Visa: typeof Visa;
375
372
  declare const Payment_MasterCard: typeof MasterCard;
376
- declare const Payment_AMEX: typeof AMEX;
373
+ declare const Payment_Amex: typeof Amex;
377
374
  declare const Payment_JCB: typeof JCB;
378
375
  declare const Payment_Paypal: typeof Paypal;
379
376
  declare const Payment_Klarna: typeof Klarna;
@@ -382,7 +379,7 @@ declare namespace Payment {
382
379
  export {
383
380
  Payment_Visa as Visa,
384
381
  Payment_MasterCard as MasterCard,
385
- Payment_AMEX as AMEX,
382
+ Payment_Amex as Amex,
386
383
  Payment_JCB as JCB,
387
384
  Payment_Paypal as Paypal,
388
385
  Payment_Klarna as Klarna,
@@ -399,7 +396,7 @@ declare namespace SlideDots {
399
396
  };
400
397
  }
401
398
 
402
- declare type IconType = ({ height, width, fill }: IconProps$1) => JSX.Element;
399
+ declare type IconType = ({ height, width, fill }: IconProps) => JSX.Element;
403
400
  declare const Icon: {
404
401
  Custom: typeof Custom;
405
402
  Arrows: typeof Arrows;
@@ -445,23 +442,27 @@ declare const ButtonSecondary: ({ text, onClick, disabled, wide, size, className
445
442
 
446
443
  declare const ButtonSecondaryOutline: ({ text, onClick, disabled, wide, size, className, }: CTAProps) => _emotion_react_jsx_runtime.JSX.Element;
447
444
 
445
+ declare type Value<T> = DropdownOption<T>;
446
+ declare type OnChange<T> = (option: Value<T>) => void;
448
447
  declare type CommonProps<T> = {
449
- options: DropdownOption<T>[];
448
+ options: Value<T>[];
450
449
  disabled?: boolean;
451
450
  wide?: boolean;
452
- onChange: (option: DropdownOption<T>) => void;
453
451
  label?: string;
454
452
  sort?: boolean;
455
- };
456
- declare type ConditionalProps<T> = {
457
- initialValue: DropdownOption<T>;
458
- placeHolder?: string;
459
- } | {
460
- initialValue?: undefined;
453
+ initialValue?: Value<T>;
461
454
  placeHolder: string;
462
455
  };
463
- declare type SimpleDropdownProps<T> = CommonProps<T> & ConditionalProps<T>;
464
- declare function SimpleDropdown<T>({ options, disabled, initialValue, placeHolder, label, wide, sort, onChange, }: SimpleDropdownProps<T>): JSX.Element;
456
+ declare type ControlledProps<T> = {
457
+ value: Value<T>;
458
+ onChange: OnChange<T>;
459
+ } & CommonProps<T>;
460
+ declare type UncontrolledProps<T> = {
461
+ value?: never;
462
+ onChange?: OnChange<T>;
463
+ } & CommonProps<T>;
464
+ declare type SimpleDropdownProps<T> = UncontrolledProps<T> | ControlledProps<T>;
465
+ declare function SimpleDropdown<T>({ options, disabled, initialValue, placeHolder, label, wide, sort, onChange, value, }: SimpleDropdownProps<T>): JSX.Element;
465
466
 
466
467
  interface SizeSelectorProps {
467
468
  label: string;
@@ -601,929 +602,943 @@ interface AccordionProps {
601
602
  }
602
603
  declare const Accordion: ({ header, content, defaultOpen, variant, disabled, openIcon, closeIcon, }: AccordionProps) => JSX.Element;
603
604
 
604
- interface CheckboxProps {
605
- disabled?: boolean;
606
- onChange: (checked: boolean) => void;
607
- size?: ComponentSize.Large | ComponentSize.Medium | ComponentSize.Small;
608
- text: string;
609
- checked?: boolean;
610
- id: string;
611
- backgroundColor?: string;
612
- variant: 'primary' | 'secondary';
613
- }
614
- declare const Checkbox: ({ disabled, onChange, size, text, checked, id, variant, }: CheckboxProps) => JSX.Element;
615
-
616
- interface RadioGroupInputProps {
605
+ declare const ThemeProvider: FC<{
606
+ theme: Theme;
607
+ children: ReactNode;
608
+ }>;
609
+ declare const useTheme: () => Theme;
610
+ declare const ThemeVariables: FC<{
611
+ theme: Theme;
612
+ Container?: ElementType;
613
+ }>;
614
+ declare const AssetsProvider: FC<{
615
+ assets: ThemeAssets;
616
+ }>;
617
+ declare const useThemeAssets: () => ThemeAssets;
618
+ declare type Theme = {
617
619
  name: string;
618
- options?: RadioGroupOption[];
619
- value?: RadioGroupOption;
620
- onChange: (value: RadioGroupOption) => void;
621
- size?: ComponentSize.Small | ComponentSize.Medium | ComponentSize.Large;
622
- disabled?: boolean;
623
- }
624
- declare const RadioGroupInput: ({ name, options, value, onChange, size, disabled, }: RadioGroupInputProps) => JSX.Element;
625
-
626
- interface SimpleProps {
627
- title: string;
628
- freeShippingText: string;
629
- price: string;
630
- anyQtyForText: string;
631
- backgroundColor: string;
632
- widthAuto?: boolean;
633
- }
634
-
635
- interface MinimalisticProps {
636
- backgroundColor?: string;
637
- borderColor?: string;
638
- originalPrice: string;
639
- price: string;
640
- savingPrice: string;
641
- getMorePayLessText: string;
642
- youAreSavingText: string;
643
- getQtyForText: string;
644
- discount: number;
645
- offText: string;
646
- widthAuto?: boolean;
647
- }
648
-
649
- declare const Bundle: {
650
- Minimalistic: ({ backgroundColor, borderColor, originalPrice, price, savingPrice, getMorePayLessText, youAreSavingText, getQtyForText, discount, offText, widthAuto, }: MinimalisticProps) => JSX.Element;
651
- Simple: ({ title, freeShippingText, price, anyQtyForText, backgroundColor, widthAuto, }: SimpleProps) => JSX.Element;
652
- };
653
-
654
- interface CategoryTagProps {
655
- text: string;
656
- size: ComponentSize.Large | ComponentSize.Medium | ComponentSize.Small;
657
- className?: string;
658
- }
659
- declare const CategoryTag: ({ text, size, className }: CategoryTagProps) => _emotion_react_jsx_runtime.JSX.Element;
660
-
661
- interface SeasonOfferTagProps {
662
- text: string;
663
- backgroundColor?: string;
664
- size: ComponentSize.Large | ComponentSize.Medium | ComponentSize.Small;
665
- className?: string;
666
- }
667
- declare const SeasonOfferTag: ({ text, backgroundColor, size, className, }: SeasonOfferTagProps) => _emotion_react_jsx_runtime.JSX.Element;
668
-
669
- interface TimeProps {
670
- hours: number;
671
- minutes: number;
672
- seconds: number;
673
- }
674
- interface TimerProps extends TimeProps {
675
- onTimeUp: () => void;
676
- }
677
- declare const Timer: ({ onTimeUp, ...rest }: TimerProps) => JSX.Element;
678
-
679
- interface BaseInputCommmonProps {
680
- defaultValue?: string;
681
- maxLength?: number;
682
- placeholder?: string;
683
- label?: string;
684
- onValidation?: (status: InputValidationType) => void;
685
- disabled?: boolean;
686
- required?: string;
687
- children?: React.ReactNode;
688
- size?: 'regular' | 'small';
689
- }
690
- interface BaseInputControlled extends BaseInputCommmonProps {
691
- value: string;
692
- onChange: (value: string) => void;
693
- }
694
- interface BaseInputUncontrolled extends BaseInputCommmonProps {
695
- value?: never;
696
- onChange?: (value: string) => void;
697
- }
698
- declare type BaseInputProps = BaseInputControlled | BaseInputUncontrolled;
699
-
700
- declare type BasePlusIconProps = BaseInputProps & {
701
- Icon: IconType;
702
- };
703
-
704
- declare type BasePlusButtonProps = BaseInputProps & {
705
- label?: undefined;
706
- onClick: (value: string) => void;
707
- onClickEdit: () => void;
708
- text: string;
709
- success: boolean;
710
- editText: string;
711
- successText: string;
712
- };
713
-
714
- declare type CustomProps = BaseInputProps & {
715
- onClick: () => void;
716
- text: string;
717
- variant: ButtonProps['variant'];
718
- };
719
-
720
- declare const Input: {
721
- Simple: ({ value, onChange, defaultValue, label, children, required, onValidation, size, ...rest }: BaseInputProps) => JSX.Element;
722
- Custom: ({ onClick, text, variant, ...rest }: CustomProps) => JSX.Element;
723
- SimplePlusButton: ({ onClick, onClickEdit, text, success, editText, successText, ...rest }: BasePlusButtonProps) => JSX.Element;
724
- SimplePlusIcon: ({ Icon, ...rest }: BasePlusIconProps) => JSX.Element;
725
- };
726
-
727
- interface PaymentMethodsProps {
728
- Icon: IconType;
729
- width: string;
730
- height: string;
731
- onClick?: () => void;
732
- }
733
- declare const PaymentMethod: ({ Icon, width, height, onClick }: PaymentMethodsProps) => JSX.Element;
734
-
735
- interface OfferBannerProps {
736
- discountAppliedText: string;
737
- backgroundColor: string;
738
- }
739
- declare const OfferBanner: ({ discountAppliedText, backgroundColor }: OfferBannerProps) => JSX.Element;
740
-
741
- declare type SubtotalOption = {
742
- label: string;
743
- value: string;
620
+ fontSizes: number[];
621
+ fontWeights: number[];
622
+ lineHeights: number[];
623
+ mediaQueries: ThemeBreakpoints;
624
+ radius: {
625
+ regular: string;
626
+ };
627
+ zIndex: {
628
+ modal: number;
629
+ overlay: number;
630
+ };
631
+ colors: ThemeColors;
632
+ component: ThemeComponent;
633
+ typography: ThemeTypography;
634
+ fonts: ThemeFonts;
635
+ assets: ThemeAssets;
744
636
  };
745
- declare type Coupon = {
746
- code: string;
747
- amount: string;
637
+ declare type ThemeBreakpoints = {
638
+ mobile: number;
639
+ desktop: number;
748
640
  };
749
- interface SubtotalProps {
750
- subtotal: SubtotalOption;
751
- shipping: SubtotalOption;
752
- taxes: SubtotalOption;
753
- highlightColor?: string;
754
- coupon?: {
755
- couponText: string;
756
- appliedText: string;
757
- coupons: Coupon[];
641
+ declare type ThemeBasicPallete = {
642
+ color: string;
643
+ contrast: string;
644
+ };
645
+ declare type ThemeColorPallete = ThemeBasicPallete & {
646
+ soft: ThemeBasicPallete;
647
+ };
648
+ declare type ThemeColorPrimaryPallete = ThemeColorPallete & {
649
+ 20: ThemeColorPallete;
650
+ 40: ThemeColorPallete;
651
+ 60: ThemeColorPallete;
652
+ 80: ThemeColorPallete;
653
+ };
654
+ declare type ThemeColors = {
655
+ pallete: {
656
+ primary: ThemeColorPrimaryPallete;
657
+ secondary: ThemeColorPrimaryPallete;
658
+ } & Partial<Record<string, ThemeColorPallete>>;
659
+ shades: {
660
+ black: ThemeBasicPallete;
661
+ white: ThemeBasicPallete;
662
+ 5: ThemeBasicPallete;
663
+ 10: ThemeBasicPallete;
664
+ 50: ThemeBasicPallete;
665
+ 100: ThemeBasicPallete;
666
+ 150: ThemeBasicPallete;
667
+ 200: ThemeBasicPallete;
668
+ 250: ThemeBasicPallete;
669
+ 300: ThemeBasicPallete;
670
+ 350: ThemeBasicPallete;
671
+ 400: ThemeBasicPallete;
672
+ 450: ThemeBasicPallete;
673
+ 500: ThemeBasicPallete;
674
+ 550: ThemeBasicPallete;
675
+ 600: ThemeBasicPallete;
676
+ 650: ThemeBasicPallete;
677
+ 700: ThemeBasicPallete;
678
+ 750: ThemeBasicPallete;
679
+ 800: ThemeBasicPallete;
680
+ 850: ThemeBasicPallete;
681
+ 900: ThemeBasicPallete;
682
+ 950: ThemeBasicPallete;
683
+ 990: ThemeBasicPallete;
758
684
  };
759
- }
760
-
761
- interface TotalProps {
762
- total: string;
763
- currency: string;
764
- highlightColor?: string;
765
- saving?: {
766
- amount: string;
767
- savingText: string;
685
+ semantic: {
686
+ positive: ThemeBasicPallete;
687
+ urgent: ThemeBasicPallete;
688
+ attention: ThemeBasicPallete;
689
+ informative: ThemeBasicPallete;
768
690
  };
769
- }
770
-
771
- declare const Totals: {
772
- Total: ({ total, currency, saving, highlightColor }: TotalProps) => JSX.Element;
773
- Subtotal: ({ subtotal, shipping, taxes, coupon, highlightColor, }: SubtotalProps) => JSX.Element;
774
- };
775
-
776
- declare type detail = {
777
- title: string;
778
- details: string;
779
- };
780
- interface orderUpdate extends detail {
781
- keepMeUpdated: {
782
- title: string;
783
- onClick: () => void;
691
+ border: {
692
+ color: string;
693
+ disabled: string;
694
+ highlight: string;
784
695
  };
785
- }
786
- interface DeliveryDetailsProps {
787
- deliveryDetailsText: string;
788
- arrivingBy: detail;
789
- shippingTo: detail;
790
- instantOrderUpdate: orderUpdate;
791
- note?: {
792
- importantNoteText: string;
793
- text: string;
794
- accentColor: string;
795
- backgroundColor: string;
696
+ background: {
796
697
  color: string;
698
+ disabled: string;
797
699
  };
798
- }
799
- declare const DeliveryDetails: ({ deliveryDetailsText, arrivingBy, shippingTo, instantOrderUpdate, note, }: DeliveryDetailsProps) => JSX.Element;
800
-
801
- interface ScrollToTopProps {
802
- scrollToTopText: string;
803
- onClick: () => void;
804
- }
805
- declare const ScrollToTop: ({ scrollToTopText, onClick }: ScrollToTopProps) => JSX.Element;
806
-
807
- interface OrderBarProps {
808
- message: string;
809
- }
810
- declare const OrderBar: ({ message }: OrderBarProps) => JSX.Element;
811
-
812
- interface TableProps {
813
- headers: string[];
814
- data: string[][];
815
- }
816
- declare const SizeTable: ({ headers, data }: TableProps) => JSX.Element;
817
-
818
- interface Price extends Pick<PriceLabelProps, 'finalPrice' | 'originalPrice'> {
819
- color?: string;
820
- }
821
- interface ProductOrderItemProps {
822
- title: string;
823
- subtitle: string;
824
- image: {
825
- src: string;
826
- alt: string;
700
+ text: {
701
+ color: string;
702
+ disabled: string;
827
703
  };
828
- price: Price;
829
- tag?: {
830
- text: string;
831
- backgroundColor: string;
704
+ };
705
+ declare type ThemeComponent = {
706
+ button: {
707
+ border: string;
708
+ borderRadius: string;
709
+ fontWeight: number;
710
+ size: {
711
+ small: {
712
+ fontSize: string;
713
+ padding: string;
714
+ };
715
+ medium: {
716
+ fontSize: string;
717
+ padding: string;
718
+ };
719
+ large: {
720
+ fontSize: string;
721
+ padding: string;
722
+ };
723
+ };
724
+ primary: {
725
+ active: {
726
+ backgroundColor: string;
727
+ color: string;
728
+ };
729
+ hover: {
730
+ backgroundColor: string;
731
+ color: string;
732
+ };
733
+ };
734
+ secondary: {
735
+ active: {
736
+ backgroundColor: string;
737
+ color: string;
738
+ };
739
+ hover: {
740
+ backgroundColor: string;
741
+ color: string;
742
+ };
743
+ };
832
744
  };
833
- }
834
- declare const SimpleOrderItem: ({ title, subtitle, image, price, tag }: ProductOrderItemProps) => JSX.Element;
835
-
836
- interface ReviewProps {
837
- reviewerName: string;
838
- date: Date;
839
- rating: number;
840
- stars: {
745
+ input: {
746
+ background: string;
841
747
  color: string;
842
- size: ComponentSize.Medium | ComponentSize.Small;
748
+ placeholderColor: string;
749
+ borderRadius: string;
750
+ fontSize: string;
751
+ fontWeight: number;
752
+ padding: string;
753
+ lineHeight: string;
754
+ border: string;
755
+ boxShadow: string;
843
756
  };
844
- title: string;
845
- description: string;
846
- image: {
847
- src: string;
848
- alt: string;
757
+ inputCustom: {
758
+ button: {
759
+ borderRadius: string;
760
+ };
761
+ input: {
762
+ borderRadius: string;
763
+ };
849
764
  };
850
- }
851
- declare const Review: ({ reviewerName, date, rating, stars, title, description, image }: ReviewProps) => JSX.Element;
852
-
853
- interface SliderNavigationProps {
854
- children: JSX.Element[];
855
- infinite: boolean;
856
- adaptiveHeight: boolean;
857
- dotsSize: ComponentSize.Large | ComponentSize.Medium | ComponentSize.Small;
858
- dotListMarginTop: number;
859
- initialSlide?: number;
860
- arrows?: {
861
- arrowWidth: number;
862
- arrowHeight: number;
863
- arrowPadding: number;
765
+ selector: {
766
+ size: {
767
+ small: {
768
+ padding: string;
769
+ borderRadius: string;
770
+ };
771
+ medium: {
772
+ padding: string;
773
+ borderRadius: string;
774
+ };
775
+ };
776
+ default: {
777
+ fontWeight: number;
778
+ border: string;
779
+ background: string;
780
+ color: string;
781
+ };
782
+ hover: {
783
+ fontWeight: number;
784
+ background: string;
785
+ border: string;
786
+ color: string;
787
+ };
788
+ disabled: {
789
+ border: string;
790
+ };
791
+ fontSize: string;
864
792
  };
865
- }
866
- declare const SliderNavigation: ({ children, infinite, arrows, adaptiveHeight, dotsSize, dotListMarginTop, initialSlide, }: SliderNavigationProps) => _emotion_react_jsx_runtime.JSX.Element;
867
-
868
- interface DropdownListIconsProps {
869
- items: DropdownListIconsItem[];
870
- }
871
- declare const DropdownListIcons: ({ items }: DropdownListIconsProps) => JSX.Element;
872
-
873
- interface ImageStyleProps {
874
- height?: string;
875
- width?: string;
876
- borderRadius?: string;
877
- objectFit?: string;
878
- objectPosition?: string;
879
- className?: string;
880
- }
881
- interface ImageProps extends ImageStyleProps {
882
- src: string;
883
- alt: string;
884
- }
885
- declare const Image: ({ src, alt, height, width, borderRadius, objectFit, objectPosition, className, }: ImageProps) => JSX.Element;
886
-
887
- interface AmazonPaypalBtnProps {
888
- onClick: () => void;
889
- }
890
- declare const AmazonButton: ({ onClick }: AmazonPaypalBtnProps) => JSX.Element;
891
- declare const PaypalButton: ({ onClick }: AmazonPaypalBtnProps) => JSX.Element;
892
-
893
- interface CrossSellCheckboxProps extends rightToLeftProps {
894
- imageURL: string;
895
- title: string;
896
- description: string;
897
- freeShippingText: string;
898
- onChange: (checked: Boolean) => void;
899
- }
900
- interface rightToLeftProps {
901
- rightToLeft: boolean;
902
- }
903
- declare const CrossSellCheckbox: ({ imageURL, title, description, freeShippingText, rightToLeft, onChange, }: CrossSellCheckboxProps) => JSX.Element;
904
-
905
- type index_d_CrossSellCheckboxProps = CrossSellCheckboxProps;
906
- declare const index_d_CrossSellCheckbox: typeof CrossSellCheckbox;
907
- declare namespace index_d {
908
- export {
909
- index_d_CrossSellCheckboxProps as CrossSellCheckboxProps,
910
- index_d_CrossSellCheckbox as CrossSellCheckbox,
911
- };
912
- }
913
-
914
- interface ProductItemProps {
915
- title: string;
916
- image: ImageProps;
917
- price: Pick<PriceLabelProps, 'finalPrice' | 'originalPrice' | 'color'>;
918
- rating: Pick<RatingProps, 'rating' | 'reviews'>;
919
- tags?: {
920
- categoryTagText: string;
921
- seasonOfferTagText: string;
793
+ rating: {
794
+ fontWeight: number;
795
+ size: {
796
+ xsmall: {
797
+ fontSize: string;
798
+ lineHeight: string;
799
+ };
800
+ small: {
801
+ fontSize: string;
802
+ lineHeight: string;
803
+ };
804
+ medium: {
805
+ fontSize: string;
806
+ lineHeight: string;
807
+ };
808
+ large: {
809
+ fontSize: string;
810
+ lineHeight: string;
811
+ };
812
+ };
922
813
  };
923
- alignName?: 'left' | 'center';
924
- }
925
-
926
- interface ProductItemSmallMobileProps extends ProductItemProps {
927
- size: ComponentSize.Medium | ComponentSize.Small;
928
- }
929
-
930
- declare function withProductGrid<P extends ProductItemProps>(ProductItemComponent: React.FC<P>, data: ProductItemProps[]): {
931
- (props: Omit<P, 'title' | 'image' | 'price' | 'rating'>): JSX.Element;
932
- displayName: string;
933
- };
934
-
935
- declare const Collection: {
936
- ProductItemMobile: ({ title, image, price, rating, size, tags, alignName, }: ProductItemSmallMobileProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
937
- withProductGrid: typeof withProductGrid;
814
+ card: {
815
+ borderRadius: string;
816
+ };
817
+ radio: {
818
+ borderColor: string;
819
+ background: string;
820
+ size: {
821
+ small: {
822
+ borderWidth: string;
823
+ margin: string;
824
+ height: string;
825
+ active: {
826
+ borderWidth: string;
827
+ };
828
+ };
829
+ medium: {
830
+ borderWidth: string;
831
+ margin: string;
832
+ height: string;
833
+ active: {
834
+ borderWidth: string;
835
+ };
836
+ };
837
+ large: {
838
+ borderWidth: string;
839
+ margin: string;
840
+ height: string;
841
+ active: {
842
+ borderWidth: string;
843
+ };
844
+ };
845
+ };
846
+ };
847
+ label: {
848
+ fontSize: {
849
+ small: string;
850
+ medium: string;
851
+ large: string;
852
+ };
853
+ lineHeight: {
854
+ small: string;
855
+ medium: string;
856
+ large: string;
857
+ };
858
+ };
859
+ checkbox: {
860
+ background: string;
861
+ borderColor: string;
862
+ active: {
863
+ background: string;
864
+ };
865
+ size: {
866
+ large: {
867
+ width: string;
868
+ height: string;
869
+ borderRadius: string;
870
+ borderWidth: string;
871
+ margin: string;
872
+ icon: {
873
+ width: string;
874
+ height: string;
875
+ };
876
+ };
877
+ medium: {
878
+ width: string;
879
+ height: string;
880
+ borderRadius: string;
881
+ borderWidth: string;
882
+ margin: string;
883
+ icon: {
884
+ width: string;
885
+ height: string;
886
+ };
887
+ };
888
+ small: {
889
+ width: string;
890
+ height: string;
891
+ borderRadius: string;
892
+ borderWidth: string;
893
+ margin: string;
894
+ icon: {
895
+ width: string;
896
+ height: string;
897
+ };
898
+ };
899
+ };
900
+ };
901
+ accordion: {
902
+ variant: {
903
+ box: {
904
+ container: {
905
+ border: string;
906
+ borderColor: string;
907
+ borderRadius: string;
908
+ padding: string;
909
+ };
910
+ summary: {
911
+ fontWeight: number;
912
+ fontSize: string;
913
+ lineHeight: string;
914
+ color: string;
915
+ };
916
+ details: {
917
+ margin: string;
918
+ };
919
+ icon: {
920
+ width: number;
921
+ height: number;
922
+ color: string;
923
+ };
924
+ };
925
+ simple: {
926
+ container: {
927
+ borderTop: string;
928
+ borderBottom: string;
929
+ borderColor: string;
930
+ borderRadius: string;
931
+ padding: string;
932
+ };
933
+ summary: {
934
+ fontWeight: number;
935
+ fontSize: string;
936
+ lineHeight: string;
937
+ color: string;
938
+ };
939
+ details: {
940
+ margin: string;
941
+ };
942
+ icon: {
943
+ width: number;
944
+ height: number;
945
+ color: string;
946
+ };
947
+ };
948
+ };
949
+ };
950
+ dropdown: {
951
+ borderRadius: string;
952
+ fontSize: string;
953
+ fontWeight: number;
954
+ lineHeight: string;
955
+ padding: string;
956
+ color: string;
957
+ fill: string;
958
+ options: {
959
+ borderColor: string;
960
+ color: string;
961
+ };
962
+ };
963
+ modal: {
964
+ minWidth: string;
965
+ };
966
+ };
967
+ declare type ThemeTypography = {
968
+ config: {
969
+ weight: {
970
+ heavy: number;
971
+ bold: number;
972
+ demi: number;
973
+ regular: number;
974
+ };
975
+ };
976
+ variants: Record<string, CSSProperties>;
977
+ };
978
+ declare type ThemeFonts = {
979
+ url: string;
980
+ config: Array<{
981
+ src: string;
982
+ family: string;
983
+ weight?: number | string;
984
+ style?: string;
985
+ stretch?: string;
986
+ }>;
987
+ };
988
+ declare type ThemeAssets = {
989
+ images: {
990
+ favicon: string;
991
+ logo: string;
992
+ };
993
+ [key: string]: any;
938
994
  };
939
995
 
940
- interface StarListProps {
941
- rating: number;
942
- size?: ComponentSize;
943
- starsNumber: number;
944
- fill: string;
945
- }
946
- declare const StarList: ({ rating, starsNumber, fill, size, }: StarListProps) => JSX.Element;
947
-
948
- interface DrawerProps {
949
- children: React.ReactNode;
950
- isOpen: boolean;
951
- onClose?: () => void;
952
- onOpen?: () => void;
953
- onClickOutside?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
996
+ interface CheckboxProps {
997
+ disabled?: boolean;
998
+ onChange: (checked: boolean) => void;
999
+ size?: ComponentSize.Large | ComponentSize.Medium | ComponentSize.Small;
1000
+ text: string;
1001
+ checked?: boolean;
1002
+ id: string;
954
1003
  backgroundColor?: string;
955
- backdropColor?: string;
956
- position?: 'left' | 'right';
957
- width?: string;
1004
+ variant: 'primary' | 'secondary';
958
1005
  }
959
- declare const Drawer: ({ children, isOpen, onClose, onOpen, backgroundColor, backdropColor, position, width, onClickOutside, }: DrawerProps) => JSX.Element | null;
1006
+ declare const Checkbox: ({ disabled, onChange, size, text, checked, id, variant, }: CheckboxProps) => JSX.Element;
960
1007
 
961
- interface SpinnerProps {
962
- fill: string;
963
- background: string;
964
- animationDuration?: number;
965
- complete?: boolean;
966
- completeIconStroke?: number;
967
- size?: string;
1008
+ interface RadioGroupInputProps {
1009
+ name: string;
1010
+ options?: RadioGroupOption[];
1011
+ value?: RadioGroupOption;
1012
+ onChange: (value: RadioGroupOption) => void;
1013
+ size?: ComponentSize.Small | ComponentSize.Medium | ComponentSize.Large;
1014
+ disabled?: boolean;
968
1015
  }
969
- declare const Spinner: ({ fill, background, animationDuration, complete, completeIconStroke, size, }: SpinnerProps) => JSX.Element;
1016
+ declare const RadioGroupInput: ({ name, options, value, onChange, size, disabled, }: RadioGroupInputProps) => JSX.Element;
970
1017
 
971
- interface TagsProps {
972
- color?: string;
973
- items: string[];
974
- onCloseClick: (index: number) => void;
975
- }
976
- declare const Tags: ({ color, items, onCloseClick }: TagsProps) => JSX.Element;
1018
+ interface SimpleProps {
1019
+ title: string;
1020
+ freeShippingText: string;
1021
+ price: string;
1022
+ anyQtyForText: string;
1023
+ backgroundColor: string;
1024
+ widthAuto?: boolean;
1025
+ }
977
1026
 
978
- declare type FilteringDropdownProps<T> = {
979
- options: DropdownOption<T>[];
980
- disabled?: boolean;
981
- wide?: boolean;
982
- onChange: (options: DropdownOption<T>[]) => void;
983
- filter?: boolean;
984
- sliceAfter?: number;
985
- placeHolder: string;
986
- };
987
- declare function FilteringDropdown<T>({ options, disabled, placeHolder, wide, sliceAfter, filter, onChange, }: FilteringDropdownProps<T>): JSX.Element;
1027
+ interface MinimalisticProps {
1028
+ backgroundColor?: string;
1029
+ borderColor?: string;
1030
+ originalPrice: string;
1031
+ price: string;
1032
+ savingPrice: string;
1033
+ getMorePayLessText: string;
1034
+ youAreSavingText: string;
1035
+ getQtyForText: string;
1036
+ discount: number;
1037
+ offText: string;
1038
+ widthAuto?: boolean;
1039
+ }
988
1040
 
989
- interface PaginationProps {
990
- from: number;
991
- to: number;
992
- onChange: (page: number) => void;
993
- currentPage?: number;
994
- underlineActive?: boolean;
995
- boldActive?: boolean;
996
- disabled?: boolean;
1041
+ declare const Bundle: {
1042
+ Minimalistic: ({ backgroundColor, borderColor, originalPrice, price, savingPrice, getMorePayLessText, youAreSavingText, getQtyForText, discount, offText, widthAuto, }: MinimalisticProps) => JSX.Element;
1043
+ Simple: ({ title, freeShippingText, price, anyQtyForText, backgroundColor, widthAuto, }: SimpleProps) => JSX.Element;
1044
+ };
1045
+
1046
+ interface CategoryTagProps {
1047
+ text: string;
1048
+ size: ComponentSize.Large | ComponentSize.Medium | ComponentSize.Small;
1049
+ className?: string;
997
1050
  }
998
- declare const Pagination: ({ from, to, currentPage, onChange, underlineActive, boldActive, disabled, }: PaginationProps) => JSX.Element;
1051
+ declare const CategoryTag: ({ text, size, className }: CategoryTagProps) => _emotion_react_jsx_runtime.JSX.Element;
999
1052
 
1000
- declare const Text: FC<TextProps>;
1001
- declare type TextHeroProps = {
1002
- variant: 'hero1' | 'hero2' | 'hero3';
1003
- weight?: 'heavy' | 'bold' | 'demi';
1004
- size?: 'regular';
1005
- underline?: never;
1006
- disabled?: never;
1007
- wide?: never;
1008
- original?: never;
1009
- allCaps?: never;
1010
- };
1011
- declare type TextDisplayProps = {
1012
- variant: 'display1' | 'display2';
1013
- weight?: 'bold' | 'demi';
1014
- size?: 'regular';
1015
- underline?: never;
1016
- disabled?: never;
1017
- wide?: never;
1018
- original?: never;
1019
- allCaps?: never;
1020
- };
1021
- declare type TextHeadingProps = {
1022
- variant: 'heading1' | 'heading2' | 'heading3' | 'heading4' | 'heading5' | 'heading6';
1023
- weight?: 'bold' | 'demi' | 'regular';
1024
- size?: 'regular';
1025
- underline?: never;
1026
- disabled?: never;
1027
- wide?: never;
1028
- original?: never;
1029
- allCaps?: never;
1030
- };
1031
- declare type TextBodyProps = {
1032
- variant: 'body';
1033
- size?: 'regular' | 'small';
1034
- weight?: 'bold' | 'demi' | 'regular';
1035
- underline?: never;
1036
- disabled?: never;
1037
- wide?: never;
1038
- original?: never;
1039
- allCaps?: never;
1040
- };
1041
- declare type TextButtonProps = {
1042
- variant: 'button';
1043
- size: 'large' | 'regular' | 'small';
1044
- weight: 'bold' | 'demi';
1045
- underline?: never;
1046
- disabled?: never;
1047
- wide?: boolean;
1048
- original?: never;
1049
- allCaps?: never;
1050
- };
1051
- declare type TextPricingProps = {
1052
- variant: 'pricing';
1053
- size: 'large' | 'medium' | 'regular' | 'small';
1054
- weight?: never;
1055
- underline?: never;
1056
- disabled?: never;
1057
- wide?: never;
1058
- original?: boolean;
1059
- allCaps?: never;
1060
- };
1061
- declare type TextLinkProps = {
1062
- variant: 'link';
1063
- weight?: 'demi' | 'regular';
1064
- size?: 'regular' | 'small';
1065
- underline?: boolean;
1053
+ interface SeasonOfferTagProps {
1054
+ text: string;
1055
+ backgroundColor?: string;
1056
+ size: ComponentSize.Large | ComponentSize.Medium | ComponentSize.Small;
1057
+ className?: string;
1058
+ }
1059
+ declare const SeasonOfferTag: ({ text, backgroundColor, size, className, }: SeasonOfferTagProps) => _emotion_react_jsx_runtime.JSX.Element;
1060
+
1061
+ interface TimeProps {
1062
+ hours: number;
1063
+ minutes: number;
1064
+ seconds: number;
1065
+ }
1066
+ interface TimerProps extends TimeProps {
1067
+ onTimeUp: () => void;
1068
+ }
1069
+ declare const Timer: ({ onTimeUp, ...rest }: TimerProps) => JSX.Element;
1070
+
1071
+ interface BaseInputCommmonProps {
1072
+ defaultValue?: string;
1073
+ maxLength?: number;
1074
+ placeholder?: string;
1075
+ label?: string;
1076
+ onValidation?: (status: InputValidationType) => void;
1066
1077
  disabled?: boolean;
1067
- wide?: never;
1068
- original?: never;
1069
- allCaps?: never;
1070
- } & AnchorHTMLAttributes<'a'>;
1071
- declare type TextLabelProps = {
1072
- variant: 'label';
1073
- weight?: 'regular' | 'demi';
1078
+ required?: string;
1079
+ children?: React.ReactNode;
1074
1080
  size?: 'regular' | 'small';
1075
- underline?: never;
1076
- disabled?: boolean;
1077
- wide?: never;
1078
- original?: never;
1079
- allCaps?: never;
1080
- } & LabelHTMLAttributes<'label'>;
1081
- declare type TextTagProps = {
1082
- variant: 'tag';
1083
- size?: 'regular' | 'small' | 'x-small';
1084
- weight?: 'regular' | 'demi' | 'bold';
1085
- underline?: never;
1081
+ }
1082
+ interface BaseInputControlled extends BaseInputCommmonProps {
1083
+ value: string;
1084
+ onChange: (value: string) => void;
1085
+ }
1086
+ interface BaseInputUncontrolled extends BaseInputCommmonProps {
1087
+ value?: never;
1088
+ onChange?: (value: string) => void;
1089
+ }
1090
+ declare type BaseInputProps = BaseInputControlled | BaseInputUncontrolled;
1091
+
1092
+ declare type BasePlusIconProps = BaseInputProps & {
1093
+ Icon: IconType;
1094
+ };
1095
+
1096
+ declare type BasePlusButtonProps = BaseInputProps & {
1097
+ label?: undefined;
1098
+ onClick: (value: string) => void;
1099
+ onClickEdit: () => void;
1100
+ text: string;
1101
+ success: boolean;
1102
+ editText: string;
1103
+ successText: string;
1104
+ };
1105
+
1106
+ interface BaseCTAProps {
1107
+ onClick: () => void;
1086
1108
  disabled?: boolean;
1087
- wide?: never;
1088
- original?: never;
1089
- allCaps?: boolean;
1090
- };
1091
- declare type TextProps = AriaAttributes & {
1092
- style?: CSSProperties;
1109
+ wide?: boolean;
1093
1110
  className?: string;
1094
- } & (TextHeroProps | TextDisplayProps | TextHeadingProps | TextBodyProps | TextLinkProps | TextButtonProps | TextPricingProps | TextLabelProps | TextTagProps);
1111
+ size?: ComponentSize;
1112
+ text: string;
1113
+ type?: ButtonType;
1114
+ }
1095
1115
 
1096
- interface SearchBarProps {
1097
- suggestions: SearchBarOptionItem$1[];
1098
- resultOptions: SearchBarOptionItem$1[];
1099
- onChange: (text: string) => void;
1100
- onSearch: (term: string) => void;
1101
- resultsPanelDataTestId?: string;
1102
- }
1103
- declare const SearchBar: ({ suggestions, resultOptions, onChange, onSearch, resultsPanelDataTestId, }: SearchBarProps) => JSX.Element;
1116
+ declare type ButtonProps = {
1117
+ variant: 'primary' | 'secondary' | 'secondary-outline';
1118
+ } & BaseCTAProps;
1104
1119
 
1105
- interface ProductGalleryMobileProps {
1106
- images: ImageType[];
1107
- selectedValue?: ImageType;
1108
- DiscountTagElement?: JSX.Element;
1109
- BestSellerTagElement?: JSX.Element;
1110
- productImageDataTestId?: string;
1111
- slideDotsDataTestId?: string;
1120
+ declare type CustomProps = BaseInputProps & {
1121
+ onClick: () => void;
1122
+ text: string;
1123
+ variant: ButtonProps['variant'];
1124
+ };
1125
+
1126
+ declare const Input: {
1127
+ Simple: ({ value, onChange, defaultValue, label, children, required, onValidation, size, ...rest }: BaseInputProps) => JSX.Element;
1128
+ Custom: ({ onClick, text, variant, ...rest }: CustomProps) => JSX.Element;
1129
+ SimplePlusButton: ({ onClick, onClickEdit, text, success, editText, successText, ...rest }: BasePlusButtonProps) => JSX.Element;
1130
+ SimplePlusIcon: ({ Icon, ...rest }: BasePlusIconProps) => JSX.Element;
1131
+ };
1132
+
1133
+ interface PaymentMethodsProps {
1134
+ Icon: IconType;
1135
+ width: string;
1136
+ height: string;
1137
+ onClick?: () => void;
1112
1138
  }
1113
- declare const ProductGalleryMobile: ({ images, selectedValue, DiscountTagElement, BestSellerTagElement, productImageDataTestId, slideDotsDataTestId, }: ProductGalleryMobileProps) => JSX.Element;
1139
+ declare const PaymentMethod: ({ Icon, width, height, onClick }: PaymentMethodsProps) => JSX.Element;
1114
1140
 
1115
- interface RadioProps {
1116
- name: string;
1117
- value: string;
1118
- id: string;
1119
- label: string;
1120
- size?: ComponentSize.Small | ComponentSize.Medium | ComponentSize.Large;
1121
- checked?: boolean;
1122
- disabled?: boolean;
1123
- onChange: (option: RadioGroupOption) => void;
1141
+ interface OfferBannerProps {
1142
+ discountAppliedText: string;
1143
+ backgroundColor: string;
1124
1144
  }
1125
- declare const RadioInput: ({ name, value, id, label, checked, disabled, onChange, size, }: RadioProps) => JSX.Element;
1145
+ declare const OfferBanner: ({ discountAppliedText, backgroundColor }: OfferBannerProps) => JSX.Element;
1126
1146
 
1127
- declare type PortalProps = {
1128
- id: string;
1129
- className?: string;
1147
+ declare type SubtotalOption = {
1148
+ label: string;
1149
+ value: string;
1130
1150
  };
1131
- declare const Portal: FC<PortalProps>;
1151
+ declare type Coupon = {
1152
+ code: string;
1153
+ amount: string;
1154
+ };
1155
+ interface SubtotalProps {
1156
+ subtotal: SubtotalOption;
1157
+ shipping: SubtotalOption;
1158
+ taxes: SubtotalOption;
1159
+ highlightColor?: string;
1160
+ coupon?: {
1161
+ couponText: string;
1162
+ appliedText: string;
1163
+ coupons: Coupon[];
1164
+ };
1165
+ }
1132
1166
 
1133
- declare const ThemeProvider: FC<{
1134
- theme: Theme;
1135
- children: ReactNode;
1136
- }>;
1137
- declare const useTheme: () => Theme;
1138
- declare const ThemeVariables: FC<{
1139
- theme: Theme;
1140
- Container?: ElementType;
1141
- }>;
1142
- declare const AssetsProvider: FC<{
1143
- assets: ThemeAssets;
1144
- }>;
1145
- declare const useThemeAssets: () => ThemeAssets;
1146
- declare type Theme = {
1147
- name: string;
1148
- fontSizes: number[];
1149
- fontWeights: number[];
1150
- lineHeights: number[];
1151
- mediaQueries: ThemeBreakpoints;
1152
- radius: {
1153
- regular: string;
1154
- };
1155
- zIndex: {
1156
- modal: number;
1157
- overlay: number;
1167
+ interface TotalProps {
1168
+ total: string;
1169
+ currency: string;
1170
+ highlightColor?: string;
1171
+ saving?: {
1172
+ amount: string;
1173
+ savingText: string;
1158
1174
  };
1159
- colors: ThemeColors;
1160
- component: ThemeComponent;
1161
- typography: ThemeTypography;
1162
- fonts: ThemeFonts;
1163
- assets: ThemeAssets;
1164
- };
1165
- declare type ThemeBreakpoints = {
1166
- mobile: number;
1167
- desktop: number;
1168
- };
1169
- declare type ThemeBasicPallete = {
1170
- color: string;
1171
- contrast: string;
1172
- };
1173
- declare type ThemeColorPallete = ThemeBasicPallete & {
1174
- soft: ThemeBasicPallete;
1175
- };
1176
- declare type ThemeColorPrimaryPallete = ThemeColorPallete & {
1177
- 20: ThemeColorPallete;
1178
- 40: ThemeColorPallete;
1179
- 60: ThemeColorPallete;
1180
- 80: ThemeColorPallete;
1175
+ }
1176
+
1177
+ declare const Totals: {
1178
+ Total: ({ total, currency, saving, highlightColor }: TotalProps) => JSX.Element;
1179
+ Subtotal: ({ subtotal, shipping, taxes, coupon, highlightColor, }: SubtotalProps) => JSX.Element;
1180
+ };
1181
+
1182
+ declare type detail = {
1183
+ title: string;
1184
+ details: string;
1181
1185
  };
1182
- declare type ThemeColors = {
1183
- pallete: {
1184
- primary: ThemeColorPrimaryPallete;
1185
- secondary: ThemeColorPrimaryPallete;
1186
- } & Partial<Record<string, ThemeColorPallete>>;
1187
- shades: {
1188
- black: ThemeBasicPallete;
1189
- white: ThemeBasicPallete;
1190
- 5: ThemeBasicPallete;
1191
- 10: ThemeBasicPallete;
1192
- 50: ThemeBasicPallete;
1193
- 100: ThemeBasicPallete;
1194
- 150: ThemeBasicPallete;
1195
- 200: ThemeBasicPallete;
1196
- 250: ThemeBasicPallete;
1197
- 300: ThemeBasicPallete;
1198
- 350: ThemeBasicPallete;
1199
- 400: ThemeBasicPallete;
1200
- 450: ThemeBasicPallete;
1201
- 500: ThemeBasicPallete;
1202
- 550: ThemeBasicPallete;
1203
- 600: ThemeBasicPallete;
1204
- 650: ThemeBasicPallete;
1205
- 700: ThemeBasicPallete;
1206
- 750: ThemeBasicPallete;
1207
- 800: ThemeBasicPallete;
1208
- 850: ThemeBasicPallete;
1209
- 900: ThemeBasicPallete;
1210
- 950: ThemeBasicPallete;
1211
- 990: ThemeBasicPallete;
1212
- };
1213
- semantic: {
1214
- positive: ThemeBasicPallete;
1215
- urgent: ThemeBasicPallete;
1216
- attention: ThemeBasicPallete;
1217
- informative: ThemeBasicPallete;
1218
- };
1219
- border: {
1220
- color: string;
1221
- disabled: string;
1222
- highlight: string;
1186
+ interface orderUpdate extends detail {
1187
+ keepMeUpdated: {
1188
+ title: string;
1189
+ onClick: () => void;
1223
1190
  };
1224
- background: {
1191
+ }
1192
+ interface DeliveryDetailsProps {
1193
+ deliveryDetailsText: string;
1194
+ arrivingBy: detail;
1195
+ shippingTo: detail;
1196
+ instantOrderUpdate: orderUpdate;
1197
+ note?: {
1198
+ importantNoteText: string;
1199
+ text: string;
1200
+ accentColor: string;
1201
+ backgroundColor: string;
1225
1202
  color: string;
1226
- disabled: string;
1227
1203
  };
1228
- text: {
1229
- color: string;
1230
- disabled: string;
1204
+ }
1205
+ declare const DeliveryDetails: ({ deliveryDetailsText, arrivingBy, shippingTo, instantOrderUpdate, note, }: DeliveryDetailsProps) => JSX.Element;
1206
+
1207
+ interface ScrollToTopProps {
1208
+ scrollToTopText: string;
1209
+ onClick: () => void;
1210
+ }
1211
+ declare const ScrollToTop: ({ scrollToTopText, onClick }: ScrollToTopProps) => JSX.Element;
1212
+
1213
+ interface OrderBarProps {
1214
+ message: string;
1215
+ }
1216
+ declare const OrderBar: ({ message }: OrderBarProps) => JSX.Element;
1217
+
1218
+ interface TableProps {
1219
+ headers: string[];
1220
+ data: string[][];
1221
+ }
1222
+ declare const SizeTable: ({ headers, data }: TableProps) => JSX.Element;
1223
+
1224
+ interface Price extends Pick<PriceLabelProps, 'finalPrice' | 'originalPrice'> {
1225
+ color?: string;
1226
+ }
1227
+ interface ProductOrderItemProps {
1228
+ title: string;
1229
+ subtitle: string;
1230
+ image: {
1231
+ src: string;
1232
+ alt: string;
1231
1233
  };
1232
- };
1233
- declare type ThemeComponent = {
1234
- button: {
1235
- border: string;
1236
- borderRadius: string;
1237
- fontWeight: number;
1238
- size: {
1239
- small: {
1240
- fontSize: string;
1241
- padding: string;
1242
- };
1243
- medium: {
1244
- fontSize: string;
1245
- padding: string;
1246
- };
1247
- large: {
1248
- fontSize: string;
1249
- padding: string;
1250
- };
1251
- };
1252
- primary: {
1253
- active: {
1254
- backgroundColor: string;
1255
- color: string;
1256
- };
1257
- hover: {
1258
- backgroundColor: string;
1259
- color: string;
1260
- };
1261
- };
1262
- secondary: {
1263
- active: {
1264
- backgroundColor: string;
1265
- color: string;
1266
- };
1267
- hover: {
1268
- backgroundColor: string;
1269
- color: string;
1270
- };
1271
- };
1234
+ price: Price;
1235
+ tag?: {
1236
+ text: string;
1237
+ backgroundColor: string;
1272
1238
  };
1273
- input: {
1274
- background: string;
1239
+ }
1240
+ declare const SimpleOrderItem: ({ title, subtitle, image, price, tag }: ProductOrderItemProps) => JSX.Element;
1241
+
1242
+ interface ReviewProps {
1243
+ reviewerName: string;
1244
+ date: Date;
1245
+ rating: number;
1246
+ stars: {
1275
1247
  color: string;
1276
- placeholderColor: string;
1277
- borderRadius: string;
1278
- fontSize: string;
1279
- fontWeight: number;
1280
- padding: string;
1281
- lineHeight: string;
1282
- border: string;
1283
- boxShadow: string;
1284
- };
1285
- inputCustom: {
1286
- button: {
1287
- borderRadius: string;
1288
- };
1289
- input: {
1290
- borderRadius: string;
1291
- };
1248
+ size: ComponentSize.Medium | ComponentSize.Small;
1292
1249
  };
1293
- selector: {
1294
- size: {
1295
- small: {
1296
- padding: string;
1297
- borderRadius: string;
1298
- };
1299
- medium: {
1300
- padding: string;
1301
- borderRadius: string;
1302
- };
1303
- };
1304
- default: {
1305
- fontWeight: number;
1306
- border: string;
1307
- background: string;
1308
- color: string;
1309
- };
1310
- hover: {
1311
- fontWeight: number;
1312
- background: string;
1313
- border: string;
1314
- color: string;
1315
- };
1316
- disabled: {
1317
- border: string;
1318
- };
1319
- fontSize: string;
1250
+ title: string;
1251
+ description: string;
1252
+ image: {
1253
+ src: string;
1254
+ alt: string;
1320
1255
  };
1321
- rating: {
1322
- fontWeight: number;
1323
- size: {
1324
- xsmall: {
1325
- fontSize: string;
1326
- lineHeight: string;
1327
- };
1328
- small: {
1329
- fontSize: string;
1330
- lineHeight: string;
1331
- };
1332
- medium: {
1333
- fontSize: string;
1334
- lineHeight: string;
1335
- };
1336
- large: {
1337
- fontSize: string;
1338
- lineHeight: string;
1339
- };
1340
- };
1341
- };
1342
- card: {
1343
- borderRadius: string;
1344
- };
1345
- radio: {
1346
- borderColor: string;
1347
- background: string;
1348
- size: {
1349
- small: {
1350
- borderWidth: string;
1351
- margin: string;
1352
- height: string;
1353
- active: {
1354
- borderWidth: string;
1355
- };
1356
- };
1357
- medium: {
1358
- borderWidth: string;
1359
- margin: string;
1360
- height: string;
1361
- active: {
1362
- borderWidth: string;
1363
- };
1364
- };
1365
- large: {
1366
- borderWidth: string;
1367
- margin: string;
1368
- height: string;
1369
- active: {
1370
- borderWidth: string;
1371
- };
1372
- };
1373
- };
1374
- };
1375
- label: {
1376
- fontSize: {
1377
- small: string;
1378
- medium: string;
1379
- large: string;
1380
- };
1381
- lineHeight: {
1382
- small: string;
1383
- medium: string;
1384
- large: string;
1385
- };
1386
- };
1387
- checkbox: {
1388
- background: string;
1389
- borderColor: string;
1390
- active: {
1391
- background: string;
1392
- };
1393
- size: {
1394
- large: {
1395
- width: string;
1396
- height: string;
1397
- borderRadius: string;
1398
- borderWidth: string;
1399
- margin: string;
1400
- icon: {
1401
- width: string;
1402
- height: string;
1403
- };
1404
- };
1405
- medium: {
1406
- width: string;
1407
- height: string;
1408
- borderRadius: string;
1409
- borderWidth: string;
1410
- margin: string;
1411
- icon: {
1412
- width: string;
1413
- height: string;
1414
- };
1415
- };
1416
- small: {
1417
- width: string;
1418
- height: string;
1419
- borderRadius: string;
1420
- borderWidth: string;
1421
- margin: string;
1422
- icon: {
1423
- width: string;
1424
- height: string;
1425
- };
1426
- };
1427
- };
1428
- };
1429
- accordion: {
1430
- variant: {
1431
- box: {
1432
- container: {
1433
- border: string;
1434
- borderColor: string;
1435
- borderRadius: string;
1436
- padding: string;
1437
- };
1438
- summary: {
1439
- fontWeight: number;
1440
- fontSize: string;
1441
- lineHeight: string;
1442
- color: string;
1443
- };
1444
- details: {
1445
- margin: string;
1446
- };
1447
- icon: {
1448
- width: number;
1449
- height: number;
1450
- color: string;
1451
- };
1452
- };
1453
- simple: {
1454
- container: {
1455
- borderTop: string;
1456
- borderBottom: string;
1457
- borderColor: string;
1458
- borderRadius: string;
1459
- padding: string;
1460
- };
1461
- summary: {
1462
- fontWeight: number;
1463
- fontSize: string;
1464
- lineHeight: string;
1465
- color: string;
1466
- };
1467
- details: {
1468
- margin: string;
1469
- };
1470
- icon: {
1471
- width: number;
1472
- height: number;
1473
- color: string;
1474
- };
1475
- };
1476
- };
1477
- };
1478
- dropdown: {
1479
- borderRadius: string;
1480
- fontSize: string;
1481
- fontWeight: number;
1482
- lineHeight: string;
1483
- padding: string;
1484
- color: string;
1485
- fill: string;
1486
- options: {
1487
- borderColor: string;
1488
- color: string;
1489
- };
1256
+ }
1257
+ declare const Review: ({ reviewerName, date, rating, stars, title, description, image }: ReviewProps) => JSX.Element;
1258
+
1259
+ interface SliderNavigationProps {
1260
+ children: JSX.Element[];
1261
+ infinite: boolean;
1262
+ adaptiveHeight: boolean;
1263
+ dotsSize: ComponentSize.Large | ComponentSize.Medium | ComponentSize.Small;
1264
+ dotListMarginTop: number;
1265
+ initialSlide?: number;
1266
+ arrows?: {
1267
+ arrowWidth: number;
1268
+ arrowHeight: number;
1269
+ arrowPadding: number;
1490
1270
  };
1491
- modal: {
1492
- minWidth: string;
1271
+ }
1272
+ declare const SliderNavigation: ({ children, infinite, arrows, adaptiveHeight, dotsSize, dotListMarginTop, initialSlide, }: SliderNavigationProps) => _emotion_react_jsx_runtime.JSX.Element;
1273
+
1274
+ interface DropdownListIconsProps {
1275
+ items: DropdownListIconsItem[];
1276
+ }
1277
+ declare const DropdownListIcons: ({ items }: DropdownListIconsProps) => JSX.Element;
1278
+
1279
+ interface ImageStyleProps {
1280
+ height?: string;
1281
+ width?: string;
1282
+ borderRadius?: string;
1283
+ objectFit?: string;
1284
+ objectPosition?: string;
1285
+ className?: string;
1286
+ }
1287
+ interface ImageProps extends ImageStyleProps {
1288
+ src: string;
1289
+ alt: string;
1290
+ }
1291
+ declare const Image: ({ src, alt, height, width, borderRadius, objectFit, objectPosition, className, }: ImageProps) => JSX.Element;
1292
+
1293
+ interface AmazonPaypalBtnProps {
1294
+ onClick: () => void;
1295
+ }
1296
+ declare const AmazonButton: ({ onClick }: AmazonPaypalBtnProps) => JSX.Element;
1297
+ declare const PaypalButton: ({ onClick }: AmazonPaypalBtnProps) => JSX.Element;
1298
+
1299
+ interface CrossSellCheckboxProps extends rightToLeftProps {
1300
+ imageURL: string;
1301
+ title: string;
1302
+ description: string;
1303
+ freeShippingText: string;
1304
+ onChange: (checked: Boolean) => void;
1305
+ }
1306
+ interface rightToLeftProps {
1307
+ rightToLeft: boolean;
1308
+ }
1309
+ declare const CrossSellCheckbox: ({ imageURL, title, description, freeShippingText, rightToLeft, onChange, }: CrossSellCheckboxProps) => JSX.Element;
1310
+
1311
+ type index_d_CrossSellCheckboxProps = CrossSellCheckboxProps;
1312
+ declare const index_d_CrossSellCheckbox: typeof CrossSellCheckbox;
1313
+ declare namespace index_d {
1314
+ export {
1315
+ index_d_CrossSellCheckboxProps as CrossSellCheckboxProps,
1316
+ index_d_CrossSellCheckbox as CrossSellCheckbox,
1317
+ };
1318
+ }
1319
+
1320
+ interface ProductItemProps {
1321
+ title: string;
1322
+ image: ImageProps;
1323
+ price: Pick<PriceLabelProps, 'finalPrice' | 'originalPrice' | 'color'>;
1324
+ rating: Pick<RatingProps, 'rating' | 'reviews'>;
1325
+ tags?: {
1326
+ categoryTagText: string;
1327
+ seasonOfferTagText: string;
1493
1328
  };
1329
+ alignName?: 'left' | 'center';
1330
+ }
1331
+
1332
+ interface ProductItemSmallMobileProps extends ProductItemProps {
1333
+ size: ComponentSize.Medium | ComponentSize.Small;
1334
+ }
1335
+
1336
+ declare function withProductGrid<P extends ProductItemProps>(ProductItemComponent: React.FC<P>, data: ProductItemProps[]): {
1337
+ (props: Omit<P, 'title' | 'image' | 'price' | 'rating'>): JSX.Element;
1338
+ displayName: string;
1339
+ };
1340
+
1341
+ declare const Collection: {
1342
+ ProductItemMobile: ({ title, image, price, rating, size, tags, alignName, }: ProductItemSmallMobileProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
1343
+ withProductGrid: typeof withProductGrid;
1344
+ };
1345
+
1346
+ interface StarListProps {
1347
+ rating: number;
1348
+ size?: ComponentSize;
1349
+ starsNumber: number;
1350
+ fill: string;
1351
+ }
1352
+ declare const StarList: ({ rating, starsNumber, fill, size, }: StarListProps) => JSX.Element;
1353
+
1354
+ interface DrawerProps {
1355
+ children: React.ReactNode;
1356
+ isOpen: boolean;
1357
+ onClose?: () => void;
1358
+ onOpen?: () => void;
1359
+ onClickOutside?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
1360
+ backgroundColor?: string;
1361
+ backdropColor?: string;
1362
+ position?: 'left' | 'right';
1363
+ width?: string;
1364
+ }
1365
+ declare const Drawer: ({ children, isOpen, onClose, onOpen, backgroundColor, backdropColor, position, width, onClickOutside, }: DrawerProps) => JSX.Element | null;
1366
+
1367
+ interface SpinnerProps {
1368
+ fill: string;
1369
+ background: string;
1370
+ animationDuration?: number;
1371
+ complete?: boolean;
1372
+ completeIconStroke?: number;
1373
+ size?: string;
1374
+ }
1375
+ declare const Spinner: ({ fill, background, animationDuration, complete, completeIconStroke, size, }: SpinnerProps) => JSX.Element;
1376
+
1377
+ interface TagsProps {
1378
+ color?: string;
1379
+ items: string[];
1380
+ onCloseClick: (index: number) => void;
1381
+ }
1382
+ declare const Tags: ({ color, items, onCloseClick }: TagsProps) => JSX.Element;
1383
+
1384
+ declare type FilteringDropdownProps<T> = {
1385
+ options: DropdownOption<T>[];
1386
+ disabled?: boolean;
1387
+ wide?: boolean;
1388
+ onChange: (options: DropdownOption<T>[]) => void;
1389
+ filter?: boolean;
1390
+ sliceAfter?: number;
1391
+ placeHolder: string;
1494
1392
  };
1495
- declare type ThemeTypography = {
1496
- config: {
1497
- weight: {
1498
- heavy: number;
1499
- bold: number;
1500
- demi: number;
1501
- regular: number;
1502
- };
1503
- };
1504
- variants: Record<string, CSSProperties>;
1393
+ declare function FilteringDropdown<T>({ options, disabled, placeHolder, wide, sliceAfter, filter, onChange, }: FilteringDropdownProps<T>): JSX.Element;
1394
+
1395
+ interface PaginationProps {
1396
+ from: number;
1397
+ to: number;
1398
+ onChange: (page: number) => void;
1399
+ currentPage?: number;
1400
+ underlineActive?: boolean;
1401
+ boldActive?: boolean;
1402
+ disabled?: boolean;
1403
+ }
1404
+ declare const Pagination: ({ from, to, currentPage, onChange, underlineActive, boldActive, disabled, }: PaginationProps) => JSX.Element;
1405
+
1406
+ declare const Text: FC<TextProps>;
1407
+ declare type TextHeroProps = {
1408
+ variant: 'hero1' | 'hero2' | 'hero3';
1409
+ weight?: 'heavy' | 'bold' | 'demi';
1410
+ size?: 'regular';
1411
+ underline?: never;
1412
+ disabled?: never;
1413
+ wide?: never;
1414
+ original?: never;
1415
+ allCaps?: never;
1505
1416
  };
1506
- declare type ThemeFonts = {
1507
- url: string;
1508
- config: Array<{
1509
- src: string;
1510
- family: string;
1511
- weight?: number | string;
1512
- style?: string;
1513
- stretch?: string;
1514
- }>;
1417
+ declare type TextDisplayProps = {
1418
+ variant: 'display1' | 'display2';
1419
+ weight?: 'bold' | 'demi';
1420
+ size?: 'regular';
1421
+ underline?: never;
1422
+ disabled?: never;
1423
+ wide?: never;
1424
+ original?: never;
1425
+ allCaps?: never;
1515
1426
  };
1516
- declare type ThemeAssets = {
1517
- images: {
1518
- favicon: string;
1519
- logo: string;
1520
- };
1521
- [key: string]: any;
1522
- };
1427
+ declare type TextHeadingProps = {
1428
+ variant: 'heading1' | 'heading2' | 'heading3' | 'heading4' | 'heading5' | 'heading6';
1429
+ weight?: 'bold' | 'demi' | 'regular';
1430
+ size?: 'regular';
1431
+ underline?: never;
1432
+ disabled?: never;
1433
+ wide?: never;
1434
+ original?: never;
1435
+ allCaps?: never;
1436
+ };
1437
+ declare type TextBodyProps = {
1438
+ variant: 'body';
1439
+ size?: 'regular' | 'small';
1440
+ weight?: 'bold' | 'demi' | 'regular';
1441
+ underline?: never;
1442
+ disabled?: never;
1443
+ wide?: never;
1444
+ original?: never;
1445
+ allCaps?: never;
1446
+ };
1447
+ declare type TextButtonProps = {
1448
+ variant: 'button';
1449
+ size: 'large' | 'regular' | 'small';
1450
+ weight: 'bold' | 'demi';
1451
+ underline?: never;
1452
+ disabled?: never;
1453
+ wide?: boolean;
1454
+ original?: never;
1455
+ allCaps?: never;
1456
+ };
1457
+ declare type TextPricingProps = {
1458
+ variant: 'pricing';
1459
+ size: 'large' | 'medium' | 'regular' | 'small';
1460
+ weight?: never;
1461
+ underline?: never;
1462
+ disabled?: never;
1463
+ wide?: never;
1464
+ original?: boolean;
1465
+ allCaps?: never;
1466
+ };
1467
+ declare type TextLinkProps = {
1468
+ variant: 'link';
1469
+ weight?: 'demi' | 'regular';
1470
+ size?: 'regular' | 'small';
1471
+ underline?: boolean;
1472
+ disabled?: boolean;
1473
+ wide?: never;
1474
+ original?: never;
1475
+ allCaps?: never;
1476
+ } & AnchorHTMLAttributes<'a'>;
1477
+ declare type TextLabelProps = {
1478
+ variant: 'label';
1479
+ weight?: 'regular' | 'demi';
1480
+ size?: 'regular' | 'small';
1481
+ underline?: never;
1482
+ disabled?: boolean;
1483
+ wide?: never;
1484
+ original?: never;
1485
+ allCaps?: never;
1486
+ } & LabelHTMLAttributes<'label'>;
1487
+ declare type TextTagProps = {
1488
+ variant: 'tag';
1489
+ size?: 'regular' | 'small' | 'x-small';
1490
+ weight?: 'regular' | 'demi' | 'bold';
1491
+ underline?: never;
1492
+ disabled?: boolean;
1493
+ wide?: never;
1494
+ original?: never;
1495
+ allCaps?: boolean;
1496
+ };
1497
+ declare type TextProps = AriaAttributes & {
1498
+ style?: CSSProperties;
1499
+ className?: string;
1500
+ } & (TextHeroProps | TextDisplayProps | TextHeadingProps | TextBodyProps | TextLinkProps | TextButtonProps | TextPricingProps | TextLabelProps | TextTagProps);
1501
+
1502
+ interface SearchBarProps {
1503
+ suggestions: SearchBarOptionItem[];
1504
+ resultOptions: SearchBarOptionItem[];
1505
+ onChange: (text: string) => void;
1506
+ onSearch: (term: string) => void;
1507
+ resultsPanelDataTestId?: string;
1508
+ }
1509
+ declare const SearchBar: ({ suggestions, resultOptions, onChange, onSearch, resultsPanelDataTestId, }: SearchBarProps) => JSX.Element;
1510
+
1511
+ interface ProductGalleryMobileProps {
1512
+ images: ImageType[];
1513
+ selectedValue?: ImageType;
1514
+ DiscountTagElement?: JSX.Element;
1515
+ BestSellerTagElement?: JSX.Element;
1516
+ productImageDataTestId?: string;
1517
+ slideDotsDataTestId?: string;
1518
+ }
1519
+ declare const ProductGalleryMobile: ({ images, selectedValue, DiscountTagElement, BestSellerTagElement, productImageDataTestId, slideDotsDataTestId, }: ProductGalleryMobileProps) => JSX.Element;
1520
+
1521
+ interface RadioProps {
1522
+ name: string;
1523
+ value: string;
1524
+ id: string;
1525
+ label: string;
1526
+ size?: ComponentSize.Small | ComponentSize.Medium | ComponentSize.Large;
1527
+ checked?: boolean;
1528
+ disabled?: boolean;
1529
+ onChange: (option: RadioGroupOption) => void;
1530
+ }
1531
+ declare const RadioInput: ({ name, value, id, label, checked, disabled, onChange, size, }: RadioProps) => JSX.Element;
1532
+
1533
+ declare type PortalProps = {
1534
+ id: string;
1535
+ className?: string;
1536
+ };
1537
+ declare const Portal: FC<PortalProps>;
1523
1538
 
1524
1539
  declare const useOnClickOutside: <T extends HTMLElement = HTMLElement>(ref: RefObject<T>, handler: (event: Event) => void) => void;
1525
1540
 
1526
- declare const useWindowDimensions: (breakpoints: ThemeBreakpoints$1) => {
1541
+ declare const useWindowDimensions: (breakpoints: ThemeBreakpoints) => {
1527
1542
  isMobile: boolean;
1528
1543
  windowDimensions: {
1529
1544
  width: number;
@@ -1531,4 +1546,4 @@ declare const useWindowDimensions: (breakpoints: ThemeBreakpoints$1) => {
1531
1546
  };
1532
1547
  };
1533
1548
 
1534
- export { Accordion, AmazonButton, AssetsProvider, Bundle, ButtonPrimary, ButtonSecondary, ButtonSecondaryOutline, ButtonType, CTAProps, _default as Card, CardSectionType, CategoryTag, Checkbox, Collection, Color, ColorPickerOption, ComponentPosition, ComponentSize, index_d as CrossSell, DeliveryDetails, DiscountTag, Drawer, DropdownListIcons, DropdownListIconsItem, DropdownListIconsSubItem, DropdownOption, Filter, FilterChange, FilteringDropdown, Tags as FilteringTags, FitPredictor, Icon, IconButton, IconProps$1 as IconProps, IconWithOpacityProps, Image, ImageType, Input, InputValidationType, MultiColorPicker, OfferBanner, OrderBar, Pagination, Pattern, PaymentMethod, PaypalButton, Portal, PriceLabel, ProductGallery, ProductGalleryMobile, ProgressBar, RadioGroupInput, RadioGroupOption, RadioInput, Rating, Review, ScrollToTop, SearchBar, SearchBarOptionItem, SeasonOfferTag, SimpleDropdown, SimpleOrderItem, SingleColorPicker, SizeFitGuide, SizeOption, SizeSelector, SizeTable, SliderNavigation, Spinner, StarList, Text, TextButton, Theme, ThemeAssets, ThemeBasicPallete, ThemeBreakpoints, ThemeColorPallete, ThemeColors, ThemeComponent, ThemeFonts, ThemeProvider, ThemeTypography, ThemeVariables, Timer, Tooltip, Totals, WithTestId, useOnClickOutside, useTheme, useThemeAssets, useWindowDimensions };
1549
+ export { Accordion, AmazonButton, AssetsProvider, Bundle, ButtonPrimary, ButtonSecondary, ButtonSecondaryOutline, ButtonType, CTAProps, _default as Card, CardSectionType, CategoryTag, Checkbox, Collection, Color, ColorPickerOption, ComponentPosition, ComponentSize, index_d as CrossSell, DeliveryDetails, DiscountTag, Drawer, DropdownListIcons, DropdownListIconsItem, DropdownListIconsSubItem, DropdownOption, Filter, FilterChange, FilteringDropdown, Tags as FilteringTags, FitPredictor, Icon, IconButton, IconProps, IconWithOpacityProps, Image, ImageType, Input, InputValidationType, MultiColorPicker, OfferBanner, OrderBar, Pagination, Pattern, PaymentMethod, PaypalButton, Portal, PriceLabel, ProductGallery, ProductGalleryMobile, ProgressBar, RadioGroupInput, RadioGroupOption, RadioInput, Rating, Review, ScrollToTop, SearchBar, SearchBarOptionItem, SeasonOfferTag, SimpleDropdown, SimpleOrderItem, SingleColorPicker, SizeFitGuide, SizeOption, SizeSelector, SizeTable, SliderNavigation, Spinner, StarList, Text, TextButton, Theme, ThemeAssets, ThemeBasicPallete, ThemeBreakpoints, ThemeColorPallete, ThemeColors, ThemeComponent, ThemeFonts, ThemeProvider, ThemeTypography, ThemeVariables, Timer, Tooltip, Totals, WithTestId, useOnClickOutside, useTheme, useThemeAssets, useWindowDimensions };