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