import { darkPalette, lightPalette } from "@uipath/apollo-core";
import { darkHighContrastPalette, futureDarkPalette, futureLightPalette, lightHighContrastPalette } from "@uipath/apollo-core/tokens/jss/palette";
import { MuiAccordion } from "./MuiAccordion.js";
import { MuiAccordionDetails } from "./MuiAccordionDetails.js";
import { MuiAccordionSummary } from "./MuiAccordionSummary.js";
import { MuiAlert } from "./MuiAlert.js";
import { MuiAutocomplete } from "./MuiAutocomplete.js";
import { MuiButton } from "./MuiButton.js";
import { MuiButtonBase } from "./MuiButtonBase.js";
import { MuiCheckbox } from "./MuiCheckbox.js";
import { MuiChip } from "./MuiChip.js";
import { MuiCircularProgress } from "./MuiCircularProgress.js";
import { MuiDatepicker } from "./MuiDatepicker.js";
import { MuiDialog } from "./MuiDialog.js";
import { MuiDivider } from "./MuiDivider.js";
import { MuiFab } from "./MuiFab.js";
import { MuiFormControl } from "./MuiFormControl.js";
import { MuiFormControlLabel } from "./MuiFormControlLabel.js";
import { MuiFormHelperText } from "./MuiFormHelperText.js";
import { MuiFormLabel } from "./MuiFormLabel.js";
import { MuiIconButton } from "./MuiIconButton.js";
import { MuiInputAdornment } from "./MuiInputAdornment.js";
import { MuiInputBase } from "./MuiInputBase.js";
import { MuiInputLabel } from "./MuiInputLabel.js";
import { MuiLinearProgress } from "./MuiLinearProgress.js";
import { MuiLink } from "./MuiLink.js";
import { MuiList } from "./MuiList.js";
import { MuiListItem } from "./MuiListItem.js";
import { MuiListItemButton } from "./MuiListItemButton.js";
import { MuiListItemIcon } from "./MuiListItemIcon.js";
import { MuiListItemText } from "./MuiListItemText.js";
import { MuiMenu } from "./MuiMenu.js";
import { MuiMenuItem } from "./MuiMenuItem.js";
import { MuiOutlinedInput } from "./MuiOutlinedInput.js";
import { MuiRadio } from "./MuiRadio.js";
import { MuiSelect } from "./MuiSelect.js";
import { MuiSlider } from "./MuiSlider.js";
import { MuiSnackbar } from "./MuiSnackbar.js";
import { MuiStep, MuiStepper } from "./MuiStepper.js";
import { MuiSwitch } from "./MuiSwitch.js";
import { MuiTab } from "./MuiTab.js";
import { MuiTabs } from "./MuiTabs.js";
import { MuiTextField } from "./MuiTextField.js";
import { MuiTooltip } from "./MuiTooltip.js";
import { MuiTypography } from "./MuiTypography.js";
const muiComponents = {
    MuiAccordion: MuiAccordion,
    MuiAccordionDetails: MuiAccordionDetails,
    MuiAccordionSummary: MuiAccordionSummary,
    MuiAlert: MuiAlert,
    MuiButton: MuiButton,
    MuiButtonBase: MuiButtonBase,
    MuiAutocomplete: MuiAutocomplete,
    MuiCheckbox: MuiCheckbox,
    MuiChip: MuiChip,
    MuiCircularProgress: MuiCircularProgress,
    MuiDialog: MuiDialog,
    MuiDivider: MuiDivider,
    MuiFab: MuiFab,
    MuiFormControl: MuiFormControl,
    MuiFormControlLabel: MuiFormControlLabel,
    MuiFormHelperText: MuiFormHelperText,
    MuiFormLabel: MuiFormLabel,
    MuiIconButton: MuiIconButton,
    MuiInputAdornment: MuiInputAdornment,
    MuiInputBase: MuiInputBase,
    MuiInputLabel: MuiInputLabel,
    MuiLinearProgress: MuiLinearProgress,
    MuiLink: MuiLink,
    MuiList: MuiList,
    MuiListItem: MuiListItem,
    MuiListItemButton: MuiListItemButton,
    MuiListItemIcon: MuiListItemIcon,
    MuiListItemText: MuiListItemText,
    MuiMenu: MuiMenu,
    MuiMenuItem: MuiMenuItem,
    MuiOutlinedInput: MuiOutlinedInput,
    MuiRadio: MuiRadio,
    MuiSelect: MuiSelect,
    MuiSlider: MuiSlider,
    MuiSnackbar: MuiSnackbar,
    MuiSwitch: MuiSwitch,
    MuiTab: MuiTab,
    MuiTabs: MuiTabs,
    MuiTextField: MuiTextField,
    MuiTooltip: MuiTooltip,
    MuiTypography: MuiTypography,
    MuiPopper: MuiDatepicker,
    MuiStepper: MuiStepper,
    MuiStep: MuiStep
};
const getOverrides = (palette)=>Object.entries(muiComponents).reduce((overrides, [name, muiComponent])=>{
        const componentConfig = muiComponent(palette);
        if (componentConfig && 'object' == typeof componentConfig && 'styleOverrides' in componentConfig) return {
            ...overrides,
            [name]: componentConfig
        };
        return {
            ...overrides,
            [name]: {
                styleOverrides: componentConfig
            }
        };
    }, {});
const lightOverrides = getOverrides(lightPalette);
const lightHighContrastOverrides = getOverrides(lightHighContrastPalette);
const darkOverrides = getOverrides(darkPalette);
const darkHighContrastOverrides = getOverrides(darkHighContrastPalette);
const futureDarkOverrides = getOverrides(futureDarkPalette);
const futureLightOverrides = getOverrides(futureLightPalette);
export { darkHighContrastOverrides, darkOverrides, futureDarkOverrides, futureLightOverrides, lightHighContrastOverrides, lightOverrides };
