diff --git a/examples/nextjs/.eslintrc.json b/examples/nextjs/.eslintrc.json
index bffb357a7..97a2bb84e 100644
--- a/examples/nextjs/.eslintrc.json
+++ b/examples/nextjs/.eslintrc.json
@@ -1,3 +1,3 @@
{
- "extends": "next/core-web-vitals"
+ "extends": ["next", "next/core-web-vitals"]
}
diff --git a/examples/nextjs/next.config.js b/examples/nextjs/next.config.cjs
similarity index 97%
rename from examples/nextjs/next.config.js
rename to examples/nextjs/next.config.cjs
index e9fc521b3..c40d4bfa2 100644
--- a/examples/nextjs/next.config.js
+++ b/examples/nextjs/next.config.cjs
@@ -1,3 +1,5 @@
+// @ts-check
+
/** @type {import('next').NextConfig} */
const nextConfig = {
reactStrictMode: true,
diff --git a/examples/nextjs/package.json b/examples/nextjs/package.json
index a9e08d5ec..a2d32bdb8 100644
--- a/examples/nextjs/package.json
+++ b/examples/nextjs/package.json
@@ -2,6 +2,7 @@
"name": "@livekit/component-example-next",
"version": "0.2.40",
"private": true,
+ "type": "module",
"scripts": {
"dev": "next dev",
"build": "next build",
@@ -14,7 +15,7 @@
"@livekit/track-processors": "^0.3.2",
"livekit-client": "^2.5.4",
"livekit-server-sdk": "^2.6.1",
- "next": "^12.3.4",
+ "next": "^14.2.13",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
diff --git a/examples/nextjs/pages/_app.tsx b/examples/nextjs/pages/_app.tsx
index 87242ba7c..9ed46d8d2 100644
--- a/examples/nextjs/pages/_app.tsx
+++ b/examples/nextjs/pages/_app.tsx
@@ -1,5 +1,5 @@
import '../styles/globals.css';
-import type { AppProps } from 'next/app';
+import type { AppProps } from 'next/app.js';
import '@livekit/components-styles';
function MyApp({ Component, pageProps }: AppProps) {
diff --git a/examples/nextjs/pages/audio-only.tsx b/examples/nextjs/pages/audio-only.tsx
index e232facff..803eadfde 100644
--- a/examples/nextjs/pages/audio-only.tsx
+++ b/examples/nextjs/pages/audio-only.tsx
@@ -1,3 +1,5 @@
+'use client';
+
import { AudioConference, LiveKitRoom, useToken } from '@livekit/components-react';
import type { NextPage } from 'next';
import { generateRandomUserId } from '../lib/helper';
diff --git a/examples/nextjs/pages/clubhouse.tsx b/examples/nextjs/pages/clubhouse.tsx
index 876d2f0ff..a35d8a187 100644
--- a/examples/nextjs/pages/clubhouse.tsx
+++ b/examples/nextjs/pages/clubhouse.tsx
@@ -1,3 +1,5 @@
+'use client';
+
import {
ControlBar,
LiveKitRoom,
diff --git a/examples/nextjs/pages/customize.tsx b/examples/nextjs/pages/customize.tsx
index 925e18954..2f60dd377 100644
--- a/examples/nextjs/pages/customize.tsx
+++ b/examples/nextjs/pages/customize.tsx
@@ -1,3 +1,5 @@
+'use client';
+
import {
LiveKitRoom,
ParticipantName,
diff --git a/examples/nextjs/pages/e2ee.tsx b/examples/nextjs/pages/e2ee.tsx
index 21f2706c6..7ce78531d 100644
--- a/examples/nextjs/pages/e2ee.tsx
+++ b/examples/nextjs/pages/e2ee.tsx
@@ -1,3 +1,5 @@
+'use client';
+
import { LiveKitRoom, useToken, VideoConference, setLogLevel } from '@livekit/components-react';
import type { NextPage } from 'next';
import * as React from 'react';
diff --git a/examples/nextjs/pages/index.tsx b/examples/nextjs/pages/index.tsx
index 80926c845..3c6cf44bf 100644
--- a/examples/nextjs/pages/index.tsx
+++ b/examples/nextjs/pages/index.tsx
@@ -1,6 +1,8 @@
+'use client';
+
import type { NextPage } from 'next';
-import Head from 'next/head';
import styles from '../styles/Home.module.scss';
+import Head from 'next/head';
const EXAMPLE_ROUTES = {
voiceAssistant: {
diff --git a/examples/nextjs/pages/minimal.tsx b/examples/nextjs/pages/minimal.tsx
index ef93245c6..27153fec2 100644
--- a/examples/nextjs/pages/minimal.tsx
+++ b/examples/nextjs/pages/minimal.tsx
@@ -1,5 +1,6 @@
+'use client';
+
import { LiveKitRoom, useToken, VideoConference, setLogLevel } from '@livekit/components-react';
-import { RoomConnectOptions } from 'livekit-client';
import type { NextPage } from 'next';
import { generateRandomUserId } from '../lib/helper';
import { useMemo } from 'react';
diff --git a/examples/nextjs/pages/processors.tsx b/examples/nextjs/pages/processors.tsx
index 0ebd8f2d3..64f570033 100644
--- a/examples/nextjs/pages/processors.tsx
+++ b/examples/nextjs/pages/processors.tsx
@@ -1,3 +1,5 @@
+'use client';
+
import * as React from 'react';
import { setLogLevel } from '@livekit/components-core';
import {
diff --git a/examples/nextjs/pages/simple.tsx b/examples/nextjs/pages/simple.tsx
index 7b9b2c4ee..7e9e981ab 100644
--- a/examples/nextjs/pages/simple.tsx
+++ b/examples/nextjs/pages/simple.tsx
@@ -1,9 +1,12 @@
+'use client';
+
import {
ConnectionState,
ControlBar,
GridLayout,
LiveKitRoom,
ParticipantTile,
+ RoomAudioRenderer,
RoomName,
TrackRefContext,
useToken,
@@ -11,7 +14,7 @@ import {
} from '@livekit/components-react';
import { Track } from 'livekit-client';
import type { NextPage } from 'next';
-import { useEffect, useState } from 'react';
+import { useMemo, useState } from 'react';
import styles from '../styles/Simple.module.css';
import { generateRandomUserId } from '../lib/helper';
@@ -22,12 +25,14 @@ const SimpleExample: NextPage = () => {
const [connect, setConnect] = useState(false);
const [isConnected, setIsConnected] = useState(false);
- const [userInfo] = useState({
- userInfo: {
- identity: userIdentity,
- name: userIdentity,
- },
- });
+ const userInfo = useMemo(() => {
+ return {
+ userInfo: {
+ identity: userIdentity,
+ name: userIdentity,
+ },
+ };
+ }, []);
const token = useToken(process.env.NEXT_PUBLIC_LK_TOKEN_ENDPOINT, roomName, userInfo);
@@ -58,7 +63,7 @@ const SimpleExample: NextPage = () => {
>
- {/* */}
+
{isConnected && }
diff --git a/examples/nextjs/pages/voice-assistant.tsx b/examples/nextjs/pages/voice-assistant.tsx
index 0fa09c782..16387bd55 100644
--- a/examples/nextjs/pages/voice-assistant.tsx
+++ b/examples/nextjs/pages/voice-assistant.tsx
@@ -1,3 +1,5 @@
+'use client';
+
import {
LiveKitRoom,
useToken,
diff --git a/examples/nextjs/tsconfig.json b/examples/nextjs/tsconfig.json
index 0dbd9721e..42186ecd0 100644
--- a/examples/nextjs/tsconfig.json
+++ b/examples/nextjs/tsconfig.json
@@ -1,6 +1,6 @@
{
"compilerOptions": {
- "target": "es5",
+ "target": "es6",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
@@ -8,8 +8,8 @@
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"esModuleInterop": true,
- "module": "esnext",
- "moduleResolution": "node",
+ "module": "ES2020",
+ "moduleResolution": "Bundler",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
@@ -21,6 +21,6 @@
"@livekit/components-styles": ["../../packages/styles/dist/types/general/index.css.d.ts"]
}
},
- "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "next.config.cjs"],
"exclude": ["node_modules"]
}
diff --git a/packages/react/package.json b/packages/react/package.json
index fabeb65e8..4ece864b9 100644
--- a/packages/react/package.json
+++ b/packages/react/package.json
@@ -39,7 +39,7 @@
],
"scripts": {
"build": "pnpm gen:svg && vite build",
- "dev": "tsup --watch --onSuccess \"tsc --declaration --emitDeclarationOnly\"",
+ "dev": "vite build --watch",
"gen:icons": "rimraf -I -g ./src/assets/icons/*Icon.tsx && svgr --template ./src/assets/template.js --out-dir ./src/assets/icons --typescript ../styles/assets/icons",
"gen:images": "rimraf -I -g ./src/assets/images/*.tsx && svgr --template ./src/assets/template.js --out-dir ./src/assets/images --typescript --no-svgo ../styles/assets/images",
"gen:svg": "pnpm gen:images && pnpm gen:icons",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d1fb87151..159e8cef0 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -128,8 +128,8 @@ importers:
specifier: ^2.6.1
version: 2.6.1
next:
- specifier: ^12.3.4
- version: 12.3.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.6)
+ specifier: ^14.2.13
+ version: 14.2.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.6)
react:
specifier: ^18.2.0
version: 18.3.1
@@ -1690,8 +1690,8 @@ packages:
'@ndelangen/get-tarball@3.0.9':
resolution: {integrity: sha512-9JKTEik4vq+yGosHYhZ1tiH/3WpUS0Nh0kej4Agndhox8pAdWhEx5knFVRcb/ya9knCRCs1rPxNrSXTDdfVqpA==}
- '@next/env@12.3.4':
- resolution: {integrity: sha512-H/69Lc5Q02dq3o+dxxy5O/oNxFsZpdL6WREtOOtOM1B/weonIwDXkekr1KV5DPVPr12IHFPrMrcJQ6bgPMfn7A==}
+ '@next/env@14.2.13':
+ resolution: {integrity: sha512-s3lh6K8cbW1h5Nga7NNeXrbe0+2jIIYK9YaA9T7IufDWnZpozdFUp6Hf0d5rNWUKu4fEuSX2rCKlGjCrtylfDw==}
'@next/eslint-plugin-next@12.3.4':
resolution: {integrity: sha512-BFwj8ykJY+zc1/jWANsDprDIu2MgwPOIKxNVnrKvPs+f5TPegrVnem8uScND+1veT4B7F6VeqgaNLFW1Hzl9Og==}
@@ -1699,80 +1699,56 @@ packages:
'@next/eslint-plugin-next@14.2.4':
resolution: {integrity: sha512-svSFxW9f3xDaZA3idQmlFw7SusOuWTpDTAeBlO3AEPDltrraV+lqs7mAc6A27YdnpQVVIA3sODqUAAHdWhVWsA==}
- '@next/swc-android-arm-eabi@12.3.4':
- resolution: {integrity: sha512-cM42Cw6V4Bz/2+j/xIzO8nK/Q3Ly+VSlZJTa1vHzsocJRYz8KT6MrreXaci2++SIZCF1rVRCDgAg5PpqRibdIA==}
- engines: {node: '>= 10'}
- cpu: [arm]
- os: [android]
-
- '@next/swc-android-arm64@12.3.4':
- resolution: {integrity: sha512-5jf0dTBjL+rabWjGj3eghpLUxCukRhBcEJgwLedewEA/LJk2HyqCvGIwj5rH+iwmq1llCWbOky2dO3pVljrapg==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [android]
-
- '@next/swc-darwin-arm64@12.3.4':
- resolution: {integrity: sha512-DqsSTd3FRjQUR6ao0E1e2OlOcrF5br+uegcEGPVonKYJpcr0MJrtYmPxd4v5T6UCJZ+XzydF7eQo5wdGvSZAyA==}
+ '@next/swc-darwin-arm64@14.2.13':
+ resolution: {integrity: sha512-IkAmQEa2Htq+wHACBxOsslt+jMoV3msvxCn0WFSfJSkv/scy+i/EukBKNad36grRxywaXUYJc9mxEGkeIs8Bzg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
- '@next/swc-darwin-x64@12.3.4':
- resolution: {integrity: sha512-PPF7tbWD4k0dJ2EcUSnOsaOJ5rhT3rlEt/3LhZUGiYNL8KvoqczFrETlUx0cUYaXe11dRA3F80Hpt727QIwByQ==}
+ '@next/swc-darwin-x64@14.2.13':
+ resolution: {integrity: sha512-Dv1RBGs2TTjkwEnFMVL5XIfJEavnLqqwYSD6LXgTPdEy/u6FlSrLBSSfe1pcfqhFEXRAgVL3Wpjibe5wXJzWog==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
- '@next/swc-freebsd-x64@12.3.4':
- resolution: {integrity: sha512-KM9JXRXi/U2PUM928z7l4tnfQ9u8bTco/jb939pdFUHqc28V43Ohd31MmZD1QzEK4aFlMRaIBQOWQZh4D/E5lQ==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [freebsd]
-
- '@next/swc-linux-arm-gnueabihf@12.3.4':
- resolution: {integrity: sha512-3zqD3pO+z5CZyxtKDTnOJ2XgFFRUBciOox6EWkoZvJfc9zcidNAQxuwonUeNts6Xbm8Wtm5YGIRC0x+12YH7kw==}
- engines: {node: '>= 10'}
- cpu: [arm]
- os: [linux]
-
- '@next/swc-linux-arm64-gnu@12.3.4':
- resolution: {integrity: sha512-kiX0vgJGMZVv+oo1QuObaYulXNvdH/IINmvdZnVzMO/jic/B8EEIGlZ8Bgvw8LCjH3zNVPO3mGrdMvnEEPEhKA==}
+ '@next/swc-linux-arm64-gnu@14.2.13':
+ resolution: {integrity: sha512-yB1tYEFFqo4ZNWkwrJultbsw7NPAAxlPXURXioRl9SdW6aIefOLS+0TEsKrWBtbJ9moTDgU3HRILL6QBQnMevg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@next/swc-linux-arm64-musl@12.3.4':
- resolution: {integrity: sha512-EETZPa1juczrKLWk5okoW2hv7D7WvonU+Cf2CgsSoxgsYbUCZ1voOpL4JZTOb6IbKMDo6ja+SbY0vzXZBUMvkQ==}
+ '@next/swc-linux-arm64-musl@14.2.13':
+ resolution: {integrity: sha512-v5jZ/FV/eHGoWhMKYrsAweQ7CWb8xsWGM/8m1mwwZQ/sutJjoFaXchwK4pX8NqwImILEvQmZWyb8pPTcP7htWg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@next/swc-linux-x64-gnu@12.3.4':
- resolution: {integrity: sha512-4csPbRbfZbuWOk3ATyWcvVFdD9/Rsdq5YHKvRuEni68OCLkfy4f+4I9OBpyK1SKJ00Cih16NJbHE+k+ljPPpag==}
+ '@next/swc-linux-x64-gnu@14.2.13':
+ resolution: {integrity: sha512-aVc7m4YL7ViiRv7SOXK3RplXzOEe/qQzRA5R2vpXboHABs3w8vtFslGTz+5tKiQzWUmTmBNVW0UQdhkKRORmGA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@next/swc-linux-x64-musl@12.3.4':
- resolution: {integrity: sha512-YeBmI+63Ro75SUiL/QXEVXQ19T++58aI/IINOyhpsRL1LKdyfK/35iilraZEFz9bLQrwy1LYAR5lK200A9Gjbg==}
+ '@next/swc-linux-x64-musl@14.2.13':
+ resolution: {integrity: sha512-4wWY7/OsSaJOOKvMsu1Teylku7vKyTuocvDLTZQq0TYv9OjiYYWt63PiE1nTuZnqQ4RPvME7Xai+9enoiN0Wrg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@next/swc-win32-arm64-msvc@12.3.4':
- resolution: {integrity: sha512-Sd0qFUJv8Tj0PukAYbCCDbmXcMkbIuhnTeHm9m4ZGjCf6kt7E/RMs55Pd3R5ePjOkN7dJEuxYBehawTR/aPDSQ==}
+ '@next/swc-win32-arm64-msvc@14.2.13':
+ resolution: {integrity: sha512-uP1XkqCqV2NVH9+g2sC7qIw+w2tRbcMiXFEbMihkQ8B1+V6m28sshBwAB0SDmOe0u44ne1vFU66+gx/28RsBVQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
- '@next/swc-win32-ia32-msvc@12.3.4':
- resolution: {integrity: sha512-rt/vv/vg/ZGGkrkKcuJ0LyliRdbskQU+91bje+PgoYmxTZf/tYs6IfbmgudBJk6gH3QnjHWbkphDdRQrseRefQ==}
+ '@next/swc-win32-ia32-msvc@14.2.13':
+ resolution: {integrity: sha512-V26ezyjPqQpDBV4lcWIh8B/QICQ4v+M5Bo9ykLN+sqeKKBxJVDpEc6biDVyluTXTC40f5IqCU0ttth7Es2ZuMw==}
engines: {node: '>= 10'}
cpu: [ia32]
os: [win32]
- '@next/swc-win32-x64-msvc@12.3.4':
- resolution: {integrity: sha512-DQ20JEfTBZAgF8QCjYfJhv2/279M6onxFjdG/+5B0Cyj00/EdBxiWb2eGGFgQhrBbNv/lsvzFbbi0Ptf8Vw/bg==}
+ '@next/swc-win32-x64-msvc@14.2.13':
+ resolution: {integrity: sha512-WwzOEAFBGhlDHE5Z73mNU8CO8mqMNLqaG+AO9ETmzdCQlJhVtWZnOl2+rqgVQS+YHunjOWptdFmNfbpwcUuEsw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -2741,8 +2717,11 @@ packages:
peerDependencies:
'@svgr/core': '*'
- '@swc/helpers@0.4.11':
- resolution: {integrity: sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==}
+ '@swc/counter@0.1.3':
+ resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
+
+ '@swc/helpers@0.5.5':
+ resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==}
'@testing-library/dom@10.1.0':
resolution: {integrity: sha512-wdsYKy5zupPyLCW2Je5DLHSxSfbIp6h80WoHOQc+RPtmPGA52O9x5MJEkv92Sjonpq+poOAtUKhh1kBGAXBrNA==}
@@ -3674,6 +3653,10 @@ packages:
peerDependencies:
esbuild: '>=0.17'
+ busboy@1.6.0:
+ resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
+ engines: {node: '>=10.16.0'}
+
bytes-iec@3.1.1:
resolution: {integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==}
engines: {node: '>= 0.8'}
@@ -3797,6 +3780,9 @@ packages:
resolution: {integrity: sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==}
engines: {node: 10.* || >= 12.*}
+ client-only@0.0.1:
+ resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
+
cliui@6.0.0:
resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
@@ -6030,20 +6016,20 @@ packages:
neo-async@2.6.2:
resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
- next@12.3.4:
- resolution: {integrity: sha512-VcyMJUtLZBGzLKo3oMxrEF0stxh8HwuW976pAzlHhI3t8qJ4SROjCrSh1T24bhrbjw55wfZXAbXPGwPt5FLRfQ==}
- engines: {node: '>=12.22.0'}
+ next@14.2.13:
+ resolution: {integrity: sha512-BseY9YNw8QJSwLYD7hlZzl6QVDoSFHL/URN5K64kVEVpCsSOWeyjbIGK+dZUaRViHTaMQX8aqmnn0PHBbGZezg==}
+ engines: {node: '>=18.17.0'}
hasBin: true
peerDependencies:
- fibers: '>= 3.1.0'
- node-sass: ^6.0.0 || ^7.0.0
- react: ^17.0.2 || ^18.0.0-0
- react-dom: ^17.0.2 || ^18.0.0-0
+ '@opentelemetry/api': ^1.1.0
+ '@playwright/test': ^1.41.2
+ react: ^18.2.0
+ react-dom: ^18.2.0
sass: ^1.3.0
peerDependenciesMeta:
- fibers:
+ '@opentelemetry/api':
optional: true
- node-sass:
+ '@playwright/test':
optional: true
sass:
optional: true
@@ -6454,8 +6440,8 @@ packages:
peerDependencies:
postcss: ^8.2.13
- postcss@8.4.14:
- resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==}
+ postcss@8.4.31:
+ resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
engines: {node: ^10 || ^12 || >=14}
postcss@8.4.38:
@@ -7062,6 +7048,10 @@ packages:
stream-transform@2.1.3:
resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==}
+ streamsearch@1.1.0:
+ resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
+ engines: {node: '>=10.0.0'}
+
string-argv@0.3.2:
resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
engines: {node: '>=0.6.19'}
@@ -7138,8 +7128,8 @@ packages:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
- styled-jsx@5.0.7:
- resolution: {integrity: sha512-b3sUzamS086YLRuvnaDigdAewz1/EFYlHpYBP5mZovKEdQQOIIYq8lApylub3HHZ6xFjV051kkGU7cudJmrXEA==}
+ styled-jsx@5.1.1:
+ resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
engines: {node: '>= 12.0.0'}
peerDependencies:
'@babel/core': '*'
@@ -7638,11 +7628,6 @@ packages:
'@types/react':
optional: true
- use-sync-external-store@1.2.0:
- resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
-
usehooks-ts@3.1.0:
resolution: {integrity: sha512-bBIa7yUyPhE1BCc0GmR96VU/15l/9gP1Ch5mYdLcFBaFGQsdmXkvjV0TtOqW1yUd6VjIwDunm+flSciCQXujiw==}
engines: {node: '>=16.15.0'}
@@ -9557,7 +9542,7 @@ snapshots:
pump: 3.0.0
tar-fs: 2.1.1
- '@next/env@12.3.4': {}
+ '@next/env@14.2.13': {}
'@next/eslint-plugin-next@12.3.4':
dependencies:
@@ -9567,43 +9552,31 @@ snapshots:
dependencies:
glob: 10.3.10
- '@next/swc-android-arm-eabi@12.3.4':
- optional: true
-
- '@next/swc-android-arm64@12.3.4':
- optional: true
-
- '@next/swc-darwin-arm64@12.3.4':
- optional: true
-
- '@next/swc-darwin-x64@12.3.4':
- optional: true
-
- '@next/swc-freebsd-x64@12.3.4':
+ '@next/swc-darwin-arm64@14.2.13':
optional: true
- '@next/swc-linux-arm-gnueabihf@12.3.4':
+ '@next/swc-darwin-x64@14.2.13':
optional: true
- '@next/swc-linux-arm64-gnu@12.3.4':
+ '@next/swc-linux-arm64-gnu@14.2.13':
optional: true
- '@next/swc-linux-arm64-musl@12.3.4':
+ '@next/swc-linux-arm64-musl@14.2.13':
optional: true
- '@next/swc-linux-x64-gnu@12.3.4':
+ '@next/swc-linux-x64-gnu@14.2.13':
optional: true
- '@next/swc-linux-x64-musl@12.3.4':
+ '@next/swc-linux-x64-musl@14.2.13':
optional: true
- '@next/swc-win32-arm64-msvc@12.3.4':
+ '@next/swc-win32-arm64-msvc@14.2.13':
optional: true
- '@next/swc-win32-ia32-msvc@12.3.4':
+ '@next/swc-win32-ia32-msvc@14.2.13':
optional: true
- '@next/swc-win32-x64-msvc@12.3.4':
+ '@next/swc-win32-x64-msvc@14.2.13':
optional: true
'@nodelib/fs.scandir@2.1.5':
@@ -11157,8 +11130,11 @@ snapshots:
transitivePeerDependencies:
- typescript
- '@swc/helpers@0.4.11':
+ '@swc/counter@0.1.3': {}
+
+ '@swc/helpers@0.5.5':
dependencies:
+ '@swc/counter': 0.1.3
tslib: 2.7.0
'@testing-library/dom@10.1.0':
@@ -12319,6 +12295,10 @@ snapshots:
esbuild: 0.21.5
load-tsconfig: 0.2.5
+ busboy@1.6.0:
+ dependencies:
+ streamsearch: 1.1.0
+
bytes-iec@3.1.1: {}
bytes@3.0.0: {}
@@ -12451,6 +12431,8 @@ snapshots:
optionalDependencies:
'@colors/colors': 1.5.0
+ client-only@0.0.1: {}
+
cliui@6.0.0:
dependencies:
string-width: 4.2.3
@@ -15164,30 +15146,27 @@ snapshots:
neo-async@2.6.2: {}
- next@12.3.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.6):
+ next@14.2.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.6):
dependencies:
- '@next/env': 12.3.4
- '@swc/helpers': 0.4.11
+ '@next/env': 14.2.13
+ '@swc/helpers': 0.5.5
+ busboy: 1.6.0
caniuse-lite: 1.0.30001660
- postcss: 8.4.14
+ graceful-fs: 4.2.11
+ postcss: 8.4.31
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- styled-jsx: 5.0.7(react@18.3.1)
- use-sync-external-store: 1.2.0(react@18.3.1)
+ styled-jsx: 5.1.1(react@18.3.1)
optionalDependencies:
- '@next/swc-android-arm-eabi': 12.3.4
- '@next/swc-android-arm64': 12.3.4
- '@next/swc-darwin-arm64': 12.3.4
- '@next/swc-darwin-x64': 12.3.4
- '@next/swc-freebsd-x64': 12.3.4
- '@next/swc-linux-arm-gnueabihf': 12.3.4
- '@next/swc-linux-arm64-gnu': 12.3.4
- '@next/swc-linux-arm64-musl': 12.3.4
- '@next/swc-linux-x64-gnu': 12.3.4
- '@next/swc-linux-x64-musl': 12.3.4
- '@next/swc-win32-arm64-msvc': 12.3.4
- '@next/swc-win32-ia32-msvc': 12.3.4
- '@next/swc-win32-x64-msvc': 12.3.4
+ '@next/swc-darwin-arm64': 14.2.13
+ '@next/swc-darwin-x64': 14.2.13
+ '@next/swc-linux-arm64-gnu': 14.2.13
+ '@next/swc-linux-arm64-musl': 14.2.13
+ '@next/swc-linux-x64-gnu': 14.2.13
+ '@next/swc-linux-x64-musl': 14.2.13
+ '@next/swc-win32-arm64-msvc': 14.2.13
+ '@next/swc-win32-ia32-msvc': 14.2.13
+ '@next/swc-win32-x64-msvc': 14.2.13
sass: 1.77.6
transitivePeerDependencies:
- '@babel/core'
@@ -15604,11 +15583,11 @@ snapshots:
dependencies:
postcss: 8.4.38
- postcss@8.4.14:
+ postcss@8.4.31:
dependencies:
nanoid: 3.3.7
picocolors: 1.1.0
- source-map-js: 1.2.0
+ source-map-js: 1.2.1
postcss@8.4.38:
dependencies:
@@ -16317,6 +16296,8 @@ snapshots:
dependencies:
mixme: 0.5.10
+ streamsearch@1.1.0: {}
+
string-argv@0.3.2: {}
string-hash@1.1.3: {}
@@ -16406,8 +16387,9 @@ snapshots:
strip-json-comments@3.1.1: {}
- styled-jsx@5.0.7(react@18.3.1):
+ styled-jsx@5.1.1(react@18.3.1):
dependencies:
+ client-only: 0.0.1
react: 18.3.1
sucrase@3.35.0:
@@ -16902,10 +16884,6 @@ snapshots:
optionalDependencies:
'@types/react': 18.3.3
- use-sync-external-store@1.2.0(react@18.3.1):
- dependencies:
- react: 18.3.1
-
usehooks-ts@3.1.0(react@18.3.1):
dependencies:
lodash.debounce: 4.0.8