1
1
import MenuItem from "@mui/material/MenuItem" ;
2
- import Select , { SelectProps } from "@mui/material/Select" ;
3
- import { makeStyles } from "@mui/styles" ;
2
+ import Select , { type SelectProps } from "@mui/material/Select" ;
4
3
import Table from "@mui/material/Table" ;
5
4
import TableBody from "@mui/material/TableBody" ;
6
5
import TableCell from "@mui/material/TableCell" ;
7
6
import TableContainer from "@mui/material/TableContainer" ;
8
7
import TableHead from "@mui/material/TableHead" ;
9
8
import TableRow from "@mui/material/TableRow" ;
10
9
import PersonAdd from "@mui/icons-material/PersonAdd" ;
11
- import {
10
+ import { type Interpolation , type Theme } from "@emotion/react" ;
11
+ import type {
12
12
Group ,
13
13
TemplateACL ,
14
14
TemplateGroup ,
@@ -26,7 +26,7 @@ import {
26
26
UserOrGroupAutocomplete ,
27
27
UserOrGroupAutocompleteValue ,
28
28
} from "components/UserOrGroupAutocomplete/UserOrGroupAutocomplete" ;
29
- import { FC , useState } from "react" ;
29
+ import { type FC , useState } from "react" ;
30
30
import { GroupAvatar } from "components/GroupAvatar/GroupAvatar" ;
31
31
import { getGroupSubtitle } from "utils/groups" ;
32
32
import { PageHeader , PageHeaderTitle } from "components/PageHeader/PageHeader" ;
@@ -50,7 +50,6 @@ const AddTemplateUserOrGroup: React.FC<AddTemplateUserOrGroupProps> = ({
50
50
templateID,
51
51
templateACL,
52
52
} ) => {
53
- const styles = useStyles ( ) ;
54
53
const [ selectedOption , setSelectedOption ] =
55
54
useState < UserOrGroupAutocompleteValue > ( null ) ;
56
55
const [ selectedRole , setSelectedRole ] = useState < TemplateRole > ( "use" ) ;
@@ -94,7 +93,7 @@ const AddTemplateUserOrGroup: React.FC<AddTemplateUserOrGroupProps> = ({
94
93
< Select
95
94
defaultValue = "use"
96
95
size = "small"
97
- className = { styles . select }
96
+ css = { styles . select }
98
97
disabled = { isLoading }
99
98
onChange = { ( event ) => {
100
99
setSelectedRole ( event . target . value as TemplateRole ) ;
@@ -122,26 +121,24 @@ const AddTemplateUserOrGroup: React.FC<AddTemplateUserOrGroupProps> = ({
122
121
} ;
123
122
124
123
const RoleSelect : FC < SelectProps > = ( props ) => {
125
- const styles = useStyles ( ) ;
126
-
127
124
return (
128
125
< Select
129
- renderValue = { ( value ) => < div className = { styles . role } > { `${ value } ` } </ div > }
130
- className = { styles . updateSelect }
126
+ renderValue = { ( value ) => < div css = { styles . role } > { `${ value } ` } </ div > }
127
+ css = { styles . updateSelect }
131
128
{ ...props }
132
129
>
133
- < MenuItem key = "use" value = "use" className = { styles . menuItem } >
130
+ < MenuItem key = "use" value = "use" css = { styles . menuItem } >
134
131
< div >
135
132
< div > Use</ div >
136
- < div className = { styles . menuItemSecondary } >
133
+ < div css = { styles . menuItemSecondary } >
137
134
Can read and use this template to create workspaces.
138
135
</ div >
139
136
</ div >
140
137
</ MenuItem >
141
- < MenuItem key = "admin" value = "admin" className = { styles . menuItem } >
138
+ < MenuItem key = "admin" value = "admin" css = { styles . menuItem } >
142
139
< div >
143
140
< div > Admin</ div >
144
- < div className = { styles . menuItemSecondary } >
141
+ < div css = { styles . menuItemSecondary } >
145
142
Can modify all aspects of this template including permissions,
146
143
metadata, and template versions.
147
144
</ div >
@@ -198,7 +195,6 @@ export const TemplatePermissionsPageView: FC<
198
195
onUpdateGroup,
199
196
onRemoveGroup,
200
197
} ) => {
201
- const styles = useStyles ( ) ;
202
198
const isEmpty = Boolean (
203
199
templateACL &&
204
200
templateACL . users . length === 0 &&
@@ -207,7 +203,7 @@ export const TemplatePermissionsPageView: FC<
207
203
208
204
return (
209
205
< >
210
- < PageHeader className = { styles . pageHeader } >
206
+ < PageHeader css = { styles . pageHeader } >
211
207
< PageHeaderTitle > Permissions</ PageHeaderTitle >
212
208
</ PageHeader >
213
209
@@ -281,7 +277,7 @@ export const TemplatePermissionsPageView: FC<
281
277
/>
282
278
</ Cond >
283
279
< Cond >
284
- < div className = { styles . role } > { group . role } </ div >
280
+ < div css = { styles . role } > { group . role } </ div >
285
281
</ Cond >
286
282
</ ChooseOne >
287
283
</ TableCell >
@@ -329,7 +325,7 @@ export const TemplatePermissionsPageView: FC<
329
325
/>
330
326
</ Cond >
331
327
< Cond >
332
- < div className = { styles . role } > { user . role } </ div >
328
+ < div css = { styles . role } > { user . role } </ div >
333
329
</ Cond >
334
330
</ ChooseOne >
335
331
</ TableCell >
@@ -360,14 +356,14 @@ export const TemplatePermissionsPageView: FC<
360
356
) ;
361
357
} ;
362
358
363
- export const useStyles = makeStyles ( ( theme ) => ( {
359
+ const styles = {
364
360
select : {
365
361
// Match button small height
366
362
fontSize : 14 ,
367
363
width : 100 ,
368
364
} ,
369
365
370
- updateSelect : {
366
+ updateSelect : ( theme ) => ( {
371
367
margin : 0 ,
372
368
// Set a fixed width for the select. It avoids selects having different sizes
373
369
// depending on how many roles they have selected.
@@ -382,26 +378,26 @@ export const useStyles = makeStyles((theme) => ({
382
378
display : "none" ,
383
379
} ,
384
380
} ,
385
- } ,
381
+ } ) ,
386
382
387
383
role : {
388
384
textTransform : "capitalize" ,
389
385
} ,
390
386
391
- menuItem : {
387
+ menuItem : ( theme ) => ( {
392
388
lineHeight : "140%" ,
393
389
paddingTop : theme . spacing ( 1.5 ) ,
394
390
paddingBottom : theme . spacing ( 1.5 ) ,
395
391
whiteSpace : "normal" ,
396
392
inlineSize : "250px" ,
397
- } ,
393
+ } ) ,
398
394
399
- menuItemSecondary : {
395
+ menuItemSecondary : ( theme ) => ( {
400
396
fontSize : 14 ,
401
397
color : theme . palette . text . secondary ,
402
- } ,
398
+ } ) ,
403
399
404
400
pageHeader : {
405
401
paddingTop : 0 ,
406
402
} ,
407
- } ) ) ;
403
+ } satisfies Record < string , Interpolation < Theme > > ;
0 commit comments