message: Handle IntersectionObserver not being defined in tests
diff: @@ -9,7 +9,9 @@ import styles from './ItemIconPlaceholder.m.scss';
  // We'll use a single intersection observer instead of one per item, roughly following the strategy
  // from https://github.com/thebuilder/react-intersection-observer/blob/master/src/observe.ts
  const elements = new WeakMap<Element, () => void>();
  -const observer = new IntersectionObserver(
  +const observer =
  + 'IntersectionObserver' in window
  + ? new IntersectionObserver(
  (entries) => {
  for (const entry of entries) {
  if (entry.isIntersecting) {
  @@ -28,7 +30,13 @@ const observer = new IntersectionObserver(
  rootMargin: '16px',
  threshold: 0,
  }
  -);
  + )
  + : {
  + // eslint-disable-next-line @typescript-eslint/no-empty-function
  + observe: () => {},
  + // eslint-disable-next-line @typescript-eslint/no-empty-function
  + unobserve: () => {},
  + };
  /**
  * A placeholder div that's the same size as our icon, which is replaced by its
  