@@ -4,13 +4,14 @@ import List from "@mui/material/List";
4
4
import ListItem from "@mui/material/ListItem" ;
5
5
import type { Group } from "api/typesGenerated" ;
6
6
import { Avatar } from "components/Avatar/Avatar" ;
7
- import {
8
- Popover ,
9
- PopoverContent ,
10
- PopoverTrigger ,
11
- } from "components/deprecated/Popover/Popover" ;
12
7
import { OverflowY } from "components/OverflowY/OverflowY" ;
13
8
import { TableCell } from "components/Table/Table" ;
9
+ import {
10
+ Tooltip ,
11
+ TooltipContent ,
12
+ TooltipProvider ,
13
+ TooltipTrigger ,
14
+ } from "components/Tooltip/Tooltip" ;
14
15
import type { FC } from "react" ;
15
16
16
17
type GroupsCellProps = {
@@ -28,98 +29,84 @@ export const UserGroupsCell: FC<GroupsCellProps> = ({ userGroups }) => {
28
29
// the table UI
29
30
< em css = { { fontStyle : "normal" } } > N/A</ em >
30
31
) : (
31
- < Popover mode = "hover" >
32
- < PopoverTrigger >
33
- < button
34
- css = { {
35
- cursor : "pointer" ,
36
- backgroundColor : "transparent" ,
37
- border : "none" ,
38
- padding : 0 ,
39
- color : "inherit" ,
40
- lineHeight : "1" ,
41
- } }
42
- type = "button"
43
- >
44
- < div className = "flex flex-row gap-2 items-center" >
45
- < GroupIcon
46
- css = { {
47
- width : "1rem" ,
48
- height : "1rem" ,
49
- opacity : userGroups . length > 0 ? 0.8 : 0.5 ,
50
- } }
51
- />
52
-
53
- < span >
54
- { userGroups . length } Group{ userGroups . length !== 1 && "s" }
55
- </ span >
56
- </ div >
57
- </ button >
58
- </ PopoverTrigger >
59
-
60
- < PopoverContent
61
- disableScrollLock
62
- disableRestoreFocus
63
- css = { {
64
- ".MuiPaper-root" : {
65
- minWidth : "auto" ,
66
- } ,
67
- } }
68
- anchorOrigin = { {
69
- vertical : "top" ,
70
- horizontal : "center" ,
71
- } }
72
- transformOrigin = { {
73
- vertical : "bottom" ,
74
- horizontal : "center" ,
75
- } }
76
- >
77
- < OverflowY maxHeight = { 400 } >
78
- < List
79
- component = "ul"
32
+ < TooltipProvider >
33
+ < Tooltip delayDuration = { 0 } >
34
+ < TooltipTrigger asChild >
35
+ < button
80
36
css = { {
81
- display : "flex" ,
82
- flexFlow : "column nowrap" ,
83
- fontSize : theme . typography . body2 . fontSize ,
84
- padding : "4px 2px" ,
85
- gap : 0 ,
37
+ cursor : "pointer" ,
38
+ backgroundColor : "transparent" ,
39
+ border : "none" ,
40
+ padding : 0 ,
41
+ color : "inherit" ,
42
+ lineHeight : "1" ,
86
43
} }
44
+ type = "button"
87
45
>
88
- { userGroups . map ( ( group ) => {
89
- const groupName = group . display_name || group . name ;
90
- return (
91
- < ListItem
92
- key = { group . id }
93
- css = { {
94
- columnGap : 10 ,
95
- alignItems : "center" ,
96
- } }
97
- >
98
- < Avatar
99
- size = "sm"
100
- variant = "icon"
101
- src = { group . avatar_url }
102
- fallback = { groupName }
103
- />
46
+ < div className = "flex flex-row gap-2 items-center" >
47
+ < GroupIcon
48
+ css = { {
49
+ width : "1rem" ,
50
+ height : "1rem" ,
51
+ opacity : userGroups . length > 0 ? 0.8 : 0.5 ,
52
+ } }
53
+ />
54
+
55
+ < span >
56
+ { userGroups . length } Group{ userGroups . length !== 1 && "s" }
57
+ </ span >
58
+ </ div >
59
+ </ button >
60
+ </ TooltipTrigger >
104
61
105
- < span
62
+ < TooltipContent className = "p-0 bg-surface-secondary border-surface-quaternary text-white" >
63
+ < OverflowY maxHeight = { 400 } >
64
+ < List
65
+ component = "ul"
66
+ css = { {
67
+ display : "flex" ,
68
+ flexFlow : "column nowrap" ,
69
+ fontSize : theme . typography . body2 . fontSize ,
70
+ padding : "4px 2px" ,
71
+ gap : 0 ,
72
+ } }
73
+ >
74
+ { userGroups . map ( ( group ) => {
75
+ const groupName = group . display_name || group . name ;
76
+ return (
77
+ < ListItem
78
+ key = { group . id }
106
79
css = { {
107
- whiteSpace : "nowrap" ,
108
- textOverflow : "ellipsis" ,
109
- overflow : "hidden" ,
110
- lineHeight : 1 ,
111
- margin : 0 ,
80
+ columnGap : 10 ,
81
+ alignItems : "center" ,
112
82
} }
113
83
>
114
- { groupName || < em > N/A</ em > }
115
- </ span >
116
- </ ListItem >
117
- ) ;
118
- } ) }
119
- </ List >
120
- </ OverflowY >
121
- </ PopoverContent >
122
- </ Popover >
84
+ < Avatar
85
+ size = "sm"
86
+ variant = "icon"
87
+ src = { group . avatar_url }
88
+ fallback = { groupName }
89
+ />
90
+
91
+ < span
92
+ css = { {
93
+ whiteSpace : "nowrap" ,
94
+ textOverflow : "ellipsis" ,
95
+ overflow : "hidden" ,
96
+ lineHeight : 1 ,
97
+ margin : 0 ,
98
+ } }
99
+ >
100
+ { groupName || < em > N/A</ em > }
101
+ </ span >
102
+ </ ListItem >
103
+ ) ;
104
+ } ) }
105
+ </ List >
106
+ </ OverflowY >
107
+ </ TooltipContent >
108
+ </ Tooltip >
109
+ </ TooltipProvider >
123
110
) }
124
111
</ TableCell >
125
112
) ;
0 commit comments