diff --git a/apps/web/app/(dashboard)/home/(user)/settings/page.tsx b/apps/web/app/(dashboard)/home/(user)/settings/page.tsx index b49be99fd..1a0500742 100644 --- a/apps/web/app/(dashboard)/home/(user)/settings/page.tsx +++ b/apps/web/app/(dashboard)/home/(user)/settings/page.tsx @@ -9,7 +9,7 @@ const features = { }; const paths = { - callback: pathsConfig.auth.callback, + callback: pathsConfig.auth.callback + `?next=${pathsConfig.app.accountHome}`, }; function PersonalAccountSettingsPage() { diff --git a/apps/web/app/(marketing)/_components/site-header-account-section.tsx b/apps/web/app/(marketing)/_components/site-header-account-section.tsx index c36512ace..9b91f4f8a 100644 --- a/apps/web/app/(marketing)/_components/site-header-account-section.tsx +++ b/apps/web/app/(marketing)/_components/site-header-account-section.tsx @@ -22,10 +22,12 @@ export function SiteHeaderAccountSection( session: Session | null; }>, ) { + if (!props.session) { + return ; + } + return ( - }> - - + ); } diff --git a/apps/web/app/(marketing)/_components/site-header.tsx b/apps/web/app/(marketing)/_components/site-header.tsx index 39d61e49d..8ea99589e 100644 --- a/apps/web/app/(marketing)/_components/site-header.tsx +++ b/apps/web/app/(marketing)/_components/site-header.tsx @@ -4,7 +4,7 @@ import { SiteHeaderAccountSection } from '~/(marketing)/_components/site-header- import { SiteNavigation } from '~/(marketing)/_components/site-navigation'; import { AppLogo } from '~/components/app-logo'; -export async function SiteHeader(props: { session?: Session | null }) { +export function SiteHeader(props: { session?: Session | null }) { return (
diff --git a/apps/web/app/auth/loading.tsx b/apps/web/app/auth/loading.tsx index 4ea53181d..bbf9ff827 100644 --- a/apps/web/app/auth/loading.tsx +++ b/apps/web/app/auth/loading.tsx @@ -1,3 +1,5 @@ import { GlobalLoader } from '@kit/ui/global-loader'; -export default GlobalLoader; +import { withI18n } from '~/lib/i18n/with-i18n'; + +export default withI18n(GlobalLoader); diff --git a/apps/web/app/layout.tsx b/apps/web/app/layout.tsx index 3fa74d4c4..5d3db81d4 100644 --- a/apps/web/app/layout.tsx +++ b/apps/web/app/layout.tsx @@ -30,9 +30,8 @@ export default async function RootLayout({ {children} + - - ); } diff --git a/apps/web/public/locales/en/profile.json b/apps/web/public/locales/en/account.json similarity index 90% rename from apps/web/public/locales/en/profile.json rename to apps/web/public/locales/en/account.json index 19cc6bfda..f01832124 100644 --- a/apps/web/public/locales/en/profile.json +++ b/apps/web/public/locales/en/account.json @@ -21,16 +21,23 @@ "updatePasswordError": "Encountered an error. Please try again", "updatePasswordLoading": "Updating password...", "updateProfileLoading": "Updating profile...", - "displayNameLabel": "Your Name", + "name": "Your Name", + "nameDescription": "Update your name to be displayed on your profile", "emailLabel": "Email Address", - "profilePictureHeading": "Upload your avatar picture", - "profilePictureSubheading": "Please choose a photo to upload as your profile picture.", + "accountImage": "Your Profile Picture", + "accountImageDescription": "Please choose a photo to upload as your profile picture.", + "profilePictureHeading": "Upload a Profile Picture", + "profilePictureSubheading": "Choose a photo to upload as your profile picture.", "updateProfileSubmitLabel": "Update Profile", + "updatePasswordCardTitle": "Update your Password", + "updatePasswordCardDescription": "Update your password to keep your account secure.", "currentPassword": "Current Password", "newPassword": "New Password", "repeatPassword": "Repeat New Password", "yourPassword": "Your Password", "updatePasswordSubmitLabel": "Update Password", + "updateEmailCardTitle": "Update your Email", + "updateEmailCardDescription": "Update your email address you use to login to your account", "newEmail": "Your New Email", "repeatEmail": "Repeat Email", "updateEmailSubmitLabel": "Update Email Address", @@ -39,6 +46,7 @@ "updateEmailLoading": "Updating your email...", "updateEmailError": "Email not updated. Please try again", "passwordNotMatching": "Passwords do not match. Make sure you're using the correct password", + "emailNotMatching": "Emails do not match. Make sure you're using the correct email", "passwordNotChanged": "Your password has not changed", "emailsNotMatching": "Emails do not match. Make sure you're using the correct email", "updatingSameEmail": "The email chosen is the same as your current one", @@ -119,7 +127,7 @@ "loadingUser": "Loading user details. Please wait...", "linkPhoneNumber": "Link Phone Number", "dangerZone": "Danger Zone", - "dangerZoneSubheading": "Some actions cannot be undone. Please be careful.", + "dangerZoneDescription": "Some actions cannot be undone. Please be careful.", "deleteAccount": "Delete your Account", "deleteAccountDescription": "This will delete your account and the organizations you own. Furthermore, we will immediately cancel any active subscriptions. This action cannot be undone. You will be asked to confirm this action in the next step.", "deleteProfileConfirmationInputLabel": "Type DELETE to confirm", diff --git a/apps/web/public/locales/en/admin.json b/apps/web/public/locales/en/admin.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/apps/web/public/locales/en/admin.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/apps/web/public/locales/en/marketing.json b/apps/web/public/locales/en/marketing.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/apps/web/public/locales/en/marketing.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/apps/web/public/locales/en/onboarding.json b/apps/web/public/locales/en/onboarding.json deleted file mode 100644 index f46c2b390..000000000 --- a/apps/web/public/locales/en/onboarding.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "setupOrganization": "Setup Organization", - "setupOrganizationDescription": "Welcome! First, let's setup your organization.", - "organizationNameLabel": "Organization name", - "errorAlertHeading": "There was an error completing your onboarding.", - "inviteMembers": "Invite members", - "inviteMembersDescription": "Invite your team members to join your organization.", - "info": "Details", - "invites": "Invites", - "complete": "Complete", - "successStepHeading": "You're all set! You can now start using the app.", - "continue": "Continue to your Dashboard", - "settingAccount": "We're setting up your account. Please wait...", - "organizationNamePlaceholder": "Ex. Acme Inc." -} diff --git a/apps/web/public/locales/en/subscription.json b/apps/web/public/locales/en/subscription.json deleted file mode 100644 index f2ec14ee7..000000000 --- a/apps/web/public/locales/en/subscription.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "subscriptionTabSubheading": "Manage your Subscription and Billing", - "checkout": "Checkout", - "manageBillingDescription": "Visit your Customer Portal to manage your subscription and billing.", - "manageBilling": "Go to Customer Portal", - "notSubscribedToAnyPlan": "You are not currently subscribed to any plan", - "choosePlan": "Select a plan below", - "currentPlan": "Your Plan", - "subscriptionWillEndOn": "The subscription will end on {{- endDate }}", - "unknownErrorAlertHeading": "Sorry, something went wrong", - "unknownErrorAlert": "We encountered an unknown error while processing your payment. Please try again or contact support.", - "checkOutCanceledAlertHeading": "The checkout was canceled", - "checkOutCanceledAlert": "The checkout was canceled. Please contact us if you're experiencing any issues.", - "checkOutCompletedAlertHeading": "Checkout successfully completed", - "checkOutCompletedAlert": "Yay, your payment went through!", - "cancelAtPeriodEndDescription": "Your subscription is scheduled to be canceled on {{- endDate }}.", - "renewAtPeriodEndDescription": "Your subscription is scheduled to be renewed on {{- endDate }}", - "noPermissionsAlertHeading": "You don't have permissions to change the billing settings", - "noPermissionsAlertBody": "Please contact your organization owner to change the billing settings for your organization.", - "checkoutSuccessTitle": "Done! You're all set.", - "checkoutSuccessDescription": "Thank you for subscribing, we have successfully processed your subscription! A confirmation email will be sent to {{ customerEmail }}.", - "checkoutSuccessBackButton": "Proceed to App", - "status": { - "free": { - "label": "Free Plan", - "heading": "You are currently on the Free Plan", - "description": "You're on a free plan. You can upgrade to a paid plan at any time." - }, - "active": { - "label": "Active", - "heading": "Your subscription is active", - "description": "Your subscription is active. You can manage your subscription and billing in the Customer Portal." - }, - "trialing": { - "label": "Trial", - "heading": "You're on a trial", - "description": "Your trial will end on {{- trialEndDate }}." - }, - "past_due": { - "label": "Past Due", - "heading": "Your invoice is past due", - "description": "Your invoice is past due. Please update your payment method." - }, - "canceled": { - "label": "Canceled", - "heading": "Your subscription is canceled", - "description": "Your subscription is canceled. It is scheduled to end on {{- endDate }}." - }, - "unpaid": { - "label": "Unpaid", - "heading": "Your invoice is unpaid", - "description": "Your invoice is unpaid. Please update your payment method." - }, - "incomplete": { - "label": "Incomplete", - "heading": "We're waiting for your payment", - "description": "We're waiting for your payment to go through. Please bear with us." - }, - "incomplete_expired": { - "label": "Expired", - "heading": "Your payment has expired", - "description": "Your payment has expired. Please update your payment method." - }, - "paused": { - "label": "Paused", - "heading": "Your subscription is paused", - "description": "Your subscription is paused. You can resume it at any time." - } - } -} diff --git a/apps/web/public/locales/en/organization.json b/apps/web/public/locales/en/teams.json similarity index 100% rename from apps/web/public/locales/en/organization.json rename to apps/web/public/locales/en/teams.json diff --git a/packages/billing-gateway/package.json b/packages/billing-gateway/package.json index 6d3bafc15..f12166bb4 100644 --- a/packages/billing-gateway/package.json +++ b/packages/billing-gateway/package.json @@ -22,14 +22,14 @@ "@kit/billing": "0.1.0", "@kit/supabase": "^0.1.0", "@kit/shared": "^0.1.0", - "lucide-react": "^0.361.0" + "lucide-react": "^0.361.0", + "@supabase/supabase-js": "^2.39.8" }, "devDependencies": { "@kit/prettier-config": "0.1.0", "@kit/eslint-config": "0.2.0", "@kit/tailwind-config": "0.1.0", - "@kit/tsconfig": "0.1.0", - "@supabase/supabase-js": "^2.39.8" + "@kit/tsconfig": "0.1.0" }, "eslintConfig": { "root": true, @@ -45,4 +45,4 @@ ] } } -} +} \ No newline at end of file diff --git a/packages/billing-gateway/src/components/billing-portal-card.tsx b/packages/billing-gateway/src/components/billing-portal-card.tsx index bbed8c9c9..1e252893a 100644 --- a/packages/billing-gateway/src/components/billing-portal-card.tsx +++ b/packages/billing-gateway/src/components/billing-portal-card.tsx @@ -10,22 +10,27 @@ import { CardHeader, CardTitle, } from '@kit/ui/card'; +import { Trans } from '@kit/ui/trans'; export function BillingPortalCard() { return ( - Manage your Billing Details + + + - You can change your plan or cancel your subscription at any time. +
diff --git a/packages/billing-gateway/src/components/billing-session-status.tsx b/packages/billing-gateway/src/components/billing-session-status.tsx index d37c7ffab..060b74722 100644 --- a/packages/billing-gateway/src/components/billing-session-status.tsx +++ b/packages/billing-gateway/src/components/billing-session-status.tsx @@ -64,7 +64,7 @@ function SuccessSessionStatus({ - + 🎉 @@ -74,7 +74,7 @@ function SuccessSessionStatus({ >

@@ -84,7 +84,7 @@ function SuccessSessionStatus({ - + diff --git a/packages/billing-gateway/src/components/current-plan-alert.tsx b/packages/billing-gateway/src/components/current-plan-alert.tsx index 41dc44692..0b4f15ad0 100644 --- a/packages/billing-gateway/src/components/current-plan-alert.tsx +++ b/packages/billing-gateway/src/components/current-plan-alert.tsx @@ -1,5 +1,6 @@ import { Database } from '@kit/supabase/database'; import { Alert, AlertDescription, AlertTitle } from '@kit/ui/alert'; +import { Trans } from '@kit/ui/trans'; export function CurrentPlanAlert( props: React.PropsWithoutRef<{ @@ -7,57 +8,47 @@ export function CurrentPlanAlert( }>, ) { let variant: 'success' | 'warning' | 'destructive'; - let text: string; - let title: string; + const prefix = 'billing:status'; + + const text = `${prefix}.${props.status}.description`; + const title = `${prefix}.${props.status}.heading`; switch (props.status) { case 'active': variant = 'success'; - title = 'Active'; - text = 'Your subscription is active'; break; case 'trialing': variant = 'success'; - title = 'Trial'; - text = 'You are currently on a trial'; break; case 'past_due': variant = 'destructive'; - title = 'Past Due'; - text = 'Your subscription payment is past due'; break; case 'canceled': variant = 'destructive'; - title = 'Canceled'; - text = 'You have canceled your subscription'; break; case 'unpaid': variant = 'destructive'; - title = 'Unpaid'; - text = 'Your subscription payment is unpaid'; break; case 'incomplete': variant = 'warning'; - title = 'Incomplete'; - text = 'We are processing your subscription payment'; break; case 'incomplete_expired': variant = 'destructive'; - title = 'Incomplete Expired'; - text = 'Your subscription payment has expired'; break; case 'paused': variant = 'warning'; - title = 'Paused'; - text = 'Your subscription is paused'; break; } return ( - {title} + + + - {text} + + + ); } diff --git a/packages/billing-gateway/src/components/current-plan-badge.tsx b/packages/billing-gateway/src/components/current-plan-badge.tsx index 74d48f559..5844b4b32 100644 --- a/packages/billing-gateway/src/components/current-plan-badge.tsx +++ b/packages/billing-gateway/src/components/current-plan-badge.tsx @@ -1,5 +1,6 @@ import { Database } from '@kit/supabase/database'; import { Badge } from '@kit/ui/badge'; +import { Trans } from '@kit/ui/trans'; export function CurrentPlanBadge( props: React.PropsWithoutRef<{ @@ -7,42 +8,38 @@ export function CurrentPlanBadge( }>, ) { let variant: 'success' | 'warning' | 'destructive'; - let text: string; + const text = `billing:status.${props.status}.badge`; switch (props.status) { case 'active': variant = 'success'; - text = 'Active'; break; case 'trialing': variant = 'success'; - text = 'Trialing'; break; case 'past_due': variant = 'destructive'; - text = 'Past due'; break; case 'canceled': variant = 'destructive'; - text = 'Canceled'; break; case 'unpaid': variant = 'destructive'; - text = 'Unpaid'; break; case 'incomplete': variant = 'warning'; - text = 'Incomplete'; break; case 'incomplete_expired': variant = 'destructive'; - text = 'Incomplete expired'; break; case 'paused': variant = 'warning'; - text = 'Paused'; break; } - return {text}; + return ( + + + + ); } diff --git a/packages/billing-gateway/src/components/current-plan-card.tsx b/packages/billing-gateway/src/components/current-plan-card.tsx index a0f3b8e62..2913ebee3 100644 --- a/packages/billing-gateway/src/components/current-plan-card.tsx +++ b/packages/billing-gateway/src/components/current-plan-card.tsx @@ -38,10 +38,12 @@ export function CurrentPlanCard({ return ( - Your Plan + + + - You can change your plan or cancel your subscription at any time. + @@ -53,13 +55,20 @@ export function CurrentPlanCard({ 's-6 fill-green-500 text-white dark:fill-white dark:text-black' } /> + {product.name}
- Renews every {subscription.interval} at{' '} - {product.currency} {plan.price} +
@@ -70,12 +79,16 @@ export function CurrentPlanCard({
- Plan details + + +
- Your trial ends on + + +
@@ -118,12 +131,16 @@ export function CurrentPlanCard({
Features -
    +
      {product.features.map((item) => { return ( -
    • +
    • - + +
    • diff --git a/packages/billing-gateway/src/components/embedded-checkout.tsx b/packages/billing-gateway/src/components/embedded-checkout.tsx index f892c2779..c5cd28aed 100644 --- a/packages/billing-gateway/src/components/embedded-checkout.tsx +++ b/packages/billing-gateway/src/components/embedded-checkout.tsx @@ -16,9 +16,7 @@ export function EmbeddedCheckout( onClose?: () => void; }>, ) { - return ( - - ); + return ; } function LazyCheckout( diff --git a/packages/features/accounts/src/components/personal-account-settings/account-danger-zone.tsx b/packages/features/accounts/src/components/personal-account-settings/account-danger-zone.tsx index 34cf0d6b1..baa3309aa 100644 --- a/packages/features/accounts/src/components/personal-account-settings/account-danger-zone.tsx +++ b/packages/features/accounts/src/components/personal-account-settings/account-danger-zone.tsx @@ -14,7 +14,6 @@ import { } from '@kit/ui/dialog'; import { ErrorBoundary } from '@kit/ui/error-boundary'; import { Form, FormControl, FormItem, FormLabel } from '@kit/ui/form'; -import { Heading } from '@kit/ui/heading'; import { Input } from '@kit/ui/input'; import { Trans } from '@kit/ui/trans'; @@ -28,12 +27,12 @@ function DeleteAccountContainer() { return (
      - - - + + +

      - +

      @@ -49,14 +48,14 @@ function DeleteAccountModal() { - + @@ -83,7 +82,7 @@ function DeleteAccountForm() { >
      - +
      @@ -94,7 +93,7 @@ function DeleteAccountForm() { - + @@ -127,7 +126,7 @@ function DeleteAccountSubmitButton() { value={'delete'} variant={'destructive'} > - + ); } @@ -138,7 +137,7 @@ function DeleteAccountErrorAlert() { - + diff --git a/packages/features/accounts/src/components/personal-account-settings/account-settings-container.tsx b/packages/features/accounts/src/components/personal-account-settings/account-settings-container.tsx index 87d451676..0a36497f0 100644 --- a/packages/features/accounts/src/components/personal-account-settings/account-settings-container.tsx +++ b/packages/features/accounts/src/components/personal-account-settings/account-settings-container.tsx @@ -1,5 +1,12 @@ -import { Card, CardContent, CardHeader, CardTitle } from '@kit/ui/card'; +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from '@kit/ui/card'; import { If } from '@kit/ui/if'; +import { Trans } from '@kit/ui/trans'; import { AccountDangerZone } from './account-danger-zone'; import { UpdateAccountDetailsFormContainer } from './update-account-details-form-container'; @@ -22,7 +29,13 @@ export function PersonalAccountSettingsContainer(
      - Your Profile Picture + + + + + + + @@ -32,7 +45,13 @@ export function PersonalAccountSettingsContainer( - Your Details + + + + + + + @@ -42,7 +61,13 @@ export function PersonalAccountSettingsContainer( - Update your Email + + + + + + + @@ -52,7 +77,13 @@ export function PersonalAccountSettingsContainer( - Update your Password + + + + + + + @@ -63,7 +94,13 @@ export function PersonalAccountSettingsContainer( - Danger Zone + + + + + + + diff --git a/packages/features/accounts/src/components/personal-account-settings/multi-factor-auth-setup-modal.tsx b/packages/features/accounts/src/components/personal-account-settings/multi-factor-auth-setup-modal.tsx index 3247458d9..8d8fa4c51 100644 --- a/packages/features/accounts/src/components/personal-account-settings/multi-factor-auth-setup-modal.tsx +++ b/packages/features/accounts/src/components/personal-account-settings/multi-factor-auth-setup-modal.tsx @@ -33,7 +33,7 @@ function MultiFactorAuthSetupModal( const onEnrollSuccess = useCallback(() => { props.setIsOpen(false); - return toast.success(t(`profile:multiFactorSetupSuccess`)); + return toast.success(t(`multiFactorSetupSuccess`)); }, [props, t]); return ( @@ -41,7 +41,7 @@ function MultiFactorAuthSetupModal( - + @@ -109,7 +109,7 @@ function MultiFactorAuthSetupForm({ return (
      - +
      ); @@ -132,7 +132,7 @@ function MultiFactorAuthSetupForm({ >
      @@ -210,7 +210,7 @@ function FactorQrCode({ return (
      - +
      ); @@ -231,7 +231,7 @@ function FactorQrCode({

      - +

      @@ -264,18 +264,18 @@ function FactorNameForm( >
      diff --git a/packages/features/accounts/src/components/personal-account-settings/update-account-details-form.tsx b/packages/features/accounts/src/components/personal-account-settings/update-account-details-form.tsx index ee7892732..f1b27a5fa 100644 --- a/packages/features/accounts/src/components/personal-account-settings/update-account-details-form.tsx +++ b/packages/features/accounts/src/components/personal-account-settings/update-account-details-form.tsx @@ -2,7 +2,6 @@ import { zodResolver } from '@hookform/resolvers/zod'; import { useForm } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; import { toast } from 'sonner'; -import { z } from 'zod'; import { Database } from '@kit/supabase/database'; import { Button } from '@kit/ui/button'; @@ -18,13 +17,10 @@ import { Input } from '@kit/ui/input'; import { Trans } from '@kit/ui/trans'; import { useUpdateAccountData } from '../../hooks/use-update-account'; +import { AccountDetailsSchema } from '../../schema/account-details.schema'; type UpdateUserDataParams = Database['public']['Tables']['accounts']['Update']; -const AccountInfoSchema = z.object({ - displayName: z.string().min(2).max(100), -}); - export function UpdateAccountDetailsForm({ displayName, onUpdate, @@ -35,10 +31,10 @@ export function UpdateAccountDetailsForm({ onUpdate: (user: Partial) => void; }) { const updateAccountMutation = useUpdateAccountData(userId); - const { t } = useTranslation(); + const { t } = useTranslation('account'); const form = useForm({ - resolver: zodResolver(AccountInfoSchema), + resolver: zodResolver(AccountDetailsSchema), defaultValues: { displayName, }, @@ -51,10 +47,10 @@ export function UpdateAccountDetailsForm({ onUpdate(data); }); - return toast.promise(promise, { - success: t(`profile:updateProfileSuccess`), - error: t(`profile:updateProfileError`), - loading: t(`profile:updateProfileLoading`), + return toast.promise(() => promise, { + success: t(`updateProfileSuccess`), + error: t(`updateProfileError`), + loading: t(`:pdateProfileLoading`), }); }; @@ -72,7 +68,7 @@ export function UpdateAccountDetailsForm({ render={({ field }) => ( - + @@ -92,7 +88,7 @@ export function UpdateAccountDetailsForm({
      diff --git a/packages/features/accounts/src/components/personal-account-settings/update-account-image-container.tsx b/packages/features/accounts/src/components/personal-account-settings/update-account-image-container.tsx index 80ec33663..61e45af32 100644 --- a/packages/features/accounts/src/components/personal-account-settings/update-account-image-container.tsx +++ b/packages/features/accounts/src/components/personal-account-settings/update-account-image-container.tsx @@ -8,7 +8,7 @@ import { useTranslation } from 'react-i18next'; import { toast } from 'sonner'; import { useSupabase } from '@kit/supabase/hooks/use-supabase'; -import ImageUploader from '@kit/ui/image-uploader'; +import { ImageUploader } from '@kit/ui/image-uploader'; import { LoadingOverlay } from '@kit/ui/loading-overlay'; import { Trans } from '@kit/ui/trans'; @@ -42,10 +42,10 @@ function UploadProfileAvatarForm(props: { onAvatarUpdated: () => void; }) { const client = useSupabase(); - const { t } = useTranslation('profile'); + const { t } = useTranslation('account'); const createToaster = useCallback( - (promise: Promise) => { + (promise: () => Promise) => { return toast.promise(promise, { success: t(`updateProfileSuccess`), error: t(`updateProfileError`), @@ -68,37 +68,39 @@ function UploadProfileAvatarForm(props: { }; if (file) { - const promise = removeExistingStorageFile().then(() => - uploadUserProfilePhoto(client, file, props.userId) - .then((pictureUrl) => { + const promise = () => + removeExistingStorageFile().then(() => + uploadUserProfilePhoto(client, file, props.userId) + .then((pictureUrl) => { + return client + .from('accounts') + .update({ + picture_url: pictureUrl, + }) + .eq('id', props.userId) + .throwOnError(); + }) + .then(() => { + props.onAvatarUpdated(); + }), + ); + + createToaster(promise); + } else { + const promise = () => + removeExistingStorageFile() + .then(() => { return client .from('accounts') .update({ - picture_url: pictureUrl, + picture_url: null, }) .eq('id', props.userId) .throwOnError(); }) .then(() => { props.onAvatarUpdated(); - }), - ); - - createToaster(promise); - } else { - const promise = removeExistingStorageFile() - .then(() => { - return client - .from('accounts') - .update({ - picture_url: null, - }) - .eq('id', props.userId) - .throwOnError(); - }) - .then(() => { - props.onAvatarUpdated(); - }); + }); createToaster(promise); } @@ -110,11 +112,11 @@ function UploadProfileAvatarForm(props: {
      - + - +
      @@ -142,9 +144,7 @@ async function uploadUserProfilePhoto( const extension = photoFile.name.split('.').pop(); const fileName = await getAvatarFileName(userId, extension); - const result = await bucket.upload(fileName, bytes, { - upsert: true, - }); + const result = await bucket.upload(fileName, bytes); if (!result.error) { return bucket.getPublicUrl(fileName).data.publicUrl; diff --git a/packages/features/accounts/src/components/personal-account-settings/update-email-form.tsx b/packages/features/accounts/src/components/personal-account-settings/update-email-form.tsx index 05126d187..aad217fbb 100644 --- a/packages/features/accounts/src/components/personal-account-settings/update-email-form.tsx +++ b/packages/features/accounts/src/components/personal-account-settings/update-email-form.tsx @@ -1,14 +1,11 @@ 'use client'; -import { useCallback } from 'react'; - import type { User } from '@supabase/gotrue-js'; import { zodResolver } from '@hookform/resolvers/zod'; import { useForm } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; import { toast } from 'sonner'; -import { z } from 'zod'; import { useUpdateUser } from '@kit/supabase/hooks/use-update-user-mutation'; import { Alert, AlertDescription, AlertTitle } from '@kit/ui/alert'; @@ -25,32 +22,13 @@ import { If } from '@kit/ui/if'; import { Input } from '@kit/ui/input'; import { Trans } from '@kit/ui/trans'; -const UpdateEmailSchema = z - .object({ - email: z.string().email(), - repeatEmail: z.string().email(), - }) - .refine( - (values) => { - return values.email === values.repeatEmail; - }, - { - path: ['repeatEmail'], - message: 'Emails do not match', - }, - ); +import { UpdateEmailSchema } from '../../schema/update-email.schema'; -function createEmailResolver(currentEmail: string) { +function createEmailResolver(currentEmail: string, errorMessage: string) { return zodResolver( - UpdateEmailSchema.refine( - (values) => { - return values.email !== currentEmail; - }, - { - path: ['email'], - message: 'New email must be different from current email', - }, - ), + UpdateEmailSchema.withTranslation(errorMessage).refine((schema) => { + return schema.email !== currentEmail; + }), ); } @@ -61,31 +39,31 @@ export function UpdateEmailForm({ user: User; callbackPath: string; }) { - const { t } = useTranslation(); + const { t } = useTranslation('account'); const updateUserMutation = useUpdateUser(); - const updateEmail = useCallback( - (email: string) => { - const redirectTo = new URL(callbackPath, window.location.host).toString(); + const updateEmail = ({ email }: { email: string }) => { + // then, we update the user's email address + const promise = async () => { + const redirectTo = new URL( + callbackPath, + window.location.origin, + ).toString(); - // then, we update the user's email address - const promise = updateUserMutation.mutateAsync({ email, redirectTo }); + await updateUserMutation.mutateAsync({ email, redirectTo }); + }; - return toast.promise(promise, { - success: t(`profile:updateEmailSuccess`), - loading: t(`profile:updateEmailLoading`), - error: (error: Error) => { - return error.message ?? t(`profile:updateEmailError`); - }, - }); - }, - [callbackPath, t, updateUserMutation], - ); + toast.promise(promise, { + success: t(`updateEmailSuccess`), + loading: t(`updateEmailLoading`), + error: t(`updateEmailError`), + }); + }; const currentEmail = user.email; const form = useForm({ - resolver: createEmailResolver(currentEmail!), + resolver: createEmailResolver(currentEmail!, t('emailNotMatching')), defaultValues: { email: '', repeatEmail: '', @@ -97,18 +75,16 @@ export function UpdateEmailForm({
      { - return updateEmail(values.email); - })} + onSubmit={form.handleSubmit(updateEmail)} > - + - + @@ -118,7 +94,7 @@ export function UpdateEmailForm({ render={({ field }) => ( - + @@ -141,7 +117,7 @@ export function UpdateEmailForm({ render={({ field }) => ( - + @@ -160,8 +136,8 @@ export function UpdateEmailForm({ />
      -
      diff --git a/packages/features/accounts/src/components/personal-account-settings/update-password-container.tsx b/packages/features/accounts/src/components/personal-account-settings/update-password-container.tsx index 0c335550e..857b19dc3 100644 --- a/packages/features/accounts/src/components/personal-account-settings/update-password-container.tsx +++ b/packages/features/accounts/src/components/personal-account-settings/update-password-container.tsx @@ -18,6 +18,10 @@ export function UpdatePasswordFormContainer( return ; } + if (!user) { + return null; + } + const canUpdatePassword = user.identities?.some( (item) => item.provider === `email`, ); @@ -32,7 +36,7 @@ export function UpdatePasswordFormContainer( function WarnCannotUpdatePasswordAlert() { return ( - + ); } diff --git a/packages/features/accounts/src/components/personal-account-settings/update-password-form.tsx b/packages/features/accounts/src/components/personal-account-settings/update-password-form.tsx index ab28e3a77..ba851955d 100644 --- a/packages/features/accounts/src/components/personal-account-settings/update-password-form.tsx +++ b/packages/features/accounts/src/components/personal-account-settings/update-password-form.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useCallback, useState } from 'react'; +import { useState } from 'react'; import type { User } from '@supabase/gotrue-js'; @@ -8,7 +8,6 @@ import { zodResolver } from '@hookform/resolvers/zod'; import { useForm } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; import { toast } from 'sonner'; -import { z } from 'zod'; import { useUpdateUser } from '@kit/supabase/hooks/use-update-user-mutation'; import { Alert, AlertDescription, AlertTitle } from '@kit/ui/alert'; @@ -26,21 +25,7 @@ import { Input } from '@kit/ui/input'; import { Label } from '@kit/ui/label'; import { Trans } from '@kit/ui/trans'; -const PasswordUpdateSchema = z - .object({ - currentPassword: z.string().min(8).max(99), - newPassword: z.string().min(8).max(99), - repeatPassword: z.string().min(8).max(99), - }) - .refine( - (values) => { - return values.newPassword === values.repeatPassword; - }, - { - path: ['repeatPassword'], - message: 'Passwords do not match', - }, - ); +import { PasswordUpdateSchema } from '../../schema/update-password.schema'; export const UpdatePasswordForm = ({ user, @@ -49,57 +34,58 @@ export const UpdatePasswordForm = ({ user: User; callbackPath: string; }) => { - const { t } = useTranslation(); + const { t } = useTranslation('account'); const updateUserMutation = useUpdateUser(); const [needsReauthentication, setNeedsReauthentication] = useState(false); const form = useForm({ - resolver: zodResolver(PasswordUpdateSchema), + resolver: zodResolver( + PasswordUpdateSchema.withTranslation(t('passwordNotMatching')), + ), defaultValues: { - currentPassword: '', newPassword: '', repeatPassword: '', }, }); - const updatePasswordFromCredential = useCallback( - (password: string) => { - const redirectTo = [window.location.origin, callbackPath].join(''); + const updatePasswordFromCredential = (password: string) => { + const redirectTo = [window.location.origin, callbackPath].join(''); - const promise = updateUserMutation - .mutateAsync({ password, redirectTo }) - .then(() => { - form.reset(); - }) - .catch((error) => { - if (error?.includes('Password update requires reauthentication')) { - setNeedsReauthentication(true); - } - }); - - toast.promise(promise, { - success: t(`profile:updatePasswordSuccess`), - error: t(`profile:updatePasswordError`), - loading: t(`profile:updatePasswordLoading`), + const promise = updateUserMutation + .mutateAsync({ password, redirectTo }) + .catch((error) => { + if ( + typeof error === 'string' && + error?.includes('Password update requires reauthentication') + ) { + setNeedsReauthentication(true); + } else { + throw error; + } }); - }, - [callbackPath, updateUserMutation, t, form], - ); - const updatePasswordCallback = useCallback( - async ({ newPassword }: { newPassword: string }) => { - const email = user.email; + toast.promise(() => promise, { + success: t(`updatePasswordSuccess`), + error: t(`updatePasswordError`), + loading: t(`updatePasswordLoading`), + }); + }; - // if the user does not have an email assigned, it's possible they - // don't have an email/password factor linked, and the UI is out of sync - if (!email) { - return Promise.reject(t(`profile:cannotUpdatePassword`)); - } + const updatePasswordCallback = async ({ + newPassword, + }: { + newPassword: string; + }) => { + const email = user.email; - updatePasswordFromCredential(newPassword); - }, - [user.email, updatePasswordFromCredential, t], - ); + // if the user does not have an email assigned, it's possible they + // don't have an email/password factor linked, and the UI is out of sync + if (!email) { + return Promise.reject(t(`cannotUpdatePassword`)); + } + + updatePasswordFromCredential(newPassword); + }; return ( @@ -111,11 +97,11 @@ export const UpdatePasswordForm = ({ - + - + @@ -123,11 +109,11 @@ export const UpdatePasswordForm = ({ - + - + @@ -139,7 +125,7 @@ export const UpdatePasswordForm = ({ @@ -165,7 +151,7 @@ export const UpdatePasswordForm = ({ @@ -185,8 +171,8 @@ export const UpdatePasswordForm = ({ />
      -
      diff --git a/packages/features/accounts/src/schema/account-details.schema.ts b/packages/features/accounts/src/schema/account-details.schema.ts new file mode 100644 index 000000000..ce54094ee --- /dev/null +++ b/packages/features/accounts/src/schema/account-details.schema.ts @@ -0,0 +1,5 @@ +import { z } from 'zod'; + +export const AccountDetailsSchema = z.object({ + displayName: z.string().min(2).max(100), +}); diff --git a/packages/features/accounts/src/schema/update-email.schema.ts b/packages/features/accounts/src/schema/update-email.schema.ts new file mode 100644 index 000000000..58f45d0f3 --- /dev/null +++ b/packages/features/accounts/src/schema/update-email.schema.ts @@ -0,0 +1,20 @@ +import { z } from 'zod'; + +export const UpdateEmailSchema = { + withTranslation: (errorMessage: string) => { + return z + .object({ + email: z.string().email(), + repeatEmail: z.string().email(), + }) + .refine( + (values) => { + return values.email === values.repeatEmail; + }, + { + path: ['repeatEmail'], + message: errorMessage, + }, + ); + }, +}; diff --git a/packages/features/accounts/src/schema/update-password.schema.ts b/packages/features/accounts/src/schema/update-password.schema.ts new file mode 100644 index 000000000..ae0308573 --- /dev/null +++ b/packages/features/accounts/src/schema/update-password.schema.ts @@ -0,0 +1,20 @@ +import { z } from 'zod'; + +export const PasswordUpdateSchema = { + withTranslation: (errorMessage: string) => { + return z + .object({ + newPassword: z.string().min(8).max(99), + repeatPassword: z.string().min(8).max(99), + }) + .refine( + (values) => { + return values.newPassword === values.repeatPassword; + }, + { + path: ['repeatPassword'], + message: errorMessage, + }, + ); + }, +}; diff --git a/packages/features/auth/src/components/email-otp-container.tsx b/packages/features/auth/src/components/email-otp-container.tsx index 711790efe..c5578ef26 100644 --- a/packages/features/auth/src/components/email-otp-container.tsx +++ b/packages/features/auth/src/components/email-otp-container.tsx @@ -80,9 +80,9 @@ function VerifyOtpForm({
      diff --git a/packages/features/auth/src/components/multi-factor-challenge-container.tsx b/packages/features/auth/src/components/multi-factor-challenge-container.tsx index 207125669..beb02dfbc 100644 --- a/packages/features/auth/src/components/multi-factor-challenge-container.tsx +++ b/packages/features/auth/src/components/multi-factor-challenge-container.tsx @@ -55,7 +55,7 @@ export function MultiFactorChallengeContainer({
      - +
      @@ -67,7 +67,7 @@ export function MultiFactorChallengeContainer({ - + @@ -75,9 +75,9 @@ export function MultiFactorChallengeContainer({
      @@ -154,7 +154,7 @@ function FactorsListContainer({
      - +
      ); @@ -165,7 +165,7 @@ function FactorsListContainer({
      - +
      @@ -178,7 +178,7 @@ function FactorsListContainer({
      - +
      diff --git a/packages/features/auth/src/components/password-reset-form.tsx b/packages/features/auth/src/components/password-reset-form.tsx index 9c1a47015..3b0464ded 100644 --- a/packages/features/auth/src/components/password-reset-form.tsx +++ b/packages/features/auth/src/components/password-reset-form.tsx @@ -114,11 +114,11 @@ function SuccessState() {
      - + - + diff --git a/packages/features/auth/src/components/sign-in-methods-container.tsx b/packages/features/auth/src/components/sign-in-methods-container.tsx index ea7b951df..ce9c27dfe 100644 --- a/packages/features/auth/src/components/sign-in-methods-container.tsx +++ b/packages/features/auth/src/components/sign-in-methods-container.tsx @@ -30,10 +30,9 @@ export function SignInMethodsContainer(props: { const router = useRouter(); const nextPath = useSearchParams().get('next') ?? props.paths.home; - const redirectUrl = new URL( - props.paths.callback, - isBrowser() ? window?.location.origin : '', - ).toString(); + const redirectUrl = isBrowser() + ? new URL(props.paths.callback, window?.location.origin).toString() + : ''; const onSignIn = () => { router.replace(nextPath); diff --git a/packages/features/team-accounts/src/components/create-team-account-dialog.tsx b/packages/features/team-accounts/src/components/create-team-account-dialog.tsx index 5cb44e803..db20ddef1 100644 --- a/packages/features/team-accounts/src/components/create-team-account-dialog.tsx +++ b/packages/features/team-accounts/src/components/create-team-account-dialog.tsx @@ -33,7 +33,7 @@ export function CreateTeamAccountDialog( - + @@ -77,7 +77,7 @@ function CreateOrganizationAccountForm() { return ( - + @@ -105,7 +105,7 @@ function CreateOrganizationAccountForm() { data-test={'confirm-create-organization-button'} disabled={pending} > - +
      @@ -117,11 +117,11 @@ function CreateOrganizationErrorAlert() { return ( - + - + ); diff --git a/packages/features/team-accounts/src/components/invitations/delete-invitation-dialog.tsx b/packages/features/team-accounts/src/components/invitations/delete-invitation-dialog.tsx index f1187760d..85d85946c 100644 --- a/packages/features/team-accounts/src/components/invitations/delete-invitation-dialog.tsx +++ b/packages/features/team-accounts/src/components/invitations/delete-invitation-dialog.tsx @@ -90,11 +90,11 @@ function RemoveInvitationErrorAlert() { return ( - + - + ); diff --git a/packages/features/team-accounts/src/components/invitations/update-invitation-dialog.tsx b/packages/features/team-accounts/src/components/invitations/update-invitation-dialog.tsx index e581f499b..a25ca5e8c 100644 --- a/packages/features/team-accounts/src/components/invitations/update-invitation-dialog.tsx +++ b/packages/features/team-accounts/src/components/invitations/update-invitation-dialog.tsx @@ -42,11 +42,11 @@ export const UpdateInvitationDialog: React.FC<{ - + - + @@ -139,7 +139,7 @@ function UpdateInvitationForm({ /> @@ -150,11 +150,11 @@ function UpdateRoleErrorAlert() { return ( - + - + ); diff --git a/packages/features/team-accounts/src/components/members/invite-members-dialog-container.tsx b/packages/features/team-accounts/src/components/members/invite-members-dialog-container.tsx index 06695bfd3..5bfcea71d 100644 --- a/packages/features/team-accounts/src/components/members/invite-members-dialog-container.tsx +++ b/packages/features/team-accounts/src/components/members/invite-members-dialog-container.tsx @@ -211,7 +211,7 @@ function InviteMembersForm({ - + diff --git a/packages/features/team-accounts/src/components/members/remove-member-dialog.tsx b/packages/features/team-accounts/src/components/members/remove-member-dialog.tsx index 0173f9397..942b97507 100644 --- a/packages/features/team-accounts/src/components/members/remove-member-dialog.tsx +++ b/packages/features/team-accounts/src/components/members/remove-member-dialog.tsx @@ -84,7 +84,7 @@ function RemoveMemberForm({ disabled={isSubmitting} onClick={onMemberRemoved} > - +
      @@ -95,11 +95,11 @@ function RemoveMemberErrorAlert() { return ( - + - + ); diff --git a/packages/features/team-accounts/src/components/members/transfer-ownership-dialog.tsx b/packages/features/team-accounts/src/components/members/transfer-ownership-dialog.tsx index ed9771391..478ee4b8b 100644 --- a/packages/features/team-accounts/src/components/members/transfer-ownership-dialog.tsx +++ b/packages/features/team-accounts/src/components/members/transfer-ownership-dialog.tsx @@ -109,7 +109,7 @@ function TransferOrganizationOwnershipForm({

      } + fallback={} > - + @@ -167,11 +167,11 @@ function TransferOwnershipErrorAlert() { return ( - + - + ); diff --git a/packages/features/team-accounts/src/components/members/update-member-role-dialog.tsx b/packages/features/team-accounts/src/components/members/update-member-role-dialog.tsx index f1f896b08..d3e1c6b5a 100644 --- a/packages/features/team-accounts/src/components/members/update-member-role-dialog.tsx +++ b/packages/features/team-accounts/src/components/members/update-member-role-dialog.tsx @@ -43,11 +43,11 @@ export const UpdateMemberRoleDialog: React.FC<{ - + - + @@ -140,7 +140,7 @@ function UpdateMemberForm({ /> @@ -151,11 +151,11 @@ function UpdateRoleErrorAlert() { return ( - + - + ); diff --git a/packages/features/team-accounts/src/components/team-account-danger-zone.tsx b/packages/features/team-accounts/src/components/team-account-danger-zone.tsx index 04ab8c992..b005213f5 100644 --- a/packages/features/team-accounts/src/components/team-account-danger-zone.tsx +++ b/packages/features/team-accounts/src/components/team-account-danger-zone.tsx @@ -45,12 +45,12 @@ function DeleteOrganizationContainer(props: { account: AccountData }) {

      - +

      - + - + @@ -104,7 +104,7 @@ function DeleteOrganizationForm({ name, id }: { name: string; id: string }) { >

      @@ -154,7 +154,7 @@ function DeleteOrganizationSubmitButton() { disabled={pending} variant={'destructive'} > - + ); } @@ -164,7 +164,7 @@ function LeaveOrganizationContainer(props: { account: AccountData }) {

      - + - + @@ -200,7 +198,7 @@ function LeaveOrganizationContainer(props: { account: AccountData }) {

      - + ); } @@ -239,7 +237,7 @@ function LeaveOrganizationErrorAlert() { return ( - + @@ -253,7 +251,7 @@ function DeleteOrganizationErrorAlert() { return ( - + diff --git a/packages/features/team-accounts/src/components/update-organization-form.tsx b/packages/features/team-accounts/src/components/update-organization-form.tsx index 79a66129f..a97d29503 100644 --- a/packages/features/team-accounts/src/components/update-organization-form.tsx +++ b/packages/features/team-accounts/src/components/update-organization-form.tsx @@ -66,9 +66,7 @@ export const UpdateOrganizationForm = (props: { return ( - + @@ -90,7 +88,7 @@ export const UpdateOrganizationForm = (props: { data-test={'update-organization-submit-button'} disabled={updateAccountData.isPending} > - +
      diff --git a/packages/i18n/src/i18n.settings.ts b/packages/i18n/src/i18n.settings.ts index 4d5190b48..f02ee7539 100644 --- a/packages/i18n/src/i18n.settings.ts +++ b/packages/i18n/src/i18n.settings.ts @@ -14,10 +14,11 @@ export const I18N_COOKIE_NAME = 'lang'; export const defaultI18nNamespaces = [ 'common', 'auth', - 'organization', - 'profile', - 'subscription', - 'onboarding', + 'account', + 'teams', + 'billing', + 'marketing', + 'admin', ]; export function getI18nSettings( diff --git a/packages/supabase/src/clients/browser.client.ts b/packages/supabase/src/clients/browser.client.ts index f3bdd4cad..aa81c7d9d 100644 --- a/packages/supabase/src/clients/browser.client.ts +++ b/packages/supabase/src/clients/browser.client.ts @@ -3,7 +3,7 @@ import { createBrowserClient } from '@supabase/ssr'; import { Database } from '../database.types'; -let client: ReturnType; +let client: ReturnType>; export function getSupabaseBrowserClient() { const SUPABASE_URL = process.env.NEXT_PUBLIC_SUPABASE_URL; @@ -12,7 +12,9 @@ export function getSupabaseBrowserClient() { invariant(SUPABASE_URL, `Supabase URL was not provided`); invariant(SUPABASE_ANON_KEY, `Supabase Anon key was not provided`); - if (client) return client; + if (client) { + return client; + } client = createBrowserClient(SUPABASE_URL, SUPABASE_ANON_KEY); diff --git a/packages/supabase/src/components/auth-change-listener.tsx b/packages/supabase/src/components/auth-change-listener.tsx index 62a1851e8..cee54703e 100644 --- a/packages/supabase/src/components/auth-change-listener.tsx +++ b/packages/supabase/src/components/auth-change-listener.tsx @@ -28,7 +28,6 @@ function AuthRedirectListener({ useEffect(() => { // keep this running for the whole session unless the component was unmounted const listener = client.auth.onAuthStateChange((_, user) => { - console.log(_, user); // log user out if user is falsy // and if the current path is a private route const shouldRedirectUser = !user && isPrivateRoute(pathName); @@ -47,10 +46,6 @@ function AuthRedirectListener({ void router.refresh(); } } - - if (user && isPrivateRoute(pathName)) { - return revalidateUserSession(); - } }); // destroy listener on un-mounts diff --git a/packages/supabase/src/hooks/use-sign-out.ts b/packages/supabase/src/hooks/use-sign-out.ts index c5ee5640e..bbf7be516 100644 --- a/packages/supabase/src/hooks/use-sign-out.ts +++ b/packages/supabase/src/hooks/use-sign-out.ts @@ -1,16 +1,15 @@ -import { useMutation } from '@tanstack/react-query'; +import { useMutation, useQueryClient } from '@tanstack/react-query'; import { useSupabase } from './use-supabase'; -import { useRevalidateUserSession } from './use-user-session'; export function useSignOut() { const client = useSupabase(); - const revalidateUserSession = useRevalidateUserSession(); + const queryClient = useQueryClient(); return useMutation({ mutationFn: async () => { await client.auth.signOut(); - await revalidateUserSession(); + await queryClient.invalidateQueries(); }, }); } diff --git a/packages/supabase/src/hooks/use-update-user-mutation.ts b/packages/supabase/src/hooks/use-update-user-mutation.ts index d15e0fb97..181a64ce5 100644 --- a/packages/supabase/src/hooks/use-update-user-mutation.ts +++ b/packages/supabase/src/hooks/use-update-user-mutation.ts @@ -8,7 +8,7 @@ type Params = UserAttributes & { redirectTo: string }; export function useUpdateUser() { const client = useSupabase(); - const mutationKey = ['auth', 'update-user']; + const mutationKey = ['supabase:user']; const mutationFn = async (attributes: Params) => { const { redirectTo, ...params } = attributes; @@ -17,10 +17,14 @@ export function useUpdateUser() { emailRedirectTo: redirectTo, }); + console.log(response); + if (response.error) { throw response.error; } + console.log('response.data:', response.data); + return response.data; }; diff --git a/packages/supabase/src/hooks/use-user.ts b/packages/supabase/src/hooks/use-user.ts index c706a5f15..be26aeb22 100644 --- a/packages/supabase/src/hooks/use-user.ts +++ b/packages/supabase/src/hooks/use-user.ts @@ -7,7 +7,7 @@ import { useSupabase } from './use-supabase'; export function useUser() { const client = useSupabase(); const router = useRouter(); - const queryKey = ['user']; + const queryKey = ['supabase:user']; const queryFn = async () => { const response = await client.auth.getUser(); diff --git a/packages/ui/package.json b/packages/ui/package.json index 0d72b5e25..d25adc1ee 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -38,7 +38,11 @@ "zod": "^3.22.4", "sonner": "^1.4.41", "lucide-react": "0.307.0", - "class-variance-authority": "^0.7.0" + "class-variance-authority": "^0.7.0", + "date-fns": "^3.2.0", + "react": "18.2.0", + "react-dom": "18.2.0", + "react-hook-form": "^7.49.2" }, "devDependencies": { "@kit/eslint-config": "0.2.0", @@ -47,13 +51,9 @@ "@kit/tsconfig": "0.1.0", "@types/react": "^18.2.48", "@types/react-dom": "^18.2.18", - "date-fns": "^3.2.0", "eslint": "^8.56.0", "prettier": "^3.2.4", - "react": "18.2.0", "react-day-picker": "^8.10.0", - "react-dom": "18.2.0", - "react-hook-form": "^7.49.2", "tailwindcss": "3.4.1", "tailwindcss-animate": "^1.0.7", "typescript": "^5.3.3" diff --git a/packages/ui/src/makerkit/error-boundary.tsx b/packages/ui/src/makerkit/error-boundary.tsx index 2126508a9..04aeaa64e 100644 --- a/packages/ui/src/makerkit/error-boundary.tsx +++ b/packages/ui/src/makerkit/error-boundary.tsx @@ -1,3 +1,5 @@ +'use client'; + import type { ReactNode } from 'react'; import { Component } from 'react'; diff --git a/packages/ui/src/makerkit/image-uploader.tsx b/packages/ui/src/makerkit/image-uploader.tsx index 6e24cf066..f95c440d2 100644 --- a/packages/ui/src/makerkit/image-uploader.tsx +++ b/packages/ui/src/makerkit/image-uploader.tsx @@ -11,7 +11,7 @@ import { Button } from '../shadcn/button'; import { ImageUploadInput } from './image-upload-input'; import { Trans } from './trans'; -function ImageUploader( +export function ImageUploader( props: React.PropsWithChildren<{ value: string | null | undefined; onValueChange: (value: File | null) => unknown; @@ -87,8 +87,6 @@ function ImageUploader( ); } -export default ImageUploader; - function FallbackImage( props: React.PropsWithChildren<{ descriptionSection?: React.ReactNode; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 67ca6d1f9..cddc199ec 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,7 +13,7 @@ importers: version: 0.21.3 '@turbo/gen': specifier: ^1.11.3 - version: 1.12.5(@types/node@20.11.30)(typescript@5.4.3) + version: 1.13.0(@types/node@20.11.30)(typescript@5.4.3) cross-env: specifier: ^7.0.3 version: 7.0.3 @@ -79,22 +79,22 @@ importers: version: 1.3.0(react@18.2.0) '@supabase/ssr': specifier: ^0.1.0 - version: 0.1.0(@supabase/supabase-js@2.39.8) + version: 0.1.0(@supabase/supabase-js@2.40.0) '@supabase/supabase-js': specifier: ^2.39.8 - version: 2.39.8 + version: 2.40.0 '@tanstack/react-query': specifier: ^5.17.15 version: 5.28.6(react@18.2.0) '@tanstack/react-query-next-experimental': specifier: ^5.28.6 - version: 5.28.6(@tanstack/react-query@5.28.6)(next@14.2.0-canary.43)(react@18.2.0) + version: 5.28.8(@tanstack/react-query@5.28.6)(next@14.2.0-canary.43)(react@18.2.0) '@tanstack/react-table': specifier: ^8.11.3 - version: 8.14.0(react-dom@18.2.0)(react@18.2.0) + version: 8.15.0(react-dom@18.2.0)(react@18.2.0) contentlayer: specifier: 0.3.4 - version: 0.3.4(esbuild@0.19.11) + version: 0.3.4(esbuild@0.20.2) date-fns: specifier: ^3.2.0 version: 3.6.0 @@ -112,7 +112,7 @@ importers: version: 14.2.0-canary.43(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) next-contentlayer: specifier: 0.3.4 - version: 0.3.4(contentlayer@0.3.4)(esbuild@0.19.11)(next@14.2.0-canary.43)(react-dom@18.2.0)(react@18.2.0) + version: 0.3.4(contentlayer@0.3.4)(esbuild@0.20.2)(next@14.2.0-canary.43)(react-dom@18.2.0)(react@18.2.0) next-sitemap: specifier: ^4.2.3 version: 4.2.3(next@14.2.0-canary.43) @@ -167,13 +167,13 @@ importers: version: 14.2.0-canary.43 '@types/mdx': specifier: ^2.0.10 - version: 2.0.11 + version: 2.0.12 '@types/node': specifier: ^20.11.5 version: 20.11.30 '@types/react': specifier: ^18.2.48 - version: 18.2.67 + version: 18.2.71 '@types/react-dom': specifier: ^18.2.18 version: 18.2.22 @@ -274,13 +274,13 @@ importers: version: link:../../tooling/typescript '@supabase/supabase-js': specifier: ^2.39.8 - version: 2.39.8 + version: 2.40.0 packages/emails: dependencies: '@react-email/components': specifier: 0.0.15 - version: 0.0.15(@types/react@18.2.67)(react-email@2.1.0)(react@18.2.0) + version: 0.0.15(@types/react@18.2.71)(react-email@2.1.0)(react@18.2.0) devDependencies: '@kit/eslint-config': specifier: 0.2.0 @@ -521,13 +521,13 @@ importers: version: link:../ui '@stripe/react-stripe-js': specifier: ^2.6.2 - version: 2.6.2(@stripe/stripe-js@3.0.10)(react-dom@18.2.0)(react@18.2.0) + version: 2.6.2(@stripe/stripe-js@3.1.0)(react-dom@18.2.0)(react@18.2.0) '@stripe/stripe-js': specifier: ^3.0.10 - version: 3.0.10 + version: 3.1.0 stripe: specifier: ^14.21.0 - version: 14.21.0 + version: 14.22.0 devDependencies: '@kit/eslint-config': specifier: 0.2.0 @@ -549,10 +549,10 @@ importers: version: 1.0.0 '@supabase/ssr': specifier: ^0.1.0 - version: 0.1.0(@supabase/supabase-js@2.39.8) + version: 0.1.0(@supabase/supabase-js@2.40.0) '@supabase/supabase-js': specifier: ^2.39.8 - version: 2.39.8 + version: 2.40.0 '@tanstack/react-query': specifier: ^5.28.6 version: 5.28.6(react@18.2.0) @@ -574,61 +574,61 @@ importers: dependencies: '@radix-ui/react-accordion': specifier: 1.1.2 - version: 1.1.2(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 1.1.2(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-alert-dialog': specifier: ^1.0.5 - version: 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-avatar': specifier: ^1.0.4 - version: 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-checkbox': specifier: ^1.0.4 - version: 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-dialog': specifier: ^1.0.5 - version: 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-dropdown-menu': specifier: ^2.0.6 - version: 2.0.6(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 2.0.6(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-icons': specifier: 1.3.0 version: 1.3.0(react@18.2.0) '@radix-ui/react-label': specifier: ^2.0.2 - version: 2.0.2(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 2.0.2(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-navigation-menu': specifier: ^1.1.4 - version: 1.1.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 1.1.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-popover': specifier: ^1.0.7 - version: 1.0.7(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.7(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-radio-group': specifier: ^1.1.3 - version: 1.1.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 1.1.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-scroll-area': specifier: ^1.0.5 - version: 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-select': specifier: ^2.0.0 - version: 2.0.0(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 2.0.0(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-separator': specifier: ^1.0.3 - version: 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': specifier: ^1.0.2 - version: 1.0.2(@types/react@18.2.67)(react@18.2.0) + version: 1.0.2(@types/react@18.2.71)(react@18.2.0) '@radix-ui/react-tabs': specifier: ^1.0.4 - version: 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-toast': specifier: ^1.1.5 - version: 1.1.5(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 1.1.5(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-tooltip': specifier: 1.0.7 - version: 1.0.7(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.7(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) '@tanstack/react-table': specifier: ^8.10.7 - version: 8.14.0(react-dom@18.2.0)(react@18.2.0) + version: 8.15.0(react-dom@18.2.0)(react@18.2.0) class-variance-authority: specifier: ^0.7.0 version: 0.7.0 @@ -637,7 +637,7 @@ importers: version: 2.1.0 cmdk: specifier: ^0.2.0 - version: 0.2.1(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + version: 0.2.1(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) lucide-react: specifier: 0.307.0 version: 0.307.0(react@18.2.0) @@ -671,7 +671,7 @@ importers: version: link:../../tooling/typescript '@types/react': specifier: ^18.2.48 - version: 18.2.67 + version: 18.2.71 '@types/react-dom': specifier: ^18.2.18 version: 18.2.22 @@ -710,7 +710,7 @@ importers: dependencies: supabase: specifier: ^1.150.0 - version: 1.150.0 + version: 1.151.1 tooling/eslint: dependencies: @@ -725,19 +725,19 @@ importers: version: 8.56.6 '@typescript-eslint/eslint-plugin': specifier: ^7.3.1 - version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3) + version: 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/parser': specifier: ^7.3.1 - version: 7.3.1(eslint@8.57.0)(typescript@5.4.3) + version: 7.4.0(eslint@8.57.0)(typescript@5.4.3) eslint-config-prettier: specifier: ^9.1.0 version: 9.1.0(eslint@8.57.0) eslint-config-turbo: specifier: ^1.12.5 - version: 1.12.5(eslint@8.57.0) + version: 1.13.0(eslint@8.57.0) eslint-plugin-import: specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0) + version: 2.29.1(@typescript-eslint/parser@7.4.0)(eslint@8.57.0) eslint-plugin-jsx-a11y: specifier: ^6.8.0 version: 6.8.0(eslint@8.57.0) @@ -871,7 +871,7 @@ packages: resolution: {integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.17.0 jsesc: 2.5.2 source-map: 0.5.7 dev: false @@ -993,7 +993,7 @@ packages: engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.17.0 dev: false /@babel/runtime-corejs3@7.24.1: @@ -1072,10 +1072,10 @@ packages: to-fast-properties: 2.0.0 dev: false - /@contentlayer/cli@0.3.4(esbuild@0.19.11): + /@contentlayer/cli@0.3.4(esbuild@0.20.2): resolution: {integrity: sha512-vNDwgLuhYNu+m70NZ3XK9kexKNguuxPXg7Yvzj3B34cEilQjjzSrcTY/i+AIQm9V7uT5GGshx9ukzPf+SmoszQ==} dependencies: - '@contentlayer/core': 0.3.4(esbuild@0.19.11) + '@contentlayer/core': 0.3.4(esbuild@0.20.2) '@contentlayer/utils': 0.3.4 clipanion: 3.2.1(typanion@3.14.0) typanion: 3.14.0 @@ -1086,10 +1086,10 @@ packages: - supports-color dev: false - /@contentlayer/client@0.3.4(esbuild@0.19.11): + /@contentlayer/client@0.3.4(esbuild@0.20.2): resolution: {integrity: sha512-QSlLyc3y4PtdC5lFw0L4wTZUH8BQnv2nk37hNCsPAqGf+dRO7TLAzdc+2/mVIRgK+vSH+pSOzjLsQpFxxXRTZA==} dependencies: - '@contentlayer/core': 0.3.4(esbuild@0.19.11) + '@contentlayer/core': 0.3.4(esbuild@0.20.2) transitivePeerDependencies: - '@effect-ts/otel-node' - esbuild @@ -1097,7 +1097,7 @@ packages: - supports-color dev: false - /@contentlayer/core@0.3.4(esbuild@0.19.11): + /@contentlayer/core@0.3.4(esbuild@0.20.2): resolution: {integrity: sha512-o68oBLwfYZ+2vtgfk1lgHxOl3LoxvRNiUfeQ8IWFWy/L4wnIkKIqLZX01zlRE5IzYM+ZMMN5V0cKQlO7DsyR9g==} peerDependencies: esbuild: 0.17.x || 0.18.x @@ -1111,9 +1111,9 @@ packages: '@contentlayer/utils': 0.3.4 camel-case: 4.1.2 comment-json: 4.2.3 - esbuild: 0.19.11 + esbuild: 0.20.2 gray-matter: 4.0.3 - mdx-bundler: 9.2.1(esbuild@0.19.11) + mdx-bundler: 9.2.1(esbuild@0.20.2) rehype-stringify: 9.0.4 remark-frontmatter: 4.0.1 remark-parse: 10.0.2 @@ -1126,15 +1126,15 @@ packages: - supports-color dev: false - /@contentlayer/source-files@0.3.4(esbuild@0.19.11): + /@contentlayer/source-files@0.3.4(esbuild@0.20.2): resolution: {integrity: sha512-4njyn0OFPu7WY4tAjMxiJgWOKeiHuBOGdQ36EYE03iij/pPPRbiWbL+cmLccYXUFEW58mDwpqROZZm6pnxjRDQ==} dependencies: - '@contentlayer/core': 0.3.4(esbuild@0.19.11) + '@contentlayer/core': 0.3.4(esbuild@0.20.2) '@contentlayer/utils': 0.3.4 chokidar: 3.6.0 fast-glob: 3.3.2 gray-matter: 4.0.3 - imagescript: 1.2.18 + imagescript: 1.3.0 micromatch: 4.0.5 ts-pattern: 4.3.0 unified: 10.1.2 @@ -1147,11 +1147,11 @@ packages: - supports-color dev: false - /@contentlayer/source-remote-files@0.3.4(esbuild@0.19.11): + /@contentlayer/source-remote-files@0.3.4(esbuild@0.20.2): resolution: {integrity: sha512-cyiv4sNUySZvR0uAKlM+kSAELzNd2h2QT1R2e41dRKbwOUVxeLfmGiLugr0aVac6Q3xYcD99dbHyR1xWPV+w9w==} dependencies: - '@contentlayer/core': 0.3.4(esbuild@0.19.11) - '@contentlayer/source-files': 0.3.4(esbuild@0.19.11) + '@contentlayer/core': 0.3.4(esbuild@0.20.2) + '@contentlayer/source-files': 0.3.4(esbuild@0.20.2) '@contentlayer/utils': 0.3.4 transitivePeerDependencies: - '@effect-ts/otel-node' @@ -1184,7 +1184,7 @@ packages: hash-wasm: 4.11.0 inflection: 2.0.1 memfs: 3.5.3 - oo-ascii-tree: 1.95.0 + oo-ascii-tree: 1.96.0 ts-pattern: 4.3.0 type-fest: 3.13.1 dev: false @@ -1281,14 +1281,14 @@ packages: resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==} dev: false - /@esbuild-plugins/node-resolve@0.1.4(esbuild@0.19.11): + /@esbuild-plugins/node-resolve@0.1.4(esbuild@0.20.2): resolution: {integrity: sha512-haFQ0qhxEpqtWWY0kx1Y5oE3sMyO1PcoSiWEPrAw6tm/ZOOLXjSs6Q+v1v9eyuVF0nNt50YEvrcrvENmyoMv5g==} peerDependencies: esbuild: '*' dependencies: '@types/resolve': 1.20.6 debug: 4.3.4 - esbuild: 0.19.11 + esbuild: 0.20.2 escape-string-regexp: 4.0.0 resolve: 1.22.8 transitivePeerDependencies: @@ -1304,6 +1304,15 @@ packages: dev: false optional: true + /@esbuild/aix-ppc64@0.20.2: + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: false + optional: true + /@esbuild/android-arm64@0.19.11: resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==} engines: {node: '>=12'} @@ -1313,6 +1322,15 @@ packages: dev: false optional: true + /@esbuild/android-arm64@0.20.2: + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + /@esbuild/android-arm@0.19.11: resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==} engines: {node: '>=12'} @@ -1322,6 +1340,15 @@ packages: dev: false optional: true + /@esbuild/android-arm@0.20.2: + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + /@esbuild/android-x64@0.19.11: resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==} engines: {node: '>=12'} @@ -1331,6 +1358,15 @@ packages: dev: false optional: true + /@esbuild/android-x64@0.20.2: + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: false + optional: true + /@esbuild/darwin-arm64@0.19.11: resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==} engines: {node: '>=12'} @@ -1340,6 +1376,15 @@ packages: dev: false optional: true + /@esbuild/darwin-arm64@0.20.2: + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + /@esbuild/darwin-x64@0.19.11: resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==} engines: {node: '>=12'} @@ -1349,6 +1394,15 @@ packages: dev: false optional: true + /@esbuild/darwin-x64@0.20.2: + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + /@esbuild/freebsd-arm64@0.19.11: resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==} engines: {node: '>=12'} @@ -1358,6 +1412,15 @@ packages: dev: false optional: true + /@esbuild/freebsd-arm64@0.20.2: + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/freebsd-x64@0.19.11: resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==} engines: {node: '>=12'} @@ -1367,6 +1430,15 @@ packages: dev: false optional: true + /@esbuild/freebsd-x64@0.20.2: + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-arm64@0.19.11: resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==} engines: {node: '>=12'} @@ -1376,6 +1448,15 @@ packages: dev: false optional: true + /@esbuild/linux-arm64@0.20.2: + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-arm@0.19.11: resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==} engines: {node: '>=12'} @@ -1385,6 +1466,15 @@ packages: dev: false optional: true + /@esbuild/linux-arm@0.20.2: + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-ia32@0.19.11: resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==} engines: {node: '>=12'} @@ -1394,6 +1484,15 @@ packages: dev: false optional: true + /@esbuild/linux-ia32@0.20.2: + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-loong64@0.19.11: resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==} engines: {node: '>=12'} @@ -1403,6 +1502,15 @@ packages: dev: false optional: true + /@esbuild/linux-loong64@0.20.2: + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-mips64el@0.19.11: resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==} engines: {node: '>=12'} @@ -1412,6 +1520,15 @@ packages: dev: false optional: true + /@esbuild/linux-mips64el@0.20.2: + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-ppc64@0.19.11: resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==} engines: {node: '>=12'} @@ -1421,6 +1538,15 @@ packages: dev: false optional: true + /@esbuild/linux-ppc64@0.20.2: + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-riscv64@0.19.11: resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==} engines: {node: '>=12'} @@ -1430,6 +1556,15 @@ packages: dev: false optional: true + /@esbuild/linux-riscv64@0.20.2: + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-s390x@0.19.11: resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==} engines: {node: '>=12'} @@ -1439,6 +1574,15 @@ packages: dev: false optional: true + /@esbuild/linux-s390x@0.20.2: + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-x64@0.19.11: resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==} engines: {node: '>=12'} @@ -1448,6 +1592,15 @@ packages: dev: false optional: true + /@esbuild/linux-x64@0.20.2: + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/netbsd-x64@0.19.11: resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==} engines: {node: '>=12'} @@ -1457,6 +1610,15 @@ packages: dev: false optional: true + /@esbuild/netbsd-x64@0.20.2: + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/openbsd-x64@0.19.11: resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==} engines: {node: '>=12'} @@ -1466,6 +1628,15 @@ packages: dev: false optional: true + /@esbuild/openbsd-x64@0.20.2: + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/sunos-x64@0.19.11: resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==} engines: {node: '>=12'} @@ -1475,6 +1646,15 @@ packages: dev: false optional: true + /@esbuild/sunos-x64@0.20.2: + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: false + optional: true + /@esbuild/win32-arm64@0.19.11: resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==} engines: {node: '>=12'} @@ -1484,6 +1664,15 @@ packages: dev: false optional: true + /@esbuild/win32-arm64@0.20.2: + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@esbuild/win32-ia32@0.19.11: resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==} engines: {node: '>=12'} @@ -1493,6 +1682,15 @@ packages: dev: false optional: true + /@esbuild/win32-ia32@0.20.2: + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@esbuild/win32-x64@0.19.11: resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} engines: {node: '>=12'} @@ -1502,6 +1700,15 @@ packages: dev: false optional: true + /@esbuild/win32-x64@0.20.2: + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1740,13 +1947,13 @@ packages: read-yaml-file: 1.1.0 dev: true - /@mdx-js/esbuild@2.3.0(esbuild@0.19.11): + /@mdx-js/esbuild@2.3.0(esbuild@0.20.2): resolution: {integrity: sha512-r/vsqsM0E+U4Wr0DK+0EfmABE/eg+8ITW4DjvYdh3ve/tK2safaqHArNnaqbOk1DjYGrhxtoXoGaM3BY8fGBTA==} peerDependencies: esbuild: '>=0.11.0' dependencies: '@mdx-js/mdx': 2.3.0 - esbuild: 0.19.11 + esbuild: 0.20.2 node-fetch: 3.3.2 vfile: 5.3.7 transitivePeerDependencies: @@ -1757,7 +1964,7 @@ packages: resolution: {integrity: sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==} dependencies: '@types/estree-jsx': 1.0.5 - '@types/mdx': 2.0.11 + '@types/mdx': 2.0.12 estree-util-build-jsx: 2.2.2 estree-util-is-identifier-name: 2.1.0 estree-util-to-js: 1.2.0 @@ -2393,7 +2600,7 @@ packages: '@babel/runtime': 7.24.1 dev: false - /@radix-ui/react-accordion@1.1.2(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-accordion@1.1.2(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-fDG7jcoNKVjSK6yfmuAs0EnPDro0WMXIhMtXdTBWqEioVW206ku+4Lw07e+13lUkFkpoEQ2PdeMIAGpdqEAmDg==} peerDependencies: '@types/react': '*' @@ -2408,21 +2615,21 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-alert-dialog@1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-alert-dialog@1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-OrVIOcZL0tl6xibeuGt5/+UxoT2N27KCFOPjFyfXMnchxSHZ/OW7cCX2nGlIYJrbHK/fczPcFzAwvNBB6XBNMA==} peerDependencies: '@types/react': '*' @@ -2437,18 +2644,18 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} peerDependencies: '@types/react': '*' @@ -2462,14 +2669,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-avatar@1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-avatar@1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-kVK2K7ZD3wwj3qhle0ElXhOjbezIgyl2hVvgwfIdexL3rN6zJmy5AqqIf+D31lxVppdzV8CjAfZ6PklkmInZLw==} peerDependencies: '@types/react': '*' @@ -2483,17 +2690,17 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-checkbox@1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-checkbox@1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg==} peerDependencies: '@types/react': '*' @@ -2508,20 +2715,20 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==} peerDependencies: '@types/react': '*' @@ -2536,20 +2743,20 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} peerDependencies: '@types/react': '*' @@ -2563,11 +2770,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -2582,7 +2789,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.67)(react@18.2.0): + /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.71)(react@18.2.0): resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} peerDependencies: '@types/react': '*' @@ -2592,7 +2799,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@types/react': 18.2.67 + '@types/react': 18.2.71 react: 18.2.0 dev: false @@ -2605,7 +2812,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-context@1.0.1(@types/react@18.2.67)(react@18.2.0): + /@radix-ui/react-context@1.0.1(@types/react@18.2.71)(react@18.2.0): resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} peerDependencies: '@types/react': '*' @@ -2615,11 +2822,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@types/react': 18.2.67 + '@types/react': 18.2.71 react: 18.2.0 dev: false - /@radix-ui/react-dialog@1.0.0(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dialog@1.0.0(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Yn9YU+QlHYLWwV1XfKiqnGVpWYWk6MeBVM6x/bcoyPvxgjQGoeT35482viLPctTMWoMw0PoHgqfSox7Ig+957Q==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 @@ -2641,12 +2848,12 @@ packages: aria-hidden: 1.2.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.4(@types/react@18.2.67)(react@18.2.0) + react-remove-scroll: 2.5.4(@types/react@18.2.71)(react@18.2.0) transitivePeerDependencies: - '@types/react' dev: false - /@radix-ui/react-dialog@1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dialog@1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==} peerDependencies: '@types/react': '*' @@ -2661,26 +2868,26 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 aria-hidden: 1.2.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.67)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.71)(react@18.2.0) dev: false - /@radix-ui/react-direction@1.0.1(@types/react@18.2.67)(react@18.2.0): + /@radix-ui/react-direction@1.0.1(@types/react@18.2.71)(react@18.2.0): resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} peerDependencies: '@types/react': '*' @@ -2690,7 +2897,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@types/react': 18.2.67 + '@types/react': 18.2.71 react: 18.2.0 dev: false @@ -2710,7 +2917,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==} peerDependencies: '@types/react': '*' @@ -2725,17 +2932,17 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} peerDependencies: '@types/react': '*' @@ -2750,17 +2957,17 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-dropdown-menu@2.0.6(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dropdown-menu@2.0.6(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-i6TuFOoWmLWq+M/eCLGd/bQ2HfAX1RJgvrBQ6AQLmzfvsLdefxbWu8G9zczcPFfcSPehz9GcpF6K9QYreFV8hA==} peerDependencies: '@types/react': '*' @@ -2775,13 +2982,13 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-menu': 2.0.6(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-menu': 2.0.6(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -2796,7 +3003,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.67)(react@18.2.0): + /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.71)(react@18.2.0): resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} peerDependencies: '@types/react': '*' @@ -2806,7 +3013,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@types/react': 18.2.67 + '@types/react': 18.2.71 react: 18.2.0 dev: false @@ -2824,7 +3031,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==} peerDependencies: '@types/react': '*' @@ -2838,16 +3045,16 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} peerDependencies: '@types/react': '*' @@ -2861,10 +3068,10 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -2887,7 +3094,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-id@1.0.1(@types/react@18.2.67)(react@18.2.0): + /@radix-ui/react-id@1.0.1(@types/react@18.2.71)(react@18.2.0): resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} peerDependencies: '@types/react': '*' @@ -2897,12 +3104,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 react: 18.2.0 dev: false - /@radix-ui/react-label@2.0.2(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-label@2.0.2(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==} peerDependencies: '@types/react': '*' @@ -2916,14 +3123,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-menu@2.0.6(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-menu@2.0.6(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==} peerDependencies: '@types/react': '*' @@ -2938,30 +3145,30 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 aria-hidden: 1.2.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.67)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.71)(react@18.2.0) dev: false - /@radix-ui/react-navigation-menu@1.1.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-navigation-menu@1.1.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Cc+seCS3PmWmjI51ufGG7zp1cAAIRqHVw7C9LOA2TZ+R4hG6rDvHcTqIsEEFLmZO3zNVH72jOOE7kKNy8W+RtA==} peerDependencies: '@types/react': '*' @@ -2976,26 +3183,26 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-popover@1.0.6(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popover@1.0.6(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-cZ4defGpkZ0qTRtlIBzJLSzL6ht7ofhhW4i1+pkemjV1IKXm0wgCRnee154qlV6r9Ttunmh2TNZhMfV2bavUyA==} peerDependencies: '@types/react': '*' @@ -3010,27 +3217,27 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 aria-hidden: 1.2.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.67)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.71)(react@18.2.0) dev: false - /@radix-ui/react-popover@1.0.7(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popover@1.0.7(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==} peerDependencies: '@types/react': '*' @@ -3045,27 +3252,27 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 aria-hidden: 1.2.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.67)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.71)(react@18.2.0) dev: false - /@radix-ui/react-popper@1.1.2(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popper@1.1.2(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==} peerDependencies: '@types/react': '*' @@ -3080,22 +3287,22 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.67)(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.71)(react@18.2.0) '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.67 + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-popper@1.1.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popper@1.1.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==} peerDependencies: '@types/react': '*' @@ -3110,16 +3317,16 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.67)(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.71)(react@18.2.0) '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.67 + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -3137,7 +3344,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-portal@1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-portal@1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==} peerDependencies: '@types/react': '*' @@ -3151,14 +3358,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-portal@1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-portal@1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} peerDependencies: '@types/react': '*' @@ -3172,8 +3379,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -3192,7 +3399,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} peerDependencies: '@types/react': '*' @@ -3206,9 +3413,9 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -3226,7 +3433,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} peerDependencies: '@types/react': '*' @@ -3240,14 +3447,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-radio-group@1.1.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-radio-group@1.1.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-x+yELayyefNeKeTx4fjK6j99Fs6c4qKm3aY38G3swQVTN6xMpsrbigC0uHs2L//g8q4qR7qOcww8430jJmi2ag==} peerDependencies: '@types/react': '*' @@ -3262,22 +3469,22 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} peerDependencies: '@types/react': '*' @@ -3292,21 +3499,21 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-scroll-area@1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-scroll-area@1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-b6PAgH4GQf9QEn8zbT2XUHpW5z8BzqEc7Kl11TwDrvuTrxlkcjTD5qa/bxgKr+nmuXKu4L/W5UZ4mlP/VG/5Gw==} peerDependencies: '@types/react': '*' @@ -3322,20 +3529,20 @@ packages: '@babel/runtime': 7.24.1 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-select@2.0.0(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-select@2.0.0(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-RH5b7af4oHtkcHS7pG6Sgv5rk5Wxa7XI8W5gvB1N/yiuDGZxko1ynvOiVhFM7Cis2A8zxF9bTOUVbRDzPepe6w==} peerDependencies: '@types/react': '*' @@ -3351,32 +3558,32 @@ packages: '@babel/runtime': 7.24.1 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 aria-hidden: 1.2.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.67)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.71)(react@18.2.0) dev: false - /@radix-ui/react-separator@1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-separator@1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==} peerDependencies: '@types/react': '*' @@ -3390,8 +3597,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -3407,7 +3614,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-slot@1.0.2(@types/react@18.2.67)(react@18.2.0): + /@radix-ui/react-slot@1.0.2(@types/react@18.2.71)(react@18.2.0): resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} peerDependencies: '@types/react': '*' @@ -3417,12 +3624,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 react: 18.2.0 dev: false - /@radix-ui/react-tabs@1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-tabs@1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-egZfYY/+wRNCflXNHx+dePvnz9FbmssDTJBtgRfDY7e8SE5oIo3Py2eCB1ckAbh1Q7cQ/6yJZThJ++sgbxibog==} peerDependencies: '@types/react': '*' @@ -3437,20 +3644,20 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-toast@1.1.5(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-toast@1.1.5(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-fRLn227WHIBRSzuRzGJ8W+5YALxofH23y0MlPLddaIpLpCDqdE0NZlS2NRQDRiptfxDeeCjgFIpexB1/zkxDlw==} peerDependencies: '@types/react': '*' @@ -3465,24 +3672,24 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==} peerDependencies: '@types/react': '*' @@ -3497,19 +3704,19 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toggle': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-toggle@1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-toggle@1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==} peerDependencies: '@types/react': '*' @@ -3524,15 +3731,15 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-tooltip@1.0.6(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-tooltip@1.0.6(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-DmNFOiwEc2UDigsYj6clJENma58OelxD24O4IODoZ+3sQc3Zb+L8w1EP+y9laTuKCLAysPw4fD6/v0j4KNV8rg==} peerDependencies: '@types/react': '*' @@ -3547,24 +3754,24 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-tooltip@1.0.7(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-tooltip@1.0.7(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw==} peerDependencies: '@types/react': '*' @@ -3579,18 +3786,18 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -3605,7 +3812,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.67)(react@18.2.0): + /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.71)(react@18.2.0): resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} peerDependencies: '@types/react': '*' @@ -3615,7 +3822,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@types/react': 18.2.67 + '@types/react': 18.2.71 react: 18.2.0 dev: false @@ -3629,7 +3836,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.67)(react@18.2.0): + /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.71)(react@18.2.0): resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} peerDependencies: '@types/react': '*' @@ -3639,8 +3846,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 react: 18.2.0 dev: false @@ -3654,7 +3861,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.67)(react@18.2.0): + /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.71)(react@18.2.0): resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} peerDependencies: '@types/react': '*' @@ -3664,8 +3871,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 react: 18.2.0 dev: false @@ -3678,7 +3885,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.67)(react@18.2.0): + /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.71)(react@18.2.0): resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} peerDependencies: '@types/react': '*' @@ -3688,11 +3895,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@types/react': 18.2.67 + '@types/react': 18.2.71 react: 18.2.0 dev: false - /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.67)(react@18.2.0): + /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.71)(react@18.2.0): resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==} peerDependencies: '@types/react': '*' @@ -3702,11 +3909,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@types/react': 18.2.67 + '@types/react': 18.2.71 react: 18.2.0 dev: false - /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.67)(react@18.2.0): + /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.71)(react@18.2.0): resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==} peerDependencies: '@types/react': '*' @@ -3717,11 +3924,11 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.67 + '@types/react': 18.2.71 react: 18.2.0 dev: false - /@radix-ui/react-use-size@1.0.1(@types/react@18.2.67)(react@18.2.0): + /@radix-ui/react-use-size@1.0.1(@types/react@18.2.71)(react@18.2.0): resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==} peerDependencies: '@types/react': '*' @@ -3731,12 +3938,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.67)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@types/react': 18.2.71 react: 18.2.0 dev: false - /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} peerDependencies: '@types/react': '*' @@ -3750,8 +3957,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.67 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -3808,7 +4015,7 @@ packages: react: 18.2.0 dev: false - /@react-email/components@0.0.15(@types/react@18.2.67)(react-email@2.1.0)(react@18.2.0): + /@react-email/components@0.0.15(@types/react@18.2.71)(react-email@2.1.0)(react@18.2.0): resolution: {integrity: sha512-jXfKiuyi94JBYfPVptEUwF57nRCvhEZIfyl2LqbL53fKsMrGlcjlN921iNnx1z41GAJOqZ8LPogeix3Iid23zw==} engines: {node: '>=18.0.0'} peerDependencies: @@ -3822,7 +4029,7 @@ packages: '@react-email/container': 0.0.11(react@18.2.0) '@react-email/font': 0.0.5(react@18.2.0) '@react-email/head': 0.0.7(react@18.2.0) - '@react-email/heading': 0.0.11(@types/react@18.2.67)(react@18.2.0) + '@react-email/heading': 0.0.11(@types/react@18.2.71)(react@18.2.0) '@react-email/hr': 0.0.7(react@18.2.0) '@react-email/html': 0.0.7(react@18.2.0) '@react-email/img': 0.0.7(react@18.2.0) @@ -3866,13 +4073,13 @@ packages: react: 18.2.0 dev: false - /@react-email/heading@0.0.11(@types/react@18.2.67)(react@18.2.0): + /@react-email/heading@0.0.11(@types/react@18.2.71)(react@18.2.0): resolution: {integrity: sha512-EF5ZtRCxhHPw3m+8iibKKg0RAvAeHj1AP68sjU7s6+J+kvRgllr/E972Wi5Y8UvcIGossCvpX1WrSMDzeB4puA==} engines: {node: '>=18.0.0'} peerDependencies: react: 18.2.0 dependencies: - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.67)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0) react: 18.2.0 transitivePeerDependencies: - '@types/react' @@ -3997,21 +4204,21 @@ packages: resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} dev: false - /@stripe/react-stripe-js@2.6.2(@stripe/stripe-js@3.0.10)(react-dom@18.2.0)(react@18.2.0): + /@stripe/react-stripe-js@2.6.2(@stripe/stripe-js@3.1.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-FSjNg4v7BiCfojvx25PQ8DugOa09cGk1t816R/DLI/lT+1bgRAYpMvoPirLT4ZQ3ev/0VDtPdWNaabPsLDTOMA==} peerDependencies: '@stripe/stripe-js': ^1.44.1 || ^2.0.0 || ^3.0.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@stripe/stripe-js': 3.0.10 + '@stripe/stripe-js': 3.1.0 prop-types: 15.8.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@stripe/stripe-js@3.0.10: - resolution: {integrity: sha512-CFRNha+aPXR8GrqJss2TbK1j4aSGZXQY8gx0hvaYiSp+dU7EK/Zs5uwFTSAgV+t8H4+jcZ/iBGajAvoMYOwy+A==} + /@stripe/stripe-js@3.1.0: + resolution: {integrity: sha512-7+ciE35i8NZ6l4FiO1qFkBoZ64ul6B2ZhBVyygB+e/2EZa2WLUyjoxrP53SagnUW7+/q25nDyDLzQq5F0ebOEw==} engines: {node: '>=12.16'} dev: false @@ -4047,12 +4254,12 @@ packages: - bufferutil - utf-8-validate - /@supabase/ssr@0.1.0(@supabase/supabase-js@2.39.8): + /@supabase/ssr@0.1.0(@supabase/supabase-js@2.40.0): resolution: {integrity: sha512-bIVrkqjAK5G3KjkIMKYKtAOlCgRRplEWjrlyRyXSOYtgDieiOhk2ZyNAPsEOa1By9OZVxuX5eAW1fitdnuxayw==} peerDependencies: '@supabase/supabase-js': ^2.33.1 dependencies: - '@supabase/supabase-js': 2.39.8 + '@supabase/supabase-js': 2.40.0 cookie: 0.5.0 ramda: 0.29.1 dev: false @@ -4062,8 +4269,8 @@ packages: dependencies: '@supabase/node-fetch': 2.6.15 - /@supabase/supabase-js@2.39.8: - resolution: {integrity: sha512-WpiawHjseIRcCQTZbMJtHUSOepz5+M9qE1jP9BDmg8X7ehALFwgEkiKyHAu59qm/pKP2ryyQXLtu2XZNRbUarw==} + /@supabase/supabase-js@2.40.0: + resolution: {integrity: sha512-XF8OrsA13DYBL074sHH4M0NhXJCWhQ0R5JbVeVUytZ0coPMS9krRdzxl+0c4z4LLjqbm/Wdz0UYlTYM9MgnDag==} dependencies: '@supabase/functions-js': 2.1.5 '@supabase/gotrue-js': 2.62.2 @@ -4223,10 +4430,10 @@ packages: /@tanstack/query-core@5.28.6: resolution: {integrity: sha512-hnhotV+DnQtvtR3jPvbQMPNMW4KEK0J4k7c609zJ8muiNknm+yoDyMHmxTWM5ZnlZpsz0zOxYFr+mzRJNHWJsA==} - /@tanstack/react-query-next-experimental@5.28.6(@tanstack/react-query@5.28.6)(next@14.2.0-canary.43)(react@18.2.0): - resolution: {integrity: sha512-KHTR1nGChTXk/kELit2gaqF3cQuN68F5UJv0377Gz5DnllPnBegja6if2W9KtKxm3Z1xP0j8LQXplqlqny2SYw==} + /@tanstack/react-query-next-experimental@5.28.8(@tanstack/react-query@5.28.6)(next@14.2.0-canary.43)(react@18.2.0): + resolution: {integrity: sha512-1JAh1SHrqX1PPfoJtEiS8ewvz7D3lkBsIvDCpE8hWB07EF4O8hxPWQiVDf/fJ7U2g6N7iARX74335BHpCg250Q==} peerDependencies: - '@tanstack/react-query': ^5.28.6 + '@tanstack/react-query': ^5.28.8 next: ^13 || ^14 react: ^18.0.0 dependencies: @@ -4243,12 +4450,12 @@ packages: '@tanstack/query-core': 5.28.6 react: 18.2.0 - /@tanstack/react-table@8.14.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-l9iwO99oz/azy5RT5VkVRsHHuy7o//fiXgLxzl3fad8qf7Bj+9ihsfmE6Q+BNjH4wHbxZkahwxtb3ngGq9FQxA==} + /@tanstack/react-table@8.15.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-8K4RSROUtXUtfiezV6Ehl8z99axFrkQnxXi0vjWBJv3Tsm5x4EyrgXI7d2tOOMoANykKZLB6S1sGZGemoMRt7Q==} engines: {node: '>=12'} peerDependencies: - react: '>=16' - react-dom: '>=16' + react: '>=16.8' + react-dom: '>=16.8' dependencies: '@tanstack/table-core': 8.14.0 react: 18.2.0 @@ -4284,8 +4491,8 @@ packages: - supports-color dev: false - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + /@tsconfig/node10@1.0.10: + resolution: {integrity: sha512-PiaIWIoPvO6qm6t114ropMCagj6YAF24j9OkCA2mJDXFnlionEwhsBCJ8yek4aib575BI3OkART/90WsgHgLWw==} dev: true /@tsconfig/node12@1.0.11: @@ -4300,11 +4507,11 @@ packages: resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: true - /@turbo/gen@1.12.5(@types/node@20.11.30)(typescript@5.4.3): - resolution: {integrity: sha512-sEF/iryAcWYqONXcrAyWREUVPA4eba22hxU1yx4b9+Rs9SUNFkM54cDaXEAtzbh/iji428aQpnuxi+SUT7m9zw==} + /@turbo/gen@1.13.0(@types/node@20.11.30)(typescript@5.4.3): + resolution: {integrity: sha512-AxIrDubYDLdYBNZC/t3Gn0B7v+zhlM3V7VoMhopKrMWSL0YsjpW/OcDThmV+WglVlkPLmk95ncvXvgfn5RrsBw==} hasBin: true dependencies: - '@turbo/workspaces': 1.12.5 + '@turbo/workspaces': 1.13.0 chalk: 2.4.2 commander: 10.0.1 fs-extra: 10.1.0 @@ -4323,8 +4530,8 @@ packages: - typescript dev: true - /@turbo/workspaces@1.12.5: - resolution: {integrity: sha512-UksAe6nxryEZoUr5IMUzt9bwsZLxccUnT469fI3OE5Xbd5fbInzLKIZ3ZuzFvXR4N7ezr2HCvkUItmgwe7k1HA==} + /@turbo/workspaces@1.13.0: + resolution: {integrity: sha512-0wA1KeHK3OCsKISZziga9YopWROO+aFgSgIbUd3HUn9YG7OK6JPwTgrlxA1LwhjqiovggbKbYRnqW0PmE+3qBA==} hasBin: true dependencies: chalk: 2.4.2 @@ -4473,8 +4680,8 @@ packages: '@types/unist': 2.0.10 dev: false - /@types/mdx@2.0.11: - resolution: {integrity: sha512-HM5bwOaIQJIQbAYfax35HCKxx7a3KrK3nBtIqJgSOitivTD1y3oW9P3rxY9RkXYPUk7y/AjAohfHKmFpGE79zw==} + /@types/mdx@2.0.12: + resolution: {integrity: sha512-H9VZ9YqE+H28FQVchC83RCs5xQ2J7mAAv6qdDEaWmXEVl3OpdH+xfrSUzQ1lp7U7oSTRZ0RvW08ASPJsYBi7Cw==} /@types/minimatch@5.1.2: resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} @@ -4514,27 +4721,27 @@ packages: resolution: {integrity: sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw==} dev: false - /@types/prop-types@15.7.11: - resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} + /@types/prop-types@15.7.12: + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} /@types/react-dom@18.2.22: resolution: {integrity: sha512-fHkBXPeNtfvri6gdsMYyW+dW7RXFo6Ad09nLFK0VQWR7yGLai/Cyvyj696gbwYvBnhGtevUG9cET0pmUbMtoPQ==} dependencies: - '@types/react': 18.2.67 + '@types/react': 18.2.71 - /@types/react@18.2.67: - resolution: {integrity: sha512-vkIE2vTIMHQ/xL0rgmuoECBCkZFZeHr49HeWSc24AptMbNRo7pwSBvj73rlJJs9fGKj0koS+V7kQB1jHS0uCgw==} + /@types/react@18.2.71: + resolution: {integrity: sha512-PxEsB9OjmQeYGffoWnYAd/r5FiJuUw2niFQHPc2v2idwh8wGPkkYzOHuinNJJY6NZqfoTCiOIizDOz38gYNsyw==} dependencies: - '@types/prop-types': 15.7.11 - '@types/scheduler': 0.16.8 + '@types/prop-types': 15.7.12 + '@types/scheduler': 0.23.0 csstype: 3.1.3 /@types/resolve@1.20.6: resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} dev: false - /@types/scheduler@0.16.8: - resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} + /@types/scheduler@0.23.0: + resolution: {integrity: sha512-YIoDCTH3Af6XM5VuwGG/QL/CJqga1Zm3NkU3HZ4ZHK2fRMPYP1VczsTUqtsf43PH/iJNVlPHAo2oWX7BSdB2Hw==} /@types/semver@6.2.7: resolution: {integrity: sha512-blctEWbzUFzQx799RZjzzIdBJOXmE37YYEyDtKkx5Dg+V7o/zyyAxLPiI98A2jdTtDgxZleMdfV+7p8WbRJ1OQ==} @@ -4580,8 +4787,8 @@ packages: dependencies: '@types/node': 20.11.30 - /@typescript-eslint/eslint-plugin@7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3): - resolution: {integrity: sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw==} + /@typescript-eslint/eslint-plugin@7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-yHMQ/oFaM7HZdVrVm/M2WHaNPgyuJH4WelkSVEWSSsir34kxW2kDJCxlXRhhGWEsMN0WAW/vLpKfKVcm8k+MPw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -4592,11 +4799,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/scope-manager': 7.3.1 - '@typescript-eslint/type-utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/visitor-keys': 7.3.1 + '@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/scope-manager': 7.4.0 + '@typescript-eslint/type-utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/visitor-keys': 7.4.0 debug: 4.3.4 eslint: 8.57.0 graphemer: 1.4.0 @@ -4609,8 +4816,8 @@ packages: - supports-color dev: false - /@typescript-eslint/parser@7.3.1(eslint@8.57.0)(typescript@5.4.3): - resolution: {integrity: sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw==} + /@typescript-eslint/parser@7.4.0(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-ZvKHxHLusweEUVwrGRXXUVzFgnWhigo4JurEj0dGF1tbcGh6buL+ejDdjxOQxv6ytcY1uhun1p2sm8iWStlgLQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -4619,10 +4826,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 7.3.1 - '@typescript-eslint/types': 7.3.1 - '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3) - '@typescript-eslint/visitor-keys': 7.3.1 + '@typescript-eslint/scope-manager': 7.4.0 + '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3) + '@typescript-eslint/visitor-keys': 7.4.0 debug: 4.3.4 eslint: 8.57.0 typescript: 5.4.3 @@ -4630,16 +4837,16 @@ packages: - supports-color dev: false - /@typescript-eslint/scope-manager@7.3.1: - resolution: {integrity: sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag==} + /@typescript-eslint/scope-manager@7.4.0: + resolution: {integrity: sha512-68VqENG5HK27ypafqLVs8qO+RkNc7TezCduYrx8YJpXq2QGZ30vmNZGJJJC48+MVn4G2dCV8m5ZTVnzRexTVtw==} engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.3.1 - '@typescript-eslint/visitor-keys': 7.3.1 + '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/visitor-keys': 7.4.0 dev: false - /@typescript-eslint/type-utils@7.3.1(eslint@8.57.0)(typescript@5.4.3): - resolution: {integrity: sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw==} + /@typescript-eslint/type-utils@7.4.0(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-247ETeHgr9WTRMqHbbQdzwzhuyaJ8dPTuyuUEMANqzMRB1rj/9qFIuIXK7l0FX9i9FXbHeBQl/4uz6mYuCE7Aw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -4648,8 +4855,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3) - '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3) + '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3) debug: 4.3.4 eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.4.3) @@ -4658,13 +4865,13 @@ packages: - supports-color dev: false - /@typescript-eslint/types@7.3.1: - resolution: {integrity: sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw==} + /@typescript-eslint/types@7.4.0: + resolution: {integrity: sha512-mjQopsbffzJskos5B4HmbsadSJQWaRK0UxqQ7GuNA9Ga4bEKeiO6b2DnB6cM6bpc8lemaPseh0H9B/wyg+J7rw==} engines: {node: ^18.18.0 || >=20.0.0} dev: false - /@typescript-eslint/typescript-estree@7.3.1(typescript@5.4.3): - resolution: {integrity: sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==} + /@typescript-eslint/typescript-estree@7.4.0(typescript@5.4.3): + resolution: {integrity: sha512-A99j5AYoME/UBQ1ucEbbMEmGkN7SE0BvZFreSnTd1luq7yulcHdyGamZKizU7canpGDWGJ+Q6ZA9SyQobipePg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -4672,8 +4879,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 7.3.1 - '@typescript-eslint/visitor-keys': 7.3.1 + '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/visitor-keys': 7.4.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -4685,8 +4892,8 @@ packages: - supports-color dev: false - /@typescript-eslint/utils@7.3.1(eslint@8.57.0)(typescript@5.4.3): - resolution: {integrity: sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ==} + /@typescript-eslint/utils@7.4.0(eslint@8.57.0)(typescript@5.4.3): + resolution: {integrity: sha512-NQt9QLM4Tt8qrlBVY9lkMYzfYtNz8/6qwZg8pI3cMGlPnj6mOpRxxAm7BMJN9K0AiY+1BwJ5lVC650YJqYOuNg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -4694,9 +4901,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.3.1 - '@typescript-eslint/types': 7.3.1 - '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3) + '@typescript-eslint/scope-manager': 7.4.0 + '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -4704,11 +4911,11 @@ packages: - typescript dev: false - /@typescript-eslint/visitor-keys@7.3.1: - resolution: {integrity: sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw==} + /@typescript-eslint/visitor-keys@7.4.0: + resolution: {integrity: sha512-0zkC7YM0iX5Y41homUUeW1CHtZR01K3ybjM1l6QczoMuay0XKtrb93kv95AxUGwdjGr64nNqnOCwmEl616N8CA==} engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.3.1 + '@typescript-eslint/types': 7.4.0 eslint-visitor-keys: 3.4.3 dev: false @@ -5043,7 +5250,7 @@ packages: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.5 + es-abstract: 1.23.2 es-shim-unscopables: 1.0.2 dev: false @@ -5053,7 +5260,7 @@ packages: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.5 + es-abstract: 1.23.2 es-shim-unscopables: 1.0.2 dev: false @@ -5062,7 +5269,7 @@ packages: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.5 + es-abstract: 1.23.2 es-shim-unscopables: 1.0.2 dev: false @@ -5071,7 +5278,7 @@ packages: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.5 + es-abstract: 1.23.2 es-errors: 1.3.0 es-shim-unscopables: 1.0.2 dev: false @@ -5124,7 +5331,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.23.0 - caniuse-lite: 1.0.30001599 + caniuse-lite: 1.0.30001600 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -5140,7 +5347,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.23.0 - caniuse-lite: 1.0.30001599 + caniuse-lite: 1.0.30001600 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -5232,8 +5439,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001599 - electron-to-chromium: 1.4.713 + caniuse-lite: 1.0.30001600 + electron-to-chromium: 1.4.717 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) @@ -5336,8 +5543,8 @@ packages: engines: {node: '>=6'} dev: false - /caniuse-lite@1.0.30001599: - resolution: {integrity: sha512-LRAQHZ4yT1+f9LemSMeqdMpMxZcc4RMWdj4tiFe3G8tNkWK+E58g+/tzotb5cU6TbcVJLr4fySiAW7XmxQvZQA==} + /caniuse-lite@1.0.30001600: + resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==} /ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -5535,13 +5742,13 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: false - /cmdk@0.2.1(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0): + /cmdk@0.2.1(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-U6//9lQ6JvT47+6OF6Gi8BvkxYQ8SCRRSKIJkthIMsFsLZRG0cKvTtuTaefyIKMQb8rvvXy0wGdpTNq/jPtm+g==} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@radix-ui/react-dialog': 1.0.0(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dialog': 1.0.0(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -5618,17 +5825,17 @@ packages: upper-case: 1.1.3 dev: true - /contentlayer@0.3.4(esbuild@0.19.11): + /contentlayer@0.3.4(esbuild@0.20.2): resolution: {integrity: sha512-FYDdTUFaN4yqep0waswrhcXjmMJnPD5iXDTtxcUCGdklfuIrXM2xLx51xl748cHmGA6IsC+27YZFxU6Ym13QIA==} engines: {node: '>=14.18'} hasBin: true requiresBuild: true dependencies: - '@contentlayer/cli': 0.3.4(esbuild@0.19.11) - '@contentlayer/client': 0.3.4(esbuild@0.19.11) - '@contentlayer/core': 0.3.4(esbuild@0.19.11) - '@contentlayer/source-files': 0.3.4(esbuild@0.19.11) - '@contentlayer/source-remote-files': 0.3.4(esbuild@0.19.11) + '@contentlayer/cli': 0.3.4(esbuild@0.20.2) + '@contentlayer/client': 0.3.4(esbuild@0.20.2) + '@contentlayer/core': 0.3.4(esbuild@0.20.2) + '@contentlayer/source-files': 0.3.4(esbuild@0.20.2) + '@contentlayer/source-remote-files': 0.3.4(esbuild@0.20.2) '@contentlayer/utils': 0.3.4 transitivePeerDependencies: - '@effect-ts/otel-node' @@ -5836,7 +6043,7 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 dev: false /debug@4.3.4: @@ -6090,8 +6297,8 @@ packages: semver: 7.6.0 dev: false - /electron-to-chromium@1.4.713: - resolution: {integrity: sha512-vDarADhwntXiULEdmWd77g2dV6FrNGa8ecAC29MZ4TwPut2fvosD0/5sJd1qWNNe8HcJFAC+F5Lf9jW1NPtWmw==} + /electron-to-chromium@1.4.717: + resolution: {integrity: sha512-6Fmg8QkkumNOwuZ/5mIbMU9WI3H2fmn5ajcVya64I5Yr5CcNmO7vcLt0Y7c96DCiMO5/9G+4sI2r6eEvdg1F7A==} /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -6157,53 +6364,6 @@ packages: is-arrayish: 0.2.1 dev: false - /es-abstract@1.22.5: - resolution: {integrity: sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - es-define-property: 1.0.0 - es-errors: 1.3.0 - es-set-tostringtag: 2.0.3 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.4 - get-symbol-description: 1.0.2 - globalthis: 1.0.3 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - internal-slot: 1.0.7 - is-array-buffer: 3.0.4 - is-callable: 1.2.7 - is-negative-zero: 2.0.3 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 - is-typed-array: 1.1.13 - is-weakref: 1.0.2 - object-inspect: 1.13.1 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.2 - safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.9 - string.prototype.trimend: 1.0.8 - string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.5 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 - dev: false - /es-abstract@1.23.2: resolution: {integrity: sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==} engines: {node: '>= 0.4'} @@ -6247,11 +6407,11 @@ packages: safe-regex-test: 1.0.3 string.prototype.trim: 1.2.9 string.prototype.trimend: 1.0.8 - string.prototype.trimstart: 1.0.7 + string.prototype.trimstart: 1.0.8 typed-array-buffer: 1.0.2 typed-array-byte-length: 1.0.1 typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.5 + typed-array-length: 1.0.6 unbox-primitive: 1.0.2 which-typed-array: 1.1.15 dev: false @@ -6288,8 +6448,8 @@ packages: safe-array-concat: 1.1.2 dev: false - /es-module-lexer@1.4.2: - resolution: {integrity: sha512-7nOqkomXZEaxUDJw21XZNtRk739QvrPSoZoRtbsEfcii00vdzZUh6zh1CQwHhrib8MdEtJfv5rJiGeb4KuV/vw==} + /es-module-lexer@1.5.0: + resolution: {integrity: sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==} dev: false /es-object-atoms@1.0.0: @@ -6354,6 +6514,37 @@ packages: '@esbuild/win32-x64': 0.19.11 dev: false + /esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + dev: false + /escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -6405,13 +6596,13 @@ packages: eslint-plugin-turbo: 1.10.12(eslint@8.57.0) dev: false - /eslint-config-turbo@1.12.5(eslint@8.57.0): - resolution: {integrity: sha512-wXytbX+vTzQ6rwgM6sIr447tjYJBlRj5V/eBFNGNXw5Xs1R715ppPYhbmxaFbkrWNQSGJsWRrYGAlyq0sT/OsQ==} + /eslint-config-turbo@1.13.0(eslint@8.57.0): + resolution: {integrity: sha512-xV13WrEjAJLeo6yqR1YEv5R5WPwNMyw8f4FlK2C4zWMr7e8ZiRg81jajltabEOZdeVboHIQ6gGn+FnSmgdVSSQ==} peerDependencies: eslint: '>6.6.0' dependencies: eslint: 8.57.0 - eslint-plugin-turbo: 1.12.5(eslint@8.57.0) + eslint-plugin-turbo: 1.13.0(eslint@8.57.0) dev: false /eslint-import-resolver-node@0.3.9: @@ -6424,7 +6615,7 @@ packages: - supports-color dev: false - /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.4.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} engines: {node: '>=4'} peerDependencies: @@ -6445,7 +6636,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.4.3) debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 @@ -6453,7 +6644,7 @@ packages: - supports-color dev: false - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0): + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.4.0)(eslint@8.57.0): resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: @@ -6463,7 +6654,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.4.3) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 @@ -6472,7 +6663,7 @@ packages: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.3.1)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.4.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -6541,7 +6732,7 @@ packages: minimatch: 3.1.2 object.entries: 1.1.8 object.fromentries: 2.0.8 - object.hasown: 1.1.3 + object.hasown: 1.1.4 object.values: 1.2.0 prop-types: 15.8.1 resolve: 2.0.0-next.5 @@ -6558,8 +6749,8 @@ packages: eslint: 8.57.0 dev: false - /eslint-plugin-turbo@1.12.5(eslint@8.57.0): - resolution: {integrity: sha512-cXy7mCzAdngBTJIWH4DASXHy0vQpujWDBqRTu0YYqCN/QEGsi3HWM+STZEbPYELdjtm5EsN2HshOSSqWnjdRHg==} + /eslint-plugin-turbo@1.13.0(eslint@8.57.0): + resolution: {integrity: sha512-y9YRXMSOc43SijAFFkDnrFpstV2k/w6Qmbr5mO/w7tUGzDWkHc87btLa0e/L2PJxod5bzNwsmzeyj8c/AsMMCQ==} peerDependencies: eslint: '>6.6.0' dependencies: @@ -7057,7 +7248,7 @@ packages: foreground-child: 3.1.1 jackspeak: 2.3.6 minimatch: 9.0.3 - minipass: 5.0.0 + minipass: 7.0.4 path-scurry: 1.10.1 /glob@10.3.4: @@ -7068,7 +7259,7 @@ packages: foreground-child: 3.1.1 jackspeak: 2.3.6 minimatch: 9.0.3 - minipass: 5.0.0 + minipass: 7.0.4 path-scurry: 1.10.1 dev: false @@ -7484,8 +7675,8 @@ packages: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} - /imagescript@1.2.18: - resolution: {integrity: sha512-8AwTawraXovLo2PgKvFt96SZqJDwl0CnHDyrtoPUQHMmoA7u9M8EnqFZwCofSM+Uo623Z580iKW74bs2fzjoYQ==} + /imagescript@1.3.0: + resolution: {integrity: sha512-lCYzQrWzdnA68K03oMj/BUlBJrVBnslzDOgGFymAp49NmdGEJxGeN7sHh5mCva0nQkq+kkKSuru2zLf1m04+3A==} engines: {node: '>=14.0.0'} dev: false @@ -8355,17 +8546,17 @@ packages: '@types/mdast': 3.0.15 dev: false - /mdx-bundler@9.2.1(esbuild@0.19.11): + /mdx-bundler@9.2.1(esbuild@0.20.2): resolution: {integrity: sha512-hWEEip1KU9MCNqeH2rqwzAZ1pdqPPbfkx9OTJjADqGPQz4t9BO85fhI7AP9gVYrpmfArf9/xJZUN0yBErg/G/Q==} engines: {node: '>=14', npm: '>=6'} peerDependencies: esbuild: 0.* dependencies: '@babel/runtime': 7.24.1 - '@esbuild-plugins/node-resolve': 0.1.4(esbuild@0.19.11) + '@esbuild-plugins/node-resolve': 0.1.4(esbuild@0.20.2) '@fal-works/esbuild-plugin-global-externals': 2.1.2 - '@mdx-js/esbuild': 2.3.0(esbuild@0.19.11) - esbuild: 0.19.11 + '@mdx-js/esbuild': 2.3.0(esbuild@0.20.2) + esbuild: 0.20.2 gray-matter: 4.0.3 remark-frontmatter: 4.0.1 remark-mdx-frontmatter: 1.1.1 @@ -8755,6 +8946,11 @@ packages: /minipass@5.0.0: resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} + dev: false + + /minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} @@ -8790,6 +8986,10 @@ packages: /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false + /mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true @@ -8822,7 +9022,7 @@ packages: engines: {node: '>= 0.4.0'} dev: true - /next-contentlayer@0.3.4(contentlayer@0.3.4)(esbuild@0.19.11)(next@14.2.0-canary.43)(react-dom@18.2.0)(react@18.2.0): + /next-contentlayer@0.3.4(contentlayer@0.3.4)(esbuild@0.20.2)(next@14.2.0-canary.43)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-UtUCwgAl159KwfhNaOwyiI7Lg6sdioyKMeh+E7jxx0CJ29JuXGxBEYmCI6+72NxFGIFZKx8lvttbbQhbnYWYSw==} peerDependencies: contentlayer: 0.3.4 @@ -8830,9 +9030,9 @@ packages: react: '*' react-dom: '*' dependencies: - '@contentlayer/core': 0.3.4(esbuild@0.19.11) + '@contentlayer/core': 0.3.4(esbuild@0.20.2) '@contentlayer/utils': 0.3.4 - contentlayer: 0.3.4(esbuild@0.19.11) + contentlayer: 0.3.4(esbuild@0.20.2) next: 14.2.0-canary.43(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -8887,7 +9087,7 @@ packages: '@next/env': 14.1.0 '@swc/helpers': 0.5.2 busboy: 1.6.0 - caniuse-lite: 1.0.30001599 + caniuse-lite: 1.0.30001600 graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.2.0 @@ -8926,7 +9126,7 @@ packages: '@next/env': 14.1.4 '@swc/helpers': 0.5.2 busboy: 1.6.0 - caniuse-lite: 1.0.30001599 + caniuse-lite: 1.0.30001600 graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.2.0 @@ -8969,7 +9169,7 @@ packages: '@opentelemetry/api': 1.8.0 '@swc/helpers': 0.5.5 busboy: 1.6.0 - caniuse-lite: 1.0.30001599 + caniuse-lite: 1.0.30001600 graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.2.0 @@ -9139,11 +9339,13 @@ packages: es-abstract: 1.23.2 dev: false - /object.hasown@1.1.3: - resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} + /object.hasown@1.1.4: + resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} + engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.1 - es-abstract: 1.22.5 + es-abstract: 1.23.2 + es-object-atoms: 1.0.0 dev: false /object.values@1.2.0: @@ -9171,8 +9373,8 @@ packages: dependencies: mimic-fn: 2.1.0 - /oo-ascii-tree@1.95.0: - resolution: {integrity: sha512-e9LWcjDtQIwFHICbeAjv2+RGJUFu3+A6oTjpymH+gfxATqPqcUV5oeGON9a/1uBr8Q0bc2/yEHVp1A/dp1iaog==} + /oo-ascii-tree@1.96.0: + resolution: {integrity: sha512-Brydgf51AsjF2Ojp9myMm05DhYXaazQWNpyWKsP6OWgUI6zBeYDintk0vtoxq5Xu3GxtxRcxlIIzPURq/da86g==} engines: {node: '>= 14.17.0'} dev: false @@ -9391,7 +9593,7 @@ packages: engines: {node: '>=16 || 14 >=14.17'} dependencies: lru-cache: 10.2.0 - minipass: 5.0.0 + minipass: 7.0.4 /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} @@ -9546,7 +9748,7 @@ packages: dependencies: nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.2.0 + source-map-js: 1.0.2 dev: false /prelude-ls@1.2.1: @@ -9769,15 +9971,15 @@ packages: hasBin: true dependencies: '@radix-ui/colors': 1.0.1 - '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-popover': 1.0.6(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.67)(react@18.2.0) - '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-tooltip': 1.0.6(@types/react-dom@18.2.22)(@types/react@18.2.67)(react-dom@18.2.0)(react@18.2.0) - '@react-email/components': 0.0.15(@types/react@18.2.67)(react-email@2.1.0)(react@18.2.0) + '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-popover': 1.0.6(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-tooltip': 1.0.6(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + '@react-email/components': 0.0.15(@types/react@18.2.71)(react-email@2.1.0)(react@18.2.0) '@react-email/render': 0.0.12 '@swc/core': 1.3.101 - '@types/react': 18.2.67 + '@types/react': 18.2.71 '@types/react-dom': 18.2.22 '@types/webpack': 5.28.5(@swc/core@1.3.101)(esbuild@0.19.11) autoprefixer: 10.4.14(postcss@8.4.35) @@ -9856,7 +10058,7 @@ packages: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: false - /react-remove-scroll-bar@2.3.6(@types/react@18.2.67)(react@18.2.0): + /react-remove-scroll-bar@2.3.6(@types/react@18.2.71)(react@18.2.0): resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} engines: {node: '>=10'} peerDependencies: @@ -9866,13 +10068,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.67 + '@types/react': 18.2.71 react: 18.2.0 - react-style-singleton: 2.2.1(@types/react@18.2.67)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.71)(react@18.2.0) tslib: 2.6.2 dev: false - /react-remove-scroll@2.5.4(@types/react@18.2.67)(react@18.2.0): + /react-remove-scroll@2.5.4(@types/react@18.2.71)(react@18.2.0): resolution: {integrity: sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA==} engines: {node: '>=10'} peerDependencies: @@ -9882,16 +10084,16 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.67 + '@types/react': 18.2.71 react: 18.2.0 - react-remove-scroll-bar: 2.3.6(@types/react@18.2.67)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.2.67)(react@18.2.0) + react-remove-scroll-bar: 2.3.6(@types/react@18.2.71)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.71)(react@18.2.0) tslib: 2.6.2 - use-callback-ref: 1.3.2(@types/react@18.2.67)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.67)(react@18.2.0) + use-callback-ref: 1.3.2(@types/react@18.2.71)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.2.71)(react@18.2.0) dev: false - /react-remove-scroll@2.5.5(@types/react@18.2.67)(react@18.2.0): + /react-remove-scroll@2.5.5(@types/react@18.2.71)(react@18.2.0): resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} engines: {node: '>=10'} peerDependencies: @@ -9901,17 +10103,17 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.67 + '@types/react': 18.2.71 react: 18.2.0 - react-remove-scroll-bar: 2.3.6(@types/react@18.2.67)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.2.67)(react@18.2.0) + react-remove-scroll-bar: 2.3.6(@types/react@18.2.71)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.71)(react@18.2.0) tslib: 2.6.2 - use-callback-ref: 1.3.2(@types/react@18.2.67)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.67)(react@18.2.0) + use-callback-ref: 1.3.2(@types/react@18.2.71)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.2.71)(react@18.2.0) dev: false - /react-smooth@4.0.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-2NMXOBY1uVUQx1jBeENGA497HK20y6CPGYL1ZnJLeoQ8rrc3UfmOM82sRxtzpcoCkUMy4CS0RGylfuVhuFjBgg==} + /react-smooth@4.0.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-OE4hm7XqR0jNOq3Qmk9mFLyd6p2+j6bvbPJ7qlB7+oo0eNcL2l7WQzG6MBnT3EXY6xzkLMUBec3AfewJdA0J8w==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -9923,7 +10125,7 @@ packages: react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0) dev: false - /react-style-singleton@2.2.1(@types/react@18.2.67)(react@18.2.0): + /react-style-singleton@2.2.1(@types/react@18.2.71)(react@18.2.0): resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} peerDependencies: @@ -9933,7 +10135,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.67 + '@types/react': 18.2.71 get-nonce: 1.0.1 invariant: 2.2.4 react: 18.2.0 @@ -10057,7 +10259,7 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-is: 16.13.1 - react-smooth: 4.0.0(react-dom@18.2.0)(react@18.2.0) + react-smooth: 4.0.1(react-dom@18.2.0)(react@18.2.0) recharts-scale: 0.4.5 tiny-invariant: 1.3.3 victory-vendor: 36.9.2 @@ -10722,12 +10924,13 @@ packages: es-object-atoms: 1.0.0 dev: false - /string.prototype.trimstart@1.0.7: - resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + /string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.2 + es-object-atoms: 1.0.0 dev: false /string_decoder@1.3.0: @@ -10791,8 +10994,8 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - /stripe@14.21.0: - resolution: {integrity: sha512-PFmpl35Myn6UDdVLTHcuppdbkPVvlQfkMHOmgGZh5QOdSUxVmvz090Z4obLg8ta1MNs1PNpzr9i7E39iAIv07A==} + /stripe@14.22.0: + resolution: {integrity: sha512-Pj8SAdTNjMq42UnWzBTTy8KMQ8qbQoVemPHbw3x+rHvwq1Psg9UFPT58j54F5os/SCgUAOZSEMcUedvzIDuqvw==} engines: {node: '>=12.*'} dependencies: '@types/node': 20.11.30 @@ -10835,8 +11038,8 @@ packages: pirates: 4.0.6 ts-interface-checker: 0.1.13 - /supabase@1.150.0: - resolution: {integrity: sha512-hjyXukIww6Jc37Wq9urUldS61a7lZdw6J8Ky/TaScGFqTsO4DbPXUoOxHHaWYSM2ucV+4ejNZ5jYpAGmorApkA==} + /supabase@1.151.1: + resolution: {integrity: sha512-fl4h9mgG3z+bQ7UntymT30yqvOPJ4AfiCDKvDCFAdpkDhiozSfQqh1LwytEQSqMpgt6PEAcDJdYEbvholqPKOQ==} engines: {npm: '>=8'} hasBin: true requiresBuild: true @@ -10844,7 +11047,7 @@ packages: bin-links: 4.0.3 https-proxy-agent: 7.0.4 node-fetch: 3.3.2 - tar: 6.2.0 + tar: 6.2.1 transitivePeerDependencies: - supports-color dev: false @@ -10910,7 +11113,7 @@ packages: dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 - chokidar: 3.6.0 + chokidar: 3.5.3 didyoumean: 1.2.2 dlv: 1.1.3 fast-glob: 3.3.2 @@ -10969,8 +11172,8 @@ packages: engines: {node: '>=6'} dev: false - /tar@6.2.0: - resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} + /tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 @@ -11147,7 +11350,7 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.10 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 @@ -11319,8 +11522,8 @@ packages: is-typed-array: 1.1.13 dev: false - /typed-array-length@1.0.5: - resolution: {integrity: sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==} + /typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 @@ -11505,7 +11708,7 @@ packages: dependencies: punycode: 2.3.1 - /use-callback-ref@1.3.2(@types/react@18.2.67)(react@18.2.0): + /use-callback-ref@1.3.2(@types/react@18.2.71)(react@18.2.0): resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} engines: {node: '>=10'} peerDependencies: @@ -11515,12 +11718,12 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.67 + '@types/react': 18.2.71 react: 18.2.0 tslib: 2.6.2 dev: false - /use-sidecar@1.1.2(@types/react@18.2.67)(react@18.2.0): + /use-sidecar@1.1.2(@types/react@18.2.71)(react@18.2.0): resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} engines: {node: '>=10'} peerDependencies: @@ -11530,7 +11733,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.67 + '@types/react': 18.2.71 detect-node-es: 1.1.0 react: 18.2.0 tslib: 2.6.2 @@ -11718,7 +11921,7 @@ packages: browserslist: 4.23.0 chrome-trace-event: 1.0.3 enhanced-resolve: 5.16.0 - es-module-lexer: 1.4.2 + es-module-lexer: 1.5.0 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1