import * as React from 'react'; import { styled } from '@mui/material/styles'; import Stack from '@mui/material/Stack'; import Stepper from '@mui/material/Stepper'; import Step from '@mui/material/Step'; import StepLabel from '@mui/material/StepLabel'; import Check from '@mui/icons-material/Check'; import SettingsIcon from '@mui/icons-material/Settings'; import GroupAddIcon from '@mui/icons-material/GroupAdd'; import VideoLabelIcon from '@mui/icons-material/VideoLabel'; import StepConnector, { stepConnectorClasses } from '@mui/material/StepConnector'; import { StepIconProps } from '@mui/material/StepIcon'; const QontoConnector = styled(StepConnector)(({ theme }) => ({ [`&.${stepConnectorClasses.alternativeLabel}`]: { top: 10, left: 'calc(-50% + 16px)', right: 'calc(50% + 16px)', }, [`&.${stepConnectorClasses.active}`]: { [`& .${stepConnectorClasses.line}`]: { borderColor: '#784af4', }, }, [`&.${stepConnectorClasses.completed}`]: { [`& .${stepConnectorClasses.line}`]: { borderColor: '#784af4', }, }, [`& .${stepConnectorClasses.line}`]: { borderColor: '#eaeaf0', borderTopWidth: 3, borderRadius: 1, ...theme.applyStyles('dark', { borderColor: theme.palette.grey[800], }), }, })); const QontoStepIconRoot = styled('div')<{ ownerState: { active?: boolean } }>( ({ theme }) => ({ color: '#eaeaf0', display: 'flex', height: 22, alignItems: 'center', '& .QontoStepIcon-completedIcon': { color: '#784af4', zIndex: 1, fontSize: 18, }, '& .QontoStepIcon-circle': { width: 8, height: 8, borderRadius: '50%', backgroundColor: 'currentColor', }, ...theme.applyStyles('dark', { color: theme.palette.grey[700], }), variants: [ { props: ({ ownerState }) => ownerState.active, style: { color: '#784af4', }, }, ], }), ); function QontoStepIcon(props: StepIconProps) { const { active, completed, className } = props; return ( {completed ? ( ) : (
)} ); } const ColorlibConnector = styled(StepConnector)(({ theme }) => ({ [`&.${stepConnectorClasses.alternativeLabel}`]: { top: 22, }, [`&.${stepConnectorClasses.active}`]: { [`& .${stepConnectorClasses.line}`]: { backgroundImage: 'linear-gradient( 95deg,rgb(242,113,33) 0%,rgb(233,64,87) 50%,rgb(138,35,135) 100%)', }, }, [`&.${stepConnectorClasses.completed}`]: { [`& .${stepConnectorClasses.line}`]: { backgroundImage: 'linear-gradient( 95deg,rgb(242,113,33) 0%,rgb(233,64,87) 50%,rgb(138,35,135) 100%)', }, }, [`& .${stepConnectorClasses.line}`]: { height: 3, border: 0, backgroundColor: '#eaeaf0', borderRadius: 1, ...theme.applyStyles('dark', { backgroundColor: theme.palette.grey[800], }), }, })); const ColorlibStepIconRoot = styled('div')<{ ownerState: { completed?: boolean; active?: boolean }; }>(({ theme }) => ({ backgroundColor: '#ccc', zIndex: 1, color: '#fff', width: 50, height: 50, display: 'flex', borderRadius: '50%', justifyContent: 'center', alignItems: 'center', ...theme.applyStyles('dark', { backgroundColor: theme.palette.grey[700], }), variants: [ { props: ({ ownerState }) => ownerState.active, style: { backgroundImage: 'linear-gradient( 136deg, rgb(242,113,33) 0%, rgb(233,64,87) 50%, rgb(138,35,135) 100%)', boxShadow: '0 4px 10px 0 rgba(0,0,0,.25)', }, }, { props: ({ ownerState }) => ownerState.completed, style: { backgroundImage: 'linear-gradient( 136deg, rgb(242,113,33) 0%, rgb(233,64,87) 50%, rgb(138,35,135) 100%)', }, }, ], })); function ColorlibStepIcon(props: StepIconProps) { const { active, completed, className } = props; const icons: { [index: string]: React.ReactElement } = { 1: , 2: , 3: , }; return ( {icons[String(props.icon)]} ); } const steps = ['Select campaign settings', 'Create an ad group', 'Create an ad']; export default function CustomizedSteppers() { return ( }> {steps.map((label) => ( {label} ))} }> {steps.map((label) => ( {label} ))} ); }