diff --git a/packages/react/src/components/Stepper/Step/Step.api.mdx b/packages/react/src/components/Stepper/Step/Step.api.mdx
new file mode 100644
index 000000000..68536a080
--- /dev/null
+++ b/packages/react/src/components/Stepper/Step/Step.api.mdx
@@ -0,0 +1,37 @@
+import { Meta } from '@storybook/blocks';
+import LinkTo from '@storybook/addon-links/react';
+import { TableInterface } from '~storybook/components/TableInterface';
+
+
+
+# Dropzone API
+
+```js
+import { Step } from '@elonkit/react';
+```
+
+## Component name
+
+The name `ESStep` can be used when providing default props or style overrides in the theme.
+
+## Props
+
+
+
+
+
+## CSS
+
+
+
+
+
+## Demos
+
+
diff --git a/packages/react/src/components/Stepper/Step/Step.classes.ts b/packages/react/src/components/Stepper/Step/Step.classes.ts
new file mode 100644
index 000000000..981e3b9f0
--- /dev/null
+++ b/packages/react/src/components/Stepper/Step/Step.classes.ts
@@ -0,0 +1,40 @@
+import { generateUtilityClass, generateUtilityClasses } from '@mui/material';
+
+export type StepClasses = {
+ /** Styles applied to the root element. */
+ root: string;
+ /** Styles applied to the root element if component disabled. */
+ disabled: string;
+ /** Styles applied to the size element. */
+ size: string;
+ /** Styles applied to the completed element. */
+ completed: string;
+ /** State class applied to the root element if `error={true}`. */
+ error: string;
+ /** Styles applied to the activeStep element. */
+ activeStep: string;
+ /** Styles applied to the root element if position='bottom'. */
+ positionBottom: string;
+ /** Styles applied to the root element if position='default'. */
+ positionDefault: string;
+ /** Styles applied to the orientation element. */
+ vertical: string;
+};
+
+export type StepClassKey = keyof StepClasses;
+
+export function getStepUtilityClass(slot: string): string {
+ return generateUtilityClass('ESStep', slot);
+}
+
+export const stepClasses: StepClasses = generateUtilityClasses('ESStep', [
+ 'root',
+ 'disabled',
+ 'size',
+ 'completed',
+ 'positionBottom',
+ 'positionDefault',
+ 'vertical',
+ 'error',
+ 'activeStep',
+]);
diff --git a/packages/react/src/components/Stepper/Step/Step.tsx b/packages/react/src/components/Stepper/Step/Step.tsx
new file mode 100644
index 000000000..96799e37f
--- /dev/null
+++ b/packages/react/src/components/Stepper/Step/Step.tsx
@@ -0,0 +1,222 @@
+import { StepProps } from './Step.types';
+
+import clsx from 'clsx';
+import { getStepUtilityClass } from './Step.classes';
+
+import { unstable_composeClasses as composeClasses } from '@mui/base';
+
+import { styled, useThemeProps } from '@mui/material/styles';
+import { capitalize } from '@mui/material';
+
+import { IconCheckW500, IconExclamation } from '../../../icons';
+import { ButtonBase, buttonBaseClasses } from '../../ButtonBase';
+
+type StepOwnerState = {
+ classes?: StepProps['classes'];
+ error?: boolean;
+ completed?: boolean;
+ size?: string;
+ activeStep?: number;
+ disabled?: boolean;
+ position?: 'default' | 'bottom';
+ orientation?: 'horizontal' | 'vertical';
+};
+
+const useUtilityClasses = (ownerState: StepOwnerState) => {
+ const { classes, completed, error, size, position, orientation } = ownerState;
+
+ const slots = {
+ root: [
+ 'root',
+ completed && 'completed',
+ error && 'error',
+ `size${size}`,
+ position && `position${capitalize(position)}`,
+ orientation,
+ ],
+ button: ['button'],
+ circle: ['circle'],
+ };
+
+ return composeClasses(slots, getStepUtilityClass, classes);
+};
+
+const StepRoot = styled(ButtonBase, {
+ name: 'ESStep',
+ slot: 'Root',
+ overridesResolver: (_props, styles) => {
+ const {
+ ownerState: { orientation, position },
+ } = _props;
+ return [styles.root, styles[orientation], position && styles[`position${capitalize(position)}`]];
+ },
+})<{ ownerState: StepOwnerState }>(({ theme }) => ({
+ minHeight: '56px',
+ height: '100%',
+ position: 'relative',
+ '--text': theme.vars.palette.monoA.A900,
+ '--hovered': theme.vars.palette.monoA.A100,
+ '--pressed': theme.vars.palette.monoA.A200,
+ padding: '16px 24px 16px 16px',
+ borderRadius: '3px',
+
+ [`&.${buttonBaseClasses.disabled}`]: {
+ '--text': theme.vars.palette.monoA.A500,
+ '--icon': theme.vars.palette.monoA.A400,
+ cursor: 'not-allowed',
+ },
+
+ [`& .${buttonBaseClasses.wrapper}`]: {
+ display: 'flex',
+ justifyContent: 'flex-start',
+ },
+
+ variants: [
+ {
+ props: {
+ position: 'bottom',
+ orientation: 'horizontal',
+ },
+ style: {
+ marginTop: '21px',
+ padding: '16px',
+
+ [`& .${buttonBaseClasses.wrapper}`]: {
+ flexDirection: 'column',
+ height: 'auto',
+ gap: '8px',
+ },
+ },
+ },
+ {
+ props: {
+ error: true,
+ },
+ style: {
+ '--text': theme.vars.palette.error[300],
+ },
+ },
+ ],
+}));
+
+const StepCircle = styled('div', {
+ name: 'ESStep',
+ slot: 'Circle',
+ overridesResolver: (props, styles) => {
+ const {
+ ownerState: { completed, error, disabled },
+ } = props;
+ return [styles.circle, completed && styles.completed, error && styles.error, disabled && styles.disabled];
+ },
+})<{ ownerState: StepOwnerState }>(({ theme }) => ({
+ marginRight: '12px',
+ marginLeft: '8px',
+ borderRadius: '50%',
+ color: theme.vars.palette.monoB[500],
+ height: '32px',
+ width: '32px',
+ minWidth: '32px',
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'center',
+ background: theme.vars.palette.monoA.A500,
+ fontWeight: 700,
+
+ variants: [
+ {
+ props: {
+ size: '24',
+ },
+ style: {
+ height: '24px',
+ width: '24px',
+ minWidth: '24px',
+ },
+ },
+ {
+ props: {
+ completed: true,
+ },
+ style: {
+ background: theme.vars.palette.primary[300],
+ },
+ },
+ {
+ props: {
+ activeStep: true,
+ },
+ style: {
+ background: theme.vars.palette.primary[300],
+ },
+ },
+ {
+ props: {
+ error: true,
+ },
+ style: {
+ background: theme.vars.palette.error[300],
+ },
+ },
+ {
+ props: {
+ disabled: true,
+ },
+ style: {
+ background: theme.vars.palette.monoA.A300,
+ },
+ },
+ {
+ props: {
+ position: 'bottom',
+ },
+ style: {
+ marginRight: '8px',
+ },
+ },
+ ],
+}));
+
+export const Step = (inProps: StepProps) => {
+ const {
+ sx,
+ className,
+ disabled,
+ children,
+ error,
+ stepIndex,
+ completed,
+ activeStep,
+ position,
+ size = '32',
+ orientation,
+ required,
+ iconCompleted = ,
+ iconError = ,
+ ...props
+ } = useThemeProps({
+ props: inProps,
+ name: 'ESStep',
+ });
+ const ownerState = {
+ ...props,
+ size,
+ error,
+ completed,
+ activeStep,
+ disabled,
+ position,
+ orientation,
+ required,
+ };
+
+ const classes = useUtilityClasses(ownerState);
+
+ return (
+
+
+ {completed ? iconCompleted : error ? iconError : stepIndex}
+
+ {children}
+
+ );
+};
diff --git a/packages/react/src/components/Stepper/Step/Step.types.ts b/packages/react/src/components/Stepper/Step/Step.types.ts
new file mode 100644
index 000000000..904057196
--- /dev/null
+++ b/packages/react/src/components/Stepper/Step/Step.types.ts
@@ -0,0 +1,55 @@
+import { ReactNode } from 'react';
+
+import { StepClasses } from './Step.classes';
+
+import { SxProps, Theme } from '@mui/material';
+
+export interface StepProps {
+ children?: ReactNode;
+ /** Class applied to the root element. */
+ className?: string;
+ /** Override or extend the styles applied to the component. */
+ classes?: Partial;
+ /** The system prop that allows defining system overrides as well as additional CSS styles. */
+ sx?: SxProps;
+ /**
+ * Avatar size.
+ * @default 32
+ */
+ size?: '24' | '32';
+ /** Styles applied to the track element. */
+ completed?: boolean;
+ /** Is the step complete */
+ activeStep?: number;
+ /**
+ * If `true`, the component is error.
+ */
+ error?: boolean;
+
+ stepIndex?: number;
+ /** If true, the step is disabled. */
+ disabled?: boolean;
+
+ /**
+ * The component position.
+ * @default 'default'
+ */
+ position?: 'default' | 'bottom';
+ /**
+ * The component position.
+ * @default 'horizontal'
+ */
+ orientation?: 'horizontal' | 'vertical';
+
+ /** Icon to display with completed step. */
+ iconCompleted?: ReactNode;
+
+ /** Icon to display with error step. */
+ iconError?: ReactNode;
+
+ /**
+ * If `true`, the `input` element is required.
+ * @default false
+ */
+ required?: boolean;
+}
diff --git a/packages/react/src/components/Stepper/Step/index.ts b/packages/react/src/components/Stepper/Step/index.ts
new file mode 100644
index 000000000..b2e70e749
--- /dev/null
+++ b/packages/react/src/components/Stepper/Step/index.ts
@@ -0,0 +1,4 @@
+export { Step } from './Step';
+export type { StepClasses, StepClassKey } from './Step.classes';
+export { stepClasses } from './Step.classes';
+export type { StepProps } from './Step.types';
diff --git a/packages/react/src/components/Stepper/StepLabel/StepLabel.api.mdx b/packages/react/src/components/Stepper/StepLabel/StepLabel.api.mdx
new file mode 100644
index 000000000..0a32a6335
--- /dev/null
+++ b/packages/react/src/components/Stepper/StepLabel/StepLabel.api.mdx
@@ -0,0 +1,37 @@
+import { Meta } from '@storybook/blocks';
+import LinkTo from '@storybook/addon-links/react';
+import { TableInterface } from '~storybook/components/TableInterface';
+
+
+
+# Dropzone API
+
+```js
+import { StepLabel } from '@elonkit/react';
+```
+
+## Component name
+
+The name `ESStepLabel` can be used when providing default props or style overrides in the theme.
+
+## Props
+
+
+
+
+
+## CSS
+
+
+
+
+
+## Demos
+
+
diff --git a/packages/react/src/components/Stepper/StepLabel/StepLabel.classes.ts b/packages/react/src/components/Stepper/StepLabel/StepLabel.classes.ts
new file mode 100644
index 000000000..857bd3304
--- /dev/null
+++ b/packages/react/src/components/Stepper/StepLabel/StepLabel.classes.ts
@@ -0,0 +1,14 @@
+import { generateUtilityClass, generateUtilityClasses } from '@mui/material';
+
+export type StepLabelClasses = {
+ /** Styles applied to the root element. */
+ root: string;
+};
+
+export type StepLabelClassKey = keyof StepLabelClasses;
+
+export function getStepLabelUtilityClass(slot: string): string {
+ return generateUtilityClass('ESStepLabel', slot);
+}
+
+export const stepLabelClasses: StepLabelClasses = generateUtilityClasses('ESStepLabel', ['root']);
diff --git a/packages/react/src/components/Stepper/StepLabel/StepLabel.tsx b/packages/react/src/components/Stepper/StepLabel/StepLabel.tsx
new file mode 100644
index 000000000..a1610cdef
--- /dev/null
+++ b/packages/react/src/components/Stepper/StepLabel/StepLabel.tsx
@@ -0,0 +1,46 @@
+import { StepLabelProps } from './StepLabel.types';
+
+import clsx from 'clsx';
+
+import { unstable_composeClasses as composeClasses } from '@mui/base';
+
+import { styled, useThemeProps } from '@mui/material/styles';
+import { getStepLabelUtilityClass, Typography } from '@mui/material';
+
+type StepLabelOwnerState = {
+ classes?: StepLabelProps['classes'];
+};
+
+const useUtilityClasses = (ownerState: StepLabelOwnerState) => {
+ const { classes } = ownerState;
+
+ const slots = {
+ root: ['root'],
+ };
+
+ return composeClasses(slots, getStepLabelUtilityClass, classes);
+};
+
+const StepLabelRoot = styled(Typography, {
+ name: 'ESStepLabel',
+ slot: 'Root',
+ overridesResolver: (props, styles) => styles.root,
+})<{ ownerState: StepLabelOwnerState }>(() => ({
+ textTransform: 'none',
+}));
+
+export const StepLabel = (inProps: StepLabelProps) => {
+ const { className, children, ...props } = useThemeProps({
+ props: inProps,
+ name: 'ESStepLabel',
+ });
+
+ const ownerState = { ...props };
+ const classes = useUtilityClasses(ownerState);
+
+ return (
+
+ {children}
+
+ );
+};
diff --git a/packages/react/src/components/Stepper/StepLabel/StepLabel.types.ts b/packages/react/src/components/Stepper/StepLabel/StepLabel.types.ts
new file mode 100644
index 000000000..f0ef5c6f5
--- /dev/null
+++ b/packages/react/src/components/Stepper/StepLabel/StepLabel.types.ts
@@ -0,0 +1,15 @@
+import { ReactNode } from 'react';
+
+import { StepLabelClasses } from './StepLabel.classes';
+
+import { SxProps, Theme } from '@mui/material';
+
+export interface StepLabelProps {
+ children?: ReactNode;
+ /** Class applied to the root element. */
+ className?: string;
+ /** Override or extend the styles applied to the component. */
+ classes?: Partial;
+ /** The system prop that allows defining system overrides as well as additional CSS styles. */
+ sx?: SxProps;
+}
diff --git a/packages/react/src/components/Stepper/StepLabel/index.ts b/packages/react/src/components/Stepper/StepLabel/index.ts
new file mode 100644
index 000000000..81fb812af
--- /dev/null
+++ b/packages/react/src/components/Stepper/StepLabel/index.ts
@@ -0,0 +1,4 @@
+export { StepLabel } from './StepLabel';
+export type { StepLabelClasses, StepLabelClassKey } from './StepLabel.classes';
+export { stepLabelClasses } from './StepLabel.classes';
+export type { StepLabelProps } from './StepLabel.types';
diff --git a/packages/react/src/components/Stepper/Stepper.api.mdx b/packages/react/src/components/Stepper/Stepper.api.mdx
new file mode 100644
index 000000000..d4161ff00
--- /dev/null
+++ b/packages/react/src/components/Stepper/Stepper.api.mdx
@@ -0,0 +1,37 @@
+import { Meta } from '@storybook/blocks';
+import LinkTo from '@storybook/addon-links/react';
+import { TableInterface } from '~storybook/components/TableInterface';
+
+
+
+# Dropzone API
+
+```js
+import { Stepper } from '@elonkit/react';
+```
+
+## Component name
+
+The name `ESStepper` can be used when providing default props or style overrides in the theme.
+
+## Props
+
+
+
+
+
+## CSS
+
+
+
+
+
+## Demos
+
+
diff --git a/packages/react/src/components/Stepper/Stepper.classes.ts b/packages/react/src/components/Stepper/Stepper.classes.ts
new file mode 100644
index 000000000..249ed45d0
--- /dev/null
+++ b/packages/react/src/components/Stepper/Stepper.classes.ts
@@ -0,0 +1,30 @@
+import { generateUtilityClass, generateUtilityClasses } from '@mui/material';
+
+export type StepperClasses = {
+ /** Styles applied to the root element. */
+ root: string;
+ /** Styles applied to the root element if component disabled. */
+ disabled: string;
+ /** Styles applied to the orientation element. */
+ horizontal: string;
+ /** Styles applied to the orientation element. */
+ vertical: string;
+ /** Styles applied to the size element. */
+ size: string;
+ size24: string;
+};
+
+export type StepperClassKey = keyof StepperClasses;
+
+export function getStepperUtilityClass(slot: string): string {
+ return generateUtilityClass('ESStepper', slot);
+}
+
+export const stepperClasses: StepperClasses = generateUtilityClasses('ESStepper', [
+ 'root',
+ 'disabled',
+ 'horizontal',
+ 'vertical',
+ 'size',
+ 'size24',
+]);
diff --git a/packages/react/src/components/Stepper/Stepper.stories.tsx b/packages/react/src/components/Stepper/Stepper.stories.tsx
new file mode 100644
index 000000000..c8ff93e25
--- /dev/null
+++ b/packages/react/src/components/Stepper/Stepper.stories.tsx
@@ -0,0 +1,78 @@
+import { Meta, StoryContext, StoryObj } from '@storybook/react';
+
+import { Step } from './Step/Step';
+import { StepLabel } from './StepLabel';
+import { Stepper } from '.';
+
+const getText = (context: StoryContext) => {
+ return context.globals.locale === 'en' ? 'Button' : 'Кнопка';
+};
+
+const meta: Meta = {
+ tags: ['autodocs'],
+ component: Stepper,
+ parameters: {
+ references: ['Stepper'],
+ },
+ argTypes: {
+ children: {
+ control: {
+ type: 'text',
+ },
+ },
+ size: {
+ options: ['24', '32'],
+ control: {
+ type: 'select',
+ },
+ },
+ activeStep: {
+ control: { type: 'number' },
+ },
+ orientation: {
+ options: ['horizontal', 'vertical'],
+ control: {
+ type: 'select',
+ },
+ },
+ },
+ args: {
+ size: '32',
+ orientation: 'horizontal',
+ },
+};
+
+export default meta;
+
+type StepStatus = 'completed' | 'inProgress' | 'error';
+
+export interface Step {
+ id: number;
+ title: string;
+ status: StepStatus;
+ content?: React.ReactNode;
+}
+
+type Story = StoryObj;
+
+export const Demo: Story = {
+ render: (args, context) => {
+ const text = getText(context);
+ return (
+
+
+ {text}
+
+
+ {text}
+
+
+ {text}
+
+
+ {text}
+
+
+ );
+ },
+};
diff --git a/packages/react/src/components/Stepper/Stepper.tsx b/packages/react/src/components/Stepper/Stepper.tsx
new file mode 100644
index 000000000..39d49229c
--- /dev/null
+++ b/packages/react/src/components/Stepper/Stepper.tsx
@@ -0,0 +1,181 @@
+import React from 'react';
+
+import { StepperProps } from './Stepper.types';
+
+import clsx from 'clsx';
+import { getStepperUtilityClass, stepperClasses } from './Stepper.classes';
+
+import { unstable_composeClasses as composeClasses } from '@mui/base';
+
+import { styled, useThemeProps } from '@mui/material/styles';
+
+type StepperOwnerState = {
+ classes?: StepperProps['classes'];
+ orientation?: 'horizontal' | 'vertical';
+ activeStep?: StepperProps['activeStep'];
+ size?: StepperProps['size'];
+ position?: 'default' | 'bottom';
+ size24?: boolean;
+};
+
+const useUtilityClasses = (ownerState: StepperOwnerState) => {
+ const { classes, orientation, size24 } = ownerState;
+
+ const slots = {
+ root: ['root', orientation, size24 && 'size24'],
+ container: ['container'],
+ activeStep: ['activeStep'],
+ size: ['size'],
+ };
+
+ return composeClasses(slots, getStepperUtilityClass, classes);
+};
+
+const StepperRoot = styled('div', {
+ name: 'ESStepper',
+ slot: 'Root',
+ overridesResolver: (props, styles) => {
+ const {
+ ownerState: { orientation },
+ } = props;
+
+ return [styles.root, styles[orientation]];
+ },
+})<{ ownerState: StepperOwnerState }>(() => ({
+ display: 'flex',
+ [`&.${stepperClasses.horizontal}`]: {
+ flexDirection: 'row',
+ alignItems: 'center',
+ },
+ [`&.${stepperClasses.vertical}`]: {
+ flexDirection: 'column',
+ alignItems: 'initial',
+ //gap: '8px',
+ },
+}));
+
+const StepperContainer = styled('div', {
+ name: 'ESStepper',
+ slot: 'Container',
+ overridesResolver: (props, styles) => styles.container,
+})(() => ({}));
+
+const StepperConnectorRoot = styled('div', {
+ name: 'ESStepperConnector',
+ slot: 'Root',
+ overridesResolver: (props, styles) => styles.root,
+})(() => ({
+ position: 'relative',
+ width: '100%',
+}));
+
+const StepperConnectorLine = styled('div', {
+ name: 'ESStepperConnector',
+ slot: 'Line',
+ overridesResolver: (props, styles) => {
+ const {
+ ownerState: { orientation, size, size24 },
+ } = props;
+
+ return [styles.line, styles[orientation], styles[size], styles[size24]];
+ },
+})<{ ownerState: StepperOwnerState & { isActive: boolean } }>(({ theme }) => ({
+ position: 'absolute',
+ height: '1px',
+ backgroundColor: theme.vars.palette.monoA.A300,
+
+ variants: [
+ {
+ props: {
+ isActive: true,
+ },
+ style: {
+ backgroundColor: theme.vars.palette.primary[300],
+ },
+ },
+ {
+ props: {
+ orientation: 'horizontal',
+ },
+ style: {
+ width: 'calc(100% + 32px)',
+ left: '-16px',
+ },
+ },
+ {
+ props: {
+ orientation: 'vertical',
+ },
+ style: {
+ left: '28px',
+ width: '24px',
+ transform: 'rotate(90deg)',
+ },
+ },
+ {
+ props: {
+ orientation: 'vertical',
+ size24: true,
+ },
+ style: {
+ left: '24px',
+ width: '24px',
+ transform: 'rotate(90deg)',
+ },
+ },
+ ],
+}));
+
+export const Stepper = (inProps: StepperProps) => {
+ const {
+ className,
+ sx,
+ children,
+ activeStep,
+ orientation = 'horizontal',
+ position = 'default',
+ size = '32',
+ ...props
+ } = useThemeProps({
+ props: inProps,
+ name: 'ESStepper',
+ });
+
+ const ownerState = {
+ ...props,
+ position,
+ orientation,
+ activeStep,
+ size,
+ size24: size === '24',
+ };
+
+ const classes = useUtilityClasses(ownerState);
+
+ return (
+
+ {React.Children.map(children, (child, index) => (
+ <>
+
+ {React.cloneElement(child as React.ReactElement, {
+ ...props,
+ activeStep: activeStep === index,
+ orientation,
+ position,
+ size,
+ stepIndex: index + 1,
+ })}
+
+ {index < React.Children.count(children) - 1 && (
+
+
+
+ )}
+ >
+ ))}
+
+ );
+};
diff --git a/packages/react/src/components/Stepper/Stepper.types.ts b/packages/react/src/components/Stepper/Stepper.types.ts
new file mode 100644
index 000000000..f7cace758
--- /dev/null
+++ b/packages/react/src/components/Stepper/Stepper.types.ts
@@ -0,0 +1,31 @@
+import { ReactNode } from 'react';
+
+import { StepperClasses } from './Stepper.classes';
+
+import { SxProps, Theme } from '@mui/material';
+
+export interface StepperProps {
+ className?: string;
+ /** Override or extend the styles applied to the component. */
+ children: ReactNode;
+ classes?: Partial;
+ /** The system prop that allows defining system overrides as well as additional CSS styles. */
+ sx?: SxProps;
+ /**
+ * Avatar size.
+ * @default 32
+ */
+ size?: '24' | '32';
+ /** Count the active step. */
+ activeStep: number;
+ /**
+ * The component orientation.
+ * @default 'horizontal'
+ */
+ orientation?: 'horizontal' | 'vertical';
+ /**
+ * The component orientation.
+ * @default 'default'
+ */
+ position?: 'default' | 'bottom';
+}
diff --git a/packages/react/src/components/Stepper/index.ts b/packages/react/src/components/Stepper/index.ts
new file mode 100644
index 000000000..626ca3d0b
--- /dev/null
+++ b/packages/react/src/components/Stepper/index.ts
@@ -0,0 +1,6 @@
+export * from './Step';
+export * from './StepLabel';
+export { Stepper } from './Stepper';
+export type { StepperClasses, StepperClassKey } from './Stepper.classes';
+export { stepperClasses } from './Stepper.classes';
+export type { StepperProps } from './Stepper.types';
diff --git a/packages/react/src/components/index.ts b/packages/react/src/components/index.ts
index 206915895..0453dc467 100644
--- a/packages/react/src/components/index.ts
+++ b/packages/react/src/components/index.ts
@@ -54,10 +54,9 @@ export * from './Sidenav';
export * from './Snackbar';
export * from './SortingMenu';
export * from './Spinner';
-export * from './Spinner';
+export * from './Stepper';
export * from './SvgIcon';
export * from './Swiper';
-export * from './Swiper';
export * from './Switch';
export * from './SwitchBase';
export * from './TabBar';
diff --git a/packages/react/src/icons/IconCheckW500.tsx b/packages/react/src/icons/IconCheckW500.tsx
index ab9a6129b..50f34c81e 100644
--- a/packages/react/src/icons/IconCheckW500.tsx
+++ b/packages/react/src/icons/IconCheckW500.tsx
@@ -3,7 +3,7 @@ import { SvgIcon, SvgIconProps } from '../components/SvgIcon';
export const IconCheckW500 = (props: SvgIconProps) => {
return (
-
+
);
};
diff --git a/packages/react/src/overrides.d.ts b/packages/react/src/overrides.d.ts
index 7f1d55e63..def40ceaf 100644
--- a/packages/react/src/overrides.d.ts
+++ b/packages/react/src/overrides.d.ts
@@ -255,6 +255,15 @@ import {
} from './components/Swiper';
import { SwitchClassKey, SwitchProps } from './components/Switch';
import { SwitchBaseClassKey, SwitchBaseProps } from './components/SwitchBase';
+import {
+ StepperClassKey,
+ StepperProps,
+ StepClassKey,
+ StepProps,
+ StepLabelClassKey,
+ StepLabelProps,
+} from './components/Stepper';
+
import { TabBarClassKey, TabBarItemClassKey, TabBarItemProps, TabBarProps } from './components/TabBar';
import {
TableActionsClassKey,
@@ -474,6 +483,9 @@ declare module '@mui/material/styles/props' {
ESSwiper: SwiperProps;
ESSwitch: SwitchProps;
ESSwitchBase: SwitchBaseProps;
+ ESStepper: StepperProps;
+ ESStep: StepProps;
+ ESStepLabel: StepLabelProps;
ESSwiperButton: SwiperButtonProps;
ESSwiperPagination: SwiperPaginationProps;
ESTabBar: TabBarProps;
@@ -622,6 +634,9 @@ declare module '@mui/material/styles/overrides' {
ESSwiper: SwiperClassKey;
ESSwitch: SwitchClassKey;
ESSwitchBase: SwitchBaseClassKey;
+ ESStepper: StepperClassKey;
+ ESStep: StepClassKey;
+ ESStepLabel: StepLabelClassKey;
ESSwiperButton: SwiperButtonClassKey;
ESSwiperPagination: SwiperPaginationClassKey;
ESTabBar: TabBarClassKey;
@@ -900,6 +915,18 @@ declare module '@mui/material/styles/components' {
defaultProps?: ComponentsProps['ESSwitchBase'];
styleOverrides?: ComponentsOverrides['ESSwitchBase'];
};
+ ESStepper?: {
+ defaultProps?: ComponentsProps['ESStepper'];
+ styleOverrides?: ComponentsOverrides['ESStepper'];
+ };
+ ESStep?: {
+ defaultProps?: ComponentsProps['ESStep'];
+ styleOverrides?: ComponentsOverrides['ESStep'];
+ };
+ ESStepLabel?: {
+ defaultProps?: ComponentsProps['ESStepLabel'];
+ styleOverrides?: ComponentsOverrides['ESStepLabel'];
+ };
ESSwiperButton?: {
defaultProps?: ComponentsProps['ESSwiperButton'];
styleOverrides?: ComponentsOverrides['ESSwiperButton'];