{"version":3,"sources":["../../../src/theme/components/feedback.ts"],"sourcesContent":["/**\n * Feedback component overrides: alerts, dialogs, snackbars, tooltips.\n * @see https://mui.com/material-ui/components/alert/\n * @see https://mui.com/material-ui/components/dialog/\n * @see https://mui.com/material-ui/components/snackbar/\n * @see https://mui.com/material-ui/components/tooltip/\n */\nimport varnishTokens from '@allenai/varnish-theme/mui';\nimport type { Components, Theme } from '@mui/material';\n\nexport const feedbackComponents: Components<Omit<Theme, 'components'>> = {\n    MuiAlert: {\n        styleOverrides: {\n            root: {\n                borderRadius: varnishTokens.radii.sm.value,\n                padding: '8px',\n                fontSize: varnishTokens.font.size.sm.value,\n                gap: '4px',\n            },\n            icon: {\n                fontSize: '22px',\n                padding: 0,\n                marginRight: 0,\n            },\n            message: { padding: 0 },\n        },\n        // MUI's filled Alert ignores palette.*.contrastText and re-computes via\n        // getContrastText(). Override here to match varnish-theme element contrast tokens.\n        variants: [\n            {\n                props: { variant: 'filled', severity: 'info' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.info.contrastText,\n                        '& .MuiAlert-icon': { color: palette.info.contrastText },\n                    };\n                },\n            },\n            {\n                props: { variant: 'filled', severity: 'success' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.success.contrastText,\n                        '& .MuiAlert-icon': { color: palette.success.contrastText },\n                    };\n                },\n            },\n            {\n                props: { variant: 'filled', severity: 'warning' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.warning.contrastText,\n                        '& .MuiAlert-icon': { color: palette.warning.contrastText },\n                    };\n                },\n            },\n            {\n                props: { variant: 'filled', severity: 'error' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.error.contrastText,\n                        '& .MuiAlert-icon': { color: palette.error.contrastText },\n                    };\n                },\n            },\n        ],\n    },\n    MuiDialogActions: {\n        styleOverrides: {\n            root: {\n                padding: `0 ${varnishTokens.spacing[2].value} ${varnishTokens.spacing[2].value}`,\n            },\n        },\n    },\n    MuiDialogContent: {\n        styleOverrides: {\n            root: {\n                padding: `0 ${varnishTokens.spacing[2].value} ${varnishTokens.spacing[2].value}`,\n            },\n        },\n    },\n    MuiDialogTitle: {\n        styleOverrides: {\n            root: {\n                padding: varnishTokens.spacing[2].value,\n            },\n        },\n    },\n    MuiSnackbarContent: {\n        styleOverrides: {\n            root: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    backgroundColor: palette.background.reversed,\n                    color: palette.text.reversed,\n                };\n            },\n            message: {\n                overflow: 'hidden',\n                whiteSpace: 'nowrap',\n                textOverflow: 'ellipsis',\n            },\n            action: {\n                marginLeft: 'auto',\n                gap: varnishTokens.spacing[1].value,\n            },\n        },\n        variants: [\n            {\n                props: { shape: 'rounded' },\n                style: { borderRadius: varnishTokens.radii.full.value },\n            },\n        ],\n    },\n    MuiTooltip: {\n        defaultProps: {\n            shape: 'box',\n        },\n        styleOverrides: {\n            tooltip: ({ theme, ownerState }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    backgroundColor: palette.background.reversed,\n                    color: palette.text.reversed,\n                    padding: '6px 12px',\n                    fontSize: varnishTokens.font.size.sm.value,\n                    borderRadius: varnishTokens.radii.sm.value,\n                    ...(ownerState.shape === 'rounded' && {\n                        borderRadius: varnishTokens.radii.full.value,\n                        padding: '6px 18px',\n                    }),\n                };\n            },\n            arrow: ({ theme }) => ({\n                color: (theme.vars ?? theme).palette.background.reversed,\n            }),\n        },\n    },\n};\n"],"mappings":"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","names":["varnishTokens"]}