@useloops/design-system 1.4.283 → 1.4.285

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/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import * as _mui_material from '@mui/material';
2
- import { SxProps, Theme, PaperProps, PopperProps as PopperProps$1, CSSObject, IconButtonProps as IconButtonProps$1, TooltipProps as TooltipProps$1, BoxProps, ClickAwayListenerProps, FadeProps, TypographyProps as TypographyProps$1, ChipProps as ChipProps$1, AvatarProps as AvatarProps$1, AvatarGroupProps as AvatarGroupProps$1, ButtonProps as ButtonProps$1, CheckboxProps as CheckboxProps$1, ContainerProps, MenuProps as MenuProps$1, MenuItemProps as MenuItemProps$1, FormControlLabelProps as FormControlLabelProps$1, Breakpoint, ButtonGroupProps, TextFieldProps as TextFieldProps$1, LinkProps as LinkProps$1, LinearProgressProps, SelectProps as SelectProps$1, SelectChangeEvent, SkeletonProps as SkeletonProps$1, SwitchProps as SwitchProps$1, PaletteMode, Direction } from '@mui/material';
3
1
  import * as react from 'react';
4
- import react__default, { FC, FunctionComponent, ReactNode, PropsWithChildren, ReactElement, Dispatch, SetStateAction, ChangeEvent } from 'react';
2
+ import react__default, { Dispatch, SetStateAction, FunctionComponent, ReactElement, PropsWithChildren, ChangeEvent, FC, ReactNode } from 'react';
3
+ import * as _mui_material from '@mui/material';
4
+ import { SxProps, Theme, CSSObject, AvatarProps as AvatarProps$1, AvatarGroupProps as AvatarGroupProps$1, ButtonProps as ButtonProps$1, CheckboxProps as CheckboxProps$1, ContainerProps, MenuProps as MenuProps$1, MenuItemProps as MenuItemProps$1, FormControlLabelProps as FormControlLabelProps$1, Breakpoint, TypographyProps as TypographyProps$1, IconButtonProps as IconButtonProps$1, TooltipProps as TooltipProps$1, BoxProps, ButtonGroupProps, TextFieldProps as TextFieldProps$1, LinkProps as LinkProps$1, PaperProps, PopperProps as PopperProps$1, ClickAwayListenerProps, FadeProps, LinearProgressProps, SelectProps as SelectProps$1, SelectChangeEvent, SkeletonProps as SkeletonProps$1, SwitchProps as SwitchProps$1, ChipProps as ChipProps$1, PaletteMode, Direction } from '@mui/material';
5
5
  import { PopupState } from 'material-ui-popup-state/hooks';
6
6
  import * as react_jsx_runtime from 'react/jsx-runtime';
7
7
  import { ChipProps } from '@mui/material/Chip';
@@ -654,21 +654,180 @@ interface CustomTheme {
654
654
  };
655
655
  }
656
656
 
657
- type SurfaceVariation = 'default' | 'sunken' | 'raised' | 'overlay';
658
- type BorderRadius = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
657
+ declare const emailValidation: {
658
+ pattern: {
659
+ value: RegExp;
660
+ message: string;
661
+ };
662
+ };
659
663
 
