Skip to content

Commit d255400

Browse files
Check styles declaration against MUI Theme with TypeScript (#3267)
1 parent c0b2c63 commit d255400

File tree

143 files changed

+704
-680
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

143 files changed

+704
-680
lines changed

src/components/breadcrumbs/root-network-select.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@
55
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
66
*/
77

8-
import { Box, ListItemText, MenuItem, Select, Theme } from '@mui/material';
8+
import { Box, ListItemText, MenuItem, Select } from '@mui/material';
99
import { UUID } from 'crypto';
1010
import { RemoveRedEye, VisibilityOff } from '@mui/icons-material';
1111
import { RootNetworkMetadata } from '../graph/menus/network-modifications/network-modification-menu.type';
1212
import { useSyncNavigationActions } from 'hooks/use-sync-navigation-actions';
13-
import { mergeSx } from '@gridsuite/commons-ui';
13+
import { mergeSx, type MuiStyles } from '@gridsuite/commons-ui';
1414

1515
const styles = {
16-
selectRoot: (theme: Theme) => ({
16+
selectRoot: (theme) => ({
1717
height: theme.spacing(4),
1818
width: theme.spacing(15),
1919
paddingTop: theme.spacing(1),
@@ -22,7 +22,7 @@ const styles = {
2222
selectInput: { display: 'flex', gap: 1, alignItems: 'center' },
2323
selectItem: { gap: 1 },
2424
hiddenItem: { display: 'none' },
25-
};
25+
} as const satisfies MuiStyles;
2626

2727
interface RootNetworkSelectProps {
2828
currentRootNetworkUuid: UUID | null;

src/components/breadcrumbs/study-path-breadcrumbs.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import { MoreHoriz } from '@mui/icons-material';
99
import { Box, Breadcrumbs as MuiBreadcrumbs, Tooltip } from '@mui/material';
10+
import { type MuiStyles } from '@gridsuite/commons-ui';
1011
import { CurrentTreeNode } from '../graph/tree-node.type';
1112
import { useSelector } from 'react-redux';
1213
import { AppState } from '../../redux/reducer';
@@ -21,7 +22,7 @@ const styles = {
2122
alignItems: 'center',
2223
flexWrap: 'nowrap',
2324
},
24-
};
25+
} as const satisfies MuiStyles;
2526

2627
export interface StudyPathBreadcrumbsProps {
2728
studyName: string | undefined;

src/components/custom-aggrid/cell-renderers.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,14 @@
66
*/
77

88
import { Box, Checkbox, Tooltip } from '@mui/material';
9-
import { Theme } from '@mui/material/styles';
109
import { ReactNode, useEffect, useRef, useState } from 'react';
11-
1210
import { isBlankOrEmpty } from 'components/utils/validation-functions';
1311
import { ICellRendererParams } from 'ag-grid-community';
1412
import { CustomCellRendererProps } from 'ag-grid-react';
15-
import { mergeSx } from '@gridsuite/commons-ui';
13+
import { mergeSx, type MuiStyles } from '@gridsuite/commons-ui';
1614

1715
const styles = {
18-
tableCell: (theme: Theme) => ({
16+
tableCell: (theme) => ({
1917
fontSize: 'small',
2018
cursor: 'inherit',
2119
display: 'flex',
@@ -35,7 +33,7 @@ const styles = {
3533
numericValue: {
3634
marginLeft: 'inherit',
3735
},
38-
};
36+
} as const satisfies MuiStyles;
3937

4038
export const BooleanCellRenderer = (props: any) => {
4139
const isChecked = props.value;

src/components/custom-aggrid/custom-aggrid-filters/custom-aggrid-boolean-filter.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import { useIntl } from 'react-intl';
1212
import { SelectChangeEvent } from '@mui/material/Select/SelectInput';
1313
import { useCustomAggridFilter } from './hooks/use-custom-aggrid-filter';
1414
import { isNonEmptyStringOrArray } from '../../../utils/types-utils';
15-
import { mergeSx } from '@gridsuite/commons-ui';
15+
import { mergeSx, type MuiStyles } from '@gridsuite/commons-ui';
1616
import { BooleanFilterValue } from './utils/aggrid-filters-utils';
1717
import { CustomAggridFilterParams, FILTER_DATA_TYPES, FILTER_TEXT_COMPARATORS } from './custom-aggrid-filter.type';
1818

@@ -22,7 +22,7 @@ const styles = {
2222
maxWidth: '40%',
2323
paddingRight: '0px',
2424
},
25-
};
25+
} as const satisfies MuiStyles;
2626

2727
export const CustomAggridBooleanFilter: FunctionComponent<CustomAggridFilterParams> = ({
2828
api,

src/components/custom-aggrid/custom-aggrid-filters/custom-aggrid-comparator-selector.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@
55
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
66
*/
77
import React from 'react';
8-
import { Select, MenuItem } from '@mui/material';
9-
import { SelectChangeEvent } from '@mui/material/Select/SelectInput';
8+
import { MenuItem, Select, type SelectChangeEvent } from '@mui/material';
109
import { useIntl } from 'react-intl';
10+
import { type MuiStyles } from '@gridsuite/commons-ui';
1111

1212
const styles = {
1313
input: {
1414
minWidth: '250px',
1515
maxWidth: '40%',
1616
},
17-
};
17+
} as const satisfies MuiStyles;
1818

1919
interface CustomAggridComparatorSelectorProps {
2020
value: string;

src/components/custom-aggrid/custom-aggrid-filters/custom-aggrid-duration-filter.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { ChangeEvent, FunctionComponent, useCallback, useEffect, useState } from
88
import { Grid, IconButton, InputAdornment, TextField, Typography } from '@mui/material';
99
import { useIntl } from 'react-intl';
1010
import ClearIcon from '@mui/icons-material/Clear';
11+
import { type MuiStyles } from '@gridsuite/commons-ui';
1112
import { CustomAggridComparatorSelector } from './custom-aggrid-comparator-selector';
1213
import { SelectChangeEvent } from '@mui/material/Select/SelectInput';
1314
import { useCustomAggridFilter } from './hooks/use-custom-aggrid-filter';
@@ -33,7 +34,7 @@ const styles = {
3334
MozAppearance: 'textfield',
3435
},
3536
},
36-
};
37+
} as const satisfies MuiStyles;
3738

3839
const CustomAggridDurationFilter: FunctionComponent<CustomAggridFilterParams> = ({ api, colId, filterParams }) => {
3940
const intl = useIntl();

src/components/custom-aggrid/custom-aggrid-filters/custom-aggrid-filter.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
*/
77
import React, { ComponentType, MouseEvent, useMemo, useState } from 'react';
88
import { Popover } from '@mui/material';
9+
import { type MuiStyles } from '@gridsuite/commons-ui';
910
import { CustomFilterIcon } from './custom-filter-icon';
1011
import { useCustomAggridFilter } from './hooks/use-custom-aggrid-filter';
1112
import { CustomAggridAutocompleteFilterParams } from './custom-aggrid-autocomplete-filter';
@@ -19,7 +20,7 @@ const styles = {
1920
autoCompleteInput: {
2021
width: '30%',
2122
},
22-
};
23+
} as const satisfies MuiStyles;
2324

2425
interface CustomAggridFilterWrapperParams<F extends CustomAggridFilterParams> {
2526
filterComponent: ComponentType<F>;

src/components/custom-aggrid/custom-aggrid-filters/custom-aggrid-text-filter.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
66
*/
77
import React, { useMemo } from 'react';
8-
import { TextField, Grid, InputAdornment, IconButton } from '@mui/material';
8+
import { Grid, IconButton, InputAdornment, TextField } from '@mui/material';
99
import ClearIcon from '@mui/icons-material/Clear';
1010
import { DisplayRounding } from '../display-rounding';
1111
import { useIntl } from 'react-intl';
12-
import { mergeSx } from '@gridsuite/commons-ui';
12+
import { mergeSx, type MuiStyles } from '@gridsuite/commons-ui';
1313
import { FILTER_DATA_TYPES } from './custom-aggrid-filter.type';
1414

1515
const styles = {
@@ -25,7 +25,7 @@ const styles = {
2525
MozAppearance: 'textfield',
2626
},
2727
},
28-
};
28+
} as const satisfies MuiStyles;
2929

3030
interface CustomAggridTextFilterProps {
3131
value: unknown;

src/components/custom-aggrid/custom-aggrid-filters/custom-filter-icon.tsx

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,21 @@
77
import React, { MouseEventHandler } from 'react';
88
import { Badge, Grid, IconButton } from '@mui/material';
99
import { FilterAlt } from '@mui/icons-material';
10+
import { type MuiStyles } from '@gridsuite/commons-ui';
1011
import { isNonEmptyStringOrArray } from '../../../utils/types-utils';
1112

1213
const styles = {
13-
iconSize: {
14-
fontSize: '1rem',
15-
},
16-
};
14+
iconSize: { fontSize: '1rem' },
15+
gridRoot: { overflow: 'visible' },
16+
} as const satisfies MuiStyles;
1717

1818
interface CustomFilterIconProps {
1919
handleShowFilter: MouseEventHandler<HTMLButtonElement> | undefined;
2020
selectedFilterData: unknown;
2121
}
2222

2323
export const CustomFilterIcon = ({ handleShowFilter, selectedFilterData }: CustomFilterIconProps) => (
24-
<Grid
25-
item
26-
sx={{
27-
overflow: 'visible',
28-
}}
29-
>
24+
<Grid item sx={styles.gridRoot}>
3025
<Grid item>
3126
<IconButton size={'small'} onClick={handleShowFilter}>
3227
<Badge

src/components/custom-aggrid/custom-aggrid-header.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import React, { ComponentType, useCallback, useState } from 'react';
99
import { Grid } from '@mui/material';
10+
import { type MuiStyles } from '@gridsuite/commons-ui';
1011
import { CustomAggridFilter } from './custom-aggrid-filters/custom-aggrid-filter';
1112
import { CustomAggridSort } from './custom-aggrid-sort';
1213
import { SortParams, useCustomAggridSort } from './hooks/use-custom-aggrid-sort';
@@ -19,7 +20,7 @@ const styles = {
1920
overflow: 'hidden',
2021
textOverflow: 'ellipsis',
2122
},
22-
};
23+
} as const satisfies MuiStyles;
2324

2425
interface CustomHeaderComponentProps<F extends CustomAggridFilterParams, T> extends CustomHeaderProps {
2526
displayName: string;

0 commit comments

Comments
 (0)