Update import paths

This commit is contained in:
Nate Kelley 2025-07-03 23:56:31 -06:00
parent 82fc198f57
commit 533b4dcf77
No known key found for this signature in database
GPG Key ID: FD90372AB8D98B4F
10 changed files with 57 additions and 51 deletions

View File

@ -85,7 +85,7 @@
"dom-to-image": "^2.6.0", "dom-to-image": "^2.6.0",
"email-validator": "^2.0.4", "email-validator": "^2.0.4",
"font-color-contrast": "^11.1.0", "font-color-contrast": "^11.1.0",
"framer-motion": "^12.20.1", "framer-motion": "^12.23.0",
"hono": "catalog:", "hono": "catalog:",
"html-react-parser": "^5.2.5", "html-react-parser": "^5.2.5",
"intersection-observer": "^0.12.2", "intersection-observer": "^0.12.2",
@ -134,7 +134,7 @@
"devDependencies": { "devDependencies": {
"@chromatic-com/storybook": "^3.2.6", "@chromatic-com/storybook": "^3.2.6",
"@next/bundle-analyzer": "^15.3.5", "@next/bundle-analyzer": "^15.3.5",
"@playwright/test": "^1.53.2", "@playwright/test": "1.53.1",
"@storybook/addon-controls": "^8.6.12", "@storybook/addon-controls": "^8.6.12",
"@storybook/addon-essentials": "^8.6.14", "@storybook/addon-essentials": "^8.6.14",
"@storybook/addon-interactions": "^8.6.14", "@storybook/addon-interactions": "^8.6.14",

View File

@ -5,7 +5,7 @@ import type {
BusterUserResponse, BusterUserResponse,
OrganizationUser OrganizationUser
} from '@/api/asset_interfaces/users'; } from '@/api/asset_interfaces/users';
import { BASE_URL } from '@/api/buster_rest/config'; import { BASE_URL } from '../config';
import { serverFetch } from '../../createServerInstance'; import { serverFetch } from '../../createServerInstance';
import { mainApi } from '../instances'; import { mainApi } from '../instances';

View File

@ -1,5 +1,5 @@
import { redirect } from 'next/navigation'; import { redirect } from 'next/navigation';
import { getMyUserInfo_server } from '@/api/buster_rest'; import { getMyUserInfo_server } from '@/api/buster_rest/users/requests';
import { ResetPasswordForm } from '@/components/features/auth/ResetPasswordForm'; import { ResetPasswordForm } from '@/components/features/auth/ResetPasswordForm';
import { getSupabaseUserContext } from '@/lib/supabase'; import { getSupabaseUserContext } from '@/lib/supabase';
import { resetPassword } from '@/lib/supabase/resetPassword'; import { resetPassword } from '@/lib/supabase/resetPassword';
@ -8,7 +8,7 @@ import { BusterRoutes, createBusterRoute } from '@/routes/busterRoutes';
export default async function ResetPassword() { export default async function ResetPassword() {
const { user, accessToken } = await getSupabaseUserContext(); const { user, accessToken } = await getSupabaseUserContext();
if (!user?.id) { if (!user?.id || !accessToken) {
return redirect( return redirect(
createBusterRoute({ createBusterRoute({
route: BusterRoutes.AUTH_LOGIN route: BusterRoutes.AUTH_LOGIN

View File

@ -1,6 +1,6 @@
import { validate } from 'email-validator';
import React from 'react'; import React from 'react';
import type { ShareAssetType, ShareConfig, ShareRole } from '@buster/server-shared/share'; import type { ShareAssetType, ShareConfig, ShareRole } from '@buster/server-shared/share';
import { isValidEmail } from '@/lib/email';
import { import {
useShareCollection, useShareCollection,
useUnshareCollection, useUnshareCollection,
@ -84,12 +84,12 @@ const ShareMenuContentShare: React.FC<ShareMenuContentBodyProps> = React.memo(
const [inputValue, setInputValue] = React.useState<string>(''); const [inputValue, setInputValue] = React.useState<string>('');
const [defaultPermissionLevel, setDefaultPermissionLevel] = const [defaultPermissionLevel, setDefaultPermissionLevel] =
React.useState<ShareRole>('canView'); React.useState<ShareRole>('canView');
const disableSubmit = !inputHasText(inputValue) || !validate(inputValue); const disableSubmit = !inputHasText(inputValue) || !isValidEmail(inputValue);
const hasIndividualPermissions = !!individual_permissions?.length; const hasIndividualPermissions = !!individual_permissions?.length;
const onSubmitNewEmail = useMemoizedFn(async () => { const onSubmitNewEmail = useMemoizedFn(async () => {
const isValidEmail = validate(inputValue); const emailIsValid = isValidEmail(inputValue);
if (!isValidEmail) { if (!emailIsValid) {
openErrorMessage('Invalid email address'); openErrorMessage('Invalid email address');
return; return;
} }

View File

@ -1,8 +1,10 @@
import { validate } from 'email-validator'; 'use client';
import type React from 'react'; import type React from 'react';
import { useEffect, useMemo } from 'react'; import { useEffect, useMemo } from 'react';
import { CircleCheck, CircleXmark } from '@/components/ui/icons'; import { CircleCheck, CircleXmark } from '@/components/ui/icons';
import { Text } from '@/components/ui/typography'; import { Text } from '@/components/ui/typography';
import { isValidEmail } from '@/lib/email';
const PasswordCheckItem: React.FC<{ const PasswordCheckItem: React.FC<{
passwordGood: boolean; passwordGood: boolean;
@ -53,7 +55,7 @@ export const PolicyCheck: React.FC<{
const items = [ const items = [
{ {
text: 'Email is valid', text: 'Email is valid',
check: validate(email) check: isValidEmail(email)
}, },
{ {
text: 'Contains a number', text: 'Contains a number',

View File

@ -9,7 +9,8 @@ import { Input } from '@/components/ui/inputs';
import { Text, Title } from '@/components/ui/typography'; import { Text, Title } from '@/components/ui/typography';
import { useBusterNotifications } from '@/context/BusterNotifications'; import { useBusterNotifications } from '@/context/BusterNotifications';
import { useMemoizedFn } from '@/hooks'; import { useMemoizedFn } from '@/hooks';
import { isValidEmail, timeout } from '@/lib'; import { isValidEmail } from '@/lib/email';
import { timeout } from '@/lib/timeout';
import { cn } from '@/lib/classMerge'; import { cn } from '@/lib/classMerge';
import { BusterRoutes, createBusterRoute } from '@/routes'; import { BusterRoutes, createBusterRoute } from '@/routes';

View File

@ -1,4 +1,3 @@
import { validate } from 'email-validator';
import uniq from 'lodash/uniq'; import uniq from 'lodash/uniq';
import React, { useMemo } from 'react'; import React, { useMemo } from 'react';
import { useInviteUser } from '@/api/buster_rest/users'; import { useInviteUser } from '@/api/buster_rest/users';
@ -7,6 +6,7 @@ import { AppModal } from '@/components/ui/modal';
import { useBusterNotifications } from '@/context/BusterNotifications'; import { useBusterNotifications } from '@/context/BusterNotifications';
import { useMemoizedFn } from '@/hooks'; import { useMemoizedFn } from '@/hooks';
import { timeout } from '@/lib'; import { timeout } from '@/lib';
import { isValidEmail } from '@/lib/email';
export const InvitePeopleModal: React.FC<{ export const InvitePeopleModal: React.FC<{
open: boolean; open: boolean;
@ -18,7 +18,9 @@ export const InvitePeopleModal: React.FC<{
const { openErrorMessage, openSuccessMessage } = useBusterNotifications(); const { openErrorMessage, openSuccessMessage } = useBusterNotifications();
const handleInvite = useMemoizedFn(async () => { const handleInvite = useMemoizedFn(async () => {
const allEmails = uniq([...emails, inputText].filter((email) => !!email && validate(email))); const allEmails = uniq(
[...emails, inputText].filter((email) => !!email && isValidEmail(email))
);
try { try {
await inviteUsers({ emails: allEmails }); await inviteUsers({ emails: allEmails });
onClose(); onClose();
@ -40,7 +42,7 @@ export const InvitePeopleModal: React.FC<{
}, []); }, []);
const isInputTextValidEmail = useMemo(() => { const isInputTextValidEmail = useMemo(() => {
return validate(inputText); return isValidEmail(inputText);
}, [inputText]); }, [inputText]);
const memoizedFooter = useMemo(() => { const memoizedFooter = useMemo(() => {
@ -64,7 +66,7 @@ export const InvitePeopleModal: React.FC<{
onTagAdd={(v) => { onTagAdd={(v) => {
const arrayedTags = Array.isArray(v) ? v : [v]; const arrayedTags = Array.isArray(v) ? v : [v];
const hadMultipleTags = arrayedTags.length > 1; const hadMultipleTags = arrayedTags.length > 1;
const validTags = arrayedTags.filter((tag) => validate(tag)); const validTags = arrayedTags.filter((tag) => isValidEmail(tag));
setEmails([...emails, ...validTags]); setEmails([...emails, ...validTags]);

View File

@ -28,8 +28,9 @@ export const isPersonalEmail = (email: string) => {
return isValidEmail(email) && personalEmailDomains.some((domain) => email.includes(domain)); return isValidEmail(email) && personalEmailDomains.some((domain) => email.includes(domain));
}; };
const EMAIL_REGEX =
/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
export const isValidEmail = (email: string) => { export const isValidEmail = (email: string) => {
const re = return EMAIL_REGEX.test(String(email).toLowerCase());
/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(String(email).toLowerCase());
}; };

View File

@ -2,10 +2,10 @@ import type { BusterAppRoutes } from './busterAppRoutes';
import { BusterRoutes, type BusterRoutesWithArgsRoute } from './busterRoutes'; import { BusterRoutes, type BusterRoutesWithArgsRoute } from './busterRoutes';
export const createBusterRoute = ({ route, ...args }: BusterRoutesWithArgsRoute) => { export const createBusterRoute = ({ route, ...args }: BusterRoutesWithArgsRoute) => {
if (!route) return '';
if (!args) return route; if (!args) return route;
// Split the route into base path and query template if it exists // Split the route into base path and query template if it exists
const [basePath, queryTemplate] = (route as string).split('?'); const [basePath, queryTemplate] = (route as string).split('?');
// Replace path parameters // Replace path parameters

View File

@ -226,7 +226,7 @@ importers:
version: 4.7.0(monaco-editor@0.52.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) version: 4.7.0(monaco-editor@0.52.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@posthog/nextjs-config': '@posthog/nextjs-config':
specifier: ^1.0.0 specifier: ^1.0.0
version: 1.0.0(next@14.2.30(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.89.2)) version: 1.0.0(next@14.2.30(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.89.2))
'@radix-ui/react-avatar': '@radix-ui/react-avatar':
specifier: ^1.1.10 specifier: ^1.1.10
version: 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) version: 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.23))(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@ -363,8 +363,8 @@ importers:
specifier: ^11.1.0 specifier: ^11.1.0
version: 11.1.0 version: 11.1.0
framer-motion: framer-motion:
specifier: ^12.20.1 specifier: ^12.23.0
version: 12.20.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) version: 12.23.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
hono: hono:
specifier: 'catalog:' specifier: 'catalog:'
version: 4.8.3 version: 4.8.3
@ -403,7 +403,7 @@ importers:
version: 1.2.0 version: 1.2.0
next: next:
specifier: 14.2.30 specifier: 14.2.30
version: 14.2.30(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.89.2) version: 14.2.30(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.89.2)
next-themes: next-themes:
specifier: ^0.4.6 specifier: ^0.4.6
version: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) version: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@ -505,8 +505,8 @@ importers:
specifier: ^15.3.5 specifier: ^15.3.5
version: 15.3.5 version: 15.3.5
'@playwright/test': '@playwright/test':
specifier: ^1.53.2 specifier: 1.53.1
version: 1.53.2 version: 1.53.1
'@storybook/addon-controls': '@storybook/addon-controls':
specifier: ^8.6.12 specifier: ^8.6.12
version: 8.6.14(storybook@8.6.14(prettier@3.6.2)) version: 8.6.14(storybook@8.6.14(prettier@3.6.2))
@ -521,7 +521,7 @@ importers:
version: 8.6.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@3.6.2)) version: 8.6.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@3.6.2))
'@storybook/nextjs': '@storybook/nextjs':
specifier: ^8.6.12 specifier: ^8.6.12
version: 8.6.14(esbuild@0.25.5)(next@14.2.30(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.89.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.89.2)(storybook@8.6.14(prettier@3.6.2))(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1)(webpack@5.99.9(esbuild@0.25.5)) version: 8.6.14(esbuild@0.25.5)(next@14.2.30(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.89.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.89.2)(storybook@8.6.14(prettier@3.6.2))(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1)(webpack@5.99.9(esbuild@0.25.5))
'@storybook/react': '@storybook/react':
specifier: ^8.6.12 specifier: ^8.6.12
version: 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.6.2)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@3.6.2))(typescript@5.8.3) version: 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.6.2)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.14(prettier@3.6.2))(typescript@5.8.3)
@ -3506,8 +3506,8 @@ packages:
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'} engines: {node: '>=14'}
'@playwright/test@1.53.2': '@playwright/test@1.53.1':
resolution: {integrity: sha512-tEB2U5z74ebBeyfGNZ3Jfg29AnW+5HlWhvHtb/Mqco9pFdZU1ZLNdVb2UtB5CvmiilNr2ZfVH/qMmAROG/XTzw==} resolution: {integrity: sha512-Z4c23LHV0muZ8hfv4jw6HngPJkbbtZxTkxPNIg7cJcTc9C28N/p2q7g3JZS2SiKBBHJ3uM1dgDye66bB7LEk5w==}
engines: {node: '>=18'} engines: {node: '>=18'}
hasBin: true hasBin: true
@ -7497,8 +7497,8 @@ packages:
resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
engines: {node: '>= 0.6'} engines: {node: '>= 0.6'}
framer-motion@12.20.1: framer-motion@12.23.0:
resolution: {integrity: sha512-NW2t2GHQcNvLHq18JyNVY15VKrwru+nkNyhLdqf4MbxbGhxZcSDi68iNcAy6O1nG0yYAQJbLioBIH1Kmg8Xr1g==} resolution: {integrity: sha512-xf6NxTGAyf7zR4r2KlnhFmsRfKIbjqeBupEDBAaEtVIBJX96sAon00kMlsKButSIRwPSHjbRrAPnYdJJ9kyhbA==}
peerDependencies: peerDependencies:
'@emotion/is-prop-valid': '*' '@emotion/is-prop-valid': '*'
react: ^18.0.0 || ^19.0.0 react: ^18.0.0 || ^19.0.0
@ -8945,8 +8945,8 @@ packages:
peerDependencies: peerDependencies:
monaco-editor: '>=0.36' monaco-editor: '>=0.36'
motion-dom@12.20.1: motion-dom@12.22.0:
resolution: {integrity: sha512-XyveLJ9dmQTmaEsP9RlcuoNFxWlRIGdasdPJBB4aOwPr8bRcJdhltudAbiEjRQBmsGD30sjJdaEjhkHsAHapLQ==} resolution: {integrity: sha512-ooH7+/BPw9gOsL9VtPhEJHE2m4ltnhMlcGMhEqA0YGNhKof7jdaszvsyThXI6LVIKshJUZ9/CP6HNqQhJfV7kw==}
motion-utils@12.19.0: motion-utils@12.19.0:
resolution: {integrity: sha512-BuFTHINYmV07pdWs6lj6aI63vr2N4dg0vR+td0rtrdpWOhBzIkEklZyLcvKBoEtwSqx8Jg06vUB5RS0xDiUybw==} resolution: {integrity: sha512-BuFTHINYmV07pdWs6lj6aI63vr2N4dg0vR+td0rtrdpWOhBzIkEklZyLcvKBoEtwSqx8Jg06vUB5RS0xDiUybw==}
@ -9477,13 +9477,13 @@ packages:
pkg-types@1.3.1: pkg-types@1.3.1:
resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
playwright-core@1.53.2: playwright-core@1.53.1:
resolution: {integrity: sha512-ox/OytMy+2w1jcYEYlOo1Hhp8hZkLCximMTUTMBXjGUA1KoFfiSZ+DU+3a739jsPY0yoKH2TFy9S2fsJas8yAw==} resolution: {integrity: sha512-Z46Oq7tLAyT0lGoFx4DOuB1IA9D1TPj0QkYxpPVUnGDqHHvDpCftu1J2hM2PiWsNMoZh8+LQaarAWcDfPBc6zg==}
engines: {node: '>=18'} engines: {node: '>=18'}
hasBin: true hasBin: true
playwright@1.53.2: playwright@1.53.1:
resolution: {integrity: sha512-6K/qQxVFuVQhRQhFsVZ9fGeatxirtrpPgxzBYWyZLEXJzqYwuL4fuNmfOfD5et1tJE4GScKyPNeLhZeRwuTU3A==} resolution: {integrity: sha512-LJ13YLr/ocweuwxyGf1XNFWIU4M2zUSo149Qbp+A4cpwDjsxRPj7k6H25LBrEHiEwxvRbD8HdwvQmRMSvquhYw==}
engines: {node: '>=18'} engines: {node: '>=18'}
hasBin: true hasBin: true
@ -15127,9 +15127,9 @@ snapshots:
'@pkgjs/parseargs@0.11.0': '@pkgjs/parseargs@0.11.0':
optional: true optional: true
'@playwright/test@1.53.2': '@playwright/test@1.53.1':
dependencies: dependencies:
playwright: 1.53.2 playwright: 1.53.1
'@pmmmwh/react-refresh-webpack-plugin@0.5.17(react-refresh@0.14.2)(type-fest@4.41.0)(webpack-hot-middleware@2.26.1)(webpack@5.99.9(esbuild@0.25.5))': '@pmmmwh/react-refresh-webpack-plugin@0.5.17(react-refresh@0.14.2)(type-fest@4.41.0)(webpack-hot-middleware@2.26.1)(webpack@5.99.9(esbuild@0.25.5))':
dependencies: dependencies:
@ -15158,10 +15158,10 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- debug - debug
'@posthog/nextjs-config@1.0.0(next@14.2.30(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.89.2))': '@posthog/nextjs-config@1.0.0(next@14.2.30(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.89.2))':
dependencies: dependencies:
'@posthog/cli': 0.3.1 '@posthog/cli': 0.3.1
next: 14.2.30(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.89.2) next: 14.2.30(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.89.2)
transitivePeerDependencies: transitivePeerDependencies:
- debug - debug
@ -16373,7 +16373,7 @@ snapshots:
dependencies: dependencies:
storybook: 8.6.14(prettier@3.6.2) storybook: 8.6.14(prettier@3.6.2)
'@storybook/nextjs@8.6.14(esbuild@0.25.5)(next@14.2.30(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.89.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.89.2)(storybook@8.6.14(prettier@3.6.2))(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1)(webpack@5.99.9(esbuild@0.25.5))': '@storybook/nextjs@8.6.14(esbuild@0.25.5)(next@14.2.30(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.89.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.89.2)(storybook@8.6.14(prettier@3.6.2))(type-fest@4.41.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1)(webpack@5.99.9(esbuild@0.25.5))':
dependencies: dependencies:
'@babel/core': 7.27.7 '@babel/core': 7.27.7
'@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.27.7) '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.27.7)
@ -16399,7 +16399,7 @@ snapshots:
find-up: 5.0.0 find-up: 5.0.0
image-size: 1.2.1 image-size: 1.2.1
loader-utils: 3.3.1 loader-utils: 3.3.1
next: 14.2.30(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.89.2) next: 14.2.30(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.89.2)
node-polyfill-webpack-plugin: 2.0.1(webpack@5.99.9(esbuild@0.25.5)) node-polyfill-webpack-plugin: 2.0.1(webpack@5.99.9(esbuild@0.25.5))
pnp-webpack-plugin: 1.7.0(typescript@5.8.3) pnp-webpack-plugin: 1.7.0(typescript@5.8.3)
postcss: 8.5.6 postcss: 8.5.6
@ -19783,9 +19783,9 @@ snapshots:
forwarded@0.2.0: {} forwarded@0.2.0: {}
framer-motion@12.20.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): framer-motion@12.23.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies: dependencies:
motion-dom: 12.20.1 motion-dom: 12.22.0
motion-utils: 12.19.0 motion-utils: 12.19.0
tslib: 2.8.1 tslib: 2.8.1
optionalDependencies: optionalDependencies:
@ -21475,7 +21475,7 @@ snapshots:
vscode-uri: 3.1.0 vscode-uri: 3.1.0
yaml: 2.8.0 yaml: 2.8.0
motion-dom@12.20.1: motion-dom@12.22.0:
dependencies: dependencies:
motion-utils: 12.19.0 motion-utils: 12.19.0
@ -21577,7 +21577,7 @@ snapshots:
react: 18.3.1 react: 18.3.1
react-dom: 18.3.1(react@18.3.1) react-dom: 18.3.1(react@18.3.1)
next@14.2.30(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.89.2): next@14.2.30(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.53.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.89.2):
dependencies: dependencies:
'@next/env': 14.2.30 '@next/env': 14.2.30
'@swc/helpers': 0.5.5 '@swc/helpers': 0.5.5
@ -21599,7 +21599,7 @@ snapshots:
'@next/swc-win32-ia32-msvc': 14.2.30 '@next/swc-win32-ia32-msvc': 14.2.30
'@next/swc-win32-x64-msvc': 14.2.30 '@next/swc-win32-x64-msvc': 14.2.30
'@opentelemetry/api': 1.9.0 '@opentelemetry/api': 1.9.0
'@playwright/test': 1.53.2 '@playwright/test': 1.53.1
sass: 1.89.2 sass: 1.89.2
transitivePeerDependencies: transitivePeerDependencies:
- '@babel/core' - '@babel/core'
@ -22097,11 +22097,11 @@ snapshots:
mlly: 1.7.4 mlly: 1.7.4
pathe: 2.0.3 pathe: 2.0.3
playwright-core@1.53.2: {} playwright-core@1.53.1: {}
playwright@1.53.2: playwright@1.53.1:
dependencies: dependencies:
playwright-core: 1.53.2 playwright-core: 1.53.1
optionalDependencies: optionalDependencies:
fsevents: 2.3.2 fsevents: 2.3.2