import { _ as __assign } from '../tslib.es6-faad35dc.js';
import { jsx, jsxs } from 'react/jsx-runtime';
import CssBaseline from '@mui/material/CssBaseline';
import { createTheme, StyledEngineProvider, ThemeProvider as ThemeProvider$1 } from '@mui/material/styles';
import { typographyTheme } from '../theme/typography.js';
import { borderSize, borderRadius } from '../theme/borders.js';
import boxShadow from '../theme/boxShadow.js';
import colors from '../theme/colors.js';
import MuiCssBaseLine from '../overrides/MuiCssBaseline.js';
import MuiButton from '../overrides/MuiButton.js';
import MuiFormIconButton from '../overrides/MuiIconButton.js';
import MuiCard from '../overrides/MuiCard.js';
import MuiTable from '../overrides/MuiTable.js';
import MuiTableCell from '../overrides/MuiTableCell.js';
import MuiTableRow from '../overrides/MuiTableRow.js';
import MuiInputBase from '../overrides/MuiInputBase.js';
import MuiInputLabel from '../overrides/MuiInputLabel.js';
import MuiTextField from '../overrides/MuiTextField.js';
import MuiSelect from '../overrides/MuiSelect.js';
import MuiFormHelperText from '../overrides/MuiFormHelperText.js';
import MuiList from '../overrides/MuiList.js';
import MuiListItem from '../overrides/MuiListItem.js';
import MuiMenuItem from '../overrides/MuiMenuItem.js';
import MuiMobileStepper from '../overrides/MuiMobileStepper.js';
import { MuiBackdrop } from '../overrides/MuiBackDrop.js';
import MuiAccordion from '../overrides/MuiAccordion.js';
import MuiAccordionSummary from '../overrides/MuiAccordionSummary.js';
import MuiAccordionDetails from '../overrides/MuiAccordionDetails.js';
import MuiTooltip from '../overrides/MuiTooltip.js';
import MuiAutocomplete from '../overrides/MuiAutocomplete.js';

/**
 * Setup
 */
var theme = createTheme({
    palette: colors,
    typography: typographyTheme,
    borders: {
        size: borderSize,
        radius: borderRadius
    },
    boxShadow: boxShadow,
    components: {
        MuiInput: {
            defaultProps: {
                disableUnderline: true
            },
            styleOverrides: MuiInputBase
        },
        MuiInputLabel: {
            defaultProps: {
                shrink: true,
                disableAnimation: true
            },
            styleOverrides: MuiInputLabel
        },
        MuiButtonBase: {
            defaultProps: {
                disableRipple: true,
                disableTouchRipple: true
            }
        },
        MuiCssBaseline: {
            styleOverrides: MuiCssBaseLine
        },
        MuiAccordion: {
            styleOverrides: MuiAccordion
        },
        MuiTooltip: {
            styleOverrides: MuiTooltip
        },
        MuiButton: {
            styleOverrides: MuiButton
        },
        MuiIconButton: {
            styleOverrides: MuiFormIconButton
        },
        MuiCard: {
            styleOverrides: MuiCard
        },
        MuiTable: {
            styleOverrides: MuiTable
        },
        MuiTableCell: {
            styleOverrides: MuiTableCell
        },
        MuiTableRow: {
            styleOverrides: MuiTableRow
        },
        MuiFormHelperText: {
            styleOverrides: MuiFormHelperText
        },
        MuiInputBase: {
            styleOverrides: MuiInputBase
        },
        MuiTextField: {
            styleOverrides: MuiTextField
        },
        MuiSelect: {
            styleOverrides: MuiSelect
        },
        MuiList: {
            styleOverrides: MuiList
        },
        MuiListItem: {
            styleOverrides: MuiListItem
        },
        MuiMenuItem: {
            styleOverrides: MuiMenuItem
        },
        MuiMobileStepper: {
            styleOverrides: MuiMobileStepper
        },
        MuiBackdrop: {
            styleOverrides: MuiBackdrop
        },
        MuiAccordionSummary: {
            styleOverrides: MuiAccordionSummary
        },
        MuiAccordionDetails: {
            styleOverrides: MuiAccordionDetails
        },
        MuiAutocomplete: {
            styleOverrides: MuiAutocomplete
        }
    }
});
var ThemeProvider = function (_a) {
    var children = _a.children;
    return (jsx(StyledEngineProvider, __assign({ injectFirst: true }, { children: jsxs(ThemeProvider$1, __assign({ theme: theme }, { children: [jsx(CssBaseline, {}, void 0), children] }), void 0) }), void 0));
};

export { ThemeProvider as default, theme };
