@@ -2,7 +2,9 @@ import { css, Global, useTheme } from "@emotion/react";
2
2
import Button from "@mui/material/Button" ;
3
3
import InputAdornment from "@mui/material/InputAdornment" ;
4
4
import TextField , { type TextFieldProps } from "@mui/material/TextField" ;
5
+ import { visuallyHidden } from "@mui/utils" ;
5
6
import { type FC , lazy , Suspense } from "react" ;
7
+ import { ErrorBoundary } from "components/ErrorBoundary/ErrorBoundary" ;
6
8
import { Loader } from "components/Loader/Loader" ;
7
9
import { DropdownArrow } from "components/DropdownArrow/DropdownArrow" ;
8
10
import { Stack } from "components/Stack/Stack" ;
@@ -11,7 +13,6 @@ import {
11
13
PopoverContent ,
12
14
PopoverTrigger ,
13
15
} from "components/Popover/Popover" ;
14
- import { visuallyHidden } from "@mui/utils" ;
15
16
16
17
// See: https://github.com/missive/emoji-mart/issues/51#issuecomment-287353222
17
18
const urlFromUnifiedCode = ( unified : string ) =>
@@ -118,9 +119,12 @@ export const IconField: FC<IconFieldProps> = ({
118
119
so we just have to sneak it into the DOM, which is kind of annoying, but means
119
120
that users shouldn't ever spend time waiting for it to load. */ }
120
121
< div css = { { ...visuallyHidden } } >
121
- < Suspense >
122
- < EmojiPicker onEmojiSelect = { ( ) => { } } />
123
- </ Suspense >
122
+ { /* `ErrorBoundary` is for tests, this component requires `IntersectionObserver` */ }
123
+ < ErrorBoundary fallback = { null } >
124
+ < Suspense >
125
+ < EmojiPicker onEmojiSelect = { ( ) => { } } />
126
+ </ Suspense >
127
+ </ ErrorBoundary >
124
128
</ div >
125
129
</ Stack >
126
130
) ;
0 commit comments