diff --git a/src/components/cardbuilder/Card/Card.tsx b/src/components/cardbuilder/Card/Card.tsx index 2173e0301b..e1718e6459 100644 --- a/src/components/cardbuilder/Card/Card.tsx +++ b/src/components/cardbuilder/Card/Card.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import useCard from './useCard'; import CardWrapper from './CardWrapper'; import CardBox from './CardBox'; diff --git a/src/components/cardbuilder/Card/CardBox.tsx b/src/components/cardbuilder/Card/CardBox.tsx index 430c27b444..34e5044bec 100644 --- a/src/components/cardbuilder/Card/CardBox.tsx +++ b/src/components/cardbuilder/Card/CardBox.tsx @@ -1,5 +1,4 @@ - -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import layoutManager from 'components/layoutManager'; import CardOverlayButtons from './CardOverlayButtons'; diff --git a/src/components/cardbuilder/Card/CardContent.tsx b/src/components/cardbuilder/Card/CardContent.tsx index 11a443fb90..8ebeb0cb87 100644 --- a/src/components/cardbuilder/Card/CardContent.tsx +++ b/src/components/cardbuilder/Card/CardContent.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import classNames from 'classnames'; import { getDefaultBackgroundClass } from '../cardBuilderUtils'; import CardImageContainer from './CardImageContainer'; diff --git a/src/components/cardbuilder/Card/CardFooterText.tsx b/src/components/cardbuilder/Card/CardFooterText.tsx index 87ba3b22ea..b9bf7bbafd 100644 --- a/src/components/cardbuilder/Card/CardFooterText.tsx +++ b/src/components/cardbuilder/Card/CardFooterText.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import Box from '@mui/material/Box'; import useCardText from './useCardText'; import layoutManager from 'components/layoutManager'; diff --git a/src/components/cardbuilder/Card/CardHoverMenu.tsx b/src/components/cardbuilder/Card/CardHoverMenu.tsx index e135d1bd82..b4f56f7188 100644 --- a/src/components/cardbuilder/Card/CardHoverMenu.tsx +++ b/src/components/cardbuilder/Card/CardHoverMenu.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import Box from '@mui/material/Box'; import ButtonGroup from '@mui/material/ButtonGroup'; import classNames from 'classnames'; diff --git a/src/components/cardbuilder/Card/CardImageContainer.tsx b/src/components/cardbuilder/Card/CardImageContainer.tsx index 3b66048e9e..69eb47c66b 100644 --- a/src/components/cardbuilder/Card/CardImageContainer.tsx +++ b/src/components/cardbuilder/Card/CardImageContainer.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import Box from '@mui/material/Box'; import classNames from 'classnames'; import useIndicator from 'components/indicators/useIndicator'; diff --git a/src/components/cardbuilder/Card/CardInnerFooter.tsx b/src/components/cardbuilder/Card/CardInnerFooter.tsx index d6edf853c0..33534e8a9a 100644 --- a/src/components/cardbuilder/Card/CardInnerFooter.tsx +++ b/src/components/cardbuilder/Card/CardInnerFooter.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import classNames from 'classnames'; import CardFooterText from './CardFooterText'; import type { ItemDto } from 'types/itemDto'; diff --git a/src/components/cardbuilder/Card/CardOuterFooter.tsx b/src/components/cardbuilder/Card/CardOuterFooter.tsx index 020a64d584..f03dcb8703 100644 --- a/src/components/cardbuilder/Card/CardOuterFooter.tsx +++ b/src/components/cardbuilder/Card/CardOuterFooter.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import classNames from 'classnames'; import { useApi } from 'hooks/useApi'; import { getCardLogoUrl } from './cardHelper'; diff --git a/src/components/cardbuilder/Card/CardOverlayButtons.tsx b/src/components/cardbuilder/Card/CardOverlayButtons.tsx index c2938c1088..482a14a816 100644 --- a/src/components/cardbuilder/Card/CardOverlayButtons.tsx +++ b/src/components/cardbuilder/Card/CardOverlayButtons.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import ButtonGroup from '@mui/material/ButtonGroup'; import classNames from 'classnames'; import { appRouter } from 'components/router/appRouter'; diff --git a/src/components/cardbuilder/Card/CardText.tsx b/src/components/cardbuilder/Card/CardText.tsx index be6d0b049c..dc64dc61ba 100644 --- a/src/components/cardbuilder/Card/CardText.tsx +++ b/src/components/cardbuilder/Card/CardText.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import Box from '@mui/material/Box'; import escapeHTML from 'escape-html'; import type { TextLine } from './cardHelper'; diff --git a/src/components/cardbuilder/Card/CardWrapper.tsx b/src/components/cardbuilder/Card/CardWrapper.tsx index 01d6446a91..4c8ec854ea 100644 --- a/src/components/cardbuilder/Card/CardWrapper.tsx +++ b/src/components/cardbuilder/Card/CardWrapper.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import layoutManager from 'components/layoutManager'; import type { DataAttributes } from 'types/dataAttributes'; diff --git a/src/components/cardbuilder/Card/Cards.tsx b/src/components/cardbuilder/Card/Cards.tsx index fcf2454a57..82b67cbdfc 100644 --- a/src/components/cardbuilder/Card/Cards.tsx +++ b/src/components/cardbuilder/Card/Cards.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import { setCardData } from '../cardBuilder'; import Card from './Card'; import type { ItemDto } from 'types/itemDto'; diff --git a/src/components/common/DefaultIconText.tsx b/src/components/common/DefaultIconText.tsx index 41f0014cb0..60b1aa3fb9 100644 --- a/src/components/common/DefaultIconText.tsx +++ b/src/components/common/DefaultIconText.tsx @@ -1,5 +1,5 @@ import { BaseItemKind } from '@jellyfin/sdk/lib/generated-client'; -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import Icon from '@mui/material/Icon'; import imageHelper from 'utils/image'; import DefaultName from './DefaultName'; diff --git a/src/components/common/DefaultName.tsx b/src/components/common/DefaultName.tsx index 5946fe27b5..0ead8876a3 100644 --- a/src/components/common/DefaultName.tsx +++ b/src/components/common/DefaultName.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import Box from '@mui/material/Box'; import escapeHTML from 'escape-html'; import itemHelper from 'components/itemHelper'; diff --git a/src/components/common/Image.tsx b/src/components/common/Image.tsx index 14df552660..8e26e78b24 100644 --- a/src/components/common/Image.tsx +++ b/src/components/common/Image.tsx @@ -1,4 +1,4 @@ -import React, { FC, useCallback, useState } from 'react'; +import React, { type FC, useCallback, useState } from 'react'; import { BlurhashCanvas } from 'react-blurhash'; import { LazyLoadImage } from 'react-lazy-load-image-component'; diff --git a/src/components/common/InfoIconButton.tsx b/src/components/common/InfoIconButton.tsx index 69c602e327..deefa0628b 100644 --- a/src/components/common/InfoIconButton.tsx +++ b/src/components/common/InfoIconButton.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import IconButton from '@mui/material/IconButton'; import InfoIcon from '@mui/icons-material/Info'; import globalize from 'scripts/globalize'; diff --git a/src/components/common/Media.tsx b/src/components/common/Media.tsx index 170208416f..598c9ec7a5 100644 --- a/src/components/common/Media.tsx +++ b/src/components/common/Media.tsx @@ -1,5 +1,5 @@ import { BaseItemKind, ImageType } from '@jellyfin/sdk/lib/generated-client'; -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import Image from './Image'; import DefaultIconText from './DefaultIconText'; import type { ItemDto } from 'types/itemDto'; diff --git a/src/components/common/MoreVertIconButton.tsx b/src/components/common/MoreVertIconButton.tsx index 231a2afed1..c0a77088c5 100644 --- a/src/components/common/MoreVertIconButton.tsx +++ b/src/components/common/MoreVertIconButton.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import IconButton from '@mui/material/IconButton'; import MoreVertIcon from '@mui/icons-material/MoreVert'; import globalize from 'scripts/globalize'; diff --git a/src/components/common/NoItemsMessage.tsx b/src/components/common/NoItemsMessage.tsx index 2c59b0ed6b..88f288c144 100644 --- a/src/components/common/NoItemsMessage.tsx +++ b/src/components/common/NoItemsMessage.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import Box from '@mui/material/Box'; import Typography from '@mui/material/Typography'; import globalize from 'scripts/globalize'; diff --git a/src/components/common/PlayArrowIconButton.tsx b/src/components/common/PlayArrowIconButton.tsx index b64fd9bd05..d7ca732966 100644 --- a/src/components/common/PlayArrowIconButton.tsx +++ b/src/components/common/PlayArrowIconButton.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import IconButton from '@mui/material/IconButton'; import PlayArrowIcon from '@mui/icons-material/PlayArrow'; import globalize from 'scripts/globalize'; diff --git a/src/components/common/PlaylistAddIconButton.tsx b/src/components/common/PlaylistAddIconButton.tsx index 19469e0fe3..14fb2a83cd 100644 --- a/src/components/common/PlaylistAddIconButton.tsx +++ b/src/components/common/PlaylistAddIconButton.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import IconButton from '@mui/material/IconButton'; import PlaylistAddIcon from '@mui/icons-material/PlaylistAdd'; import globalize from 'scripts/globalize'; diff --git a/src/components/common/RightIconButtons.tsx b/src/components/common/RightIconButtons.tsx index 2787a1856c..cfe65e451c 100644 --- a/src/components/common/RightIconButtons.tsx +++ b/src/components/common/RightIconButtons.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import IconButton from '@mui/material/IconButton'; interface RightIconButtonsProps { diff --git a/src/components/listview/List/List.tsx b/src/components/listview/List/List.tsx index 995c057526..feafd5a04d 100644 --- a/src/components/listview/List/List.tsx +++ b/src/components/listview/List/List.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import useList from './useList'; import ListContent from './ListContent'; import ListWrapper from './ListWrapper'; diff --git a/src/components/listview/List/ListContent.tsx b/src/components/listview/List/ListContent.tsx index 045c003f73..f9081f0b8a 100644 --- a/src/components/listview/List/ListContent.tsx +++ b/src/components/listview/List/ListContent.tsx @@ -1,5 +1,5 @@ import { BaseItemKind } from '@jellyfin/sdk/lib/generated-client'; -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import DragHandleIcon from '@mui/icons-material/DragHandle'; import Box from '@mui/material/Box'; diff --git a/src/components/listview/List/ListContentWrapper.tsx b/src/components/listview/List/ListContentWrapper.tsx index 1b0678ad50..59323dec73 100644 --- a/src/components/listview/List/ListContentWrapper.tsx +++ b/src/components/listview/List/ListContentWrapper.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import Box from '@mui/material/Box'; interface ListContentWrapperProps { diff --git a/src/components/listview/List/ListGroupHeaderWrapper.tsx b/src/components/listview/List/ListGroupHeaderWrapper.tsx index f2a131e324..fd17d83120 100644 --- a/src/components/listview/List/ListGroupHeaderWrapper.tsx +++ b/src/components/listview/List/ListGroupHeaderWrapper.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import Typography from '@mui/material/Typography'; interface ListGroupHeaderWrapperProps { diff --git a/src/components/listview/List/ListImageContainer.tsx b/src/components/listview/List/ListImageContainer.tsx index fe77707750..b447b2a701 100644 --- a/src/components/listview/List/ListImageContainer.tsx +++ b/src/components/listview/List/ListImageContainer.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import classNames from 'classnames'; import Box from '@mui/material/Box'; import { useApi } from 'hooks/useApi'; diff --git a/src/components/listview/List/ListItemBody.tsx b/src/components/listview/List/ListItemBody.tsx index 7d033c4f5d..5152040585 100644 --- a/src/components/listview/List/ListItemBody.tsx +++ b/src/components/listview/List/ListItemBody.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import classNames from 'classnames'; import Box from '@mui/material/Box'; import useListTextlines from './useListTextlines'; diff --git a/src/components/listview/List/ListTextWrapper.tsx b/src/components/listview/List/ListTextWrapper.tsx index c2139742ae..675ebe99d4 100644 --- a/src/components/listview/List/ListTextWrapper.tsx +++ b/src/components/listview/List/ListTextWrapper.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import Box from '@mui/material/Box'; import Typography from '@mui/material/Typography'; diff --git a/src/components/listview/List/ListViewUserDataButtons.tsx b/src/components/listview/List/ListViewUserDataButtons.tsx index f3ad43ed9e..97668ed999 100644 --- a/src/components/listview/List/ListViewUserDataButtons.tsx +++ b/src/components/listview/List/ListViewUserDataButtons.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import { Box } from '@mui/material'; import itemHelper from '../../itemHelper'; import PlayedButton from 'elements/emby-playstatebutton/PlayedButton'; diff --git a/src/components/listview/List/ListWrapper.tsx b/src/components/listview/List/ListWrapper.tsx index a6d4ab292e..76303a0f2b 100644 --- a/src/components/listview/List/ListWrapper.tsx +++ b/src/components/listview/List/ListWrapper.tsx @@ -1,6 +1,6 @@ import classNames from 'classnames'; import escapeHTML from 'escape-html'; -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import Box from '@mui/material/Box'; import Button from '@mui/material/Button'; import layoutManager from '../../layoutManager'; diff --git a/src/components/listview/List/Lists.tsx b/src/components/listview/List/Lists.tsx index ce90622c1f..51f5612bba 100644 --- a/src/components/listview/List/Lists.tsx +++ b/src/components/listview/List/Lists.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import escapeHTML from 'escape-html'; import { groupBy } from 'lodash-es'; import Box from '@mui/material/Box'; diff --git a/src/components/mediainfo/CaptionMediaInfo.tsx b/src/components/mediainfo/CaptionMediaInfo.tsx index 58a6f49af5..497f9fae59 100644 --- a/src/components/mediainfo/CaptionMediaInfo.tsx +++ b/src/components/mediainfo/CaptionMediaInfo.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import classNames from 'classnames'; import ClosedCaptionIcon from '@mui/icons-material/ClosedCaption'; import Box from '@mui/material/Box'; diff --git a/src/components/mediainfo/CriticRatingMediaInfo.tsx b/src/components/mediainfo/CriticRatingMediaInfo.tsx index 080aef78fa..8046c2a931 100644 --- a/src/components/mediainfo/CriticRatingMediaInfo.tsx +++ b/src/components/mediainfo/CriticRatingMediaInfo.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import classNames from 'classnames'; import Box from '@mui/material/Box'; diff --git a/src/components/mediainfo/EndsAt.tsx b/src/components/mediainfo/EndsAt.tsx index 693f949f8b..373e9817d7 100644 --- a/src/components/mediainfo/EndsAt.tsx +++ b/src/components/mediainfo/EndsAt.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import classNames from 'classnames'; import Box from '@mui/material/Box'; import datetime from 'scripts/datetime'; diff --git a/src/components/mediainfo/MediaInfoItem.tsx b/src/components/mediainfo/MediaInfoItem.tsx index b832e02e45..d38635ac2d 100644 --- a/src/components/mediainfo/MediaInfoItem.tsx +++ b/src/components/mediainfo/MediaInfoItem.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import Box from '@mui/material/Box'; import classNames from 'classnames'; import type { MiscInfo } from 'types/mediaInfoItem'; diff --git a/src/components/mediainfo/PrimaryMediaInfo.tsx b/src/components/mediainfo/PrimaryMediaInfo.tsx index 90b640054a..2978a41683 100644 --- a/src/components/mediainfo/PrimaryMediaInfo.tsx +++ b/src/components/mediainfo/PrimaryMediaInfo.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import classNames from 'classnames'; import Box from '@mui/material/Box'; import usePrimaryMediaInfo from './usePrimaryMediaInfo'; diff --git a/src/components/mediainfo/StarIcons.tsx b/src/components/mediainfo/StarIcons.tsx index d253a2db3d..faa09ade3a 100644 --- a/src/components/mediainfo/StarIcons.tsx +++ b/src/components/mediainfo/StarIcons.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import classNames from 'classnames'; import StarIcon from '@mui/icons-material/Star'; import Box from '@mui/material/Box'; diff --git a/src/elements/emby-itemrefreshindicator/RefreshIndicator.tsx b/src/elements/emby-itemrefreshindicator/RefreshIndicator.tsx index aabc709201..67a65703dc 100644 --- a/src/elements/emby-itemrefreshindicator/RefreshIndicator.tsx +++ b/src/elements/emby-itemrefreshindicator/RefreshIndicator.tsx @@ -1,4 +1,4 @@ -import React, { FC, useCallback, useEffect, useState } from 'react'; +import React, { type FC, useCallback, useEffect, useState } from 'react'; import Events, { Event } from 'utils/events'; import serverNotifications from 'scripts/serverNotifications'; import classNames from 'classnames'; diff --git a/src/elements/emby-itemscontainer/ItemsContainer.tsx b/src/elements/emby-itemscontainer/ItemsContainer.tsx index f817221b0c..75f0df99ed 100644 --- a/src/elements/emby-itemscontainer/ItemsContainer.tsx +++ b/src/elements/emby-itemscontainer/ItemsContainer.tsx @@ -1,7 +1,7 @@ import type { LibraryUpdateInfo } from '@jellyfin/sdk/lib/generated-client'; -import React, { FC, useCallback, useEffect, useRef } from 'react'; +import React, { type FC, useCallback, useEffect, useRef } from 'react'; import classNames from 'classnames'; import Box from '@mui/material/Box'; import Sortable from 'sortablejs'; @@ -19,7 +19,7 @@ import itemShortcuts from 'components/shortcuts'; import MultiSelect from 'components/multiSelect/multiSelect'; import loading from 'components/loading/loading'; import focusManager from 'components/focusManager'; -import { ParentId } from 'types/library'; +import type { ParentId } from 'types/library'; function disableEvent(e: MouseEvent) { e.preventDefault(); diff --git a/src/elements/emby-playstatebutton/PlayedButton.tsx b/src/elements/emby-playstatebutton/PlayedButton.tsx index 687953fb91..25434a0912 100644 --- a/src/elements/emby-playstatebutton/PlayedButton.tsx +++ b/src/elements/emby-playstatebutton/PlayedButton.tsx @@ -1,6 +1,6 @@ import { BaseItemKind } from '@jellyfin/sdk/lib/generated-client'; import { useQueryClient } from '@tanstack/react-query'; -import React, { FC, useCallback } from 'react'; +import React, { type FC, useCallback } from 'react'; import CheckIcon from '@mui/icons-material/Check'; import { IconButton } from '@mui/material'; import classNames from 'classnames'; diff --git a/src/elements/emby-progressbar/AutoTimeProgressBar.tsx b/src/elements/emby-progressbar/AutoTimeProgressBar.tsx index 05b4e6de4a..5dcca778f8 100644 --- a/src/elements/emby-progressbar/AutoTimeProgressBar.tsx +++ b/src/elements/emby-progressbar/AutoTimeProgressBar.tsx @@ -1,7 +1,7 @@ -import React, { FC, useCallback, useEffect, useRef, useState } from 'react'; -import { ProgressOptions } from 'types/progressOptions'; +import React, { type FC, useCallback, useEffect, useRef, useState } from 'react'; import LinearProgress, { linearProgressClasses } from '@mui/material/LinearProgress'; import classNames from 'classnames'; +import type { ProgressOptions } from 'types/progressOptions'; interface AutoTimeProgressBarProps { pct: number; diff --git a/src/elements/emby-ratingbutton/FavoriteButton.tsx b/src/elements/emby-ratingbutton/FavoriteButton.tsx index 673f51c336..2d97fc2747 100644 --- a/src/elements/emby-ratingbutton/FavoriteButton.tsx +++ b/src/elements/emby-ratingbutton/FavoriteButton.tsx @@ -1,4 +1,4 @@ -import React, { FC, useCallback } from 'react'; +import React, { type FC, useCallback } from 'react'; import { useQueryClient } from '@tanstack/react-query'; import FavoriteIcon from '@mui/icons-material/Favorite'; import { IconButton } from '@mui/material'; diff --git a/src/elements/emby-scrollbuttons/ScrollButtons.tsx b/src/elements/emby-scrollbuttons/ScrollButtons.tsx index 80e8a705c7..050354dfba 100644 --- a/src/elements/emby-scrollbuttons/ScrollButtons.tsx +++ b/src/elements/emby-scrollbuttons/ScrollButtons.tsx @@ -1,4 +1,4 @@ -import React, { FC, useCallback, useEffect, useRef, useState } from 'react'; +import React, { type FC, useCallback, useEffect, useRef, useState } from 'react'; import scrollerFactory from '../../libraries/scroller'; import globalize from '../../scripts/globalize'; import IconButton from '../emby-button/IconButton'; diff --git a/src/elements/emby-scroller/Scroller.tsx b/src/elements/emby-scroller/Scroller.tsx index cb3d5b75b4..1a31101928 100644 --- a/src/elements/emby-scroller/Scroller.tsx +++ b/src/elements/emby-scroller/Scroller.tsx @@ -1,4 +1,4 @@ -import React, { FC, useCallback, useEffect, useRef, useState } from 'react'; +import React, { type FC, useCallback, useEffect, useRef, useState } from 'react'; import classNames from 'classnames'; import useElementSize from 'hooks/useElementSize'; import layoutManager from '../../components/layoutManager';