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

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,
@@ -327,6 +323,17 @@ interface IconProps {
327
323
  }
328
324
  declare const Message: ({ height, width, fill }: IconProps) => JSX.Element;
329
325
 
326
+ interface IconWrapperProps {
327
+ width?: number;
328
+ height?: number;
329
+ title?: string;
330
+ viewBoxX: number;
331
+ viewBoxY: number;
332
+ children: React.ReactNode;
333
+ testid?: string;
334
+ fill?: string;
335
+ }
336
+
330
337
  declare const Mail: ({ height, width }: IconWrapperProps) => JSX.Element;
331
338
 
332
339
  declare const Messaging_QuestionCircle: typeof QuestionCircle;
@@ -601,929 +608,943 @@ interface AccordionProps {
601
608
  }
602
609
  declare const Accordion: ({ header, content, defaultOpen, variant, disabled, openIcon, closeIcon, }: AccordionProps) => JSX.Element;
603
610
 
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 {
611
+ declare const ThemeProvider: FC<{
612
+ theme: Theme;
613
+ children: ReactNode;
614
+ }>;
615
+ declare const useTheme: () => Theme;
616
+ declare const ThemeVariables: FC<{
617
+ theme: Theme;
618
+ Container?: ElementType;
619
+ }>;
620
+ declare const AssetsProvider: FC<{
621
+ assets: ThemeAssets;
622
+ }>;
623
+ declare const useThemeAssets: () => ThemeAssets;
624
+ declare type Theme = {
617
625
  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;
626
+ fontSizes: number[];
627
+ fontWeights: number[];
628
+ lineHeights: number[];
629
+ mediaQueries: ThemeBreakpoints;
630
+ radius: {
631
+ regular: string;
632
+ };
633
+ zIndex: {
634
+ modal: number;
635
+ overlay: number;
636
+ };
637
+ colors: ThemeColors;
638
+ component: ThemeComponent;
639
+ typography: ThemeTypography;
640
+ fonts: ThemeFonts;
641
+ assets: ThemeAssets;
744
642
  };
745
- declare type Coupon = {
746
- code: string;
747
- amount: string;
643
+ declare type ThemeBreakpoints = {
644
+ mobile: number;
645
+ desktop: number;
748
646
  };
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[];
647
+ declare type ThemeBasicPallete = {
648
+ color: string;
649
+ contrast: string;
650
+ };
651
+ declare type ThemeColorPallete = ThemeBasicPallete & {
652
+ soft: ThemeBasicPallete;
653
+ };
654
+ declare type ThemeColorPrimaryPallete = ThemeColorPallete & {
655
+ 20: ThemeColorPallete;
656
+ 40: ThemeColorPallete;
657
+ 60: ThemeColorPallete;
658
+ 80: ThemeColorPallete;
659
+ };
660
+ declare type ThemeColors = {
661
+ pallete: {
662
+ primary: ThemeColorPrimaryPallete;
663
+ secondary: ThemeColorPrimaryPallete;
664
+ } & Partial<Record<string, ThemeColorPallete>>;
665
+ shades: {
666
+ black: ThemeBasicPallete;
667
+ white: ThemeBasicPallete;
668
+ 5: ThemeBasicPallete;
669
+ 10: ThemeBasicPallete;
670
+ 50: ThemeBasicPallete;
671
+ 100: ThemeBasicPallete;
672
+ 150: ThemeBasicPallete;
673
+ 200: ThemeBasicPallete;
674
+ 250: ThemeBasicPallete;
675
+ 300: ThemeBasicPallete;
676
+ 350: ThemeBasicPallete;
677
+ 400: ThemeBasicPallete;
678
+ 450: ThemeBasicPallete;
679
+ 500: ThemeBasicPallete;
680
+ 550: ThemeBasicPallete;
681
+ 600: ThemeBasicPallete;
682
+ 650: ThemeBasicPallete;
683
+ 700: ThemeBasicPallete;
684
+ 750: ThemeBasicPallete;
685
+ 800: ThemeBasicPallete;
686
+ 850: ThemeBasicPallete;
687
+ 900: ThemeBasicPallete;
688
+ 950: ThemeBasicPallete;
689
+ 990: ThemeBasicPallete;
758
690
  };
759
- }
760
-
761
- interface TotalProps {
762
- total: string;
763
- currency: string;
764
- highlightColor?: string;
765
- saving?: {
766
- amount: string;
767
- savingText: string;
691
+ semantic: {
692
+ positive: ThemeBasicPallete;
693
+ urgent: ThemeBasicPallete;
694
+ attention: ThemeBasicPallete;
695
+ informative: ThemeBasicPallete;
768
696
  };
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;
697
+ border: {
698
+ color: string;
699
+ disabled: string;
700
+ highlight: string;
784
701
  };
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;
702
+ background: {
796
703
  color: string;
704
+ disabled: string;
797
705
  };
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;
706
+ text: {
707
+ color: string;
708
+ disabled: string;
827
709
  };
828
- price: Price;
829
- tag?: {
830
- text: string;
831
- backgroundColor: string;
710
+ };
711
+ declare type ThemeComponent = {
712
+ button: {
713
+ border: string;
714
+ borderRadius: string;
715
+ fontWeight: number;
716
+ size: {
717
+ small: {
718
+ fontSize: string;
719
+ padding: string;
720
+ };
721
+ medium: {
722
+ fontSize: string;
723
+ padding: string;
724
+ };
725
+ large: {
726
+ fontSize: string;
727
+ padding: string;
728
+ };
729
+ };
730
+ primary: {
731
+ active: {
732
+ backgroundColor: string;
733
+ color: string;
734
+ };
735
+ hover: {
736
+ backgroundColor: string;
737
+ color: string;
738
+ };
739
+ };
740
+ secondary: {
741
+ active: {
742
+ backgroundColor: string;
743
+ color: string;
744
+ };
745
+ hover: {
746
+ backgroundColor: string;
747
+ color: string;
748
+ };
749
+ };
832
750
  };
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: {
751
+ input: {
752
+ background: string;
841
753
  color: string;
842
- size: ComponentSize.Medium | ComponentSize.Small;
754
+ placeholderColor: string;
755
+ borderRadius: string;
756
+ fontSize: string;
757
+ fontWeight: number;
758
+ padding: string;
759
+ lineHeight: string;
760
+ border: string;
761
+ boxShadow: string;
843
762
  };
844
- title: string;
845
- description: string;
846
- image: {
847
- src: string;
848
- alt: string;
763
+ inputCustom: {
764
+ button: {
765
+ borderRadius: string;
766
+ };
767
+ input: {
768
+ borderRadius: string;
769
+ };
849
770
  };
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;
771
+ selector: {
772
+ size: {
773
+ small: {
774
+ padding: string;
775
+ borderRadius: string;
776
+ };
777
+ medium: {
778
+ padding: string;
779
+ borderRadius: string;
780
+ };
781
+ };
782
+ default: {
783
+ fontWeight: number;
784
+ border: string;
785
+ background: string;
786
+ color: string;
787
+ };
788
+ hover: {
789
+ fontWeight: number;
790
+ background: string;
791
+ border: string;
792
+ color: string;
793
+ };
794
+ disabled: {
795
+ border: string;
796
+ };
797
+ fontSize: string;
864
798
  };
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;
799
+ rating: {
800
+ fontWeight: number;
801
+ size: {
802
+ xsmall: {
803
+ fontSize: string;
804
+ lineHeight: string;
805
+ };
806
+ small: {
807
+ fontSize: string;
808
+ lineHeight: string;
809
+ };
810
+ medium: {
811
+ fontSize: string;
812
+ lineHeight: string;
813
+ };
814
+ large: {
815
+ fontSize: string;
816
+ lineHeight: string;
817
+ };
818
+ };
922
819
  };
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;
820
+ card: {
821
+ borderRadius: string;
822
+ };
823
+ radio: {
824
+ borderColor: string;
825
+ background: string;
826
+ size: {
827
+ small: {
828
+ borderWidth: string;
829
+ margin: string;
830
+ height: string;
831
+ active: {
832
+ borderWidth: string;
833
+ };
834
+ };
835
+ medium: {
836
+ borderWidth: string;
837
+ margin: string;
838
+ height: string;
839
+ active: {
840
+ borderWidth: string;
841
+ };
842
+ };
843
+ large: {
844
+ borderWidth: string;
845
+ margin: string;
846
+ height: string;
847
+ active: {
848
+ borderWidth: string;
849
+ };
850
+ };
851
+ };
852
+ };
853
+ label: {
854
+ fontSize: {
855
+ small: string;
856
+ medium: string;
857
+ large: string;
858
+ };
859
+ lineHeight: {
860
+ small: string;
861
+ medium: string;
862
+ large: string;
863
+ };
864
+ };
865
+ checkbox: {
866
+ background: string;
867
+ borderColor: string;
868
+ active: {
869
+ background: string;
870
+ };
871
+ size: {
872
+ large: {
873
+ width: string;
874
+ height: string;
875
+ borderRadius: string;
876
+ borderWidth: string;
877
+ margin: string;
878
+ icon: {
879
+ width: string;
880
+ height: string;
881
+ };
882
+ };
883
+ medium: {
884
+ width: string;
885
+ height: string;
886
+ borderRadius: string;
887
+ borderWidth: string;
888
+ margin: string;
889
+ icon: {
890
+ width: string;
891
+ height: string;
892
+ };
893
+ };
894
+ small: {
895
+ width: string;
896
+ height: string;
897
+ borderRadius: string;
898
+ borderWidth: string;
899
+ margin: string;
900
+ icon: {
901
+ width: string;
902
+ height: string;
903
+ };
904
+ };
905
+ };
906
+ };
907
+ accordion: {
908
+ variant: {
909
+ box: {
910
+ container: {
911
+ border: string;
912
+ borderColor: string;
913
+ borderRadius: string;
914
+ padding: string;
915
+ };
916
+ summary: {
917
+ fontWeight: number;
918
+ fontSize: string;
919
+ lineHeight: string;
920
+ color: string;
921
+ };
922
+ details: {
923
+ margin: string;
924
+ };
925
+ icon: {
926
+ width: number;
927
+ height: number;
928
+ color: string;
929
+ };
930
+ };
931
+ simple: {
932
+ container: {
933
+ borderTop: string;
934
+ borderBottom: string;
935
+ borderColor: string;
936
+ borderRadius: string;
937
+ padding: string;
938
+ };
939
+ summary: {
940
+ fontWeight: number;
941
+ fontSize: string;
942
+ lineHeight: string;
943
+ color: string;
944
+ };
945
+ details: {
946
+ margin: string;
947
+ };
948
+ icon: {
949
+ width: number;
950
+ height: number;
951
+ color: string;
952
+ };
953
+ };
954
+ };
955
+ };
956
+ dropdown: {
957
+ borderRadius: string;
958
+ fontSize: string;
959
+ fontWeight: number;
960
+ lineHeight: string;
961
+ padding: string;
962
+ color: string;
963
+ fill: string;
964
+ options: {
965
+ borderColor: string;
966
+ color: string;
967
+ };
968
+ };
969
+ modal: {
970
+ minWidth: string;
971
+ };
972
+ };
973
+ declare type ThemeTypography = {
974
+ config: {
975
+ weight: {
976
+ heavy: number;
977
+ bold: number;
978
+ demi: number;
979
+ regular: number;
980
+ };
981
+ };
982
+ variants: Record<string, CSSProperties>;
983
+ };
984
+ declare type ThemeFonts = {
985
+ url: string;
986
+ config: Array<{
987
+ src: string;
988
+ family: string;
989
+ weight?: number | string;
990
+ style?: string;
991
+ stretch?: string;
992
+ }>;
993
+ };
994
+ declare type ThemeAssets = {
995
+ images: {
996
+ favicon: string;
997
+ logo: string;
998
+ };
999
+ [key: string]: any;
938
1000
  };
939
1001
 
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;
1002
+ interface CheckboxProps {
1003
+ disabled?: boolean;
1004
+ onChange: (checked: boolean) => void;
1005
+ size?: ComponentSize.Large | ComponentSize.Medium | ComponentSize.Small;
1006
+ text: string;
1007
+ checked?: boolean;
1008
+ id: string;
954
1009
  backgroundColor?: string;
955
- backdropColor?: string;
956
- position?: 'left' | 'right';
957
- width?: string;
958
- }
959
- declare const Drawer: ({ children, isOpen, onClose, onOpen, backgroundColor, backdropColor, position, width, onClickOutside, }: DrawerProps) => JSX.Element | null;
960
-
961
- interface SpinnerProps {
962
- fill: string;
963
- background: string;
964
- animationDuration?: number;
965
- complete?: boolean;
966
- completeIconStroke?: number;
967
- size?: string;
1010
+ variant: 'primary' | 'secondary';
968
1011
  }
969
- declare const Spinner: ({ fill, background, animationDuration, complete, completeIconStroke, size, }: SpinnerProps) => JSX.Element;
1012
+ declare const Checkbox: ({ disabled, onChange, size, text, checked, id, variant, }: CheckboxProps) => JSX.Element;
970
1013
 
971
- interface TagsProps {
972
- color?: string;
973
- items: string[];
974
- onCloseClick: (index: number) => void;
1014
+ interface RadioGroupInputProps {
1015
+ name: string;
1016
+ options?: RadioGroupOption[];
1017
+ value?: RadioGroupOption;
1018
+ onChange: (value: RadioGroupOption) => void;
1019
+ size?: ComponentSize.Small | ComponentSize.Medium | ComponentSize.Large;
1020
+ disabled?: boolean;
975
1021
  }
976
- declare const Tags: ({ color, items, onCloseClick }: TagsProps) => JSX.Element;
1022
+ declare const RadioGroupInput: ({ name, options, value, onChange, size, disabled, }: RadioGroupInputProps) => JSX.Element;
977
1023
 
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;
1024
+ interface SimpleProps {
1025
+ title: string;
1026
+ freeShippingText: string;
1027
+ price: string;
1028
+ anyQtyForText: string;
1029
+ backgroundColor: string;
1030
+ widthAuto?: boolean;
1031
+ }
988
1032
 
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;
1033
+ interface MinimalisticProps {
1034
+ backgroundColor?: string;
1035
+ borderColor?: string;
1036
+ originalPrice: string;
1037
+ price: string;
1038
+ savingPrice: string;
1039
+ getMorePayLessText: string;
1040
+ youAreSavingText: string;
1041
+ getQtyForText: string;
1042
+ discount: number;
1043
+ offText: string;
1044
+ widthAuto?: boolean;
1045
+ }
1046
+
1047
+ declare const Bundle: {
1048
+ Minimalistic: ({ backgroundColor, borderColor, originalPrice, price, savingPrice, getMorePayLessText, youAreSavingText, getQtyForText, discount, offText, widthAuto, }: MinimalisticProps) => JSX.Element;
1049
+ Simple: ({ title, freeShippingText, price, anyQtyForText, backgroundColor, widthAuto, }: SimpleProps) => JSX.Element;
1050
+ };
1051
+
1052
+ interface CategoryTagProps {
1053
+ text: string;
1054
+ size: ComponentSize.Large | ComponentSize.Medium | ComponentSize.Small;
1055
+ className?: string;
997
1056
  }
998
- declare const Pagination: ({ from, to, currentPage, onChange, underlineActive, boldActive, disabled, }: PaginationProps) => JSX.Element;
1057
+ declare const CategoryTag: ({ text, size, className }: CategoryTagProps) => _emotion_react_jsx_runtime.JSX.Element;
999
1058
 
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;
1059
+ interface SeasonOfferTagProps {
1060
+ text: string;
1061
+ backgroundColor?: string;
1062
+ size: ComponentSize.Large | ComponentSize.Medium | ComponentSize.Small;
1063
+ className?: string;
1064
+ }
1065
+ declare const SeasonOfferTag: ({ text, backgroundColor, size, className, }: SeasonOfferTagProps) => _emotion_react_jsx_runtime.JSX.Element;
1066
+
1067
+ interface TimeProps {
1068
+ hours: number;
1069
+ minutes: number;
1070
+ seconds: number;
1071
+ }
1072
+ interface TimerProps extends TimeProps {
1073
+ onTimeUp: () => void;
1074
+ }
1075
+ declare const Timer: ({ onTimeUp, ...rest }: TimerProps) => JSX.Element;
1076
+
1077
+ interface BaseInputCommmonProps {
1078
+ defaultValue?: string;
1079
+ maxLength?: number;
1080
+ placeholder?: string;
1081
+ label?: string;
1082
+ onValidation?: (status: InputValidationType) => void;
1066
1083
  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';
1084
+ required?: string;
1085
+ children?: React.ReactNode;
1074
1086
  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;
1087
+ }
1088
+ interface BaseInputControlled extends BaseInputCommmonProps {
1089
+ value: string;
1090
+ onChange: (value: string) => void;
1091
+ }
1092
+ interface BaseInputUncontrolled extends BaseInputCommmonProps {
1093
+ value?: never;
1094
+ onChange?: (value: string) => void;
1095
+ }
1096
+ declare type BaseInputProps = BaseInputControlled | BaseInputUncontrolled;
1097
+
1098
+ declare type BasePlusIconProps = BaseInputProps & {
1099
+ Icon: IconType;
1100
+ };
1101
+
1102
+ declare type BasePlusButtonProps = BaseInputProps & {
1103
+ label?: undefined;
1104
+ onClick: (value: string) => void;
1105
+ onClickEdit: () => void;
1106
+ text: string;
1107
+ success: boolean;
1108
+ editText: string;
1109
+ successText: string;
1110
+ };
1111
+
1112
+ interface BaseCTAProps {
1113
+ onClick: () => void;
1086
1114
  disabled?: boolean;
1087
- wide?: never;
1088
- original?: never;
1089
- allCaps?: boolean;
1090
- };
1091
- declare type TextProps = AriaAttributes & {
1092
- style?: CSSProperties;
1115
+ wide?: boolean;
1093
1116
  className?: string;
1094
- } & (TextHeroProps | TextDisplayProps | TextHeadingProps | TextBodyProps | TextLinkProps | TextButtonProps | TextPricingProps | TextLabelProps | TextTagProps);
1117
+ size?: ComponentSize;
1118
+ text: string;
1119
+ type?: ButtonType;
1120
+ }
1095
1121
 
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;
1122
+ declare type ButtonProps = {
1123
+ variant: 'primary' | 'secondary' | 'secondary-outline';
1124
+ } & BaseCTAProps;
1104
1125
 
1105
- interface ProductGalleryMobileProps {
1106
- images: ImageType[];
1107
- selectedValue?: ImageType;
1108
- DiscountTagElement?: JSX.Element;
1109
- BestSellerTagElement?: JSX.Element;
1110
- productImageDataTestId?: string;
1111
- slideDotsDataTestId?: string;
1126
+ declare type CustomProps = BaseInputProps & {
1127
+ onClick: () => void;
1128
+ text: string;
1129
+ variant: ButtonProps['variant'];
1130
+ };
1131
+
1132
+ declare const Input: {
1133
+ Simple: ({ value, onChange, defaultValue, label, children, required, onValidation, size, ...rest }: BaseInputProps) => JSX.Element;
1134
+ Custom: ({ onClick, text, variant, ...rest }: CustomProps) => JSX.Element;
1135
+ SimplePlusButton: ({ onClick, onClickEdit, text, success, editText, successText, ...rest }: BasePlusButtonProps) => JSX.Element;
1136
+ SimplePlusIcon: ({ Icon, ...rest }: BasePlusIconProps) => JSX.Element;
1137
+ };
1138
+
1139
+ interface PaymentMethodsProps {
1140
+ Icon: IconType;
1141
+ width: string;
1142
+ height: string;
1143
+ onClick?: () => void;
1112
1144
  }
1113
- declare const ProductGalleryMobile: ({ images, selectedValue, DiscountTagElement, BestSellerTagElement, productImageDataTestId, slideDotsDataTestId, }: ProductGalleryMobileProps) => JSX.Element;
1145
+ declare const PaymentMethod: ({ Icon, width, height, onClick }: PaymentMethodsProps) => JSX.Element;
1114
1146
 
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;
1147
+ interface OfferBannerProps {
1148
+ discountAppliedText: string;
1149
+ backgroundColor: string;
1124
1150
  }
1125
- declare const RadioInput: ({ name, value, id, label, checked, disabled, onChange, size, }: RadioProps) => JSX.Element;
1151
+ declare const OfferBanner: ({ discountAppliedText, backgroundColor }: OfferBannerProps) => JSX.Element;
1126
1152
 
1127
- declare type PortalProps = {
1128
- id: string;
1129
- className?: string;
1153
+ declare type SubtotalOption = {
1154
+ label: string;
1155
+ value: string;
1130
1156
  };
1131
- declare const Portal: FC<PortalProps>;
1157
+ declare type Coupon = {
1158
+ code: string;
1159
+ amount: string;
1160
+ };
1161
+ interface SubtotalProps {
1162
+ subtotal: SubtotalOption;
1163
+ shipping: SubtotalOption;
1164
+ taxes: SubtotalOption;
1165
+ highlightColor?: string;
1166
+ coupon?: {
1167
+ couponText: string;
1168
+ appliedText: string;
1169
+ coupons: Coupon[];
1170
+ };
1171
+ }
1132
1172
 
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;
1173
+ interface TotalProps {
1174
+ total: string;
1175
+ currency: string;
1176
+ highlightColor?: string;
1177
+ saving?: {
1178
+ amount: string;
1179
+ savingText: string;
1158
1180
  };
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;
1181
+ }
1182
+
1183
+ declare const Totals: {
1184
+ Total: ({ total, currency, saving, highlightColor }: TotalProps) => JSX.Element;
1185
+ Subtotal: ({ subtotal, shipping, taxes, coupon, highlightColor, }: SubtotalProps) => JSX.Element;
1186
+ };
1187
+
1188
+ declare type detail = {
1189
+ title: string;
1190
+ details: string;
1181
1191
  };
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;
1192
+ interface orderUpdate extends detail {
1193
+ keepMeUpdated: {
1194
+ title: string;
1195
+ onClick: () => void;
1223
1196
  };
1224
- background: {
1197
+ }
1198
+ interface DeliveryDetailsProps {
1199
+ deliveryDetailsText: string;
1200
+ arrivingBy: detail;
1201
+ shippingTo: detail;
1202
+ instantOrderUpdate: orderUpdate;
1203
+ note?: {
1204
+ importantNoteText: string;
1205
+ text: string;
1206
+ accentColor: string;
1207
+ backgroundColor: string;
1225
1208
  color: string;
1226
- disabled: string;
1227
1209
  };
1228
- text: {
1229
- color: string;
1230
- disabled: string;
1210
+ }
1211
+ declare const DeliveryDetails: ({ deliveryDetailsText, arrivingBy, shippingTo, instantOrderUpdate, note, }: DeliveryDetailsProps) => JSX.Element;
1212
+
1213
+ interface ScrollToTopProps {
1214
+ scrollToTopText: string;
1215
+ onClick: () => void;
1216
+ }
1217
+ declare const ScrollToTop: ({ scrollToTopText, onClick }: ScrollToTopProps) => JSX.Element;
1218
+
1219
+ interface OrderBarProps {
1220
+ message: string;
1221
+ }
1222
+ declare const OrderBar: ({ message }: OrderBarProps) => JSX.Element;
1223
+
1224
+ interface TableProps {
1225
+ headers: string[];
1226
+ data: string[][];
1227
+ }
1228
+ declare const SizeTable: ({ headers, data }: TableProps) => JSX.Element;
1229
+
1230
+ interface Price extends Pick<PriceLabelProps, 'finalPrice' | 'originalPrice'> {
1231
+ color?: string;
1232
+ }
1233
+ interface ProductOrderItemProps {
1234
+ title: string;
1235
+ subtitle: string;
1236
+ image: {
1237
+ src: string;
1238
+ alt: string;
1231
1239
  };
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
- };
1240
+ price: Price;
1241
+ tag?: {
1242
+ text: string;
1243
+ backgroundColor: string;
1272
1244
  };
1273
- input: {
1274
- background: string;
1245
+ }
1246
+ declare const SimpleOrderItem: ({ title, subtitle, image, price, tag }: ProductOrderItemProps) => JSX.Element;
1247
+
1248
+ interface ReviewProps {
1249
+ reviewerName: string;
1250
+ date: Date;
1251
+ rating: number;
1252
+ stars: {
1275
1253
  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
- };
1254
+ size: ComponentSize.Medium | ComponentSize.Small;
1292
1255
  };
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;
1256
+ title: string;
1257
+ description: string;
1258
+ image: {
1259
+ src: string;
1260
+ alt: string;
1320
1261
  };
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
- };
1262
+ }
1263
+ declare const Review: ({ reviewerName, date, rating, stars, title, description, image }: ReviewProps) => JSX.Element;
1264
+
1265
+ interface SliderNavigationProps {
1266
+ children: JSX.Element[];
1267
+ infinite: boolean;
1268
+ adaptiveHeight: boolean;
1269
+ dotsSize: ComponentSize.Large | ComponentSize.Medium | ComponentSize.Small;
1270
+ dotListMarginTop: number;
1271
+ initialSlide?: number;
1272
+ arrows?: {
1273
+ arrowWidth: number;
1274
+ arrowHeight: number;
1275
+ arrowPadding: number;
1490
1276
  };
1491
- modal: {
1492
- minWidth: string;
1277
+ }
1278
+ declare const SliderNavigation: ({ children, infinite, arrows, adaptiveHeight, dotsSize, dotListMarginTop, initialSlide, }: SliderNavigationProps) => _emotion_react_jsx_runtime.JSX.Element;
1279
+
1280
+ interface DropdownListIconsProps {
1281
+ items: DropdownListIconsItem[];
1282
+ }
1283
+ declare const DropdownListIcons: ({ items }: DropdownListIconsProps) => JSX.Element;
1284
+
1285
+ interface ImageStyleProps {
1286
+ height?: string;
1287
+ width?: string;
1288
+ borderRadius?: string;
1289
+ objectFit?: string;
1290
+ objectPosition?: string;
1291
+ className?: string;
1292
+ }
1293
+ interface ImageProps extends ImageStyleProps {
1294
+ src: string;
1295
+ alt: string;
1296
+ }
1297
+ declare const Image: ({ src, alt, height, width, borderRadius, objectFit, objectPosition, className, }: ImageProps) => JSX.Element;
1298
+
1299
+ interface AmazonPaypalBtnProps {
1300
+ onClick: () => void;
1301
+ }
1302
+ declare const AmazonButton: ({ onClick }: AmazonPaypalBtnProps) => JSX.Element;
1303
+ declare const PaypalButton: ({ onClick }: AmazonPaypalBtnProps) => JSX.Element;
1304
+
1305
+ interface CrossSellCheckboxProps extends rightToLeftProps {
1306
+ imageURL: string;
1307
+ title: string;
1308
+ description: string;
1309
+ freeShippingText: string;
1310
+ onChange: (checked: Boolean) => void;
1311
+ }
1312
+ interface rightToLeftProps {
1313
+ rightToLeft: boolean;
1314
+ }
1315
+ declare const CrossSellCheckbox: ({ imageURL, title, description, freeShippingText, rightToLeft, onChange, }: CrossSellCheckboxProps) => JSX.Element;
1316
+
1317
+ type index_d_CrossSellCheckboxProps = CrossSellCheckboxProps;
1318
+ declare const index_d_CrossSellCheckbox: typeof CrossSellCheckbox;
1319
+ declare namespace index_d {
1320
+ export {
1321
+ index_d_CrossSellCheckboxProps as CrossSellCheckboxProps,
1322
+ index_d_CrossSellCheckbox as CrossSellCheckbox,
1323
+ };
1324
+ }
1325
+
1326
+ interface ProductItemProps {
1327
+ title: string;
1328
+ image: ImageProps;
1329
+ price: Pick<PriceLabelProps, 'finalPrice' | 'originalPrice' | 'color'>;
1330
+ rating: Pick<RatingProps, 'rating' | 'reviews'>;
1331
+ tags?: {
1332
+ categoryTagText: string;
1333
+ seasonOfferTagText: string;
1493
1334
  };
1335
+ alignName?: 'left' | 'center';
1336
+ }
1337
+
1338
+ interface ProductItemSmallMobileProps extends ProductItemProps {
1339
+ size: ComponentSize.Medium | ComponentSize.Small;
1340
+ }
1341
+
1342
+ declare function withProductGrid<P extends ProductItemProps>(ProductItemComponent: React.FC<P>, data: ProductItemProps[]): {
1343
+ (props: Omit<P, 'title' | 'image' | 'price' | 'rating'>): JSX.Element;
1344
+ displayName: string;
1345
+ };
1346
+
1347
+ declare const Collection: {
1348
+ ProductItemMobile: ({ title, image, price, rating, size, tags, alignName, }: ProductItemSmallMobileProps) => _emotion_react_types_jsx_namespace.EmotionJSX.Element;
1349
+ withProductGrid: typeof withProductGrid;
1350
+ };
1351
+
1352
+ interface StarListProps {
1353
+ rating: number;
1354
+ size?: ComponentSize;
1355
+ starsNumber: number;
1356
+ fill: string;
1357
+ }
1358
+ declare const StarList: ({ rating, starsNumber, fill, size, }: StarListProps) => JSX.Element;
1359
+
1360
+ interface DrawerProps {
1361
+ children: React.ReactNode;
1362
+ isOpen: boolean;
1363
+ onClose?: () => void;
1364
+ onOpen?: () => void;
1365
+ onClickOutside?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
1366
+ backgroundColor?: string;
1367
+ backdropColor?: string;
1368
+ position?: 'left' | 'right';
1369
+ width?: string;
1370
+ }
1371
+ declare const Drawer: ({ children, isOpen, onClose, onOpen, backgroundColor, backdropColor, position, width, onClickOutside, }: DrawerProps) => JSX.Element | null;
1372
+
1373
+ interface SpinnerProps {
1374
+ fill: string;
1375
+ background: string;
1376
+ animationDuration?: number;
1377
+ complete?: boolean;
1378
+ completeIconStroke?: number;
1379
+ size?: string;
1380
+ }
1381
+ declare const Spinner: ({ fill, background, animationDuration, complete, completeIconStroke, size, }: SpinnerProps) => JSX.Element;
1382
+
1383
+ interface TagsProps {
1384
+ color?: string;
1385
+ items: string[];
1386
+ onCloseClick: (index: number) => void;
1387
+ }
1388
+ declare const Tags: ({ color, items, onCloseClick }: TagsProps) => JSX.Element;
1389
+
1390
+ declare type FilteringDropdownProps<T> = {
1391
+ options: DropdownOption<T>[];
1392
+ disabled?: boolean;
1393
+ wide?: boolean;
1394
+ onChange: (options: DropdownOption<T>[]) => void;
1395
+ filter?: boolean;
1396
+ sliceAfter?: number;
1397
+ placeHolder: string;
1494
1398
  };
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>;
1399
+ declare function FilteringDropdown<T>({ options, disabled, placeHolder, wide, sliceAfter, filter, onChange, }: FilteringDropdownProps<T>): JSX.Element;
1400
+
1401
+ interface PaginationProps {
1402
+ from: number;
1403
+ to: number;
1404
+ onChange: (page: number) => void;
1405
+ currentPage?: number;
1406
+ underlineActive?: boolean;
1407
+ boldActive?: boolean;
1408
+ disabled?: boolean;
1409
+ }
1410
+ declare const Pagination: ({ from, to, currentPage, onChange, underlineActive, boldActive, disabled, }: PaginationProps) => JSX.Element;
1411
+
1412
+ declare const Text: FC<TextProps>;
1413
+ declare type TextHeroProps = {
1414
+ variant: 'hero1' | 'hero2' | 'hero3';
1415
+ weight?: 'heavy' | 'bold' | 'demi';
1416
+ size?: 'regular';
1417
+ underline?: never;
1418
+ disabled?: never;
1419
+ wide?: never;
1420
+ original?: never;
1421
+ allCaps?: never;
1505
1422
  };
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
- }>;
1423
+ declare type TextDisplayProps = {
1424
+ variant: 'display1' | 'display2';
1425
+ weight?: 'bold' | 'demi';
1426
+ size?: 'regular';
1427
+ underline?: never;
1428
+ disabled?: never;
1429
+ wide?: never;
1430
+ original?: never;
1431
+ allCaps?: never;
1515
1432
  };
1516
- declare type ThemeAssets = {
1517
- images: {
1518
- favicon: string;
1519
- logo: string;
1520
- };
1521
- [key: string]: any;
1522
- };
1433
+ declare type TextHeadingProps = {
1434
+ variant: 'heading1' | 'heading2' | 'heading3' | 'heading4' | 'heading5' | 'heading6';
1435
+ weight?: 'bold' | 'demi' | 'regular';
1436
+ size?: 'regular';
1437
+ underline?: never;
1438
+ disabled?: never;
1439
+ wide?: never;
1440
+ original?: never;
1441
+ allCaps?: never;
1442
+ };
1443
+ declare type TextBodyProps = {
1444
+ variant: 'body';
1445
+ size?: 'regular' | 'small';
1446
+ weight?: 'bold' | 'demi' | 'regular';
1447
+ underline?: never;
1448
+ disabled?: never;
1449
+ wide?: never;
1450
+ original?: never;
1451
+ allCaps?: never;
1452
+ };
1453
+ declare type TextButtonProps = {
1454
+ variant: 'button';
1455
+ size: 'large' | 'regular' | 'small';
1456
+ weight: 'bold' | 'demi';
1457
+ underline?: never;
1458
+ disabled?: never;
1459
+ wide?: boolean;
1460
+ original?: never;
1461
+ allCaps?: never;
1462
+ };
1463
+ declare type TextPricingProps = {
1464
+ variant: 'pricing';
1465
+ size: 'large' | 'medium' | 'regular' | 'small';
1466
+ weight?: never;
1467
+ underline?: never;
1468
+ disabled?: never;
1469
+ wide?: never;
1470
+ original?: boolean;
1471
+ allCaps?: never;
1472
+ };
1473
+ declare type TextLinkProps = {
1474
+ variant: 'link';
1475
+ weight?: 'demi' | 'regular';
1476
+ size?: 'regular' | 'small';
1477
+ underline?: boolean;
1478
+ disabled?: boolean;
1479
+ wide?: never;
1480
+ original?: never;
1481
+ allCaps?: never;
1482
+ } & AnchorHTMLAttributes<'a'>;
1483
+ declare type TextLabelProps = {
1484
+ variant: 'label';
1485
+ weight?: 'regular' | 'demi';
1486
+ size?: 'regular' | 'small';
1487
+ underline?: never;
1488
+ disabled?: boolean;
1489
+ wide?: never;
1490
+ original?: never;
1491
+ allCaps?: never;
1492
+ } & LabelHTMLAttributes<'label'>;
1493
+ declare type TextTagProps = {
1494
+ variant: 'tag';
1495
+ size?: 'regular' | 'small' | 'x-small';
1496
+ weight?: 'regular' | 'demi' | 'bold';
1497
+ underline?: never;
1498
+ disabled?: boolean;
1499
+ wide?: never;
1500
+ original?: never;
1501
+ allCaps?: boolean;
1502
+ };
1503
+ declare type TextProps = AriaAttributes & {
1504
+ style?: CSSProperties;
1505
+ className?: string;
1506
+ } & (TextHeroProps | TextDisplayProps | TextHeadingProps | TextBodyProps | TextLinkProps | TextButtonProps | TextPricingProps | TextLabelProps | TextTagProps);
1507
+
1508
+ interface SearchBarProps {
1509
+ suggestions: SearchBarOptionItem[];
1510
+ resultOptions: SearchBarOptionItem[];
1511
+ onChange: (text: string) => void;
1512
+ onSearch: (term: string) => void;
1513
+ resultsPanelDataTestId?: string;
1514
+ }
1515
+ declare const SearchBar: ({ suggestions, resultOptions, onChange, onSearch, resultsPanelDataTestId, }: SearchBarProps) => JSX.Element;
1516
+
1517
+ interface ProductGalleryMobileProps {
1518
+ images: ImageType[];
1519
+ selectedValue?: ImageType;
1520
+ DiscountTagElement?: JSX.Element;
1521
+ BestSellerTagElement?: JSX.Element;
1522
+ productImageDataTestId?: string;
1523
+ slideDotsDataTestId?: string;
1524
+ }
1525
+ declare const ProductGalleryMobile: ({ images, selectedValue, DiscountTagElement, BestSellerTagElement, productImageDataTestId, slideDotsDataTestId, }: ProductGalleryMobileProps) => JSX.Element;
1526
+
1527
+ interface RadioProps {
1528
+ name: string;
1529
+ value: string;
1530
+ id: string;
1531
+ label: string;
1532
+ size?: ComponentSize.Small | ComponentSize.Medium | ComponentSize.Large;
1533
+ checked?: boolean;
1534
+ disabled?: boolean;
1535
+ onChange: (option: RadioGroupOption) => void;
1536
+ }
1537
+ declare const RadioInput: ({ name, value, id, label, checked, disabled, onChange, size, }: RadioProps) => JSX.Element;
1538
+
1539
+ declare type PortalProps = {
1540
+ id: string;
1541
+ className?: string;
1542
+ };
1543
+ declare const Portal: FC<PortalProps>;
1523
1544
 
1524
1545
  declare const useOnClickOutside: <T extends HTMLElement = HTMLElement>(ref: RefObject<T>, handler: (event: Event) => void) => void;
1525
1546
 
1526
- declare const useWindowDimensions: (breakpoints: ThemeBreakpoints$1) => {
1547
+ declare const useWindowDimensions: (breakpoints: ThemeBreakpoints) => {
1527
1548
  isMobile: boolean;
1528
1549
  windowDimensions: {
1529
1550
  width: number;