{"version":3,"sources":["../../../src/theme/components/index.ts","../../../src/theme/components/buttons.ts","../../../src/theme/components/data-display.ts","../../../src/theme/components/feedback.ts","../../../src/theme/components/inputs.ts","../../../src/theme/components/navigation.ts","../../../src/theme/components/surfaces.ts"],"sourcesContent":["/**\n * Merges all component category overrides into a single components object for createTheme().\n * @see https://mui.com/material-ui/customization/theme-components/\n */\nimport type { Components, Theme } from '@mui/material';\n\nimport { buttonComponents } from './buttons';\nimport { dataDisplayComponents } from './data-display';\nimport { feedbackComponents } from './feedback';\nimport { inputComponents } from './inputs';\nimport { navigationComponents } from './navigation';\nimport { surfaceComponents } from './surfaces';\n\nexport const components: Components<Omit<Theme, 'components'>> = {\n    ...inputComponents,\n    ...buttonComponents,\n    ...navigationComponents,\n    ...feedbackComponents,\n    ...dataDisplayComponents,\n    ...surfaceComponents,\n};\n","/**\n * Button component overrides: buttons, icon buttons, FABs, toggle buttons.\n * @see https://mui.com/material-ui/components/buttons/\n * @see https://mui.com/material-ui/components/button-group/\n * @see https://mui.com/material-ui/components/toggle-button/\n */\nimport varnishTokens from '@allenai/varnish-theme/mui';\nimport type { Components, Theme } from '@mui/material';\n\nexport const buttonComponents: Components<Omit<Theme, 'components'>> = {\n    MuiButton: {\n        defaultProps: {\n            disableElevation: true,\n        },\n        styleOverrides: {\n            root: {\n                textTransform: 'none',\n                lineHeight: '1',\n            },\n            sizeSmall: {\n                padding: '10px 14px',\n                fontSize: '0.75rem',\n            },\n            sizeMedium: {\n                padding: '11px 16px',\n                fontSize: varnishTokens.font.size.sm.value,\n            },\n            sizeLarge: {\n                padding: '16px 18px',\n                fontSize: varnishTokens.font.size.md.value,\n            },\n        },\n        variants: [\n            {\n                props: { variant: 'outlined' },\n                style: {\n                    border: '1px solid',\n                },\n            },\n            // Padding compensates for 1px border: visual size = padding + border\n            {\n                props: { variant: 'outlined', size: 'small' },\n                style: {\n                    padding: '9px 13px',\n                },\n            },\n            {\n                props: { variant: 'outlined', size: 'medium' },\n                style: {\n                    padding: '10px 15px',\n                },\n            },\n            {\n                props: { variant: 'outlined', size: 'large' },\n                style: {\n                    padding: '15px 17px',\n                },\n            },\n            {\n                props: { variant: 'contained', color: 'tertiary' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        backgroundColor: palette.tertiary.main,\n                        color: palette.tertiary.contrastText,\n                        '&:hover': { backgroundColor: palette.tertiary.hovered?.fill },\n                    };\n                },\n            },\n            {\n                props: { variant: 'outlined', color: 'tertiary' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.tertiary.main,\n                        borderColor: palette.tertiary.main,\n                        '&:hover': {\n                            borderColor: palette.tertiary.hovered?.stroke,\n                        },\n                    };\n                },\n            },\n            {\n                props: { variant: 'text' },\n                style: ({ theme }) => ({\n                    '&:hover': {\n                        backgroundColor: (theme.vars ?? theme).palette.button.text.hovered.fill,\n                    },\n                }),\n            },\n            {\n                props: { variant: 'text', color: 'tertiary' },\n                style: ({ theme }) => ({ color: (theme.vars ?? theme).palette.tertiary.main }),\n            },\n            {\n                props: { variant: 'contained', color: 'default' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        backgroundColor: palette.default.main,\n                        color: palette.default.contrastText,\n                        '&:hover': { backgroundColor: palette.default.hovered?.fill },\n                    };\n                },\n            },\n            {\n                props: { variant: 'outlined', color: 'default' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.default.main,\n                        borderColor: palette.default.main,\n                        '&:hover': {\n                            borderColor: palette.default.hovered?.stroke,\n                        },\n                    };\n                },\n            },\n            {\n                props: { variant: 'text', color: 'default' },\n                style: ({ theme }) => ({ color: (theme.vars ?? theme).palette.default.main }),\n            },\n            {\n                props: { shape: 'rounded' },\n                style: { borderRadius: varnishTokens.radii.full.value },\n            },\n        ],\n    },\n    MuiIconButton: {\n        styleOverrides: {\n            root: ({ ownerState, theme }) => {\n                const variant = ownerState.variant;\n                const colorKey = ownerState.color || 'default';\n                const themeWithVars = theme.vars ?? theme;\n                const p = themeWithVars.palette[colorKey as keyof typeof themeWithVars.palette] as\n                    | { main?: string; contrastText?: string; hovered?: { fill?: string } }\n                    | undefined;\n\n                return {\n                    ...(['tertiary', 'default'].includes(colorKey) &&\n                        (!variant || variant === 'text') && { color: p?.main }),\n                    ...(variant === 'contained' &&\n                        p?.main && {\n                            backgroundColor: p.main,\n                            color: p.contrastText,\n                            '&:hover': { backgroundColor: p.hovered?.fill ?? p.main },\n                        }),\n                    ...(variant === 'outlined' &&\n                        p?.main && {\n                            borderColor: p.main,\n                            color: p.main,\n                        }),\n                };\n            },\n            // padding is 1px smaller to compensate for border\n            sizeSmall: {\n                padding: '6px',\n                fontSize: '1.25rem',\n            },\n            sizeMedium: {\n                padding: '6px',\n                fontSize: varnishTokens.sizes.icon.sm.value,\n            },\n            sizeLarge: {\n                padding: '8px',\n                fontSize: varnishTokens.sizes.icon.lg.value,\n            },\n        },\n        variants: [\n            {\n                props: { variant: 'outlined', size: 'small' },\n                style: {\n                    padding: '5px',\n                },\n            },\n            {\n                props: { variant: 'outlined', size: 'medium' },\n                style: {\n                    padding: '5px',\n                },\n            },\n            {\n                props: { variant: 'outlined', size: 'large' },\n                style: {\n                    padding: '8px',\n                },\n            },\n            {\n                props: { shape: 'rounded' },\n                style: { borderRadius: varnishTokens.radii.full.value },\n            },\n        ],\n    },\n};\n","/**\n * Data display component overrides: avatars, badges, chips, ratings, tables.\n * @see https://mui.com/material-ui/components/avatars/\n * @see https://mui.com/material-ui/components/badges/\n * @see https://mui.com/material-ui/components/chips/\n * @see https://mui.com/material-ui/components/rating/\n * @see https://mui.com/material-ui/components/tables/\n */\nimport varnishTokens from '@allenai/varnish-theme/mui';\nimport type { Components, Theme } from '@mui/material';\n\nexport const dataDisplayComponents: Components<Omit<Theme, 'components'>> = {\n    MuiAvatar: {\n        styleOverrides: {\n            root: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    width: '2rem',\n                    height: '2rem',\n                    fontSize: varnishTokens.font.size.md.value,\n                    cursor: 'pointer',\n                    backgroundColor: palette.default.main,\n                    color: palette.default.contrastText,\n                };\n            },\n            rounded: {\n                borderRadius: varnishTokens.radii.sm.value,\n            },\n        },\n        variants: [\n            {\n                props: { size: 'small' },\n                // we don't have a font size this small in the theme, consider adding xs? .75rem\n                style: { width: '1.5rem', height: '1.5rem', fontSize: '0.75rem' },\n            },\n            {\n                props: { size: 'large' },\n                style: {\n                    width: '2.25rem',\n                    height: '2.25rem',\n                    fontSize: varnishTokens.font.size.lg.value,\n                },\n            },\n            {\n                props: { shape: 'square' },\n                style: { borderRadius: varnishTokens.radii.sm.value },\n            },\n            {\n                props: { shape: 'circle' },\n                style: ({ theme }) => ({\n                    borderRadius: theme.shape.borderRadiusFull,\n                }),\n            },\n            {\n                props: { color: 'primary' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        backgroundColor: palette.primary.main,\n                        color: palette.primary.contrastText,\n                    };\n                },\n            },\n            {\n                props: { color: 'secondary' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        backgroundColor: palette.secondary.main,\n                        color: palette.secondary.contrastText,\n                    };\n                },\n            },\n            {\n                props: { color: 'tertiary' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        backgroundColor: palette.tertiary.main,\n                        color: palette.tertiary.contrastText,\n                    };\n                },\n            },\n            {\n                props: { color: 'default' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        backgroundColor: palette.default.main,\n                        color: palette.default.contrastText,\n                    };\n                },\n            },\n        ],\n    },\n    MuiBadge: {\n        styleOverrides: {\n            root: { textTransform: 'none' },\n        },\n        variants: [\n            {\n                props: { color: 'tertiary' },\n                style: ({ theme }) => ({\n                    span: { color: (theme.vars ?? theme).palette.tertiary.main },\n                }),\n            },\n        ],\n    },\n    MuiChip: {\n        styleOverrides: {\n            root: {\n                borderRadius: varnishTokens.radii.full.value,\n                // Transparent border on all chips so filled and outlined share identical dimensions\n                border: '1px solid transparent',\n                '&.Mui-disabled': {\n                    cursor: 'not-allowed',\n                    pointerEvents: 'auto',\n                },\n            },\n            labelSmall: { padding: '0 13px' },\n            labelMedium: { padding: '0 15px' },\n            deleteIcon: { fontSize: varnishTokens.sizes.icon.sm.value },\n            sizeSmall: {\n                height: '2rem',\n                fontSize: varnishTokens.font.size.sm.value,\n            },\n            sizeMedium: {\n                height: '2.25rem',\n                fontSize: varnishTokens.font.size.sm.value,\n            },\n        },\n        variants: [\n            {\n                props: { variant: 'filled', color: 'tertiary' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        backgroundColor: palette.tertiary.main,\n                        color: palette.tertiary.contrastText,\n                        '&:hover': { backgroundColor: palette.tertiary.hovered?.fill },\n                    };\n                },\n            },\n            {\n                props: { variant: 'outlined', color: 'tertiary' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.tertiary.main,\n                        borderColor: palette.tertiary.main,\n                        '&:hover': { borderColor: palette.tertiary.hovered?.stroke },\n                    };\n                },\n            },\n            {\n                props: { variant: 'filled', color: 'default' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        backgroundColor: palette.default.main,\n                        color: palette.default.contrastText,\n                        '&:hover': { backgroundColor: palette.default.hovered?.fill },\n                    };\n                },\n            },\n            {\n                props: { variant: 'outlined', color: 'default' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.default.main,\n                        borderColor: palette.default.main,\n                        '&:hover': { borderColor: palette.default.hovered?.stroke },\n                    };\n                },\n            },\n            {\n                props: { size: 'xsmall' },\n                style: {\n                    height: '1.5rem',\n                    fontSize: '12px', // we don't have a font size this small in the theme, consider adding xs? .75rem\n                    '& .MuiChip-label': { padding: '0 7px' },\n                    '& .MuiChip-deleteIcon': { fontSize: varnishTokens.sizes.icon.xs.value },\n                },\n            },\n            {\n                props: { size: 'large' },\n                style: {\n                    height: '3rem',\n                    fontSize: varnishTokens.font.size.md.value,\n                    '& .MuiChip-label': { padding: '0 21px' },\n                    '& .MuiChip-deleteIcon': { fontSize: varnishTokens.sizes.icon.lg.value },\n                },\n            },\n            {\n                props: { shape: 'box' },\n                style: { borderRadius: varnishTokens.radii.sm.value },\n            },\n        ],\n    },\n    MuiRating: {\n        styleOverrides: {\n            root: ({ theme }) => ({\n                color: (theme.vars ?? theme).palette.primary.main,\n            }),\n        },\n    },\n    MuiTableCell: {\n        styleOverrides: {\n            root: { fontSize: varnishTokens.font.size.sm.value },\n        },\n    },\n    MuiTableContainer: {\n        styleOverrides: {\n            root: ({ theme }) => ({\n                borderRadius: varnishTokens.radii.sm.value,\n                backgroundColor: (theme.vars ?? theme).palette.background.default,\n            }),\n        },\n    },\n};\n","/**\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","/**\n * Input component overrides: text fields, selects, checkboxes, radios, sliders, switches.\n * @see https://mui.com/material-ui/components/text-fields/\n * @see https://mui.com/material-ui/components/selects/\n * @see https://mui.com/material-ui/components/checkboxes/\n * @see https://mui.com/material-ui/components/radio-buttons/\n * @see https://mui.com/material-ui/components/slider/\n * @see https://mui.com/material-ui/components/switches/\n */\nimport varnishTokens from '@allenai/varnish-theme/mui';\nimport type { Components, Theme } from '@mui/material';\n\nexport const inputComponents: Components<Omit<Theme, 'components'>> = {\n    MuiAutocomplete: {\n        styleOverrides: {\n            paper: ({ theme }) => ({\n                borderRadius: varnishTokens.radii.sm.value,\n                backgroundColor: (theme.vars ?? theme).palette.elements.overlay.background,\n            }),\n            option: { fontSize: varnishTokens.font.size.sm.value },\n            clearIndicator: { borderRadius: varnishTokens.radii.sm.value },\n            popupIndicator: { borderRadius: varnishTokens.radii.sm.value },\n        },\n    },\n    MuiCheckbox: {\n        styleOverrides: {\n            root: ({ ownerState, theme }) => {\n                const { palette } = theme.vars ?? theme;\n                const colorKey = ownerState.color || 'primary';\n                const p = palette[colorKey as keyof typeof palette] as\n                    | { contrastText?: string }\n                    | undefined;\n                return {\n                    padding: 0,\n                    borderRadius: varnishTokens.radii.xs.value,\n                    '& .MuiSvgIcon-root': { borderRadius: varnishTokens.radii.xs.value },\n                    // Set background on checked SVG so the checkmark cutout shows the contrast color.\n                    // The MUI checkbox SVG path is inset ~12.5% from the viewBox edges (path starts\n                    // at 3/24), so we clip the background to the checkbox shape area to avoid a\n                    // visible border around the checkbox.\n                    '&.Mui-checked .MuiSvgIcon-root': p?.contrastText\n                        ? { backgroundColor: p.contrastText, clipPath: 'inset(12.5% round 8.33%)' }\n                        : {},\n                };\n            },\n            sizeSmall: {\n                '& .MuiSvgIcon-root': { fontSize: varnishTokens.font.size.md.value },\n            },\n            sizeMedium: {\n                '& .MuiSvgIcon-root': { fontSize: varnishTokens.font.size.xl.value },\n            },\n        },\n        variants: [\n            {\n                props: { color: 'tertiary' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.tertiary.main,\n                        '&.Mui-checked': { color: palette.tertiary.main },\n                    };\n                },\n            },\n            {\n                props: { color: 'default' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.form.checkbox.stroke,\n                        '&.Mui-checked': { color: palette.form.checkbox.checked.fill },\n                        '&.Mui-checked .MuiSvgIcon-root': {\n                            backgroundColor: palette.form.checkbox.checked.contrast,\n                            clipPath: 'inset(12.5% round 8.33%)',\n                        },\n                        '&.Mui-disabled': { color: palette.form.checkbox.disabled.stroke },\n                        '&.Mui-disabled.Mui-checked': {\n                            color: palette.form.checkbox.disabled.fill,\n                        },\n                        '&.Mui-error': { color: palette.form.checkbox.error.stroke },\n                    };\n                },\n            },\n            {\n                props: { size: 'large' },\n                style: {\n                    '& .MuiSvgIcon-root': {\n                        fontSize: '1.75rem', // we don't have a font size this size in the theme, consider adding?\n                    },\n                },\n            },\n        ],\n    },\n    MuiFilledInput: {\n        defaultProps: {\n            disableUnderline: true,\n        },\n        styleOverrides: {\n            root: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    borderRadius: varnishTokens.radii.sm.value,\n                    border: '1px solid transparent',\n                    backgroundColor: palette.form.input.fill,\n                    '&:hover': {\n                        backgroundColor: palette.form.input.hovered.fill,\n                        borderColor: palette.form.input.hovered.stroke,\n                    },\n                    '&.Mui-focused': { backgroundColor: palette.form.input.fill },\n                    '&.Mui-error': { borderColor: palette.form.input.error.stroke },\n                    '&.Mui-disabled': {\n                        backgroundColor: palette.form.input.disabled.fill,\n                        borderColor: palette.form.input.disabled.stroke,\n                        cursor: 'not-allowed',\n                    },\n                    // Multiline (TextArea) padding on root\n                    // Padding compensates for 1px border: visual size = padding + border\n                    '&.MuiInputBase-multiline': { padding: '7px 11px' },\n                    '&.MuiInputBase-multiline.MuiInputBase-sizeSmall': { padding: '11px' },\n                };\n            },\n            // Padding compensates for 1px border: visual size = padding + border\n            input: { padding: '7px 11px' },\n            sizeSmall: { '& .MuiInputBase-input': { padding: '11px' } },\n            multiline: {\n                '& .MuiInputBase-input': {\n                    padding: 0,\n                    resize: 'none',\n                    scrollbarWidth: 'none',\n                    '&::-webkit-scrollbar': { display: 'none' },\n                    '&:hover, &:focus': {\n                        scrollbarWidth: 'thin',\n                        '&::-webkit-scrollbar': { display: 'block' },\n                    },\n                },\n            },\n        },\n    },\n    MuiFormControlLabel: {\n        styleOverrides: {\n            root: {\n                gap: varnishTokens.spacing[1].value,\n                marginLeft: 0,\n                marginRight: 0,\n            },\n        },\n    },\n    MuiFormHelperText: {\n        styleOverrides: {\n            root: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    fontSize: varnishTokens.font.size.sm.value,\n                    marginTop: '4px',\n                    '&.Mui-error': { color: palette.form.input.error.contrast },\n                    '&.Mui-disabled': { color: palette.form.input.disabled.contrast },\n                };\n            },\n            sizeSmall: {\n                fontSize: '12px', // we don't have a font size this small in the theme, consider adding xs? .75rem\n            },\n            // @ts-expect-error — augmentation not visible to tsup DTS build\n            sizeLarge: { fontSize: varnishTokens.font.size.md.value },\n        },\n    },\n    MuiInput: {\n        styleOverrides: {\n            root: ({ theme }) => ({\n                '&:hover:not(.Mui-disabled):before': {\n                    borderBottomColor: (theme.vars ?? theme).palette.form.input.hovered.stroke,\n                },\n            }),\n            input: { padding: '7px 0' },\n            sizeSmall: { '& .MuiInputBase-input': { padding: '5px 0' } },\n        },\n    },\n    MuiInputBase: {\n        styleOverrides: {\n            root: {\n                lineHeight: varnishTokens.lineHeight[3].value,\n            },\n            sizeSmall: {\n                fontSize: '12px', // we don't have a font size this small in the theme, consider adding xs? .75rem\n                lineHeight: varnishTokens.lineHeight[2].value,\n            },\n        },\n    },\n    MuiInputLabel: {\n        styleOverrides: {\n            root: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    position: 'relative',\n                    transform: 'none',\n                    marginBottom: '4px',\n                    fontSize: varnishTokens.font.size.sm.value,\n                    color: palette.text.secondary,\n                    '&.Mui-focused': { color: palette.text.secondary },\n                    '&.Mui-error': { color: palette.form.input.error.contrast },\n                    '&.Mui-disabled': { color: palette.form.input.disabled.contrast },\n                };\n            },\n            sizeSmall: {\n                fontSize: '12px', // we don't have a font size this small in the theme, consider adding xs? .75rem\n            },\n            // @ts-expect-error — augmentation not visible to tsup DTS build\n            sizeLarge: { fontSize: varnishTokens.font.size.md.value },\n        },\n    },\n    MuiOutlinedInput: {\n        styleOverrides: {\n            root: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    borderRadius: varnishTokens.radii.sm.value,\n                    '& .MuiOutlinedInput-notchedOutline': {\n                        borderWidth: '1px',\n                        borderColor: palette.form.input.stroke,\n                    },\n                    '&:hover .MuiOutlinedInput-notchedOutline': {\n                        borderColor: palette.form.input.hovered.stroke,\n                    },\n                    // Multiline (TextArea) padding on root\n                    // Padding compensates for 1px border: visual size = padding + border\n                    '&.MuiInputBase-multiline': { padding: '7px 11px' },\n                    '&.MuiInputBase-multiline.MuiInputBase-sizeSmall': { padding: '11px' },\n                    '&.Mui-error .MuiOutlinedInput-notchedOutline': {\n                        borderColor: palette.form.input.error.stroke,\n                    },\n                    '&.Mui-disabled .MuiOutlinedInput-notchedOutline': {\n                        borderColor: palette.form.input.disabled.stroke,\n                    },\n                    '&.Mui-disabled': { cursor: 'not-allowed' },\n                };\n            },\n            notchedOutline: {\n                // Hide the legend/notch since label is now above\n                '& legend': { display: 'none' },\n            },\n            // Padding compensates for 1px border: visual size = padding + border\n            input: { padding: '7px 11px' },\n            sizeSmall: { '& .MuiInputBase-input': { padding: '11px' } },\n            multiline: {\n                '& .MuiInputBase-input': {\n                    padding: 0,\n                    resize: 'none',\n                    // Hide scrollbar until hover/focus\n                    scrollbarWidth: 'none',\n                    '&::-webkit-scrollbar': { display: 'none' },\n                    '&:hover, &:focus': {\n                        scrollbarWidth: 'thin',\n                        '&::-webkit-scrollbar': { display: 'block' },\n                    },\n                },\n            },\n        },\n    },\n    MuiRadio: {\n        defaultProps: {\n            color: 'default',\n        },\n        styleOverrides: {\n            root: {\n                padding: 0,\n                // Default (medium) icon size — MUI doesn't add a sizeMedium class\n                // for the default size, so we set it here and let sizeSmall override.\n                '& .MuiSvgIcon-root': { fontSize: varnishTokens.font.size.sm.value },\n            },\n            sizeSmall: {\n                '& .MuiSvgIcon-root': {\n                    fontSize: '0.75rem', // we don't have a font size this small in the theme, consider adding xs? .75rem\n                },\n            },\n        },\n        variants: [\n            {\n                props: { color: 'tertiary' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.tertiary.main,\n                        '&.Mui-checked': { color: palette.tertiary.main },\n                    };\n                },\n            },\n            {\n                props: { color: 'default' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.form.radio.stroke,\n                        '&.Mui-checked': { color: palette.form.radio.checked.fill },\n                        '&.Mui-disabled': { color: palette.form.radio.disabled.stroke },\n                        '&.Mui-error': { color: palette.form.radio.error.stroke },\n                    };\n                },\n            },\n            {\n                props: { size: 'large' },\n                style: {\n                    '& .MuiSvgIcon-root': { fontSize: varnishTokens.font.size.xl.value },\n                },\n            },\n        ],\n    },\n    MuiSelect: {\n        styleOverrides: {\n            root: {\n                fontWeight: varnishTokens.font.weight.medium.value,\n                borderRadius: varnishTokens.radii.sm.value,\n                // Medium (default) select padding\n                '& .MuiSelect-select': {\n                    padding: '8px 24px',\n                    fontSize: varnishTokens.font.size.sm.value,\n                },\n                // Small select padding\n                '&.MuiInputBase-sizeSmall .MuiSelect-select': {\n                    padding: '8px 20px',\n                    fontSize: '12px', // we don't have a font size this small in the theme, consider adding xs? .75rem\n                },\n                // Large select padding\n                '&.MuiInputBase-sizeLarge .MuiSelect-select': {\n                    padding: '16px 24px',\n                    fontSize: varnishTokens.font.size.md.value,\n                },\n            },\n        },\n        variants: [\n            {\n                props: { shape: 'rounded' },\n                style: {\n                    borderRadius: varnishTokens.radii.full.value,\n                    '& .MuiOutlinedInput-notchedOutline': {\n                        borderRadius: varnishTokens.radii.full.value,\n                    },\n                },\n            },\n        ],\n    },\n    MuiSlider: {\n        styleOverrides: {\n            thumb: {\n                width: 14,\n                height: 14,\n            },\n            track: {\n                height: 4,\n                borderRadius: varnishTokens.radii.full.value,\n                border: 'none',\n            },\n            rail: ({ theme }) => ({\n                height: 4,\n                borderRadius: varnishTokens.radii.full.value,\n                backgroundColor: (theme.vars ?? theme).palette.form.slider.stroke,\n            }),\n            // Vertical: swap thickness to width, restore height\n            root: {\n                '&.MuiSlider-vertical .MuiSlider-track': { height: 'auto', width: 4 },\n                '&.MuiSlider-vertical .MuiSlider-rail': { height: '100%', width: 4 },\n            },\n            sizeSmall: {\n                '& .MuiSlider-thumb': { width: 12, height: 12 },\n            },\n        },\n        variants: [\n            {\n                props: { color: 'tertiary' },\n                style: ({ theme }) => ({ color: (theme.vars ?? theme).palette.tertiary.main }),\n            },\n            {\n                props: { color: 'default' },\n                style: ({ theme }) => ({ color: (theme.vars ?? theme).palette.default.main }),\n            },\n            {\n                props: { size: 'large' },\n                style: {\n                    '& .MuiSlider-thumb': { width: 20, height: 20 },\n                    '& .MuiSlider-track': { height: 6 },\n                    '& .MuiSlider-rail': { height: 6 },\n                    // Vertical large: use width for thickness\n                    '&.MuiSlider-vertical .MuiSlider-track': { height: 'auto', width: 6 },\n                    '&.MuiSlider-vertical .MuiSlider-rail': { height: '100%', width: 6 },\n                },\n            },\n        ],\n    },\n    MuiSwitch: {\n        defaultProps: {\n            disableRipple: true,\n            color: 'default',\n        },\n        styleOverrides: {\n            root: ({ ownerState, theme }) => {\n                const { palette } = theme.vars ?? theme;\n                const colorKey = ownerState.color || 'primary';\n                const p = palette[colorKey as keyof typeof palette] as\n                    | { contrastText?: string }\n                    | undefined;\n                return {\n                    padding: 0,\n                    // Override checked thumb color to use contrastText\n                    '& .MuiSwitch-switchBase.Mui-checked': p?.contrastText\n                        ? { color: p.contrastText, '&:hover': { backgroundColor: 'transparent' } }\n                        : {},\n                    // Checked track: full opacity, no border\n                    '& .MuiSwitch-switchBase.Mui-checked + .MuiSwitch-track': {\n                        opacity: 1,\n                        borderColor: 'transparent',\n                    },\n                    // Disabled state\n                    '& .MuiSwitch-switchBase.Mui-disabled': {\n                        color: palette.form.switch.disabled.stroke,\n                        '& + .MuiSwitch-track': {\n                            backgroundColor: palette.form.switch.disabled.fill,\n                            borderColor: palette.form.switch.disabled.stroke,\n                            opacity: 1,\n                        },\n                    },\n                    '& .MuiSwitch-switchBase.Mui-disabled.Mui-checked': {\n                        color: palette.form.switch.disabled.contrast,\n                        '& + .MuiSwitch-track': { borderColor: 'transparent' },\n                    },\n                    // Error state\n                    '& .MuiSwitch-switchBase.Mui-error': {\n                        color: palette.form.switch.error.stroke,\n                        '& + .MuiSwitch-track': {\n                            backgroundColor: palette.form.switch.error.fill,\n                            borderColor: palette.form.switch.error.stroke,\n                        },\n                    },\n                    '& .MuiSwitch-switchBase.Mui-error.Mui-checked': {\n                        color: palette.form.switch.error.contrast,\n                    },\n                };\n            },\n            switchBase: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    padding: '2px',\n                    color: palette.form.switch.stroke,\n                    '&:hover': { backgroundColor: 'transparent' },\n                };\n            },\n            thumb: { boxShadow: 'none' },\n            track: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    borderRadius: varnishTokens.radii.full.value,\n                    border: '1px solid',\n                    borderColor: palette.form.switch.stroke,\n                    backgroundColor: palette.form.switch.fill,\n                    opacity: 1,\n                };\n            },\n            sizeSmall: {\n                width: '1.375rem',\n                height: '0.75rem',\n                '& .MuiSwitch-switchBase': {\n                    padding: '2px',\n                    '&.Mui-checked': { transform: 'translateX(10px)' },\n                },\n                '& .MuiSwitch-thumb': { width: '0.5rem', height: '0.5rem' },\n            },\n            sizeMedium: {\n                width: '1.625rem',\n                height: '0.875rem',\n                '& .MuiSwitch-switchBase': {\n                    padding: '2px',\n                    '&.Mui-checked': { transform: 'translateX(12px)' },\n                },\n                '& .MuiSwitch-thumb': { width: '0.625rem', height: '0.625rem' },\n            },\n        },\n        variants: [\n            {\n                props: { color: 'tertiary' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        '& .MuiSwitch-switchBase.Mui-checked': {\n                            color: palette.tertiary.contrastText,\n                            '& + .MuiSwitch-track': { backgroundColor: palette.tertiary.main },\n                        },\n                    };\n                },\n            },\n            {\n                props: { color: 'default' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        '& .MuiSwitch-switchBase.Mui-checked': {\n                            color: palette.form.switch.checked.contrast,\n                            '& + .MuiSwitch-track': {\n                                backgroundColor: palette.form.switch.checked.fill,\n                            },\n                        },\n                    };\n                },\n            },\n            {\n                props: { size: 'large' },\n                style: {\n                    width: '2.3125rem',\n                    height: '1.25rem',\n                    '& .MuiSwitch-switchBase': {\n                        padding: '3px',\n                        '&.Mui-checked': { transform: 'translateX(17px)' },\n                    },\n                    '& .MuiSwitch-thumb': { width: '0.875rem', height: '0.875rem' },\n                },\n            },\n        ],\n    },\n    MuiTextField: {\n        defaultProps: {\n            slotProps: { inputLabel: { shrink: true } },\n        },\n        variants: [\n            {\n                props: { size: 'large' },\n                style: {\n                    '& .MuiInputBase-root': {\n                        fontSize: varnishTokens.font.size.lg.value,\n                        lineHeight: varnishTokens.lineHeight[2].value,\n                    },\n                    '& .MuiInputBase-input': { padding: '15px' },\n                    // Multiline large: padding on root only\n                    '& .MuiInputBase-root.MuiInputBase-multiline': { padding: '15px' },\n                    '& .MuiInputBase-inputMultiline': { padding: 0 },\n                    '& .MuiInputLabel-root': { fontSize: varnishTokens.font.size.md.value },\n                },\n            },\n            {\n                props: { shape: 'rounded' },\n                style: {\n                    '& .MuiInputBase-root': {\n                        // No matching radii token for 28px — flag for design review\n                        borderRadius: '28px',\n                    },\n                    '& .MuiOutlinedInput-notchedOutline': { borderWidth: '2px' },\n                    '& .MuiInputBase-input': { paddingInline: '24px' },\n                    // Multiline rounded: padding on root only\n                    '& .MuiInputBase-root.MuiInputBase-multiline': { paddingInline: '24px' },\n                    '& .MuiInputBase-inputMultiline': { paddingInline: 0 },\n                },\n            },\n        ],\n    },\n};\n","/**\n * Navigation component overrides: tabs, breadcrumbs, links, menus, lists, steppers.\n * @see https://mui.com/material-ui/components/tabs/\n * @see https://mui.com/material-ui/components/breadcrumbs/\n * @see https://mui.com/material-ui/components/links/\n * @see https://mui.com/material-ui/components/menus/\n * @see https://mui.com/material-ui/components/lists/\n * @see https://mui.com/material-ui/components/steppers/\n */\nimport varnishTokens from '@allenai/varnish-theme/mui';\nimport type { Components, Theme } from '@mui/material';\n\nexport const navigationComponents: Components<Omit<Theme, 'components'>> = {\n    MuiBreadcrumbs: {\n        styleOverrides: {\n            root: { fontSize: varnishTokens.font.size.sm.value },\n        },\n    },\n    MuiLink: {\n        defaultProps: {\n            underline: 'none',\n        },\n        styleOverrides: {\n            root: { fontWeight: varnishTokens.font.weight.medium.value },\n        },\n        variants: [\n            {\n                props: { color: 'default' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.links.default,\n                        '&:hover': { color: palette.links.hovered.default },\n                    };\n                },\n            },\n            {\n                props: { color: 'reversed' },\n                style: ({ theme }) => {\n                    const { palette } = theme.vars ?? theme;\n                    return {\n                        color: palette.links.reversed,\n                        '&:hover': { color: palette.links.hovered.reversed },\n                    };\n                },\n            },\n            {\n                props: { color: 'text' },\n                style: ({ theme }) => ({ color: (theme.vars ?? theme).palette.default.main }),\n            },\n            {\n                props: { color: 'primary' },\n                style: ({ theme }) => ({ color: (theme.vars ?? theme).palette.primary.main }),\n            },\n            {\n                props: { color: 'secondary' },\n                style: ({ theme }) => ({ color: (theme.vars ?? theme).palette.secondary.main }),\n            },\n            {\n                props: { color: 'tertiary' },\n                style: ({ theme }) => ({ color: (theme.vars ?? theme).palette.tertiary.main }),\n            },\n            {\n                props: { size: 'small' },\n                style: { fontSize: varnishTokens.font.size.sm.value },\n            },\n            {\n                props: { size: 'medium' },\n                style: { fontSize: varnishTokens.font.size.md.value },\n            },\n            {\n                props: { size: 'large' },\n                style: { fontSize: varnishTokens.font.size.lg.value },\n            },\n        ],\n    },\n    MuiListItemButton: {\n        styleOverrides: {\n            root: {\n                fontSize: varnishTokens.font.size.sm.value,\n            },\n        },\n    },\n    MuiListSubheader: {\n        styleOverrides: {\n            root: { fontSize: varnishTokens.font.size.sm.value },\n        },\n    },\n    MuiMenu: {\n        styleOverrides: {\n            paper: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    backgroundColor: palette.elements.overlay.background,\n                    border: '1px solid',\n                    borderColor: palette.divider,\n                    padding: theme.spacing(0.5),\n                };\n            },\n            list: { padding: 0 },\n        },\n    },\n    MuiMenuList: {\n        styleOverrides: {\n            root: ({ theme }) => ({\n                padding: theme.spacing(0.5),\n            }),\n        },\n    },\n    MuiMenuItem: {\n        styleOverrides: {\n            root: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    '&:hover': { backgroundColor: palette.action.hover },\n                    '&.Mui-selected': {\n                        backgroundColor: palette.action.selected,\n                        '&:hover': { backgroundColor: palette.action.selected },\n                    },\n                    '&.Mui-disabled': { color: palette.text.disabled },\n                };\n            },\n        },\n    },\n    MuiStepLabel: {\n        styleOverrides: {\n            label: { fontSize: varnishTokens.font.size.sm.value },\n        },\n    },\n    MuiTab: {\n        styleOverrides: {\n            root: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    textTransform: 'none',\n                    padding: '8px 16px',\n                    fontSize: varnishTokens.font.size.sm.value,\n                    minHeight: 'unset',\n                    color: palette.text.primary,\n                    '&:hover:not(.Mui-disabled)': { color: palette.primary.main },\n                    '&.Mui-selected:not(.Mui-disabled)': { color: palette.primary.main },\n                    '&.Mui-disabled': { color: palette.text.disabled },\n                };\n            },\n        },\n    },\n    MuiTabs: {\n        styleOverrides: {\n            flexContainer: { gap: varnishTokens.spacing[1].value },\n        },\n    },\n};\n","/**\n * Surface component overrides: paper, accordion, app bar, containers, progress indicators.\n * @see https://mui.com/material-ui/components/paper/\n * @see https://mui.com/material-ui/components/accordion/\n * @see https://mui.com/material-ui/components/app-bar/\n * @see https://mui.com/material-ui/components/progress/\n */\nimport varnishTokens from '@allenai/varnish-theme/mui';\nimport type { Components, Theme } from '@mui/material';\n\nexport const surfaceComponents: Components<Omit<Theme, 'components'>> = {\n    MuiAccordion: {\n        styleOverrides: {\n            root: ({ theme }) => ({\n                backgroundColor: (theme.vars ?? theme).palette.elements.overlay.contentContrastHigh,\n            }),\n        },\n    },\n    MuiAccordionSummary: {\n        styleOverrides: {\n            root: { fontSize: varnishTokens.font.size.sm.value },\n        },\n    },\n    MuiAppBar: {\n        defaultProps: {\n            color: 'default',\n        },\n        styleOverrides: {\n            colorDefault: ({ theme }) => {\n                const { palette } = theme.vars ?? theme;\n                return {\n                    backgroundColor: palette.background.reversed,\n                    color: palette.text.reversed,\n                };\n            },\n        },\n    },\n    MuiHeader: {\n        defaultProps: {\n            position: 'sticky',\n            shape: 'box',\n        },\n    },\n    MuiCircularProgress: {\n        variants: [\n            {\n                props: { color: 'tertiary' },\n                style: ({ theme }) => ({ color: (theme.vars ?? theme).palette.tertiary.main }),\n            },\n        ],\n    },\n    MuiContainer: {\n        styleOverrides: {\n            root: ({ theme }) => ({\n                backgroundColor: (theme.vars ?? theme).palette.background.default,\n            }),\n        },\n        defaultProps: {\n            disableGutters: true,\n        },\n    },\n    MuiLinearProgress: {\n        variants: [\n            {\n                props: { color: 'tertiary' },\n                style: ({ theme }) => ({ color: (theme.vars ?? theme).palette.tertiary.main }),\n            },\n        ],\n    },\n    MuiPaper: {\n        defaultProps: {\n            elevation: 0,\n        },\n    },\n};\n"],"mappings":"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","names":["varnishTokens","import_mui","varnishTokens","import_mui","varnishTokens","import_mui","varnishTokens","import_mui","varnishTokens","import_mui","varnishTokens"]}