{"version":3,"sources":["../../../src/theme/components/inputs.ts"],"sourcesContent":["/**\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"],"mappings":"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","names":["varnishTokens"]}