mirror of
https://github.com/DustinBrett/daedalOS.git
synced 2025-12-06 00:20:05 +01:00
Upgrade to React 19, Next.js 15 & Motion 12
This commit is contained in:
parent
e0a7939e50
commit
f19b22ba51
|
|
@ -40,8 +40,8 @@ const useBoxedWine = ({
|
|||
const { processes: { [id]: { libs = [] } = {} } = {} } = useProcesses();
|
||||
const { readFile } = useFileSystem();
|
||||
const mountEmFs = useEmscriptenMount();
|
||||
const loadedUrl = useRef<string>();
|
||||
const blankCanvasCheckerTimer = useRef<number | undefined>();
|
||||
const loadedUrl = useRef("");
|
||||
const blankCanvasCheckerTimer = useRef(0);
|
||||
const loadEmulator = useCallback(async (): Promise<void> => {
|
||||
let dynamicConfig = {};
|
||||
let appPayload = url ? await readFile(url) : Buffer.from("");
|
||||
|
|
@ -75,7 +75,7 @@ const useBoxedWine = ({
|
|||
blankCanvasCheckerTimer.current = window.setInterval(() => {
|
||||
if (isCanvasDrawn(containerRef.current?.querySelector("canvas"))) {
|
||||
clearInterval(blankCanvasCheckerTimer.current);
|
||||
blankCanvasCheckerTimer.current = undefined;
|
||||
blankCanvasCheckerTimer.current = 0;
|
||||
containerRef.current?.querySelector("ol")?.remove();
|
||||
}
|
||||
}, 100);
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ const useDXBall = ({ id, setLoading }: ContainerHookProps): void => {
|
|||
processes: { [id]: process },
|
||||
} = useProcesses();
|
||||
const { closing, libs = [] } = process || {};
|
||||
const records = useRef<string>();
|
||||
const records = useRef("");
|
||||
const libLoadingRef = useRef(true);
|
||||
|
||||
useEffect(() => {
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ const useEmulator = ({
|
|||
processes: { [id]: { closing = false, libs = [] } = {} } = {},
|
||||
} = useProcesses();
|
||||
const { prependFileToTitle } = useTitle(id);
|
||||
const emulatorRef = useRef<Emulator>();
|
||||
const emulatorRef = useRef<Emulator>(undefined);
|
||||
const loadedUrlRef = useRef<string>("");
|
||||
const loadRom = useCallback(async () => {
|
||||
if (!url) return;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,5 @@
|
|||
import { basename } from "path";
|
||||
import {
|
||||
forwardRef,
|
||||
useCallback,
|
||||
useEffect,
|
||||
useMemo,
|
||||
useRef,
|
||||
useState,
|
||||
} from "react";
|
||||
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
||||
import { GoTo, Refresh } from "components/apps/FileExplorer/NavigationIcons";
|
||||
import StyledAddressBar from "components/apps/FileExplorer/StyledAddressBar";
|
||||
import useAddressBarContextMenu from "components/apps/FileExplorer/useAddressBarContextMenu";
|
||||
|
|
@ -38,10 +31,10 @@ export const ADDRESS_INPUT_PROPS = {
|
|||
HTMLInputElement
|
||||
>;
|
||||
|
||||
const AddressBar = forwardRef<HTMLInputElement, AddressBarProps>(
|
||||
({ id }, ref) => {
|
||||
const addressBarRef =
|
||||
ref as React.MutableRefObject<HTMLInputElement | null>;
|
||||
const AddressBar: FCWithRef<HTMLInputElement, AddressBarProps> = ({
|
||||
id,
|
||||
ref: addressBarRef,
|
||||
}) => {
|
||||
const actionButtonRef = useRef<HTMLButtonElement | null>(null);
|
||||
const {
|
||||
open,
|
||||
|
|
@ -58,6 +51,7 @@ const AddressBar = forwardRef<HTMLInputElement, AddressBarProps>(
|
|||
() =>
|
||||
addressBar !== displayName &&
|
||||
addressBar !== url &&
|
||||
addressBarRef &&
|
||||
document.activeElement === addressBarRef.current,
|
||||
[addressBar, addressBarRef, displayName, url]
|
||||
);
|
||||
|
|
@ -75,7 +69,7 @@ const AddressBar = forwardRef<HTMLInputElement, AddressBarProps>(
|
|||
}
|
||||
}
|
||||
|
||||
addressBarRef.current?.blur();
|
||||
addressBarRef?.current?.blur();
|
||||
}, [
|
||||
addressBar,
|
||||
addressBarRef,
|
||||
|
|
@ -88,7 +82,7 @@ const AddressBar = forwardRef<HTMLInputElement, AddressBarProps>(
|
|||
]);
|
||||
|
||||
useEffect(() => {
|
||||
if (addressBarRef.current) {
|
||||
if (addressBarRef?.current) {
|
||||
if (addressBar === url) {
|
||||
addressBarRef.current.select();
|
||||
} else if (addressBar === displayName) {
|
||||
|
|
@ -142,7 +136,6 @@ const AddressBar = forwardRef<HTMLInputElement, AddressBarProps>(
|
|||
</Button>
|
||||
</StyledAddressBar>
|
||||
);
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export default AddressBar;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,5 @@
|
|||
import { basename, dirname } from "path";
|
||||
import {
|
||||
forwardRef,
|
||||
useCallback,
|
||||
useEffect,
|
||||
useMemo,
|
||||
useRef,
|
||||
useState,
|
||||
} from "react";
|
||||
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
||||
import AddressBar from "components/apps/FileExplorer/AddressBar";
|
||||
import {
|
||||
Back,
|
||||
|
|
@ -36,8 +29,11 @@ type NavigationProps = {
|
|||
|
||||
const CONTEXT_MENU_OFFSET = 3;
|
||||
|
||||
const Navigation = forwardRef<HTMLInputElement, NavigationProps>(
|
||||
({ hideSearch, id }, inputRef) => {
|
||||
const Navigation: FCWithRef<HTMLInputElement, NavigationProps> = ({
|
||||
hideSearch,
|
||||
id,
|
||||
ref: inputRef,
|
||||
}) => {
|
||||
const {
|
||||
url: changeUrl,
|
||||
processes: {
|
||||
|
|
@ -157,7 +153,6 @@ const Navigation = forwardRef<HTMLInputElement, NavigationProps>(
|
|||
{!hideSearch && !removeSearch && <SearchBar id={id} />}
|
||||
</StyledNavigation>
|
||||
);
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export default Navigation;
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ const addJsDosConfig = async (
|
|||
const useDosCI = (
|
||||
id: string,
|
||||
url: string,
|
||||
containerRef: React.MutableRefObject<HTMLDivElement | null>,
|
||||
containerRef: React.RefObject<HTMLDivElement | null>,
|
||||
dosInstance?: DosInstance
|
||||
): CommandInterface | undefined => {
|
||||
const { appendFileToTitle } = useTitle(id);
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ export const HistoryProvider = memo<FC>(({ children }) => {
|
|||
}, [seenEventIds, writeFile]);
|
||||
|
||||
return (
|
||||
<HistoryContext.Provider
|
||||
<HistoryContext
|
||||
value={useMemo(
|
||||
() => ({
|
||||
outgoingEvents,
|
||||
|
|
@ -78,6 +78,6 @@ export const HistoryProvider = memo<FC>(({ children }) => {
|
|||
)}
|
||||
>
|
||||
{children}
|
||||
</HistoryContext.Provider>
|
||||
</HistoryContext>
|
||||
);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -126,7 +126,7 @@ export const MessageProvider = memo<FC<MessageProviderProps>>(
|
|||
}, [chatEvents, outgoingEvents, setOutgoingEvents]);
|
||||
|
||||
return (
|
||||
<MessageContext.Provider
|
||||
<MessageContext
|
||||
value={useMemo(
|
||||
() => ({
|
||||
events,
|
||||
|
|
@ -137,7 +137,7 @@ export const MessageProvider = memo<FC<MessageProviderProps>>(
|
|||
)}
|
||||
>
|
||||
{children}
|
||||
</MessageContext.Provider>
|
||||
</MessageContext>
|
||||
);
|
||||
}
|
||||
);
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ export const NostrProvider: FC<{ relayUrls: string[] }> = ({
|
|||
}, [connectToRelays, disconnectToRelays, knownRelays, relayUrls]);
|
||||
|
||||
return (
|
||||
<NostrContext.Provider
|
||||
<NostrContext
|
||||
value={useMemo(
|
||||
() => ({
|
||||
connectToRelays,
|
||||
|
|
@ -102,6 +102,6 @@ export const NostrProvider: FC<{ relayUrls: string[] }> = ({
|
|||
)}
|
||||
>
|
||||
{children}
|
||||
</NostrContext.Provider>
|
||||
</NostrContext>
|
||||
);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { m as motion } from "framer-motion";
|
||||
import { m as motion } from "motion/react";
|
||||
import styled from "styled-components";
|
||||
|
||||
const StyledChatContainer = styled(motion.div)`
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { m as motion } from "framer-motion";
|
||||
import { m as motion } from "motion/react";
|
||||
import styled from "styled-components";
|
||||
import ScrollBars from "styles/common/ScrollBars";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { type MotionProps } from "framer-motion";
|
||||
import { type MotionProps } from "motion/react";
|
||||
import {
|
||||
HOME,
|
||||
MILLISECONDS_IN_MINUTE,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
||||
import { type Event } from "nostr-tools";
|
||||
import { AnimatePresence } from "framer-motion";
|
||||
import { AnimatePresence } from "motion/react";
|
||||
import ChatLog from "components/apps/Messenger/ChatLog";
|
||||
import Contact from "components/apps/Messenger/Contact";
|
||||
import GetMoreMessages from "components/apps/Messenger/GetMoreMessages";
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import { useSession } from "contexts/session";
|
|||
import { canvasToBuffer } from "utils/functions";
|
||||
|
||||
const useCanvasContextMenu = (
|
||||
canvasRef: React.RefObject<HTMLCanvasElement>,
|
||||
canvasRef: React.RefObject<HTMLCanvasElement | null>,
|
||||
prompt: string,
|
||||
isImageReady: boolean
|
||||
): ContextMenuCapture => {
|
||||
|
|
|
|||
|
|
@ -97,10 +97,10 @@ declare global {
|
|||
|
||||
const useCommandInterpreter = (
|
||||
id: string,
|
||||
cd: React.MutableRefObject<string>,
|
||||
cd: React.RefObject<string>,
|
||||
terminal?: Terminal,
|
||||
localEcho?: LocalEcho
|
||||
): React.MutableRefObject<CommandInterpreter> => {
|
||||
): React.RefObject<CommandInterpreter> => {
|
||||
const {
|
||||
createPath,
|
||||
deletePath,
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ const SET_SCREEN_TXT = "screen-set-size-text";
|
|||
|
||||
const useV86ScreenSize = (
|
||||
id: string,
|
||||
screenContainer: React.MutableRefObject<HTMLDivElement | null>,
|
||||
screenContainer: React.RefObject<HTMLDivElement | null>,
|
||||
emulator?: V86Starter
|
||||
): void => {
|
||||
const { updateWindowSize } = useWindowSize(id);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { m as motion } from "framer-motion";
|
||||
import { m as motion } from "motion/react";
|
||||
import styled from "styled-components";
|
||||
|
||||
type StyledWebampProps = {
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ const useWebamp = (id: string): Webamp => {
|
|||
title,
|
||||
} = useProcesses();
|
||||
const { closing, componentWindow } = process || {};
|
||||
const webampCI = useRef<WebampCI>();
|
||||
const webampCI = useRef<WebampCI>(undefined);
|
||||
const {
|
||||
createPath,
|
||||
deletePath,
|
||||
|
|
@ -66,8 +66,8 @@ const useWebamp = (id: string): Webamp => {
|
|||
writeFile,
|
||||
} = useFileSystem();
|
||||
const { onDrop } = useFileDrop({ id });
|
||||
const metadataProviderRef = useRef<number>();
|
||||
const windowPositionDebounceRef = useRef<number>();
|
||||
const metadataProviderRef = useRef(0);
|
||||
const windowPositionDebounceRef = useRef(0);
|
||||
const subscriptions = useRef<(() => void)[]>([]);
|
||||
const onWillClose = useCallback(
|
||||
(cancel?: () => void): void => {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { StyleSheetManager, ThemeProvider } from "styled-components";
|
||||
import { memo } from "react";
|
||||
import { type FeatureBundle, LazyMotion } from "framer-motion";
|
||||
import { type FeatureBundle, LazyMotion } from "motion/react";
|
||||
import { useSession } from "contexts/session";
|
||||
import GlobalStyle from "styles/GlobalStyle";
|
||||
import themes from "styles/themes";
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import useFileDrop from "components/system/Files/FileManager/useFileDrop";
|
|||
import { useProcesses } from "contexts/process";
|
||||
|
||||
export type ContainerHookProps = {
|
||||
containerRef: React.MutableRefObject<HTMLDivElement | null>;
|
||||
containerRef: React.RefObject<HTMLDivElement | null>;
|
||||
id: string;
|
||||
loading: boolean;
|
||||
setLoading: React.Dispatch<React.SetStateAction<boolean>>;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { AnimatePresence } from "framer-motion";
|
||||
import { AnimatePresence } from "motion/react";
|
||||
import dynamic from "next/dynamic";
|
||||
import { memo } from "react";
|
||||
import { useProcesses } from "contexts/process";
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ import {
|
|||
const slideshowFiles: string[] = [];
|
||||
|
||||
const useWallpaper = (
|
||||
desktopRef: React.MutableRefObject<HTMLElement | null>
|
||||
desktopRef: React.RefObject<HTMLElement | null>
|
||||
): void => {
|
||||
const { exists, lstat, readFile, readdir, updateFolder, writeFile } =
|
||||
useFileSystem();
|
||||
|
|
@ -66,7 +66,7 @@ const useWallpaper = (
|
|||
undefined,
|
||||
vantaWireframe ? "Wireframe" : ""
|
||||
);
|
||||
const wallpaperTimerRef = useRef<number>();
|
||||
const wallpaperTimerRef = useRef(0);
|
||||
const failedOffscreenContext = useRef(false);
|
||||
const resetWallpaper = useCallback(
|
||||
(keepCanvas?: boolean): void => {
|
||||
|
|
|
|||
|
|
@ -110,7 +110,9 @@ const OpenWith: FC<ComponentProcessProps> = ({ id }) => {
|
|||
|
||||
return (
|
||||
<StyledOpenWith
|
||||
ref={(element) => element?.focus(PREVENT_SCROLL)}
|
||||
ref={(element) => {
|
||||
element?.focus(PREVENT_SCROLL);
|
||||
}}
|
||||
onContextMenu={haltEvent}
|
||||
{...closeOnEscape}
|
||||
>
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ const GeneralTab: FC<TabProps> = ({ icon, id, isShortcut, pid, url }) => {
|
|||
const isDirectory = useMemo(() => stats?.isDirectory(), [stats]);
|
||||
const entrySize = folderSize || (isDirectory ? 0 : stats?.size);
|
||||
const checkedFileCounts = useRef(false);
|
||||
const abortControllerRef = useRef<AbortController>();
|
||||
const abortControllerRef = useRef<AbortController>(undefined);
|
||||
const [folderIcon, setFolderIcon] = useState(FOLDER_ICON);
|
||||
const okAction = useCallback(async (): Promise<void> => {
|
||||
if (inputRef.current && url && inputRef.current.value !== basename(url)) {
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ const Properties: FC<ComponentProcessProps> = ({ id }) => {
|
|||
stats?.isDirectory()
|
||||
);
|
||||
const { prependFileToTitle } = useTitle(id);
|
||||
const getIconAbortController = useRef<AbortController>();
|
||||
const getIconAbortController = useRef<AbortController>(undefined);
|
||||
const propertiesRef = useRef<HTMLDivElement>(null);
|
||||
const closeOnEscape = useCloseOnEscape(id);
|
||||
const [currentTab, setCurrentTab] = useState<"general" | "details">(
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ const Transfer: FC<ComponentProcessProps> = ({ id }) => {
|
|||
const [currentTransfer, setCurrentTransfer] = useState<[string, File]>();
|
||||
const [cd = "", { name = "" } = {}] = currentTransfer || [];
|
||||
const [progress, setProgress] = useState<number>(0);
|
||||
const currentOperation = useRef<Operation | undefined>();
|
||||
const currentOperation = useRef<Operation>(undefined);
|
||||
const actionName = useMemo(() => {
|
||||
if (closing || !process) return currentOperation.current;
|
||||
|
||||
|
|
|
|||
|
|
@ -32,8 +32,7 @@ const useTransferDialog = (): Dialog => {
|
|||
const { argument, open } = useProcesses();
|
||||
const processesRef = useProcessesRef();
|
||||
const { readFile } = useFileSystem();
|
||||
const getTransferIdCallbackRef =
|
||||
useRef<(url: string) => string | undefined>();
|
||||
const getTransferIdCallbackRef = useRef<(url: string) => string>(undefined);
|
||||
|
||||
useEffect(() => {
|
||||
getTransferIdCallbackRef.current = (url: string) =>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import {
|
|||
useState,
|
||||
} from "react";
|
||||
import dynamic from "next/dynamic";
|
||||
import { m as motion } from "framer-motion";
|
||||
import { m as motion } from "motion/react";
|
||||
import ColumnRow from "components/system/Files/FileEntry/ColumnRow";
|
||||
import { type Columns } from "components/system/Files/FileManager/Columns/constants";
|
||||
import StyledFigure from "components/system/Files/FileEntry/StyledFigure";
|
||||
|
|
@ -80,7 +80,7 @@ type FileEntryProps = {
|
|||
columns?: Columns;
|
||||
fileActions: FileActions;
|
||||
fileManagerId?: string;
|
||||
fileManagerRef: React.MutableRefObject<HTMLOListElement | null>;
|
||||
fileManagerRef: React.RefObject<HTMLOListElement | null>;
|
||||
focusFunctions: FocusEntryFunctions;
|
||||
focusedEntries: string[];
|
||||
hasNewFolderIcon?: boolean;
|
||||
|
|
@ -233,7 +233,7 @@ const FileEntry: FC<FileEntryProps> = ({
|
|||
const iconRef = useRef<HTMLImageElement | null>(null);
|
||||
const isIconCached = useRef(false);
|
||||
const isDynamicIconLoaded = useRef(false);
|
||||
const getIconAbortController = useRef<AbortController>();
|
||||
const getIconAbortController = useRef<AbortController>(undefined);
|
||||
const createTooltip = useCallback(async (): Promise<string> => {
|
||||
if (isDirectory) return "";
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ type Selection = {
|
|||
};
|
||||
|
||||
const useSelection = (
|
||||
containerRef: React.MutableRefObject<HTMLElement | null>,
|
||||
containerRef: React.RefObject<HTMLElement | null>,
|
||||
focusedEntries: string[],
|
||||
{ blurEntry }: FocusEntryFunctions,
|
||||
isDesktop?: boolean
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ const FILE_MANAGER_TOP_PADDING = 5;
|
|||
const useDraggableEntries = (
|
||||
focusedEntries: string[],
|
||||
{ focusEntry }: FocusEntryFunctions,
|
||||
fileManagerRef: React.MutableRefObject<HTMLOListElement | null>,
|
||||
fileManagerRef: React.RefObject<HTMLOListElement | null>,
|
||||
isSelecting: boolean,
|
||||
allowMoving?: boolean
|
||||
): DraggableEntry => {
|
||||
|
|
@ -42,7 +42,7 @@ const useDraggableEntries = (
|
|||
const { exists } = useFileSystem();
|
||||
const { iconPositions, sortOrders, setIconPositions, setSortOrder } =
|
||||
useSession();
|
||||
const dragImageRef = useRef<HTMLImageElement | null>();
|
||||
const dragImageRef = useRef<HTMLImageElement>(null);
|
||||
const adjustedCaptureOffsetRef = useRef(false);
|
||||
const capturedImageOffset = useRef({ x: 0, y: 0 });
|
||||
const dragPositionRef = useRef<DragPosition>(
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ type EmscriptenMounter = (FS?: EmscriptenFS, fsName?: string) => Promise<void>;
|
|||
|
||||
const useEmscriptenMount = (): EmscriptenMounter => {
|
||||
const { mountEmscriptenFs, unMapFs, updateFolder } = useFileSystem();
|
||||
const mountName = useRef<string>();
|
||||
const mountName = useRef("");
|
||||
|
||||
useEffect(
|
||||
() => () => {
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ const useFileKeyboardShortcuts = (
|
|||
{ blurEntry, focusEntry }: FocusEntryFunctions,
|
||||
{ newPath, pasteToFolder }: FolderActions,
|
||||
updateFiles: (newFile?: string, oldFile?: string) => void,
|
||||
fileManagerRef: React.MutableRefObject<HTMLOListElement | null>,
|
||||
fileManagerRef: React.RefObject<HTMLOListElement | null>,
|
||||
id?: string,
|
||||
view?: FileManagerViewNames
|
||||
): KeyboardShortcutEntry => {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ type FocusableEntries = FocusEntryFunctions & {
|
|||
};
|
||||
|
||||
const useFocusableEntries = (
|
||||
fileManagerRef: React.MutableRefObject<HTMLOListElement | null>
|
||||
fileManagerRef: React.RefObject<HTMLOListElement | null>
|
||||
): FocusableEntries => {
|
||||
const [focusedEntries, setFocusedEntries] = useState<string[]>([]);
|
||||
const blurEntry = useCallback(
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { m as motion } from "framer-motion";
|
||||
import { m as motion } from "motion/react";
|
||||
import styled from "styled-components";
|
||||
|
||||
type StyledMenuProps = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { type MotionProps } from "framer-motion";
|
||||
import { type MotionProps } from "motion/react";
|
||||
import { TRANSITIONS_IN_SECONDS } from "utils/constants";
|
||||
|
||||
const menuTransition: MotionProps = {
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ const Sidebar: FC<SidebarProps> = ({ height }) => {
|
|||
const { open } = useProcesses();
|
||||
const { setHaltSession } = useSession();
|
||||
const [collapsed, setCollapsed] = useState(true);
|
||||
const expandTimer = useRef<number>();
|
||||
const expandTimer = useRef(0);
|
||||
const sidebarRef = useRef<HTMLElement>(null);
|
||||
const clearTimer = (): void => {
|
||||
if (expandTimer.current) clearTimeout(expandTimer.current);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import styled from "styled-components";
|
||||
import { m as motion } from "framer-motion";
|
||||
import { m as motion } from "motion/react";
|
||||
import StyledFileEntry from "components/system/Files/Views/List/StyledFileEntry";
|
||||
import StyledFileManager from "components/system/Files/Views/List/StyledFileManager";
|
||||
import TaskbarPanel from "components/system/Taskbar/TaskbarPanel";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { useTheme } from "styled-components";
|
||||
import { useCallback, useMemo, useRef, useState } from "react";
|
||||
import { type Variant } from "framer-motion";
|
||||
import { type Variant } from "motion/react";
|
||||
import FileManager from "components/system/Files/FileManager";
|
||||
import Sidebar from "components/system/StartMenu/Sidebar";
|
||||
import StyledStartMenu from "components/system/StartMenu/StyledStartMenu";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { m as motion } from "framer-motion";
|
||||
import { m as motion } from "motion/react";
|
||||
import styled from "styled-components";
|
||||
import { TASKBAR_HEIGHT } from "utils/constants";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { type MotionProps } from "framer-motion";
|
||||
import { type MotionProps } from "motion/react";
|
||||
import { TRANSITIONS_IN_SECONDS } from "utils/constants";
|
||||
|
||||
const useAITransition = (width: number, widthOffset = 0.75): MotionProps => ({
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { m as motion } from "framer-motion";
|
||||
import { m as motion } from "motion/react";
|
||||
import styled from "styled-components";
|
||||
import { TASKBAR_HEIGHT } from "utils/constants";
|
||||
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ const Clock: FC<ClockProps> = ({
|
|||
),
|
||||
[clockSource]
|
||||
);
|
||||
const offScreenClockCanvas = useRef<OffscreenCanvas>();
|
||||
const offScreenClockCanvas = useRef<OffscreenCanvas>(undefined);
|
||||
const supportsOffscreenCanvas = useMemo(
|
||||
() => typeof window !== "undefined" && "OffscreenCanvas" in window,
|
||||
[]
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ const ResultEntry: FC<ResultEntryProps> = ({
|
|||
const isDirectory = stats?.isDirectory() || (!extension && !isYTUrl);
|
||||
const isNostrUrl = info?.url ? info.url.startsWith("nostr:") : false;
|
||||
const { onContextMenuCapture } = useResultsContextMenu(info?.url);
|
||||
const abortController = useRef<AbortController>();
|
||||
const abortController = useRef<AbortController>(undefined);
|
||||
|
||||
useEffect(() => {
|
||||
const activeEntry = details || hovered;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { m as motion } from "framer-motion";
|
||||
import { m as motion } from "motion/react";
|
||||
import styled from "styled-components";
|
||||
import { SINGLE_LINE_HEIGHT_ADDITION } from "components/system/Taskbar/Search";
|
||||
import TaskbarPanel from "components/system/Taskbar/TaskbarPanel";
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { basename, extname } from "path";
|
||||
import { useTheme } from "styled-components";
|
||||
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
||||
import { m as motion } from "framer-motion";
|
||||
import { m as motion } from "motion/react";
|
||||
import { Search as SearchIcon } from "components/apps/FileExplorer/NavigationIcons";
|
||||
import {
|
||||
getCachedShortcut,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { type MotionProps } from "framer-motion";
|
||||
import { type MotionProps } from "motion/react";
|
||||
import { useTheme } from "styled-components";
|
||||
import { TRANSITIONS_IN_SECONDS } from "utils/constants";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { AnimatePresence } from "framer-motion";
|
||||
import { AnimatePresence } from "motion/react";
|
||||
import dynamic from "next/dynamic";
|
||||
import { memo } from "react";
|
||||
import StyledTaskbarEntries from "components/system/Taskbar/TaskbarEntries/StyledTaskbarEntries";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { m as motion } from "framer-motion";
|
||||
import { m as motion } from "motion/react";
|
||||
import styled from "styled-components";
|
||||
import StyledTaskbarEntry from "components/system/Taskbar/TaskbarEntry/StyledTaskbarEntry";
|
||||
import { PEEK_MAX_WIDTH, TASKBAR_HEIGHT } from "utils/constants";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { type MotionProps } from "framer-motion";
|
||||
import { type MotionProps } from "motion/react";
|
||||
import { useTheme } from "styled-components";
|
||||
import { TRANSITIONS_IN_SECONDS } from "utils/constants";
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ const FPS = 15;
|
|||
|
||||
const renderFrame = async (
|
||||
previewElement: HTMLElement,
|
||||
animate: React.MutableRefObject<boolean>,
|
||||
animate: React.RefObject<boolean>,
|
||||
callback: (url: string) => void
|
||||
): Promise<void> => {
|
||||
if (!animate.current) return;
|
||||
|
|
@ -73,7 +73,7 @@ const useWindowPeek = (id: string): string => {
|
|||
processes: { [id]: process },
|
||||
} = useProcesses();
|
||||
const { peekElement, componentWindow } = process || {};
|
||||
const previewTimer = useRef<number>();
|
||||
const previewTimer = useRef(0);
|
||||
const [imageSrc, setImageSrc] = useState("");
|
||||
const animate = useRef(true);
|
||||
|
||||
|
|
@ -94,7 +94,7 @@ const useWindowPeek = (id: string): string => {
|
|||
return () => {
|
||||
if (previewTimer.current) {
|
||||
clearTimeout(previewTimer.current);
|
||||
previewTimer.current = undefined;
|
||||
previewTimer.current = 0;
|
||||
}
|
||||
animate.current = false;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { m as motion } from "framer-motion";
|
||||
import { m as motion } from "motion/react";
|
||||
import styled from "styled-components";
|
||||
import Button from "styles/common/Button";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { memo, useCallback, useMemo, useState } from "react";
|
||||
import dynamic from "next/dynamic";
|
||||
import { AnimatePresence } from "framer-motion";
|
||||
import { AnimatePresence } from "motion/react";
|
||||
import StyledTaskbarEntry from "components/system/Taskbar/TaskbarEntry/StyledTaskbarEntry";
|
||||
import useTaskbarTransition from "components/system/Taskbar/TaskbarEntry/useTaskbarTransition";
|
||||
import useTitlebarContextMenu from "components/system/Window/Titlebar/useTitlebarContextMenu";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { type MotionProps } from "framer-motion";
|
||||
import { type MotionProps } from "motion/react";
|
||||
import { useTheme } from "styled-components";
|
||||
import { TRANSITIONS_IN_SECONDS } from "utils/constants";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { memo, useCallback, useState } from "react";
|
||||
import dynamic from "next/dynamic";
|
||||
import { AnimatePresence } from "framer-motion";
|
||||
import { AnimatePresence } from "motion/react";
|
||||
import Clock from "components/system/Taskbar/Clock";
|
||||
import SearchButton from "components/system/Taskbar/Search/SearchButton";
|
||||
import StartButton from "components/system/Taskbar/StartButton";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { type MotionProps } from "framer-motion";
|
||||
import { type MotionProps } from "motion/react";
|
||||
import { TASKBAR_HEIGHT, TRANSITIONS_IN_SECONDS } from "utils/constants";
|
||||
import { viewHeight } from "utils/functions";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { useEffect, useRef } from "react";
|
||||
import { useProcesses } from "contexts/process";
|
||||
|
||||
const useMinMaxRef = (id: string): React.MutableRefObject<boolean> => {
|
||||
const useMinMaxRef = (id: string): React.RefObject<boolean> => {
|
||||
const { processes } = useProcesses();
|
||||
const { maximized = false, minimized = false } = processes[id] || {};
|
||||
const blockAutoPositionRef = useRef(false);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { m as motion } from "framer-motion";
|
||||
import { m as motion } from "motion/react";
|
||||
import styled from "styled-components";
|
||||
|
||||
type StyledWindowProps = {
|
||||
|
|
|
|||
|
|
@ -46,8 +46,8 @@ const Titlebar: FC<TitlebarProps> = ({ id }) => {
|
|||
const { menu, setMenu } = useMenu();
|
||||
const titlebarContextMenu = useTitlebarContextMenu(id);
|
||||
const touchStartTimeRef = useRef<number>(0);
|
||||
const touchStartPositionRef = useRef<DOMRect>();
|
||||
const touchesRef = useRef<TouchList>();
|
||||
const touchStartPositionRef = useRef<DOMRect>(undefined);
|
||||
const touchesRef = useRef<TouchList>(undefined);
|
||||
const onTouchEnd = useCallback<React.TouchEventHandler<HTMLButtonElement>>(
|
||||
(event) => {
|
||||
const { x, y } = componentWindow?.getBoundingClientRect() || {};
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { useEffect, useLayoutEffect, useState } from "react";
|
||||
import { type MotionProps, type Variant } from "framer-motion";
|
||||
import { type MotionProps, type Variant } from "motion/react";
|
||||
import { useProcesses } from "contexts/process";
|
||||
import { TASKBAR_HEIGHT, TRANSITIONS_IN_SECONDS } from "utils/constants";
|
||||
import { viewHeight, viewWidth } from "utils/functions";
|
||||
|
|
|
|||
|
|
@ -11,10 +11,10 @@ const contextFactory = <T,>(
|
|||
|
||||
return {
|
||||
Provider: memo<FC>(({ children }) => (
|
||||
<Context.Provider value={useContextState()}>
|
||||
<Context value={useContextState()}>
|
||||
{children}
|
||||
{ContextComponent}
|
||||
</Context.Provider>
|
||||
</Context>
|
||||
)),
|
||||
useContext: () => useContext(Context),
|
||||
};
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ const runQueuedFsCalls = (fs: FSModule): void => {
|
|||
|
||||
const useAsyncFs = (): AsyncFSModule => {
|
||||
const [fs, setFs] = useState<FSModule>();
|
||||
const fsRef = useRef<FSModule>();
|
||||
const fsRef = useRef<FSModule>(undefined);
|
||||
const [rootFs, setRootFs] = useState<RootFileSystem>();
|
||||
const asyncFs: AsyncFS = useMemo(
|
||||
() => ({
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ type MenuContextState = {
|
|||
const useMenuContextState = (): MenuContextState => {
|
||||
const [menu, setMenu] = useState<MenuState>(Object.create(null) as MenuState);
|
||||
const touchTimer = useRef<number>(0);
|
||||
const touchEvent = useRef<React.TouchEvent>();
|
||||
const touchEvent = useRef<React.TouchEvent>(undefined);
|
||||
const contextMenu = useCallback(
|
||||
(
|
||||
getItems: (event?: CaptureTriggerEvent) => MenuItem[]
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ const useDoubleClick = (
|
|||
handler: React.MouseEventHandler,
|
||||
singleClick = false
|
||||
): { onClick: React.MouseEventHandler } => {
|
||||
const timer = useRef<number | undefined>();
|
||||
const timer = useRef(0);
|
||||
const moveCount = useRef(0);
|
||||
const onClick: React.MouseEventHandler = useCallback(
|
||||
(event) => {
|
||||
|
|
@ -18,7 +18,7 @@ const useDoubleClick = (
|
|||
const clearTimer = (): void => {
|
||||
if (timer.current) {
|
||||
clearTimeout(timer.current);
|
||||
timer.current = undefined;
|
||||
timer.current = 0;
|
||||
}
|
||||
};
|
||||
const clearWhenPointerMoved = (): void => {
|
||||
|
|
@ -26,7 +26,7 @@ const useDoubleClick = (
|
|||
clearTimer();
|
||||
}
|
||||
|
||||
if (timer.current === undefined) {
|
||||
if (timer.current === 0) {
|
||||
event.target.removeEventListener(
|
||||
"pointermove",
|
||||
clearWhenPointerMoved
|
||||
|
|
@ -39,7 +39,7 @@ const useDoubleClick = (
|
|||
|
||||
if (singleClick) {
|
||||
runHandler();
|
||||
} else if (timer.current === undefined) {
|
||||
} else if (timer.current === 0) {
|
||||
timer.current = window.setTimeout(
|
||||
clearTimer,
|
||||
TRANSITIONS_IN_MILLISECONDS.DOUBLE_CLICK
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ import { useRef, useState, useEffect } from "react";
|
|||
import { DEFAULT_INTERSECTION_OPTIONS } from "utils/constants";
|
||||
|
||||
export const useIsVisible = (
|
||||
elementRef: React.MutableRefObject<HTMLElement | null>,
|
||||
parentSelector?: string | React.MutableRefObject<HTMLElement | null>,
|
||||
elementRef: React.RefObject<HTMLElement | null>,
|
||||
parentSelector?: string | React.RefObject<HTMLElement | null>,
|
||||
alwaysVisible = false
|
||||
): boolean => {
|
||||
const watching = useRef(false);
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { useEffect, useRef } from "react";
|
|||
import { useProcesses } from "contexts/process";
|
||||
import { type Processes } from "contexts/process/types";
|
||||
|
||||
export const useProcessesRef = (): React.MutableRefObject<Processes> => {
|
||||
export const useProcessesRef = (): React.RefObject<Processes> => {
|
||||
const { processes } = useProcesses();
|
||||
const processesRef = useRef<Processes>({} as Processes);
|
||||
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ const useWorker = <T>(
|
|||
workerInit?: (info?: string) => Worker,
|
||||
onMessage?: (message: MessageEvent<T>) => void,
|
||||
workerInfo?: string
|
||||
): React.MutableRefObject<Worker | undefined> => {
|
||||
const worker = useRef<Worker>();
|
||||
): React.RefObject<Worker | undefined> => {
|
||||
const worker = useRef<Worker>(undefined);
|
||||
|
||||
useEffect(() => {
|
||||
if (workerInit && !worker.current) {
|
||||
|
|
|
|||
25
package.json
25
package.json
|
|
@ -57,7 +57,6 @@
|
|||
"fflate": "^0.8.2",
|
||||
"file-type": "^19.6.0",
|
||||
"fix-webm-duration": "^1.0.6",
|
||||
"framer-motion": "^11.13.1",
|
||||
"gif.js": "^0.2.0",
|
||||
"idb": "^8.0.0",
|
||||
"ini": "^5.0.0",
|
||||
|
|
@ -65,17 +64,18 @@
|
|||
"libheif-js": "^1.18.2",
|
||||
"mediainfo.js": "^0.3.3",
|
||||
"minimist": "^1.2.8",
|
||||
"motion": "12.0.0-alpha.2",
|
||||
"multiformats": "^13.3.1",
|
||||
"music-metadata-browser": "^2.5.11",
|
||||
"next": "^15.0.3",
|
||||
"next": "^15.0.4",
|
||||
"nostr-tools": "^1.17.0",
|
||||
"opentype.js": "^1.3.4",
|
||||
"playlist-parser": "^0.0.12",
|
||||
"prettier": "^3.4.2",
|
||||
"print-js": "^1.6.0",
|
||||
"quickjs-emscripten": "^0.31.0",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"react-rnd": "10.4.13",
|
||||
"resedit": "^2.0.3",
|
||||
"rtf.js": "^3.0.9",
|
||||
|
|
@ -86,8 +86,8 @@
|
|||
"devDependencies": {
|
||||
"7z-wasm": "^1.1.0",
|
||||
"@axe-core/playwright": "^4.10.1",
|
||||
"@next/bundle-analyzer": "^15.0.3",
|
||||
"@next/eslint-plugin-next": "^15.0.3",
|
||||
"@next/bundle-analyzer": "^15.0.4",
|
||||
"@next/eslint-plugin-next": "^15.0.4",
|
||||
"@playwright/test": "1.49.0",
|
||||
"@types/canvas-confetti": "^1.6.4",
|
||||
"@types/dom-chromium-ai": "^0.0.4",
|
||||
|
|
@ -100,7 +100,8 @@
|
|||
"@types/node": "^22.10.1",
|
||||
"@types/offscreencanvas": "^2019.7.3",
|
||||
"@types/opentype.js": "^1.3.8",
|
||||
"@types/react": "^18.3.12",
|
||||
"@types/react": "^19.0.1",
|
||||
"@types/react-dom": "^19.0.1",
|
||||
"@types/ua-parser-js": "^0.7.39",
|
||||
"@types/video.js": "^7.3.58",
|
||||
"@types/wicg-file-system-access": "^2023.10.5",
|
||||
|
|
@ -111,7 +112,7 @@
|
|||
"eruda": "^3.4.1",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-config-airbnb": "^19.0.4",
|
||||
"eslint-config-next": "^15.0.3",
|
||||
"eslint-config-next": "^15.0.4",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"eslint-plugin-deprecation": "^3.0.0",
|
||||
"eslint-plugin-import": "^2.31.0",
|
||||
|
|
@ -121,10 +122,10 @@
|
|||
"eslint-plugin-playwright": "^2.1.0",
|
||||
"eslint-plugin-promise": "^7.2.1",
|
||||
"eslint-plugin-react": "^7.37.2",
|
||||
"eslint-plugin-react-hooks": "^5.0.0",
|
||||
"eslint-plugin-react-hooks": "^5.1.0",
|
||||
"eslint-plugin-react-hooks-addons": "^0.4.1",
|
||||
"eslint-plugin-regexp": "^2.7.0",
|
||||
"eslint-plugin-sonarjs": "^3.0.0",
|
||||
"eslint-plugin-sonarjs": "^3.0.1",
|
||||
"eslint-plugin-sort-keys-fix": "^1.1.2",
|
||||
"eslint-plugin-typescript-sort-keys": "^3.3.0",
|
||||
"eslint-plugin-unicorn": "^56.0.1",
|
||||
|
|
@ -137,7 +138,7 @@
|
|||
"lint-staged": "^15.2.10",
|
||||
"lunr": "^2.3.9",
|
||||
"monaco-editor": "^0.52.0",
|
||||
"pdfjs-dist": "^4.9.124",
|
||||
"pdfjs-dist": "^4.9.155",
|
||||
"playwright-core": "1.49.0",
|
||||
"postcss": "^8.4.49",
|
||||
"postcss-styled-syntax": "^0.7.0",
|
||||
|
|
@ -146,7 +147,7 @@
|
|||
"stylelint": "^16.11.0",
|
||||
"stylelint-config-standard": "^36.0.1",
|
||||
"stylelint-order": "^6.0.4",
|
||||
"terser": "^5.36.0",
|
||||
"terser": "^5.37.0",
|
||||
"tinymce": "^6.8.3",
|
||||
"ts-prune": "^0.10.3",
|
||||
"typescript": "^5.7.2",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { forwardRef, memo, useEffect, useMemo, useState } from "react";
|
||||
import { memo, useEffect, useMemo, useState } from "react";
|
||||
import styled from "styled-components";
|
||||
import { SUPPORTED_ICON_PIXEL_RATIOS } from "utils/constants";
|
||||
import {
|
||||
|
|
@ -30,7 +30,7 @@ const StyledIcon = styled.img.attrs<StyledIconProps>(
|
|||
({ $eager = false, $height, $width }) => ({
|
||||
decoding: "async",
|
||||
draggable: false,
|
||||
fetchpriority: $eager ? "high" : undefined,
|
||||
fetchPriority: $eager ? "high" : undefined,
|
||||
height: $height,
|
||||
loading: $eager ? "eager" : "lazy",
|
||||
width: $width,
|
||||
|
|
@ -49,12 +49,11 @@ const StyledIcon = styled.img.attrs<StyledIconProps>(
|
|||
visibility: ${({ $loaded }) => ($loaded ? "visible" : "hidden")};
|
||||
`;
|
||||
|
||||
const Icon = forwardRef<
|
||||
const Icon: FCWithRef<
|
||||
HTMLImageElement,
|
||||
IconProps & React.ImgHTMLAttributes<HTMLImageElement>
|
||||
>((props, ref) => {
|
||||
> = ({ displaySize = 0, imgSize = 0, ref, src = "", ...componentProps }) => {
|
||||
const [loaded, setLoaded] = useState(false);
|
||||
const { displaySize = 0, imgSize = 0, src = "", ...componentProps } = props;
|
||||
const isDynamic = isDynamicIcon(src);
|
||||
const imgSrc = useMemo(
|
||||
() =>
|
||||
|
|
@ -149,6 +148,6 @@ const Icon = forwardRef<
|
|||
{RenderedIcon}
|
||||
</picture>
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
export default memo(Icon);
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
// eslint-disable-next-line no-restricted-exports
|
||||
export { domAnimation as default } from "framer-motion";
|
||||
export { domAnimation as default } from "motion/react";
|
||||
|
|
|
|||
|
|
@ -362,7 +362,7 @@ export const BASE_ZIP_CONFIG: AsyncZipOptions = {
|
|||
export const HIGH_PRIORITY_REQUEST = { priority: "high" } as RequestInit;
|
||||
|
||||
export const HIGH_PRIORITY_ELEMENT = {
|
||||
fetchpriority: "high",
|
||||
fetchPriority: "high",
|
||||
} as React.HTMLAttributes<HTMLElement>;
|
||||
|
||||
export const DISBALE_AUTO_INPUT_FEATURES = {
|
||||
|
|
|
|||
4
utils/types.d.ts
vendored
4
utils/types.d.ts
vendored
|
|
@ -2,6 +2,10 @@ type FC<T = Record<string, unknown>> = (
|
|||
props: React.PropsWithChildren<T>
|
||||
) => React.JSX.Element | null;
|
||||
|
||||
type FCWithRef<R = HTMLElement, T = Record<string, unknown>> = (
|
||||
props: React.PropsWithChildren<T> & { ref?: React.RefObject<R | null> }
|
||||
) => React.JSX.Element | null;
|
||||
|
||||
declare module "utif" {
|
||||
export const bufferToURI: (data: Buffer) => string;
|
||||
}
|
||||
|
|
|
|||
240
yarn.lock
240
yarn.lock
|
|
@ -1115,10 +1115,10 @@
|
|||
"@babel/types" "^7.4.4"
|
||||
esutils "^2.0.2"
|
||||
|
||||
"@babel/preset-react@7.25.9":
|
||||
version "7.25.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.25.9.tgz#5f473035dc2094bcfdbc7392d0766bd42dce173e"
|
||||
integrity sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw==
|
||||
"@babel/preset-react@7.26.3":
|
||||
version "7.26.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.26.3.tgz#7c5e028d623b4683c1f83a0bd4713b9100560caa"
|
||||
integrity sha512-Nl03d6T9ky516DGK2YMxrTqvnpUW63TnJMOMonj+Zae0JiPC5BC9xPMSL6L8fiSpA5vP88qfygavVQvnLp+6Cw==
|
||||
dependencies:
|
||||
"@babel/helper-plugin-utils" "^7.25.9"
|
||||
"@babel/helper-validator-option" "^7.25.9"
|
||||
|
|
@ -1801,64 +1801,64 @@
|
|||
"@napi-rs/canvas-linux-x64-musl" "0.1.65"
|
||||
"@napi-rs/canvas-win32-x64-msvc" "0.1.65"
|
||||
|
||||
"@next/bundle-analyzer@^15.0.3":
|
||||
version "15.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/bundle-analyzer/-/bundle-analyzer-15.0.3.tgz#58615521d2ae649687d0c7592b9d11a2aa92c19b"
|
||||
integrity sha512-x7ZNvpoQPO0C5ZG//qVp21Qs3v6+C8LBJmdu9DKj4/NmjlnwoQ7dqRZ/nKZcwVhkFT7BHf+Qd5FaeHq9IDJvDQ==
|
||||
"@next/bundle-analyzer@^15.0.4":
|
||||
version "15.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@next/bundle-analyzer/-/bundle-analyzer-15.0.4.tgz#0bd2690f41679dbe3d85e0380539de3900514bad"
|
||||
integrity sha512-0If3/mxqUWYC0lAdV5cChGA1Xs1BENjaLyJkdqpI2df86HqprcDZagiB2IU1xc5ph7xZHRdi5mT2cY7VkyibTQ==
|
||||
dependencies:
|
||||
webpack-bundle-analyzer "4.10.1"
|
||||
|
||||
"@next/env@15.0.3":
|
||||
version "15.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/env/-/env-15.0.3.tgz#a2e9bf274743c52b74d30f415f3eba750d51313a"
|
||||
integrity sha512-t9Xy32pjNOvVn2AS+Utt6VmyrshbpfUMhIjFO60gI58deSo/KgLOp31XZ4O+kY/Is8WAGYwA5gR7kOb1eORDBA==
|
||||
"@next/env@15.0.4":
|
||||
version "15.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@next/env/-/env-15.0.4.tgz#97da0fe3bae2f2b2968c4c925d7936660f5b3836"
|
||||
integrity sha512-WNRvtgnRVDD4oM8gbUcRc27IAhaL4eXQ/2ovGbgLnPGUvdyDr8UdXP4Q/IBDdAdojnD2eScryIDirv0YUCjUVw==
|
||||
|
||||
"@next/eslint-plugin-next@15.0.3", "@next/eslint-plugin-next@^15.0.3":
|
||||
version "15.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-15.0.3.tgz#ce953098036d462f6901e423cc6445fc165b78c4"
|
||||
integrity sha512-3Ln/nHq2V+v8uIaxCR6YfYo7ceRgZNXfTd3yW1ukTaFbO+/I8jNakrjYWODvG9BuR2v5kgVtH/C8r0i11quOgw==
|
||||
"@next/eslint-plugin-next@15.0.4", "@next/eslint-plugin-next@^15.0.4":
|
||||
version "15.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-15.0.4.tgz#8bca5d39e39d172d64d9c36af55c1b49ef60b684"
|
||||
integrity sha512-rbsF17XGzHtR7SDWzWpavSfum3/UdnF8bAaisnKwP//si3KWPTedVUsflAdjyK1zW3rweBjbALfKcavFneLGvg==
|
||||
dependencies:
|
||||
fast-glob "3.3.1"
|
||||
|
||||
"@next/swc-darwin-arm64@15.0.3":
|
||||
version "15.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.0.3.tgz#4c40c506cf3d4d87da0204f4cccf39e6bdc46a71"
|
||||
integrity sha512-s3Q/NOorCsLYdCKvQlWU+a+GeAd3C8Rb3L1YnetsgwXzhc3UTWrtQpB/3eCjFOdGUj5QmXfRak12uocd1ZiiQw==
|
||||
"@next/swc-darwin-arm64@15.0.4":
|
||||
version "15.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.0.4.tgz#66087f397564d6ece4c5493536d30bc2b158a80e"
|
||||
integrity sha512-QecQXPD0yRHxSXWL5Ff80nD+A56sUXZG9koUsjWJwA2Z0ZgVQfuy7gd0/otjxoOovPVHR2eVEvPMHbtZP+pf9w==
|
||||
|
||||
"@next/swc-darwin-x64@15.0.3":
|
||||
version "15.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-15.0.3.tgz#8e06cacae3dae279744f9fbe88dea679ec2c1ca3"
|
||||
integrity sha512-Zxl/TwyXVZPCFSf0u2BNj5sE0F2uR6iSKxWpq4Wlk/Sv9Ob6YCKByQTkV2y6BCic+fkabp9190hyrDdPA/dNrw==
|
||||
"@next/swc-darwin-x64@15.0.4":
|
||||
version "15.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-15.0.4.tgz#6eb098e183dfed72d8f3c4b281a323ad17d72446"
|
||||
integrity sha512-pb7Bye3y1Og3PlCtnz2oO4z+/b3pH2/HSYkLbL0hbVuTGil7fPen8/3pyyLjdiTLcFJ+ymeU3bck5hd4IPFFCA==
|
||||
|
||||
"@next/swc-linux-arm64-gnu@15.0.3":
|
||||
version "15.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.0.3.tgz#c144ad1f21091b9c6e1e330ecc2d56188763191d"
|
||||
integrity sha512-T5+gg2EwpsY3OoaLxUIofmMb7ohAUlcNZW0fPQ6YAutaWJaxt1Z1h+8zdl4FRIOr5ABAAhXtBcpkZNwUcKI2fw==
|
||||
"@next/swc-linux-arm64-gnu@15.0.4":
|
||||
version "15.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.0.4.tgz#3c082ad1a4c8060a5c56127fdefb82a149d3b94e"
|
||||
integrity sha512-12oSaBFjGpB227VHzoXF3gJoK2SlVGmFJMaBJSu5rbpaoT5OjP5OuCLuR9/jnyBF1BAWMs/boa6mLMoJPRriMA==
|
||||
|
||||
"@next/swc-linux-arm64-musl@15.0.3":
|
||||
version "15.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.0.3.tgz#3ccb71c6703bf421332f177d1bb0e10528bc73a2"
|
||||
integrity sha512-WkAk6R60mwDjH4lG/JBpb2xHl2/0Vj0ZRu1TIzWuOYfQ9tt9NFsIinI1Epma77JVgy81F32X/AeD+B2cBu/YQA==
|
||||
"@next/swc-linux-arm64-musl@15.0.4":
|
||||
version "15.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.0.4.tgz#c4e18c89ea4dab6b150b889643ec19896aebc1eb"
|
||||
integrity sha512-QARO88fR/a+wg+OFC3dGytJVVviiYFEyjc/Zzkjn/HevUuJ7qGUUAUYy5PGVWY1YgTzeRYz78akQrVQ8r+sMjw==
|
||||
|
||||
"@next/swc-linux-x64-gnu@15.0.3":
|
||||
version "15.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.0.3.tgz#b90aa9b07001b4000427c35ab347a9273cbeebb3"
|
||||
integrity sha512-gWL/Cta1aPVqIGgDb6nxkqy06DkwJ9gAnKORdHWX1QBbSZZB+biFYPFti8aKIQL7otCE1pjyPaXpFzGeG2OS2w==
|
||||
"@next/swc-linux-x64-gnu@15.0.4":
|
||||
version "15.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.0.4.tgz#f81c3952a60f3075b48e0b5a862f4deecd550c2d"
|
||||
integrity sha512-Z50b0gvYiUU1vLzfAMiChV8Y+6u/T2mdfpXPHraqpypP7yIT2UV9YBBhcwYkxujmCvGEcRTVWOj3EP7XW/wUnw==
|
||||
|
||||
"@next/swc-linux-x64-musl@15.0.3":
|
||||
version "15.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.0.3.tgz#0ac9724fb44718fc97bfea971ac3fe17e486590e"
|
||||
integrity sha512-QQEMwFd8r7C0GxQS62Zcdy6GKx999I/rTO2ubdXEe+MlZk9ZiinsrjwoiBL5/57tfyjikgh6GOU2WRQVUej3UA==
|
||||
"@next/swc-linux-x64-musl@15.0.4":
|
||||
version "15.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.0.4.tgz#f14c9730599985538d4d01d6da825b4e41fea0c1"
|
||||
integrity sha512-7H9C4FAsrTAbA/ENzvFWsVytqRYhaJYKa2B3fyQcv96TkOGVMcvyS6s+sj4jZlacxxTcn7ygaMXUPkEk7b78zw==
|
||||
|
||||
"@next/swc-win32-arm64-msvc@15.0.3":
|
||||
version "15.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.0.3.tgz#932437d4cf27814e963ba8ae5f033b4421fab9ca"
|
||||
integrity sha512-9TEp47AAd/ms9fPNgtgnT7F3M1Hf7koIYYWCMQ9neOwjbVWJsHZxrFbI3iEDJ8rf1TDGpmHbKxXf2IFpAvheIQ==
|
||||
"@next/swc-win32-arm64-msvc@15.0.4":
|
||||
version "15.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.0.4.tgz#14297572feedcd5b14388be8a7ea8c50accb4c96"
|
||||
integrity sha512-Z/v3WV5xRaeWlgJzN9r4PydWD8sXV35ywc28W63i37G2jnUgScA4OOgS8hQdiXLxE3gqfSuHTicUhr7931OXPQ==
|
||||
|
||||
"@next/swc-win32-x64-msvc@15.0.3":
|
||||
version "15.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.0.3.tgz#940a6f7b370cdde0cc67eabe945d9e6d97e0be9f"
|
||||
integrity sha512-VNAz+HN4OGgvZs6MOoVfnn41kBzT+M+tB+OK4cww6DNyWS6wKaDpaAm/qLeOUbnMh0oVx1+mg0uoYARF69dJyA==
|
||||
"@next/swc-win32-x64-msvc@15.0.4":
|
||||
version "15.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.0.4.tgz#d25953baffb92721f0fb96c8be71d7efb37a57b7"
|
||||
integrity sha512-NGLchGruagh8lQpDr98bHLyWJXOBSmkEAfK980OiNBa7vNm6PsNoPvzTfstT78WyOeMRQphEQ455rggd7Eo+Dw==
|
||||
|
||||
"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1":
|
||||
version "5.1.1-v1"
|
||||
|
|
@ -2204,6 +2204,13 @@
|
|||
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6"
|
||||
integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==
|
||||
|
||||
"@types/react-dom@^19.0.1":
|
||||
version "19.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-19.0.1.tgz#b1032c4c3215018e4028a85a71441560216e51c6"
|
||||
integrity sha512-hljHij7MpWPKF6u5vojuyfV0YA4YURsQG7KT6SzV0Zs2BXAtgdTxG6A229Ub/xiWV4w/7JL8fi6aAyjshH4meA==
|
||||
dependencies:
|
||||
"@types/react" "*"
|
||||
|
||||
"@types/react-redux@^7.1.20":
|
||||
version "7.1.33"
|
||||
resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.33.tgz#53c5564f03f1ded90904e3c90f77e4bd4dc20b15"
|
||||
|
|
@ -2222,12 +2229,11 @@
|
|||
"@types/prop-types" "*"
|
||||
csstype "^3.0.2"
|
||||
|
||||
"@types/react@^18.3.12":
|
||||
version "18.3.12"
|
||||
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.12.tgz#99419f182ccd69151813b7ee24b792fe08774f60"
|
||||
integrity sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==
|
||||
"@types/react@^19.0.1":
|
||||
version "19.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/react/-/react-19.0.1.tgz#a000d5b78f473732a08cecbead0f3751e550b3df"
|
||||
integrity sha512-YW6614BDhqbpR5KtUYzTA+zlA7nayzJRA9ljz9CQoxthR0sDisYZLuvSMsil36t4EH/uAt8T52Xb4sVw17G+SQ==
|
||||
dependencies:
|
||||
"@types/prop-types" "*"
|
||||
csstype "^3.0.2"
|
||||
|
||||
"@types/semver@^7.3.12":
|
||||
|
|
@ -4249,12 +4255,12 @@ eslint-config-airbnb@^19.0.4:
|
|||
object.assign "^4.1.2"
|
||||
object.entries "^1.1.5"
|
||||
|
||||
eslint-config-next@^15.0.3:
|
||||
version "15.0.3"
|
||||
resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-15.0.3.tgz#b483585260d5e55050d4ab87e053c88089ae12ee"
|
||||
integrity sha512-IGP2DdQQrgjcr4mwFPve4DrCqo7CVVez1WoYY47XwKSrYO4hC0Dlb+iJA60i0YfICOzgNADIb8r28BpQ5Zs0wg==
|
||||
eslint-config-next@^15.0.4:
|
||||
version "15.0.4"
|
||||
resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-15.0.4.tgz#c868c11f90dd60830c9c94cbb9a89f021eb3eeb9"
|
||||
integrity sha512-97mLaAhbJKVQYXUBBrenRtEUAA6bNDPxWfaFEd6mEhKfpajP4wJrW4l7BUlHuYWxR8oQa9W014qBJpumpJQwWA==
|
||||
dependencies:
|
||||
"@next/eslint-plugin-next" "15.0.3"
|
||||
"@next/eslint-plugin-next" "15.0.4"
|
||||
"@rushstack/eslint-patch" "^1.10.3"
|
||||
"@typescript-eslint/eslint-plugin" "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0"
|
||||
"@typescript-eslint/parser" "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0"
|
||||
|
|
@ -4419,6 +4425,11 @@ eslint-plugin-react-hooks@^5.0.0:
|
|||
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0.tgz#72e2eefbac4b694f5324154619fee44f5f60f101"
|
||||
integrity sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==
|
||||
|
||||
eslint-plugin-react-hooks@^5.1.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz#3d34e37d5770866c34b87d5b499f5f0b53bf0854"
|
||||
integrity sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==
|
||||
|
||||
eslint-plugin-react@^7.35.0:
|
||||
version "7.37.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.1.tgz#56493d7d69174d0d828bc83afeffe96903fdadbd"
|
||||
|
|
@ -4480,17 +4491,17 @@ eslint-plugin-regexp@^2.7.0:
|
|||
regexp-ast-analysis "^0.7.1"
|
||||
scslre "^0.3.0"
|
||||
|
||||
eslint-plugin-sonarjs@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-3.0.0.tgz#c1b665a35f56d72b61738223026d7a87f5507ccd"
|
||||
integrity sha512-gUu9m942ddTcLULvwJi2MllOjrsK39VgpA7vaSkZ+oNXbYes4R8DsxOobx+I5gJg2537/h4kWJNkfr/pw7be5w==
|
||||
eslint-plugin-sonarjs@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-3.0.1.tgz#ad2e71d261de9a004c5a97f566c007cd4d561d8f"
|
||||
integrity sha512-RT6VgdPqizbMLmTryIc3fB169hRjvDFlqieSZEEswGtApPb4Dn9BndmN9qyfBV/By0hbseIX8zQWKBz5E7lyiQ==
|
||||
dependencies:
|
||||
"@babel/core" "7.26.0"
|
||||
"@babel/eslint-parser" "7.25.9"
|
||||
"@babel/plugin-proposal-decorators" "7.25.9"
|
||||
"@babel/preset-env" "7.26.0"
|
||||
"@babel/preset-flow" "7.25.9"
|
||||
"@babel/preset-react" "7.25.9"
|
||||
"@babel/preset-react" "7.26.3"
|
||||
"@eslint-community/regexpp" "4.12.1"
|
||||
builtin-modules "3.3.0"
|
||||
bytes "3.1.2"
|
||||
|
|
@ -4499,7 +4510,7 @@ eslint-plugin-sonarjs@^3.0.0:
|
|||
minimatch "9.0.5"
|
||||
scslre "0.3.0"
|
||||
semver "7.6.3"
|
||||
typescript "5.7.2"
|
||||
typescript "^5"
|
||||
|
||||
eslint-plugin-sort-keys-fix@^1.1.2:
|
||||
version "1.1.2"
|
||||
|
|
@ -4925,13 +4936,11 @@ frac@~1.1.2:
|
|||
resolved "https://registry.yarnpkg.com/frac/-/frac-1.1.2.tgz#3d74f7f6478c88a1b5020306d747dc6313c74d0b"
|
||||
integrity sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==
|
||||
|
||||
framer-motion@^11.13.1:
|
||||
version "11.13.1"
|
||||
resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-11.13.1.tgz#f15ca61c2b77067f4c7bc75833adae711fbef1fe"
|
||||
integrity sha512-F40tpGTHByhn9h3zdBQPcEro+pSLtzARcocbNqAyfBI+u9S+KZuHH/7O9+z+GEkoF3eqFxfvVw0eBDytohwqmQ==
|
||||
framer-motion@^12.0.0-alpha.2:
|
||||
version "12.0.0-alpha.2"
|
||||
resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-12.0.0-alpha.2.tgz#feff37066ac169dd9e24ec2c86ce98cb20e88056"
|
||||
integrity sha512-s603YLhCoX3GKaPDZnywwoFdd1T6gDFCfevVRek+TCpbvazUkITh+YZ3a6kqTvn4Aj7qQWT3vAmzWIjl/LsCFA==
|
||||
dependencies:
|
||||
motion-dom "^11.13.0"
|
||||
motion-utils "^11.13.0"
|
||||
tslib "^2.4.0"
|
||||
|
||||
fs-monkey@^1.0.0, fs-monkey@^1.0.3:
|
||||
|
|
@ -6634,15 +6643,13 @@ monaco-editor@^0.52.0:
|
|||
resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.52.0.tgz#d47c02b191eae208d68878d679b3ee7456031be7"
|
||||
integrity sha512-OeWhNpABLCeTqubfqLMXGsqf6OmPU6pHM85kF3dhy6kq5hnhuVS1p3VrEW/XhWHc71P2tHyS5JFySD8mgs1crw==
|
||||
|
||||
motion-dom@^11.13.0:
|
||||
version "11.13.0"
|
||||
resolved "https://registry.yarnpkg.com/motion-dom/-/motion-dom-11.13.0.tgz#a8f86b3aedb55598a8e3dd4114f1c3347153baf2"
|
||||
integrity sha512-Oc1MLGJQ6nrvXccXA89lXtOqFyBmvHtaDcTRGT66o8Czl7nuA8BeHAd9MQV1pQKX0d2RHFBFaw5g3k23hQJt0w==
|
||||
|
||||
motion-utils@^11.13.0:
|
||||
version "11.13.0"
|
||||
resolved "https://registry.yarnpkg.com/motion-utils/-/motion-utils-11.13.0.tgz#e65fab5e26a1da3b18b4b4d1f3d0067977ccfd4a"
|
||||
integrity sha512-lq6TzXkH5c/ysJQBxgLXgM01qwBH1b4goTPh57VvZWJbVJZF/0SB31UWEn4EIqbVPf3au88n2rvK17SpDTja1A==
|
||||
motion@12.0.0-alpha.2:
|
||||
version "12.0.0-alpha.2"
|
||||
resolved "https://registry.yarnpkg.com/motion/-/motion-12.0.0-alpha.2.tgz#07ce9a5bfcbbbac851227b8a3e2309af32d8c5b9"
|
||||
integrity sha512-pslRUURjyS1Xb6lSdyc4LzOKhaCRj0PIqstb5dDIB/RxNO3MqSMU43o1rGtZs5h8DgRzRSPHE+E7yhh2NpwI8A==
|
||||
dependencies:
|
||||
framer-motion "^12.0.0-alpha.2"
|
||||
tslib "^2.4.0"
|
||||
|
||||
mrmime@^2.0.0:
|
||||
version "2.0.0"
|
||||
|
|
@ -6737,12 +6744,12 @@ negotiator@0.6.3:
|
|||
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
|
||||
integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
|
||||
|
||||
next@^15.0.3:
|
||||
version "15.0.3"
|
||||
resolved "https://registry.yarnpkg.com/next/-/next-15.0.3.tgz#804f5b772e7570ef1f088542a59860914d3288e9"
|
||||
integrity sha512-ontCbCRKJUIoivAdGB34yCaOcPgYXr9AAkV/IwqFfWWTXEPUgLYkSkqBhIk9KK7gGmgjc64B+RdoeIDM13Irnw==
|
||||
next@^15.0.4:
|
||||
version "15.0.4"
|
||||
resolved "https://registry.yarnpkg.com/next/-/next-15.0.4.tgz#7ddad7299204f16c132d7e524cf903f1a513588e"
|
||||
integrity sha512-nuy8FH6M1FG0lktGotamQDCXhh5hZ19Vo0ht1AOIQWrYJLP598TIUagKtvJrfJ5AGwB/WmDqkKaKhMpVifvGPA==
|
||||
dependencies:
|
||||
"@next/env" "15.0.3"
|
||||
"@next/env" "15.0.4"
|
||||
"@swc/counter" "0.1.3"
|
||||
"@swc/helpers" "0.5.13"
|
||||
busboy "1.6.0"
|
||||
|
|
@ -6750,14 +6757,14 @@ next@^15.0.3:
|
|||
postcss "8.4.31"
|
||||
styled-jsx "5.1.6"
|
||||
optionalDependencies:
|
||||
"@next/swc-darwin-arm64" "15.0.3"
|
||||
"@next/swc-darwin-x64" "15.0.3"
|
||||
"@next/swc-linux-arm64-gnu" "15.0.3"
|
||||
"@next/swc-linux-arm64-musl" "15.0.3"
|
||||
"@next/swc-linux-x64-gnu" "15.0.3"
|
||||
"@next/swc-linux-x64-musl" "15.0.3"
|
||||
"@next/swc-win32-arm64-msvc" "15.0.3"
|
||||
"@next/swc-win32-x64-msvc" "15.0.3"
|
||||
"@next/swc-darwin-arm64" "15.0.4"
|
||||
"@next/swc-darwin-x64" "15.0.4"
|
||||
"@next/swc-linux-arm64-gnu" "15.0.4"
|
||||
"@next/swc-linux-arm64-musl" "15.0.4"
|
||||
"@next/swc-linux-x64-gnu" "15.0.4"
|
||||
"@next/swc-linux-x64-musl" "15.0.4"
|
||||
"@next/swc-win32-arm64-msvc" "15.0.4"
|
||||
"@next/swc-win32-x64-msvc" "15.0.4"
|
||||
sharp "^0.33.5"
|
||||
|
||||
no-case@^3.0.4:
|
||||
|
|
@ -7075,10 +7082,10 @@ path-type@^4.0.0:
|
|||
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
|
||||
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
|
||||
|
||||
pdfjs-dist@^4.9.124:
|
||||
version "4.9.124"
|
||||
resolved "https://registry.yarnpkg.com/pdfjs-dist/-/pdfjs-dist-4.9.124.tgz#e82b409c515247688b1f8b93cde28ef41d0f691c"
|
||||
integrity sha512-yAoM7C+IYIG23dAZHE2KqtE5exEj067Ef6oblb+AHiqLwTJSQOMB+e8ftBA3pp1+6TyE4xeofoHcu9t7XaOE0g==
|
||||
pdfjs-dist@^4.9.155:
|
||||
version "4.9.155"
|
||||
resolved "https://registry.yarnpkg.com/pdfjs-dist/-/pdfjs-dist-4.9.155.tgz#80c9fc7f5411a4cf00751cdea242ffd8b0f23a96"
|
||||
integrity sha512-epRZn6DQQKCOEqbmFsxkiMBm1MHaNrnr6T4VBNP0bsDvdJdmrWcZbS5cgJXW68P0d3uJTlFhF6Wms2tlSgPYig==
|
||||
optionalDependencies:
|
||||
"@napi-rs/canvas" "^0.1.64"
|
||||
|
||||
|
|
@ -7379,13 +7386,12 @@ react-dom@^17.0.1:
|
|||
object-assign "^4.1.1"
|
||||
scheduler "^0.20.2"
|
||||
|
||||
react-dom@^18.3.1:
|
||||
version "18.3.1"
|
||||
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4"
|
||||
integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==
|
||||
react-dom@^19.0.0:
|
||||
version "19.0.0"
|
||||
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.0.0.tgz#43446f1f01c65a4cd7f7588083e686a6726cfb57"
|
||||
integrity sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==
|
||||
dependencies:
|
||||
loose-envify "^1.1.0"
|
||||
scheduler "^0.23.2"
|
||||
scheduler "^0.25.0"
|
||||
|
||||
react-draggable@4.4.6:
|
||||
version "4.4.6"
|
||||
|
|
@ -7439,12 +7445,10 @@ react@^17.0.1:
|
|||
loose-envify "^1.1.0"
|
||||
object-assign "^4.1.1"
|
||||
|
||||
react@^18.3.1:
|
||||
version "18.3.1"
|
||||
resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891"
|
||||
integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==
|
||||
dependencies:
|
||||
loose-envify "^1.1.0"
|
||||
react@^19.0.0:
|
||||
version "19.0.0"
|
||||
resolved "https://registry.yarnpkg.com/react/-/react-19.0.0.tgz#6e1969251b9f108870aa4bff37a0ce9ddfaaabdd"
|
||||
integrity sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==
|
||||
|
||||
read-pkg-up@^7.0.1:
|
||||
version "7.0.1"
|
||||
|
|
@ -7850,12 +7854,10 @@ scheduler@^0.20.2:
|
|||
loose-envify "^1.1.0"
|
||||
object-assign "^4.1.1"
|
||||
|
||||
scheduler@^0.23.2:
|
||||
version "0.23.2"
|
||||
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3"
|
||||
integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==
|
||||
dependencies:
|
||||
loose-envify "^1.1.0"
|
||||
scheduler@^0.25.0:
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.25.0.tgz#336cd9768e8cceebf52d3c80e3dcf5de23e7e015"
|
||||
integrity sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==
|
||||
|
||||
scslre@0.3.0, scslre@^0.3.0:
|
||||
version "0.3.0"
|
||||
|
|
@ -8545,10 +8547,10 @@ terser@^5.15.1:
|
|||
commander "^2.20.0"
|
||||
source-map-support "~0.5.20"
|
||||
|
||||
terser@^5.36.0:
|
||||
version "5.36.0"
|
||||
resolved "https://registry.yarnpkg.com/terser/-/terser-5.36.0.tgz#8b0dbed459ac40ff7b4c9fd5a3a2029de105180e"
|
||||
integrity sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==
|
||||
terser@^5.37.0:
|
||||
version "5.37.0"
|
||||
resolved "https://registry.yarnpkg.com/terser/-/terser-5.37.0.tgz#38aa66d1cfc43d0638fab54e43ff8a4f72a21ba3"
|
||||
integrity sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==
|
||||
dependencies:
|
||||
"@jridgewell/source-map" "^0.3.3"
|
||||
acorn "^8.8.2"
|
||||
|
|
@ -8837,7 +8839,7 @@ typedarray.prototype.slice@^1.0.3:
|
|||
typed-array-buffer "^1.0.2"
|
||||
typed-array-byte-offset "^1.0.2"
|
||||
|
||||
typescript@5.7.2, typescript@^5.7.2:
|
||||
typescript@^5, typescript@^5.7.2:
|
||||
version "5.7.2"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.2.tgz#3169cf8c4c8a828cde53ba9ecb3d2b1d5dd67be6"
|
||||
integrity sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user