import { Box } from '@mui/material';
import AnimationWaiter from '.';
import { ThemeProvider } from '../Theme';
import { ThemeModeToggle } from '../Config';

export { default as Basic } from './demo/basic';
export { default as WithCustomMessages } from './demo/with-custom-messages';
export { default as WithMoreMessages } from './demo/with-more-messages';
export { default as Sizes } from './demo/sizes';
export { default as WithTips } from './demo/with-tips';
export { default as WithSpeed } from './demo/with-speed';
export { default as WithMaybeDuration } from './demo/with-maybe-duration';

export default {
  title: 'Feedback/AnimationWaiter',
  component: AnimationWaiter,
  parameters: {
    docs: {
      description: {
        component:
          'AnimationWaiter is a loading component that provides feedback when the user is waiting for a long time to perform an operation.',
      },
    },
  },
  decorators: [
    (Story) => (
      <ThemeProvider prefer="system">
        <Box sx={{ py: 1 }}>
          <ThemeModeToggle />
        </Box>
        <Story />
      </ThemeProvider>
    ),
  ],
};
