Skip to content

Commit

Permalink
[Input] Export InputBase's classes from the classes const (#31186)
Browse files Browse the repository at this point in the history
  • Loading branch information
mnajdova committed Feb 25, 2022
1 parent 0ad733b commit 4b8e354
Show file tree
Hide file tree
Showing 6 changed files with 44 additions and 52 deletions.
11 changes: 11 additions & 0 deletions packages/mui-material/src/FilledInput/FilledInput.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,15 @@ describe('<FilledInput />', () => {
render(<FilledInput componentsProps={{ root: { 'data-test': 'test' } }} />);
expect(document.querySelector('[data-test=test]')).not.to.equal(null);
});

it('should respect the classes coming from InputBase', () => {
render(
<FilledInput
data-test="test"
multiline
sx={{ [`&.${classes.multiline}`]: { mt: '10px' } }}
/>,
);
expect(document.querySelector('[data-test=test]')).toHaveComputedStyle({ marginTop: '10px' });
});
});
24 changes: 5 additions & 19 deletions packages/mui-material/src/FilledInput/filledInputClasses.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { generateUtilityClasses, generateUtilityClass } from '@mui/base';
import { inputBaseClasses } from '../InputBase';

export interface FilledInputClasses {
/** Styles applied to the root element. */
Expand Down Expand Up @@ -43,24 +44,9 @@ export function getFilledInputUtilityClass(slot: string): string {
return generateUtilityClass('MuiFilledInput', slot);
}

const filledInputClasses: FilledInputClasses = generateUtilityClasses('MuiFilledInput', [
'root',
'colorSecondary',
'underline',
'focused',
'disabled',
'adornedStart',
'adornedEnd',
'error',
'sizeSmall',
'multiline',
'hiddenLabel',
'input',
'inputSizeSmall',
'inputHiddenLabel',
'inputMultiline',
'inputAdornedStart',
'inputAdornedEnd',
]);
const filledInputClasses: FilledInputClasses = {
...inputBaseClasses,
...generateUtilityClasses('MuiFilledInput', ['root', 'underline', 'input']),
};

export default filledInputClasses;
7 changes: 7 additions & 0 deletions packages/mui-material/src/Input/Input.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,11 @@ describe('<Input />', () => {
render(<Input componentsProps={{ root: { 'data-test': 'test' } }} />);
expect(document.querySelector('[data-test=test]')).not.to.equal(null);
});

it('should respect the classes coming from InputBase', () => {
render(
<Input data-test="test" multiline sx={{ [`&.${classes.multiline}`]: { mt: '10px' } }} />,
);
expect(document.querySelector('[data-test=test]')).toHaveComputedStyle({ marginTop: '10px' });
});
});
21 changes: 5 additions & 16 deletions packages/mui-material/src/Input/inputClasses.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { generateUtilityClasses, generateUtilityClass } from '@mui/base';
import { inputBaseClasses } from '../InputBase';

export interface InputClasses {
/** Styles applied to the root element. */
Expand Down Expand Up @@ -37,21 +38,9 @@ export function getInputUtilityClass(slot: string): string {
return generateUtilityClass('MuiInput', slot);
}

const inputClasses: InputClasses = generateUtilityClasses('MuiInput', [
'root',
'formControl',
'focused',
'disabled',
'colorSecondary',
'underline',
'error',
'sizeSmall',
'multiline',
'fullWidth',
'input',
'inputSizeSmall',
'inputMultiline',
'inputTypeSearch',
]);
const inputClasses: InputClasses = {
...inputBaseClasses,
...generateUtilityClasses('MuiInput', ['root', 'underline', 'input']),
};

export default inputClasses;
11 changes: 11 additions & 0 deletions packages/mui-material/src/OutlinedInput/OutlinedInput.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,15 @@ describe('<OutlinedInput />', () => {
render(<OutlinedInput componentsProps={{ root: { 'data-test': 'test' } }} />);
expect(document.querySelector('[data-test=test]')).not.to.equal(null);
});

it('should respect the classes coming from InputBase', () => {
render(
<OutlinedInput
data-test="test"
multiline
sx={{ [`&.${classes.multiline}`]: { mt: '10px' } }}
/>,
);
expect(document.querySelector('[data-test=test]')).toHaveComputedStyle({ marginTop: '10px' });
});
});
22 changes: 5 additions & 17 deletions packages/mui-material/src/OutlinedInput/outlinedInputClasses.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { generateUtilityClasses, generateUtilityClass } from '@mui/base';
import { inputBaseClasses } from '../InputBase';

export interface OutlinedInputClasses {
/** Styles applied to the root element. */
Expand Down Expand Up @@ -39,22 +40,9 @@ export function getOutlinedInputUtilityClass(slot: string): string {
return generateUtilityClass('MuiOutlinedInput', slot);
}

const outlinedInputClasses: OutlinedInputClasses = generateUtilityClasses('MuiOutlinedInput', [
'root',
'colorSecondary',
'focused',
'disabled',
'adornedStart',
'adornedEnd',
'error',
'sizeSmall',
'multiline',
'notchedOutline',
'input',
'inputSizeSmall',
'inputMultiline',
'inputAdornedStart',
'inputAdornedEnd',
]);
const outlinedInputClasses: OutlinedInputClasses = {
...inputBaseClasses,
...generateUtilityClasses('MuiOutlinedInput', ['root', 'notchedOutline', 'input']),
};

export default outlinedInputClasses;

0 comments on commit 4b8e354

Please sign in to comment.