660
- interface SurfaceProps extends PaperProps {
661
- variation?: SurfaceVariation;
662
- borderradius?: BorderRadius;
664
+ declare const chooseArticle: (word: string) => string;
665
+ declare const defaultInputValidation: (inputName?: string, isRequired?: boolean, maxLength?: number) => {
666
+ required?: string | undefined;
667
+ maxLength: {
668
+ value: number;
669
+ message: string;
670
+ };
671
+ };
672
+ declare const DEFAULT_MAX_INPUT_LENGTH: number;
673
+
674
+ declare const passwordValidation: (min?: number) => {
675
+ minLength: {
676
+ value: number;
677
+ message: string;
678
+ };
679
+ equal: {
680
+ value: string;
681
+ message: string;
682
+ };
683
+ };
684
+
685
+ declare const subtle: (theme: Theme) => {
686
+ backgroundColor: string;
687
+ fontWeight: number;
688
+ '&:focus:before': {
689
+ boxShadow: string;
690
+ };
691
+ '&:focus-visible': {
692
+ boxShadow: string;
693
+ };
694
+ };
695
+ declare const outlined$1: (theme: Theme) => {
696
+ backgroundColor: string;
697
+ border: string;
698
+ '&:focus:before': {
699
+ boxShadow: string;
700
+ };
701
+ '&:hover': {
702
+ backgroundColor: string;
703
+ };
704
+ '&:focus-visible': {
705
+ boxShadow: string;
706
+ };
707
+ '&:active': {
708
+ backgroundColor: string;
709
+ };
710
+ '&:disabled': {
711
+ border: string;
712
+ };
713
+ };
714
+ declare const secondary: (theme: Theme) => {
715
+ backgroundColor: ColorRange;
716
+ '&:focus:before': {
717
+ boxShadow: string;
718
+ };
719
+ '&:hover': {
720
+ backgroundColor: ColorRange;
721
+ };
722
+ '&:focus-visible': {
723
+ boxShadow: string;
724
+ };
725
+ '&:active': {
726
+ backgroundColor: ColorRange;
727
+ };
728
+ };
729
+ declare const primary: (theme: Theme) => {
730
+ backgroundColor: ColorRange;
731
+ color: string;
732
+ '&:focus:before': {
733
+ boxShadow: string;
734
+ };
735
+ '&:hover': {
736
+ backgroundColor: ColorRange;
737
+ color: string;
738
+ '&::before': {
739
+ backgroundColor: string;
740
+ };
741
+ };
742
+ '&:focus-visible': {
743
+ boxShadow: string;
744
+ '&::before': {
745
+ backgroundColor: string;
746
+ };
747
+ };
748
+ '&:active': {
749
+ backgroundColor: ColorRange;
750
+ color: string;
751
+ '&::before': {
752
+ backgroundColor: string;
753
+ };
754
+ };
755
+ };
756
+ declare const buttonInteraction: (theme: Theme, active?: boolean) => {
757
+ backgroundColor: string;
758
+ fontWeight: number;
759
+ '&:focus:before': {
760
+ boxShadow: string;
761
+ };
762
+ '&:focus-visible': {
763
+ boxShadow: string;
764
+ };
765
+ '&:hover': {
766
+ backgroundColor: string;
767
+ };
768
+ '&:focus': {
769
+ backgroundColor: string;
770
+ };
771
+ '&:active': {
772
+ backgroundColor: string;
773
+ };
774
+ cursor: string;
775
+ '&:disabled': {
776
+ backgroundColor: string;
777
+ color: string;
778
+ };
779
+ };
780
+ type ButtonSizing = Exclude<GenericSizeMap, 'none'>;
781
+ declare const getIconSizing$1: (sizing: ButtonSizing) => CSSObject;
782
+ declare const getButtonTypography: (sizing: ButtonSizing) => CSSObject;
783
+ declare const getButtonSizing: (sizing: ButtonSizing) => CSSObject;
784
+
785
+ interface BackgroundOptions {
786
+ texture?: 'none' | 'noise1';
787
+ gradient?: 'tone1' | 'tone2' | 'tone3' | 'tone4';
663
788
  }
664
- declare const Surface: FC<SurfaceProps>;
789
+ declare const backgroundCreator: (theme: Theme, options: BackgroundOptions) => string;
665
790
 
666
- interface AuthContainerSurfaceProps extends SurfaceProps {
667
- headContent?: ReactNode;
668
- sx?: SxProps<Theme>;
669
- children: ReactNode;
791
+ type SupportedCurrency = 'gbp' | 'eur' | 'usd';
792
+ type SupportedFrequency = 'monthly' | 'annual';
793
+ interface AnnualControllerProps {
794
+ body: string;
795
+ currency: string;
796
+ changeCurrencyEvent?: (value: string) => void;
797
+ frequency: string;
798
+ heading: string;
799
+ setCurrency?: Dispatch<SetStateAction<SupportedCurrency>>;
800
+ setFrequency?: Dispatch<SetStateAction<SupportedFrequency>>;
801
+ togglePayAnnuallyEvent?: () => void;
802
+ selections?: {
803
+ value: SupportedCurrency;
804
+ label: string;
805
+ }[];
670
806
  }
671
- declare const AuthContainerSurface: FunctionComponent<AuthContainerSurfaceProps>;
807
+ declare const AnnualController: FunctionComponent<AnnualControllerProps>;
808
+
809
+ interface AuthFormHeaderProps {
810
+ logo?: ReactElement | false | undefined;
811
+ headerText?: string;
812
+ subText?: ReactElement | string;
813
+ }
814
+ declare const AuthFormHeader: FunctionComponent<AuthFormHeaderProps>;
815
+
816
+ interface AvatarProps extends AvatarProps$1 {
817
+ sizing?: 'xs' | 'sm' | 'lg';
818
+ }
819
+ declare const Avatar: FunctionComponent<AvatarProps>;
820
+
821
+ interface AvatarGroupProps extends AvatarGroupProps$1 {
822
+ variation?: 'primary';
823
+ max?: number;
824
+ sx: SxProps<Theme>;
825
+ }
826
+ declare const AvatarGroup: FunctionComponent<AvatarGroupProps>;
827
+
828
+ interface BadgeProps extends PropsWithChildren {
829
+ }
830
+ declare const Badge: FunctionComponent<BadgeProps>;
672
831
 
673
832
  interface BreadcrumbLink {
674
833
  label: string;
@@ -679,536 +838,40 @@ interface BreadcrumbProps {
679
838
  }
680
839
  declare const Breadcrumb: FunctionComponent<BreadcrumbProps>;
681
840
 
682
- interface HeaderProps {
683
- backHref?: string;
684
- breadcrumbLinks?: BreadcrumbLink[];
685
- buttons?: ReactNode;
686
- controlBar?: ReactNode;
687
- title?: string;
688
- }
689
- declare const Header: FunctionComponent<HeaderProps>;
690
-
691
- interface LoopItemProps extends PropsWithChildren {
692
- onClick: () => void;
693
- id: string;
694
- thumbnail: string;
695
- title: string;
696
- active?: boolean;
841
+ interface ButtonBaseProps extends ButtonProps$1 {
697
842
  loading?: boolean;
698
- testCount: number | null;
699
- draftCount: number | null;
843
+ sizing: ButtonSizing;
700
844
  }
701
- declare const LoopItem: FunctionComponent<LoopItemProps>;
845
+ declare const ButtonBase: ({ children, loading, sizing, ...rest }: ButtonBaseProps) => react_jsx_runtime.JSX.Element;
702
846
 
703
- interface LoopItemEmptyProps extends PropsWithChildren {
704
- onClick: () => void;
847
+ interface ButtonProps extends Partial<ButtonBaseProps> {
848
+ variation?: 'primary' | 'secondary' | 'outlined' | 'subtle';
849
+ href?: string;
850
+ fullWidth?: boolean;
851
+ endIcon?: ReactElement;
852
+ startIcon?: ReactElement;
705
853
  }
706
- declare const LoopItemEmpty: react.ForwardRefExoticComponent<LoopItemEmptyProps & react.RefAttributes<HTMLDivElement>>;
854
+ declare const Button: FunctionComponent<ButtonProps>;
707
855
 
708
- type NavigationButtonSizing = 'sm' | 'md' | 'lg';
709
- interface NavigationButtonProps {
710
- active?: boolean;
711
- danger?: boolean;
712
- fullWidth?: boolean;
713
- href?: string;
714
- target?: '_blank' | '_self' | '_parent' | '_top';
715
- external?: boolean;
716
- icon?: IconName;
717
- label?: string;
718
- navigationSizing?: NavigationSizing;
719
- onClick?: () => void;
720
- sizing?: NavigationButtonSizing;
856
+ interface StyledCheckboxProps extends CheckboxProps$1 {
857
+ sizing?: 'default' | 'lg';
721
858
  }
722
- declare const NavigationButton: FunctionComponent<NavigationButtonProps>;
723
859
 
724
- interface MenuItemProps {
725
- active?: boolean;
726
- children?: MenuItemProps[];
727
- baseState?: PopupState;
728
- closeOnClick?: boolean;
729
- danger?: boolean;
730
- divider?: boolean;
731
- heading?: boolean;
732
- label?: string;
733
- onClick?: () => void;
734
- selected?: boolean;
735
- selectOne?: boolean;
736
- width?: number;
860
+ interface CheckboxProps {
861
+ sizing?: StyledCheckboxProps['sizing'];
862
+ checked?: boolean;
863
+ indeterminate?: StyledCheckboxProps['indeterminate'];
864
+ checkboxLabel?: string | ReactElement;
865
+ internalChange?: () => void;
866
+ onChange?: (event: React.SyntheticEvent<Element, Event>, checked: boolean) => void;
867
+ inputRef?: React.RefObject<HTMLInputElement>;
868
+ defaultChecked?: boolean;
869
+ disabled?: boolean;
870
+ id?: string;
871
+ required?: boolean;
872
+ value?: boolean;
737
873
  }
738
-
739
- interface UserMenuProps extends PropsWithChildren {
740
- avatar?: string;
741
- email: string;
742
- menuItems?: MenuItemProps[];
743
- name: string;
744
- offset?: number[];
745
- placement?: PopperProps$1['placement'];
746
- rounded?: boolean;
747
- width?: number;
748
- }
749
- declare const UserMenu: FunctionComponent<UserMenuProps>;
750
-
751
- type NavigationSizing = 'sm' | 'lg';
752
- interface NavigationProps {
753
- isMobile?: boolean;
754
- logoLink?: () => void;
755
- nudgeProps?: NudgeProps$1;
756
- primaryMenuItemProps?: NavigationButtonProps[];
757
- secondaryMenuItemProps?: NavigationButtonProps[];
758
- sizing?: NavigationSizing;
759
- tertiaryMenuItemProps?: NavigationButtonProps[];
760
- toggleMenuOnClick?: () => void;
761
- userMenuProps: UserMenuProps;
762
- }
763
- interface NudgeProps$1 extends PropsWithChildren {
764
- description: string;
765
- notification: boolean;
766
- title: string;
767
- }
768
- declare const Navigation: FunctionComponent<NavigationProps>;
769
-
770
- type OnboardingItem = {
771
- complete: boolean;
772
- title: string;
773
- description?: string;
774
- onClick?: () => void;
775
- };
776
- interface OnboardingCardProps {
777
- cardTitle: string;
778
- cardSubtitle: string;
779
- welcomeImageUrl: string;
780
- welcomeImageAltDescription?: string;
781
- items: OnboardingItem[];
782
- }
783
- declare const OnboardingCard: FunctionComponent<OnboardingCardProps>;
784
-
785
- interface ProjectItemViewType {
786
- viewType?: 'grid' | 'list';
787
- }
788
- interface UserProps {
789
- id: string;
790
- email: string;
791
- firstName: string;
792
- lastName: string;
793
- country: string | null;
794
- city: string | null;
795
- profileImage: string | null;
796
- jobTitle: string | null;
797
- role: string | null;
798
- }
799
- interface ProjectItemDataProps {
800
- id: string;
801
- postId: string;
802
- versionId: string;
803
- thumbnail: string;
804
- demoSurveyId: string;
805
- title: string;
806
- description: string | null;
807
- demoProjectSummary?: string | null;
808
- demoSurveySummary?: string | null;
809
- name: string;
810
- user: UserProps;
811
- isAuthor: boolean;
812
- isDemo: boolean;
813
- loopCount: number | null;
814
- testCount: number | null;
815
- draftCount: number | null;
816
- updatedAt?: string;
817
- tags?: string[] | null;
818
- onClick?: () => void;
819
- loading?: boolean;
820
- moreActions?: React.ReactNode;
821
- }
822
- interface ProjectItemProps extends ProjectItemDataProps, ProjectItemViewType {
823
- }
824
- interface ProjectItemEmptyProps {
825
- onClick?: () => void;
826
- viewType?: 'grid' | 'list';
827
- title: string;
828
- }
829
-
830
- declare const ProjectItem: FunctionComponent<ProjectItemProps>;
831
-
832
- declare const ProjectItemEmpty: FunctionComponent<ProjectItemEmptyProps>;
833
-
834
- interface ProjectsProps {
835
- }
836
- declare const Projects: FunctionComponent<ProjectsProps>;
837
-
838
- interface SectionHeaderProps {
839
- buttons?: ReactNode;
840
- loading?: boolean;
841
- subtitle?: string;
842
- title?: string;
843
- }
844
- declare const SectionHeader: FunctionComponent<SectionHeaderProps>;
845
-
846
- type IconButtonSizing = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
847
- type IconButtonShapeMap = 'default' | 'round';
848
- type IconButtonVariation = 'default' | 'toggle' | 'outlined' | 'raised';
849
-
850
- declare const defaultStyle: (theme: Theme) => CSSObject;
851
- declare const toggle: (theme: Theme) => CSSObject;
852
- declare const outlined$1: (theme: Theme) => CSSObject;
853
- declare const raised: (theme: Theme) => CSSObject;
854
- declare const getIconButtonRadius: (shape: IconButtonShapeMap, theme: Theme) => CSSObject;
855
- declare const buttonSizeMap: {
856
- xs: number;
857
- sm: number;
858
- md: number;
859
- lg: number;
860
- xl: number;
861
- };
862
- declare const getIconButtonSizing: (sizing: IconButtonSizing) => CSSObject;
863
- declare const IconSizeMap: {
864
- xs: number;
865
- sm: number;
866
- md: number;
867
- lg: number;
868
- xl: number;
869
- };
870
- declare const getIconSizing$1: (sizing: IconButtonSizing) => CSSObject;
871
-
872
- declare const IconButton_variantHelpers_IconSizeMap: typeof IconSizeMap;
873
- declare const IconButton_variantHelpers_buttonSizeMap: typeof buttonSizeMap;
874
- declare const IconButton_variantHelpers_defaultStyle: typeof defaultStyle;
875
- declare const IconButton_variantHelpers_getIconButtonRadius: typeof getIconButtonRadius;
876
- declare const IconButton_variantHelpers_getIconButtonSizing: typeof getIconButtonSizing;
877
- declare const IconButton_variantHelpers_raised: typeof raised;
878
- declare const IconButton_variantHelpers_toggle: typeof toggle;
879
- declare namespace IconButton_variantHelpers {
880
- export { IconButton_variantHelpers_IconSizeMap as IconSizeMap, IconButton_variantHelpers_buttonSizeMap as buttonSizeMap, IconButton_variantHelpers_defaultStyle as defaultStyle, IconButton_variantHelpers_getIconButtonRadius as getIconButtonRadius, IconButton_variantHelpers_getIconButtonSizing as getIconButtonSizing, getIconSizing$1 as getIconSizing, outlined$1 as outlined, IconButton_variantHelpers_raised as raised, IconButton_variantHelpers_toggle as toggle };
881
- }
882
-
883
- interface IconButtonBaseProps extends IconButtonProps$1 {
884
- variation?: IconButtonVariation;
885
- shape?: IconButtonShapeMap;
886
- sizing?: IconButtonSizing;
887
- }
888
- declare const IconButtonBase: ({ children, ...rest }: IconButtonBaseProps) => react_jsx_runtime.JSX.Element;
889
-
890
- interface TooltipProps extends Omit<Partial<TooltipProps$1>, 'title' | 'slotProps'> {
891
- message: TooltipProps$1['title'];
892
- variation?: 'primary';
893
- slotProps?: TooltipProps$1['slotProps'] & {
894
- wrapper?: BoxProps;
895
- };
896
- }
897
- declare const Tooltip: FunctionComponent<TooltipProps>;
898
-
899
- interface IconButtonProps extends IconButtonBaseProps {
900
- icon: ReactElement;
901
- loading?: boolean;
902
- tooltipMessage?: TooltipProps['message'];
903
- slotProps?: {
904
- tooltip?: Omit<TooltipProps, 'message'>;
905
- };
906
- emojiMode?: boolean;
907
- }
908
- declare const IconButton: react.ForwardRefExoticComponent<Omit<IconButtonProps, "ref"> & react.RefAttributes<HTMLButtonElement>>;
909
-
910
- type BindOn = 'trigger' | 'contextMenu' | 'toggle' | 'hover' | 'focus' | 'doubleClick';
911
- interface PopperProps {
912
- popperProps?: Partial<PopperProps$1>;
913
- clickAwayListenerProps?: Partial<Omit<ClickAwayListenerProps, 'onClickAway'> & {
914
- onClickAway?: (event: MouseEvent | TouchEvent, state: PopupState) => void;
915
- }>;
916
- transitionFadeProps?: Pick<FadeProps, 'easing' | 'timeout' | 'appear' | 'enter' | 'exit'>;
917
- surfaceProps?: SurfaceProps;
918
- bindOn?: BindOn[];
919
- trigger: ReactElement;
920
- children: ReactElement;
921
- state?: PopupState;
922
- }
923
- declare const Popper: ({ bindOn, trigger, children, state, ...props }: PopperProps) => react_jsx_runtime.JSX.Element;
924
-
925
- interface MenuProps extends PropsWithChildren {
926
- menuItems?: MenuItemProps[];
927
- offset?: number[];
928
- placement?: PopperProps$1['placement'];
929
- state?: PopupState;
930
- bindOn?: PopperProps['bindOn'];
931
- trigger: ReactElement;
932
- width?: number;
933
- slotProps?: {
934
- popper?: PopperProps['popperProps'];
935
- };
936
- }
937
- declare const Menu: FunctionComponent<MenuProps>;
938
-
939
- interface StyledChipProps extends ChipProps {
940
- variation?: 'default' | 'peach' | 'peachDark' | 'purple';
941
- weight?: 'heavy' | 'light';
942
- }
943
-
944
- interface PillProps extends Omit<StyledChipProps, 'size' | 'color' | 'label' | 'children'> {
945
- body: string;
946
- }
947
- declare const Pill: react.ForwardRefExoticComponent<Omit<PillProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
948
-
949
- interface TypographyProps extends Omit<TypographyProps$1, 'ref'> {
950
- clamp?: number;
951
- component: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p';
952
- type?: 'default' | 'button';
953
- variation?: 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'xxxl';
954
- weight?: 'default' | 'bold';
955
- sx?: SxProps<Theme>;
956
- }
957
- declare const Typography: react.ForwardRefExoticComponent<TypographyProps & react.RefAttributes<HTMLHeadingElement | HTMLParagraphElement>>;
958
-
959
- interface StyledTestStatusProps extends ChipProps$1 {
960
- colorScheme: 'green' | 'yellow' | 'blue';
961
- }
962
- interface TestStatusProps extends Partial<StyledTestStatusProps> {
963
- status: 'results-ready' | 'in-progress' | 'draft';
964
- }
965
-
966
- interface TestItemProps extends SurfaceProps {
967
- status: TestStatusProps['status'];
968
- menuItems?: MenuProps['menuItems'];
969
- title: string;
970
- tags?: string[];
971
- stats?: {
972
- progress?: {
973
- percentage: number;
974
- completed: number;
975
- total: number;
976
- incomplete: number;
977
- incompletePercentage: number;
978
- averageDuration: string;
979
- estimatedTimeToComplete: string;
980
- };
981
- count?: {
982
- answers: number;
983
- comments: number;
984
- };
985
- };
986
- user: {
987
- name: string;
988
- avatarUrl?: string;
989
- activityDescription: string;
990
- };
991
- slotProps?: {
992
- title?: Partial<Omit<TypographyProps, 'children'>>;
993
- status?: Partial<Omit<TestStatusProps, 'status'>>;
994
- menu?: Partial<Omit<MenuProps, 'trigger' | 'menuItems'>>;
995
- pill?: Partial<Omit<PillProps, 'body'>>;
996
- tagsExpand?: Partial<Omit<PillProps, 'body'>>;
997
- tagsCollapse?: Partial<IconButtonProps>;
998
- };
999
- loading?: boolean;
1000
- }
1001
- declare const TestItem: react__default.FC<TestItemProps>;
1002
-
1003
- declare const emailValidation: {
1004
- pattern: {
1005
- value: RegExp;
1006
- message: string;
1007
- };
1008
- };
1009
-
1010
- declare const chooseArticle: (word: string) => string;
1011
- declare const defaultInputValidation: (inputName?: string, isRequired?: boolean, maxLength?: number) => {
1012
- required?: string | undefined;
1013
- maxLength: {
1014
- value: number;
1015
- message: string;
1016
- };
1017
- };
1018
- declare const DEFAULT_MAX_INPUT_LENGTH: number;
1019
-
1020
- declare const passwordValidation: (min?: number) => {
1021
- minLength: {
1022
- value: number;
1023
- message: string;
1024
- };
1025
- equal: {
1026
- value: string;
1027
- message: string;
1028
- };
1029
- };
1030
-
1031
- declare const subtle: (theme: Theme) => {
1032
- backgroundColor: string;
1033
- fontWeight: number;
1034
- '&:focus:before': {
1035
- boxShadow: string;
1036
- };
1037
- '&:focus-visible': {
1038
- boxShadow: string;
1039
- };
1040
- };
1041
- declare const outlined: (theme: Theme) => {
1042
- backgroundColor: string;
1043
- border: string;
1044
- '&:focus:before': {
1045
- boxShadow: string;
1046
- };
1047
- '&:hover': {
1048
- backgroundColor: string;
1049
- };
1050
- '&:focus-visible': {
1051
- boxShadow: string;
1052
- };
1053
- '&:active': {
1054
- backgroundColor: string;
1055
- };
1056
- '&:disabled': {
1057
- border: string;
1058
- };
1059
- };
1060
- declare const secondary: (theme: Theme) => {
1061
- backgroundColor: ColorRange;
1062
- '&:focus:before': {
1063
- boxShadow: string;
1064
- };
1065
- '&:hover': {
1066
- backgroundColor: ColorRange;
1067
- };
1068
- '&:focus-visible': {
1069
- boxShadow: string;
1070
- };
1071
- '&:active': {
1072
- backgroundColor: ColorRange;
1073
- };
1074
- };
1075
- declare const primary: (theme: Theme) => {
1076
- backgroundColor: ColorRange;
1077
- color: string;
1078
- '&:focus:before': {
1079
- boxShadow: string;
1080
- };
1081
- '&:hover': {
1082
- backgroundColor: ColorRange;
1083
- color: string;
1084
- '&::before': {
1085
- backgroundColor: string;
1086
- };
1087
- };
1088
- '&:focus-visible': {
1089
- boxShadow: string;
1090
- '&::before': {
1091
- backgroundColor: string;
1092
- };
1093
- };
1094
- '&:active': {
1095
- backgroundColor: ColorRange;
1096
- color: string;
1097
- '&::before': {
1098
- backgroundColor: string;
1099
- };
1100
- };
1101
- };
1102
- declare const buttonInteraction: (theme: Theme, active?: boolean) => {
1103
- backgroundColor: string;
1104
- fontWeight: number;
1105
- '&:focus:before': {
1106
- boxShadow: string;
1107
- };
1108
- '&:focus-visible': {
1109
- boxShadow: string;
1110
- };
1111
- '&:hover': {
1112
- backgroundColor: string;
1113
- };
1114
- '&:focus': {
1115
- backgroundColor: string;
1116
- };
1117
- '&:active': {
1118
- backgroundColor: string;
1119
- };
1120
- cursor: string;
1121
- '&:disabled': {
1122
- backgroundColor: string;
1123
- color: string;
1124
- };
1125
- };
1126
- type ButtonSizing = Exclude<GenericSizeMap, 'none'>;
1127
- declare const getIconSizing: (sizing: ButtonSizing) => CSSObject;
1128
- declare const getButtonTypography: (sizing: ButtonSizing) => CSSObject;
1129
- declare const getButtonSizing: (sizing: ButtonSizing) => CSSObject;
1130
-
1131
- interface BackgroundOptions {
1132
- texture?: 'none' | 'noise1';
1133
- gradient?: 'tone1' | 'tone2' | 'tone3' | 'tone4';
1134
- }
1135
- declare const backgroundCreator: (theme: Theme, options: BackgroundOptions) => string;
1136
-
1137
- type SupportedCurrency = 'gbp' | 'eur' | 'usd';
1138
- type SupportedFrequency = 'monthly' | 'annual';
1139
- interface AnnualControllerProps {
1140
- body: string;
1141
- currency: string;
1142
- changeCurrencyEvent?: (value: string) => void;
1143
- frequency: string;
1144
- heading: string;
1145
- setCurrency?: Dispatch<SetStateAction<SupportedCurrency>>;
1146
- setFrequency?: Dispatch<SetStateAction<SupportedFrequency>>;
1147
- togglePayAnnuallyEvent?: () => void;
1148
- selections?: {
1149
- value: SupportedCurrency;
1150
- label: string;
1151
- }[];
1152
- }
1153
- declare const AnnualController: FunctionComponent<AnnualControllerProps>;
1154
-
1155
- interface AuthFormHeaderProps {
1156
- logo?: ReactElement | false | undefined;
1157
- headerText?: string;
1158
- subText?: ReactElement | string;
1159
- }
1160
- declare const AuthFormHeader: FunctionComponent<AuthFormHeaderProps>;
1161
-
1162
- interface AvatarProps extends AvatarProps$1 {
1163
- sizing?: 'xs' | 'sm' | 'lg';
1164
- }
1165
- declare const Avatar: FunctionComponent<AvatarProps>;
1166
-
1167
- interface AvatarGroupProps extends AvatarGroupProps$1 {
1168
- variation?: 'primary';
1169
- max?: number;
1170
- sx: SxProps<Theme>;
1171
- }
1172
- declare const AvatarGroup: FunctionComponent<AvatarGroupProps>;
1173
-
1174
- interface BadgeProps extends PropsWithChildren {
1175
- }
1176
- declare const Badge: FunctionComponent<BadgeProps>;
1177
-
1178
- interface ButtonBaseProps extends ButtonProps$1 {
1179
- loading?: boolean;
1180
- sizing: ButtonSizing;
1181
- }
1182
- declare const ButtonBase: ({ children, loading, sizing, ...rest }: ButtonBaseProps) => react_jsx_runtime.JSX.Element;
1183
-
1184
- interface ButtonProps extends Partial<ButtonBaseProps> {
1185
- variation?: 'primary' | 'secondary' | 'outlined' | 'subtle';
1186
- href?: string;
1187
- fullWidth?: boolean;
1188
- endIcon?: ReactElement;
1189
- startIcon?: ReactElement;
1190
- }
1191
- declare const Button: FunctionComponent<ButtonProps>;
1192
-
1193
- interface StyledCheckboxProps extends CheckboxProps$1 {
1194
- sizing?: 'default' | 'lg';
1195
- }
1196
-
1197
- interface CheckboxProps {
1198
- sizing?: StyledCheckboxProps['sizing'];
1199
- checked?: boolean;
1200
- indeterminate?: StyledCheckboxProps['indeterminate'];
1201
- checkboxLabel?: string | ReactElement;
1202
- internalChange?: () => void;
1203
- onChange?: (event: React.SyntheticEvent<Element, Event>, checked: boolean) => void;
1204
- inputRef?: React.RefObject<HTMLInputElement>;
1205
- defaultChecked?: boolean;
1206
- disabled?: boolean;
1207
- id?: string;
1208
- required?: boolean;
1209
- value?: boolean;
1210
- }
1211
- declare const Checkbox: FunctionComponent<CheckboxProps>;
874
+ declare const Checkbox: FunctionComponent<CheckboxProps>;
1212
875
 
1213
876
  interface CheckboxGroupOption {
1214
877
  label: string;
@@ -1410,12 +1073,88 @@ interface HtmlProps {
1410
1073
  }
1411
1074
  declare const Html: FunctionComponent<HtmlProps>;
1412
1075
 
1076
+ interface TypographyProps extends Omit<TypographyProps$1, 'ref'> {
1077
+ clamp?: number;
1078
+ component: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p';
1079
+ type?: 'default' | 'button';
1080
+ variation?: 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'xxxl';
1081
+ weight?: 'default' | 'bold';
1082
+ sx?: SxProps<Theme>;
1083
+ }
1084
+ declare const Typography: react.ForwardRefExoticComponent<TypographyProps & react.RefAttributes<HTMLHeadingElement | HTMLParagraphElement>>;
1085
+
1413
1086
  type HtmlParserProps = {
1414
1087
  children: string;
1415
1088
  typographyProps?: Partial<TypographyProps>;
1416
1089
  };
1417
1090
  declare const HtmlParser: FC<HtmlParserProps>;
1418
1091
 
1092
+ type IconButtonSizing = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
1093
+ type IconButtonShapeMap = 'default' | 'round';
1094
+ type IconButtonVariation = 'default' | 'toggle' | 'outlined' | 'raised';
1095
+
1096
+ declare const defaultStyle: (theme: Theme) => CSSObject;
1097
+ declare const toggle: (theme: Theme) => CSSObject;
1098
+ declare const outlined: (theme: Theme) => CSSObject;
1099
+ declare const raised: (theme: Theme) => CSSObject;
1100
+ declare const getIconButtonRadius: (shape: IconButtonShapeMap, theme: Theme) => CSSObject;
1101
+ declare const buttonSizeMap: {
1102
+ xs: number;
1103
+ sm: number;
1104
+ md: number;
1105
+ lg: number;
1106
+ xl: number;
1107
+ };
1108
+ declare const getIconButtonSizing: (sizing: IconButtonSizing) => CSSObject;
1109
+ declare const IconSizeMap: {
1110
+ xs: number;
1111
+ sm: number;
1112
+ md: number;
1113
+ lg: number;
1114
+ xl: number;
1115
+ };
1116
+ declare const getIconSizing: (sizing: IconButtonSizing) => CSSObject;
1117
+
1118
+ declare const IconButton_variantHelpers_IconSizeMap: typeof IconSizeMap;
1119
+ declare const IconButton_variantHelpers_buttonSizeMap: typeof buttonSizeMap;
1120
+ declare const IconButton_variantHelpers_defaultStyle: typeof defaultStyle;
1121
+ declare const IconButton_variantHelpers_getIconButtonRadius: typeof getIconButtonRadius;
1122
+ declare const IconButton_variantHelpers_getIconButtonSizing: typeof getIconButtonSizing;
1123
+ declare const IconButton_variantHelpers_getIconSizing: typeof getIconSizing;
1124
+ declare const IconButton_variantHelpers_outlined: typeof outlined;
1125
+ declare const IconButton_variantHelpers_raised: typeof raised;
1126
+ declare const IconButton_variantHelpers_toggle: typeof toggle;
1127
+ declare namespace IconButton_variantHelpers {
1128
+ export { IconButton_variantHelpers_IconSizeMap as IconSizeMap, IconButton_variantHelpers_buttonSizeMap as buttonSizeMap, IconButton_variantHelpers_defaultStyle as defaultStyle, IconButton_variantHelpers_getIconButtonRadius as getIconButtonRadius, IconButton_variantHelpers_getIconButtonSizing as getIconButtonSizing, IconButton_variantHelpers_getIconSizing as getIconSizing, IconButton_variantHelpers_outlined as outlined, IconButton_variantHelpers_raised as raised, IconButton_variantHelpers_toggle as toggle };
1129
+ }
1130
+
1131
+ interface IconButtonBaseProps extends IconButtonProps$1 {
1132
+ variation?: IconButtonVariation;
1133
+ shape?: IconButtonShapeMap;
1134
+ sizing?: IconButtonSizing;
1135
+ }
1136
+ declare const IconButtonBase: ({ children, ...rest }: IconButtonBaseProps) => react_jsx_runtime.JSX.Element;
1137
+
1138
+ interface TooltipProps extends Omit<Partial<TooltipProps$1>, 'title' | 'slotProps'> {
1139
+ message: TooltipProps$1['title'];
1140
+ variation?: 'primary';
1141
+ slotProps?: TooltipProps$1['slotProps'] & {
1142
+ wrapper?: BoxProps;
1143
+ };
1144
+ }
1145
+ declare const Tooltip: FunctionComponent<TooltipProps>;
1146
+
1147
+ interface IconButtonProps extends IconButtonBaseProps {
1148
+ icon: ReactElement;
1149
+ loading?: boolean;
1150
+ tooltipMessage?: TooltipProps['message'];
1151
+ slotProps?: {
1152
+ tooltip?: Omit<TooltipProps, 'message'>;
1153
+ };
1154
+ emojiMode?: boolean;
1155
+ }
1156
+ declare const IconButton: react.ForwardRefExoticComponent<Omit<IconButtonProps, "ref"> & react.RefAttributes<HTMLButtonElement>>;
1157
+
1419
1158
  interface IconButtonGroupProps {
1420
1159
  ButtonGroupProps?: ButtonGroupProps;
1421
1160
  variation?: 'default' | 'toggle';
@@ -1476,44 +1215,144 @@ interface LikertProps {
1476
1215
  sizing?: 'default' | 'lg';
1477
1216
  internalChange?: () => void;
1478
1217
  }
1479
- declare const Likert: FunctionComponent<LikertProps>;
1218
+ declare const Likert: FunctionComponent<LikertProps>;
1219
+
1220
+ interface StyledLinkProps extends LinkProps$1 {
1221
+ disabled?: boolean | undefined;
1222
+ }
1223
+
1224
+ interface LinkProps {
1225
+ children: React.ReactNode;
1226
+ href?: string;
1227
+ target?: string;
1228
+ onClick?: StyledLinkProps['onClick'];
1229
+ disabled?: boolean;
1230
+ sx?: SxProps<Theme>;
1231
+ underline?: 'none' | 'hover' | 'always' | undefined;
1232
+ noWrap?: boolean;
1233
+ component?: any;
1234
+ rel?: any;
1235
+ title?: string;
1236
+ }
1237
+ declare const Link: FunctionComponent<LinkProps>;
1238
+
1239
+ interface LoaderProps {
1240
+ }
1241
+ declare const Loader: FunctionComponent<LoaderProps>;
1242
+
1243
+ declare const Logo: FunctionComponent<React.SVGProps<SVGSVGElement>>;
1244
+
1245
+ interface LoopsAiButtonProps {
1246
+ disabled?: boolean;
1247
+ onClick?: () => void;
1248
+ }
1249
+ declare const LoopsAiButton: FunctionComponent<LoopsAiButtonProps>;
1250
+
1251
+ type MarkdownProps = {
1252
+ typographyProps?: Partial<TypographyProps>;
1253
+ children?: string;
1254
+ };
1255
+ declare const Markdown: FC<MarkdownProps>;
1256
+
1257
+ type SurfaceVariation = 'default' | 'sunken' | 'raised' | 'overlay';
1258
+ type BorderRadius = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
1259
+
1260
+ interface SurfaceProps extends PaperProps {
1261
+ variation?: SurfaceVariation;
1262
+ borderradius?: BorderRadius;
1263
+ }
1264
+ declare const Surface: FC<SurfaceProps>;
1265
+
1266
+ type BindOn = 'trigger' | 'contextMenu' | 'toggle' | 'hover' | 'focus' | 'doubleClick';
1267
+ interface PopperProps {
1268
+ popperProps?: Partial<PopperProps$1>;
1269
+ clickAwayListenerProps?: Partial<Omit<ClickAwayListenerProps, 'onClickAway'> & {
1270
+ onClickAway?: (event: MouseEvent | TouchEvent, state: PopupState) => void;
1271
+ }>;
1272
+ transitionFadeProps?: Pick<FadeProps, 'easing' | 'timeout' | 'appear' | 'enter' | 'exit'>;
1273
+ surfaceProps?: SurfaceProps;
1274
+ bindOn?: BindOn[];
1275
+ trigger: ReactElement;
1276
+ children: ReactElement;
1277
+ state?: PopupState;
1278
+ }
1279
+ declare const Popper: ({ bindOn, trigger, children, state, ...props }: PopperProps) => react_jsx_runtime.JSX.Element;
1280
+
1281
+ interface MenuItemProps {
1282
+ baseState?: PopupState;
1283
+ label?: string;
1284
+ active?: boolean;
1285
+ danger?: boolean;
1286
+ divider?: boolean;
1287
+ heading?: boolean;
1288
+ selected?: boolean;
1289
+ closeOnClick?: boolean;
1290
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
1291
+ children?: MenuItemProps[];
1292
+ width?: number;
1293
+ }
1480
1294
 
1481
- interface StyledLinkProps extends LinkProps$1 {
1482
- disabled?: boolean | undefined;
1295
+ interface MenuProps extends PropsWithChildren {
1296
+ menuItems?: MenuItemProps[];
1297
+ offset?: number[];
1298
+ placement?: PopperProps$1['placement'];
1299
+ state?: PopupState;
1300
+ bindOn?: PopperProps['bindOn'];
1301
+ trigger: ReactElement;
1302
+ width?: number;
1303
+ slotProps?: {
1304
+ popper?: PopperProps['popperProps'];
1305
+ surface?: SurfaceProps;
1306
+ };
1483
1307
  }
1308
+ declare const Menu: FunctionComponent<MenuProps>;
1484
1309
 
1485
- interface LinkProps {
1486
- children: React.ReactNode;
1487
- href?: string;
1488
- target?: string;
1489
- onClick?: StyledLinkProps['onClick'];
1490
- disabled?: boolean;
1491
- sx?: SxProps<Theme>;
1492
- underline?: 'none' | 'hover' | 'always' | undefined;
1493
- noWrap?: boolean;
1494
- component?: any;
1495
- rel?: any;
1496
- title?: string;
1310
+ interface UserMenuProps extends PropsWithChildren {
1311
+ avatar?: string;
1312
+ email: string;
1313
+ menuItems?: MenuItemProps[];
1314
+ name: string;
1315
+ offset?: number[];
1316
+ placement?: PopperProps$1['placement'];
1317
+ rounded?: boolean;
1318
+ width?: number;
1497
1319
  }
1498
- declare const Link: FunctionComponent<LinkProps>;
1320
+ declare const UserMenu: FunctionComponent<UserMenuProps>;
1499
1321
 
1500
- interface LoaderProps {
1322
+ type NavigationSizing = 'sm' | 'lg';
1323
+ interface NavigationProps {
1324
+ isMobile?: boolean;
1325
+ logoLink?: () => void;
1326
+ nudgeProps?: NudgeProps$1;
1327
+ primaryMenuItemProps?: NavigationButtonProps[];
1328
+ secondaryMenuItemProps?: NavigationButtonProps[];
1329
+ sizing?: NavigationSizing;
1330
+ tertiaryMenuItemProps?: NavigationButtonProps[];
1331
+ toggleMenuOnClick?: () => void;
1332
+ userMenuProps: UserMenuProps;
1501
1333
  }
1502
- declare const Loader: FunctionComponent<LoaderProps>;
1503
-
1504
- declare const Logo: FunctionComponent<React.SVGProps<SVGSVGElement>>;
1334
+ interface NudgeProps$1 extends PropsWithChildren {
1335
+ description: string;
1336
+ notification: boolean;
1337
+ title: string;
1338
+ }
1339
+ declare const Navigation: FunctionComponent<NavigationProps>;
1505
1340
 
1506
- interface LoopsAiButtonProps {
1507
- disabled?: boolean;
1341
+ type NavigationButtonSizing = 'sm' | 'md' | 'lg';
1342
+ interface NavigationButtonProps {
1343
+ active?: boolean;
1344
+ danger?: boolean;
1345
+ fullWidth?: boolean;
1346
+ href?: string;
1347
+ target?: '_blank' | '_self' | '_parent' | '_top';
1348
+ external?: boolean;
1349
+ icon?: IconName;
1350
+ label?: string;
1351
+ navigationSizing?: NavigationSizing;
1508
1352
  onClick?: () => void;
1353
+ sizing?: NavigationButtonSizing;
1509
1354
  }
1510
- declare const LoopsAiButton: FunctionComponent<LoopsAiButtonProps>;
1511
-
1512
- type MarkdownProps = {
1513
- typographyProps?: Partial<TypographyProps>;
1514
- children?: string;
1515
- };
1516
- declare const Markdown: FC<MarkdownProps>;
1355
+ declare const NavigationButton: FunctionComponent<NavigationButtonProps>;
1517
1356
 
1518
1357
  interface NudgeProps extends PropsWithChildren {
1519
1358
  description: string;
@@ -1537,6 +1376,16 @@ type NumberFieldProps = InputFieldBaseProps & {
1537
1376
  };
1538
1377
  declare const NumberField: FunctionComponent<NumberFieldProps>;
1539
1378
 
1379
+ interface StyledChipProps extends ChipProps {
1380
+ variation?: 'default' | 'peach' | 'peachDark' | 'purple';
1381
+ weight?: 'heavy' | 'light';
1382
+ }
1383
+
1384
+ interface PillProps extends Omit<StyledChipProps, 'size' | 'color' | 'label' | 'children'> {
1385
+ body: string;
1386
+ }
1387
+ declare const Pill: react.ForwardRefExoticComponent<Omit<PillProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
1388
+
1540
1389
  declare const PoweredByWatermarkLogo: () => react_jsx_runtime.JSX.Element;
1541
1390
 
1542
1391
  type ProgressSizing = Exclude<GenericSizeMap, 'none'>;
@@ -1805,6 +1654,172 @@ interface AccordionProps {
1805
1654
  }
1806
1655
  declare const Accordion: FunctionComponent<AccordionProps>;
1807
1656
 
1657
+ interface AssetItemProps {
1658
+ thumbnail: string;
1659
+ size?: 'sm' | 'lg';
1660
+ cover?: boolean;
1661
+ mediaType: 'image' | 'video';
1662
+ loading?: boolean;
1663
+ menuItems: MenuProps['menuItems'];
1664
+ slotProps?: {
1665
+ menu?: Partial<Omit<MenuProps, 'trigger' | 'menuItems'>>;
1666
+ };
1667
+ }
1668
+ declare const AssetItem: FunctionComponent<AssetItemProps>;
1669
+
1670
+ interface AuthContainerSurfaceProps extends SurfaceProps {
1671
+ headContent?: ReactNode;
1672
+ sx?: SxProps<Theme>;
1673
+ children: ReactNode;
1674
+ }
1675
+ declare const AuthContainerSurface: FunctionComponent<AuthContainerSurfaceProps>;
1676
+
1677
+ interface HeaderProps {
1678
+ backHref?: string;
1679
+ breadcrumbLinks?: BreadcrumbLink[];
1680
+ buttons?: ReactNode;
1681
+ controlBar?: ReactNode;
1682
+ title?: string;
1683
+ }
1684
+ declare const Header: FunctionComponent<HeaderProps>;
1685
+
1686
+ interface LoopItemProps extends PropsWithChildren {
1687
+ onClick: () => void;
1688
+ id: string;
1689
+ thumbnail: string;
1690
+ title: string;
1691
+ active?: boolean;
1692
+ loading?: boolean;
1693
+ testCount: number | null;
1694
+ draftCount: number | null;
1695
+ }
1696
+ declare const LoopItem: FunctionComponent<LoopItemProps>;
1697
+
1698
+ interface LoopItemEmptyProps extends PropsWithChildren {
1699
+ onClick: () => void;
1700
+ }
1701
+ declare const LoopItemEmpty: react.ForwardRefExoticComponent<LoopItemEmptyProps & react.RefAttributes<HTMLDivElement>>;
1702
+
1703
+ type OnboardingItem = {
1704
+ complete: boolean;
1705
+ title: string;
1706
+ description?: string;
1707
+ onClick?: () => void;
1708
+ };
1709
+ interface OnboardingCardProps {
1710
+ cardTitle: string;
1711
+ cardSubtitle: string;
1712
+ welcomeImageUrl: string;
1713
+ welcomeImageAltDescription?: string;
1714
+ items: OnboardingItem[];
1715
+ }
1716
+ declare const OnboardingCard: FunctionComponent<OnboardingCardProps>;
1717
+
1718
+ interface ProjectItemViewType {
1719
+ viewType?: 'grid' | 'list';
1720
+ }
1721
+ interface UserProps {
1722
+ id: string;
1723
+ email: string;
1724
+ firstName: string;
1725
+ lastName: string;
1726
+ country: string | null;
1727
+ city: string | null;
1728
+ profileImage: string | null;
1729
+ jobTitle: string | null;
1730
+ role: string | null;
1731
+ }
1732
+ interface ProjectItemDataProps {
1733
+ id: string;
1734
+ postId: string;
1735
+ versionId: string;
1736
+ thumbnail: string;
1737
+ demoSurveyId: string;
1738
+ title: string;
1739
+ description: string | null;
1740
+ demoProjectSummary?: string | null;
1741
+ demoSurveySummary?: string | null;
1742
+ name: string;
1743
+ user: UserProps;
1744
+ isAuthor: boolean;
1745
+ isDemo: boolean;
1746
+ loopCount: number | null;
1747
+ testCount: number | null;
1748
+ draftCount: number | null;
1749
+ updatedAt?: string;
1750
+ tags?: string[] | null;
1751
+ onClick?: () => void;
1752
+ loading?: boolean;
1753
+ moreActions?: React.ReactNode;
1754
+ }
1755
+ interface ProjectItemProps extends ProjectItemDataProps, ProjectItemViewType {
1756
+ }
1757
+ interface ProjectItemEmptyProps {
1758
+ onClick?: () => void;
1759
+ viewType?: 'grid' | 'list';
1760
+ title: string;
1761
+ }
1762
+
1763
+ declare const ProjectItem: FunctionComponent<ProjectItemProps>;
1764
+
1765
+ declare const ProjectItemEmpty: FunctionComponent<ProjectItemEmptyProps>;
1766
+
1767
+ interface ProjectsProps {
1768
+ }
1769
+ declare const Projects: FunctionComponent<ProjectsProps>;
1770
+
1771
+ interface SectionHeaderProps {
1772
+ buttons?: ReactNode;
1773
+ loading?: boolean;
1774
+ subtitle?: string;
1775
+ title?: string;
1776
+ }
1777
+ declare const SectionHeader: FunctionComponent<SectionHeaderProps>;
1778
+
1779
+ interface StyledTestStatusProps extends ChipProps$1 {
1780
+ colorScheme: 'green' | 'yellow' | 'blue';
1781
+ }
1782
+ interface TestStatusProps extends Partial<StyledTestStatusProps> {
1783
+ status: 'results-ready' | 'in-progress' | 'draft';
1784
+ }
1785
+
1786
+ interface TestItemProps extends SurfaceProps {
1787
+ status: TestStatusProps['status'];
1788
+ menuItems?: MenuProps['menuItems'];
1789
+ title: string;
1790
+ tags?: string[];
1791
+ stats?: {
1792
+ progress?: {
1793
+ percentage: number;
1794
+ completed: number;
1795
+ total: number;
1796
+ incomplete: number;
1797
+ incompletePercentage: number;
1798
+ averageDuration: string;
1799
+ estimatedTimeToComplete: string;
1800
+ };
1801
+ count?: {
1802
+ answers: number;
1803
+ comments: number;
1804
+ };
1805
+ };
1806
+ user: {
1807
+ name: string;
1808
+ avatarUrl?: string;
1809
+ activityDescription: string;
1810
+ };
1811
+ slotProps?: {
1812
+ title?: Partial<Omit<TypographyProps, 'children'>>;
1813
+ status?: Partial<Omit<TestStatusProps, 'status'>>;
1814
+ menu?: Partial<Omit<MenuProps, 'trigger' | 'menuItems'>>;
1815
+ pill?: Partial<Omit<PillProps, 'body'>>;
1816
+ tagsExpand?: Partial<Omit<PillProps, 'body'>>;
1817
+ tagsCollapse?: Partial<IconButtonProps>;
1818
+ };
1819
+ loading?: boolean;
1820
+ }
1821
+ declare const TestItem: react__default.FC<TestItemProps>;
1822
+
1808
1823
  interface PlanHeading {
1809
1824
  heading: string;
1810
1825
  pricing: string;
@@ -2139,4 +2154,4 @@ declare module '@mui/system' {
2139
2154
  }
2140
2155
  }
2141
2156
 
2142
- export { Accordion, type AccordionProps, AnnualController, type AnnualControllerProps, AuthContainerSurface, AuthFormHeader, type AuthFormHeaderProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, Badge, type BadgeProps, BrandBadge, type BrandBadgeProps, Breadcrumb, type BreadcrumbProps, type BreakpointOrNull, BulletGraphic, type BulletGraphicProps, Button, ButtonBase, type ButtonBaseProps, type ButtonProps, type ButtonSizing, Checkbox, CheckboxGroup, type CheckboxGroupProps, type CheckboxProps, ColorBackgroundContainer, type ColorBackgroundContainerProps, type ColorRange$1 as ColorRange, type ColorRangeAlpha$1 as ColorRangeAlpha, CustomField, type CustomFieldProps, DEFAULT_MAX_INPUT_LENGTH, Differential, type DifferentialProps, DropdownMenu, type FieldType, type FieldTypes, FontWeight, FormControlLabel, FormGenerator, type FormGeneratorConfig, type FormGeneratorHandler, type GenericSizeMap, GridOverlay, type GridOverlayProps, type GroupSelectOption, Header, type HeaderProps, Html, HtmlParser, type HtmlParserProps, type HtmlProps, Icon, IconButton, IconButtonBase, type IconButtonBaseProps, IconButtonGroup, type IconButtonGroupProps, type IconButtonProps, type IconName, Image, type ImageProps, InputFieldBase, type InputFieldBaseProps, InputLabel, InputLabelHelp, type InputLabelHelpProps, type InputLabelProps, Likert, type LikertProps, Link, type LinkProps, Loader, type LoaderProps, Logo, LoopItem, LoopItemEmpty, type LoopItemEmptyProps, type LoopItemProps, LoopsAiButton, type LoopsAiButtonProps, Markdown, type MarkdownProps, Menu, type MenuProps, Navigation, NavigationButton, type NavigationButtonProps, type NavigationProps, type NavigationSizing, Nudge, type NudgeProps, NumberField, type NumberFieldProps, OnboardingCard, type OnboardingCardProps, type OnboardingItem, Pill, type PillProps, PlanFeatureTable, type PlanFeatureTableData, type PlanFeatureTableProps, PlanTierCard, type PlanTierCardProps, Popper, type PopperProps, PoweredByWatermarkLogo, Progress, ProgressBar, type ProgressBarProps, type ProgressProps, ProjectItem, ProjectItemEmpty, type ProjectItemEmptyProps, type ProjectItemProps, Projects, type ProjectsProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, Rank, type RankProps, RichTextField, type RichTextFieldProps, type Section, SectionHeader, type SectionHeaderProps, Select, type SelectOption, type SelectProps, type SemanticColor, Skeleton, type SkeletonProps, Slider, type SliderProps, SortableList, type SortableListProps, StarRating, type StarRatingProps, Surface, type SurfaceProps, Switch, type SwitchProps, TestItem, type TestItemProps, TextBarDivider, type TextBarDividerProps, TextField, type TextFieldProps, Textarea, type TextareaProps, ThemeContext, type ThemeCtx, ThemeProvider, TickGroup, type TickGroupProps, Toast, type ToastProps, Tooltip, type TooltipProps, TrialCard, type TrialCardProps, Typography, type TypographyProps, UserMenu, type UserMenuProps, VideoModal, type VideoModalProps, backgroundCreator, base, blue, blueRamp, boxShadow, breakpoints, buttonInteraction, chooseArticle, compareArrayMembers, customTheme, darkNeutral, darkNeutralAlpha, defaultInputValidation, easing, elevation, elevationFilter, emailValidation, fonts, generateRamp, getButtonSizing, getButtonTypography, getIconSizing, green, greenRamp, IconButton_variantHelpers as iconButtonHelpers, iconSizeMap, margin, neutral, neutralAlpha, neutralRamp, outlined, padding, passwordValidation, peach, peachRamp, primary, purple, purpleRamp, radius, red, redRamp, secondary, semantic, space, subtle, useBreakpoint, useDropdownMenu, usePrevious, useScreenSize, useTheme, useThemeBuilder, yellow, yellowRamp };
2157
+ export { Accordion, type AccordionProps, AnnualController, type AnnualControllerProps, AssetItem, type AssetItemProps, AuthContainerSurface, AuthFormHeader, type AuthFormHeaderProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, Badge, type BadgeProps, BrandBadge, type BrandBadgeProps, Breadcrumb, type BreadcrumbProps, type BreakpointOrNull, BulletGraphic, type BulletGraphicProps, Button, ButtonBase, type ButtonBaseProps, type ButtonProps, type ButtonSizing, Checkbox, CheckboxGroup, type CheckboxGroupProps, type CheckboxProps, ColorBackgroundContainer, type ColorBackgroundContainerProps, type ColorRange$1 as ColorRange, type ColorRangeAlpha$1 as ColorRangeAlpha, CustomField, type CustomFieldProps, DEFAULT_MAX_INPUT_LENGTH, Differential, type DifferentialProps, DropdownMenu, type FieldType, type FieldTypes, FontWeight, FormControlLabel, FormGenerator, type FormGeneratorConfig, type FormGeneratorHandler, type GenericSizeMap, GridOverlay, type GridOverlayProps, type GroupSelectOption, Header, type HeaderProps, Html, HtmlParser, type HtmlParserProps, type HtmlProps, Icon, IconButton, IconButtonBase, type IconButtonBaseProps, IconButtonGroup, type IconButtonGroupProps, type IconButtonProps, type IconName, Image, type ImageProps, InputFieldBase, type InputFieldBaseProps, InputLabel, InputLabelHelp, type InputLabelHelpProps, type InputLabelProps, Likert, type LikertProps, Link, type LinkProps, Loader, type LoaderProps, Logo, LoopItem, LoopItemEmpty, type LoopItemEmptyProps, type LoopItemProps, LoopsAiButton, type LoopsAiButtonProps, Markdown, type MarkdownProps, Menu, type MenuProps, Navigation, NavigationButton, type NavigationButtonProps, type NavigationProps, type NavigationSizing, Nudge, type NudgeProps, NumberField, type NumberFieldProps, OnboardingCard, type OnboardingCardProps, type OnboardingItem, Pill, type PillProps, PlanFeatureTable, type PlanFeatureTableData, type PlanFeatureTableProps, PlanTierCard, type PlanTierCardProps, Popper, type PopperProps, PoweredByWatermarkLogo, Progress, ProgressBar, type ProgressBarProps, type ProgressProps, ProjectItem, ProjectItemEmpty, type ProjectItemEmptyProps, type ProjectItemProps, Projects, type ProjectsProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, Rank, type RankProps, RichTextField, type RichTextFieldProps, type Section, SectionHeader, type SectionHeaderProps, Select, type SelectOption, type SelectProps, type SemanticColor, Skeleton, type SkeletonProps, Slider, type SliderProps, SortableList, type SortableListProps, StarRating, type StarRatingProps, Surface, type SurfaceProps, Switch, type SwitchProps, TestItem, type TestItemProps, TextBarDivider, type TextBarDividerProps, TextField, type TextFieldProps, Textarea, type TextareaProps, ThemeContext, type ThemeCtx, ThemeProvider, TickGroup, type TickGroupProps, Toast, type ToastProps, Tooltip, type TooltipProps, TrialCard, type TrialCardProps, Typography, type TypographyProps, UserMenu, type UserMenuProps, VideoModal, type VideoModalProps, backgroundCreator, base, blue, blueRamp, boxShadow, breakpoints, buttonInteraction, chooseArticle, compareArrayMembers, customTheme, darkNeutral, darkNeutralAlpha, defaultInputValidation, easing, elevation, elevationFilter, emailValidation, fonts, generateRamp, getButtonSizing, getButtonTypography, getIconSizing$1 as getIconSizing, green, greenRamp, IconButton_variantHelpers as iconButtonHelpers, iconSizeMap, margin, neutral, neutralAlpha, neutralRamp, outlined$1 as outlined, padding, passwordValidation, peach, peachRamp, primary, purple, purpleRamp, radius, red, redRamp, secondary, semantic, space, subtle, useBreakpoint, useDropdownMenu, usePrevious, useScreenSize, useTheme, useThemeBuilder, yellow, yellowRamp };