diff --git a/apps/web/app/(dashboard)/home/[account]/_components/app-sidebar.tsx b/apps/web/app/(dashboard)/home/[account]/_components/app-sidebar.tsx
index ef7fd5fc9..652474e27 100644
--- a/apps/web/app/(dashboard)/home/[account]/_components/app-sidebar.tsx
+++ b/apps/web/app/(dashboard)/home/[account]/_components/app-sidebar.tsx
@@ -30,8 +30,8 @@ type AccountModel = {
};
const features = {
- enableOrganizationAccounts: featureFlagsConfig.enableOrganizationAccounts,
- enableOrganizationCreation: featureFlagsConfig.enableOrganizationCreation,
+ enableTeamAccounts: featureFlagsConfig.enableTeamAccounts,
+ enableTeamCreation: featureFlagsConfig.enableTeamCreation,
};
export function AppSidebar(props: {
diff --git a/apps/web/app/(dashboard)/home/[account]/_components/mobile-app-navigation.tsx b/apps/web/app/(dashboard)/home/[account]/_components/mobile-app-navigation.tsx
index 106a8be1e..0c2b79a8d 100644
--- a/apps/web/app/(dashboard)/home/[account]/_components/mobile-app-navigation.tsx
+++ b/apps/web/app/(dashboard)/home/[account]/_components/mobile-app-navigation.tsx
@@ -27,6 +27,11 @@ import featureFlagsConfig from '~/config/feature-flags.config';
import { getOrganizationAccountSidebarConfig } from '~/config/organization-account-sidebar.config';
import pathsConfig from '~/config/paths.config';
+const features = {
+ enableTeamAccounts: featureFlagsConfig.enableTeamAccounts,
+ enableTeamCreation: featureFlagsConfig.enableTeamCreation,
+};
+
export const MobileAppNavigation = (
props: React.PropsWithChildren<{
slug: string;
@@ -161,12 +166,7 @@ function OrganizationsModal() {
router.replace(path);
}}
accounts={[]}
- features={{
- enableOrganizationAccounts:
- featureFlagsConfig.enableOrganizationAccounts,
- enableOrganizationCreation:
- featureFlagsConfig.enableOrganizationCreation,
- }}
+ features={features}
/>
diff --git a/apps/web/app/(dashboard)/home/[account]/_lib/load-workspace.ts b/apps/web/app/(dashboard)/home/[account]/_lib/load-team-account-workspace.ts
similarity index 95%
rename from apps/web/app/(dashboard)/home/[account]/_lib/load-workspace.ts
rename to apps/web/app/(dashboard)/home/[account]/_lib/load-team-account-workspace.ts
index 865a5cd1e..e287e8065 100644
--- a/apps/web/app/(dashboard)/home/[account]/_lib/load-workspace.ts
+++ b/apps/web/app/(dashboard)/home/[account]/_lib/load-team-account-workspace.ts
@@ -17,7 +17,7 @@ import pathsConfig from '~/config/paths.config';
*
* @param accountSlug
*/
-export const loadOrganizationWorkspace = cache(async (accountSlug: string) => {
+export const loadTeamWorkspace = cache(async (accountSlug: string) => {
const client = getSupabaseServerComponentClient();
const accountPromise = client.rpc('organization_account_workspace', {
diff --git a/apps/web/app/(dashboard)/home/[account]/billing/page.tsx b/apps/web/app/(dashboard)/home/[account]/billing/page.tsx
index 1fd600aab..75a9ac0ae 100644
--- a/apps/web/app/(dashboard)/home/[account]/billing/page.tsx
+++ b/apps/web/app/(dashboard)/home/[account]/billing/page.tsx
@@ -8,7 +8,7 @@ import { If } from '@kit/ui/if';
import { PageBody, PageHeader } from '@kit/ui/page';
import { Trans } from '@kit/ui/trans';
-import { loadOrganizationWorkspace } from '~/(dashboard)/home/[account]/_lib/load-workspace';
+import { loadTeamWorkspace } from '~/(dashboard)/home/[account]/_lib/load-team-account-workspace';
import { createBillingPortalSession } from '~/(dashboard)/home/[account]/billing/server-actions';
import billingConfig from '~/config/billing.config';
import { withI18n } from '~/lib/i18n/with-i18n';
@@ -22,7 +22,7 @@ interface Params {
}
async function OrganizationAccountBillingPage({ params }: Params) {
- const workspace = await loadOrganizationWorkspace(params.account);
+ const workspace = await loadTeamWorkspace(params.account);
const accountId = workspace.account.id;
const [subscription, customerId] = await loadAccountData(accountId);
diff --git a/apps/web/app/(dashboard)/home/[account]/layout.tsx b/apps/web/app/(dashboard)/home/[account]/layout.tsx
index aa9f341a6..16d0c6df1 100644
--- a/apps/web/app/(dashboard)/home/[account]/layout.tsx
+++ b/apps/web/app/(dashboard)/home/[account]/layout.tsx
@@ -6,7 +6,7 @@ import { getSupabaseServerComponentClient } from '@kit/supabase/server-component
import { Page } from '@kit/ui/page';
import { AppSidebar } from '~/(dashboard)/home/[account]/_components/app-sidebar';
-import { loadOrganizationWorkspace } from '~/(dashboard)/home/[account]/_lib/load-workspace';
+import { loadTeamWorkspace } from '~/(dashboard)/home/[account]/_lib/load-team-account-workspace';
import { withI18n } from '~/lib/i18n/with-i18n';
interface Params {
@@ -20,7 +20,7 @@ function OrganizationWorkspaceLayout({
params: Params;
}>) {
const [data, session] = use(
- Promise.all([loadOrganizationWorkspace(params.account), loadSession()]),
+ Promise.all([loadTeamWorkspace(params.account), loadSession()]),
);
const ui = getUIStateCookies();
diff --git a/apps/web/app/(dashboard)/home/[account]/members/page.tsx b/apps/web/app/(dashboard)/home/[account]/members/page.tsx
index 2ba595b87..42d73b816 100644
--- a/apps/web/app/(dashboard)/home/[account]/members/page.tsx
+++ b/apps/web/app/(dashboard)/home/[account]/members/page.tsx
@@ -17,7 +17,7 @@ import {
import { PageBody, PageHeader } from '@kit/ui/page';
import { Trans } from '@kit/ui/trans';
-import { loadOrganizationWorkspace } from '~/(dashboard)/home/[account]/_lib/load-workspace';
+import { loadTeamWorkspace } from '~/(dashboard)/home/[account]/_lib/load-team-account-workspace';
import { withI18n } from '~/lib/i18n/with-i18n';
interface Params {
@@ -60,7 +60,7 @@ async function OrganizationAccountMembersPage({ params }: Params) {
const slug = params.account;
const [{ account, user }, members, invitations] = await Promise.all([
- loadOrganizationWorkspace(slug),
+ loadTeamWorkspace(slug),
loadAccountMembers(slug),
loadInvitations(slug),
]);
diff --git a/apps/web/app/(dashboard)/home/[account]/settings/page.tsx b/apps/web/app/(dashboard)/home/[account]/settings/page.tsx
new file mode 100644
index 000000000..4d9967afc
--- /dev/null
+++ b/apps/web/app/(dashboard)/home/[account]/settings/page.tsx
@@ -0,0 +1,62 @@
+import { TeamAccountSettingsContainer } from '@kit/team-accounts/components';
+import { PageBody, PageHeader } from '@kit/ui/page';
+import { Trans } from '@kit/ui/trans';
+
+import { loadTeamWorkspace } from '~/(dashboard)/home/[account]/_lib/load-team-account-workspace';
+import pathsConfig from '~/config/paths.config';
+import { createI18nServerInstance } from '~/lib/i18n/i18n.server';
+
+export const generateMetadata = async () => {
+ const i18n = await createI18nServerInstance();
+ const title = i18n.t('accounts:settings:pageTitle');
+
+ return {
+ title,
+ };
+};
+
+interface Props {
+ params: {
+ account: string;
+ };
+}
+
+const paths = {
+ teamAccountSettings: pathsConfig.app.accountSettings,
+};
+
+async function TeamAccountSettingsPage(props: Props) {
+ const data = await loadTeamWorkspace(props.params.account);
+ const account = {
+ id: data.account.id,
+ name: data.account.name,
+ pictureUrl: data.account.picture_url,
+ slug: data.account.slug,
+ primaryOwnerUserId: data.account.primary_owner_user_id,
+ };
+
+ return (
+ <>
+ }
+ description={}
+ />
+
+
+
+
+
+
+ >
+ );
+}
+
+export default TeamAccountSettingsPage;
diff --git a/apps/web/app/(dashboard)/home/_components/home-sidebar-account-selector.tsx b/apps/web/app/(dashboard)/home/_components/home-sidebar-account-selector.tsx
index 14806229c..18516bb0b 100644
--- a/apps/web/app/(dashboard)/home/_components/home-sidebar-account-selector.tsx
+++ b/apps/web/app/(dashboard)/home/_components/home-sidebar-account-selector.tsx
@@ -8,8 +8,8 @@ import featureFlagsConfig from '~/config/feature-flags.config';
import pathsConfig from '~/config/paths.config';
const features = {
- enableOrganizationAccounts: featureFlagsConfig.enableOrganizationAccounts,
- enableOrganizationCreation: featureFlagsConfig.enableOrganizationCreation,
+ enableTeamAccounts: featureFlagsConfig.enableTeamAccounts,
+ enableTeamCreation: featureFlagsConfig.enableTeamCreation,
};
export function HomeSidebarAccountSelector(props: {
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 5e1753c30..d39f04976 100644
--- a/apps/web/app/(marketing)/_components/site-header-account-section.tsx
+++ b/apps/web/app/(marketing)/_components/site-header-account-section.tsx
@@ -1,7 +1,5 @@
'use client';
-import { Suspense } from 'react';
-
import Link from 'next/link';
import type { Session } from '@supabase/supabase-js';
diff --git a/apps/web/app/layout.tsx b/apps/web/app/layout.tsx
index 5d3db81d4..fefb88ed7 100644
--- a/apps/web/app/layout.tsx
+++ b/apps/web/app/layout.tsx
@@ -23,13 +23,12 @@ export default async function RootLayout({
}: {
children: React.ReactNode;
}) {
- const i18n = await createI18nServerInstance();
- const lang = i18n.language;
+ const { language } = await createI18nServerInstance();
return (
-
+
- {children}
+ {children}
diff --git a/apps/web/config/feature-flags.config.ts b/apps/web/config/feature-flags.config.ts
index 9dde03afd..43dbbcade 100644
--- a/apps/web/config/feature-flags.config.ts
+++ b/apps/web/config/feature-flags.config.ts
@@ -3,11 +3,11 @@ import { z } from 'zod';
const FeatureFlagsSchema = z.object({
enableThemeSwitcher: z.boolean(),
enableAccountDeletion: z.boolean(),
- enableOrganizationDeletion: z.boolean(),
- enableOrganizationAccounts: z.boolean(),
- enableOrganizationCreation: z.boolean(),
+ enableTeamDeletion: z.boolean(),
+ enableTeamAccounts: z.boolean(),
+ enableTeamCreation: z.boolean(),
enablePersonalAccountBilling: z.boolean(),
- enableOrganizationBilling: z.boolean(),
+ enableTeamAccountBilling: z.boolean(),
});
const featuresFlagConfig = FeatureFlagsSchema.parse({
@@ -16,23 +16,23 @@ const featuresFlagConfig = FeatureFlagsSchema.parse({
process.env.NEXT_PUBLIC_ENABLE_ACCOUNT_DELETION,
false,
),
- enableOrganizationDeletion: getBoolean(
- process.env.NEXT_PUBLIC_ENABLE_ORGANIZATION_DELETION,
+ enableTeamDeletion: getBoolean(
+ process.env.NEXT_PUBLIC_ENABLE_TEAM_DELETION,
false,
),
- enableOrganizationAccounts: getBoolean(
- process.env.NEXT_PUBLIC_ENABLE_ORGANIZATION_ACCOUNTS,
+ enableTeamAccounts: getBoolean(
+ process.env.NEXT_PUBLIC_ENABLE_TEAM_ACCOUNTS,
true,
),
- enableOrganizationCreation: getBoolean(
- process.env.NEXT_PUBLIC_ENABLE_ORGANIZATION_CREATION,
+ enableTeamCreation: getBoolean(
+ process.env.NEXT_PUBLIC_ENABLE_TEAMS_CREATION,
true,
),
enablePersonalAccountBilling: getBoolean(
process.env.NEXT_PUBLIC_ENABLE_PERSONAL_ACCOUNT_BILLING,
false,
),
- enableOrganizationBilling: getBoolean(
+ enableTeamAccountBilling: getBoolean(
process.env.NEXT_PUBLIC_ENABLE_ORGANIZATION_BILLING,
false,
),
diff --git a/apps/web/package.json b/apps/web/package.json
index af471b38c..71c7379ef 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -17,31 +17,31 @@
"dependencies": {
"@epic-web/invariant": "^1.0.0",
"@hookform/resolvers": "^3.3.4",
- "@kit/accounts": "^0.1.0",
- "@kit/admin": "^0.1.0",
- "@kit/auth": "^0.1.0",
- "@kit/billing": "^0.1.0",
- "@kit/billing-gateway": "^0.1.0",
- "@kit/email-templates": "^0.1.0",
- "@kit/i18n": "^0.1.0",
- "@kit/mailers": "^0.1.0",
- "@kit/shared": "^0.1.0",
- "@kit/supabase": "^0.1.0",
- "@kit/team-accounts": "^0.1.0",
- "@kit/ui": "^0.1.0",
- "@next/mdx": "^14.1.0",
+ "@kit/accounts": "workspace:^",
+ "@kit/admin": "workspace:^",
+ "@kit/auth": "workspace:^",
+ "@kit/billing": "workspace:^",
+ "@kit/billing-gateway": "workspace:^",
+ "@kit/email-templates": "workspace:^",
+ "@kit/i18n": "workspace:^",
+ "@kit/mailers": "workspace:^",
+ "@kit/shared": "workspace:^",
+ "@kit/supabase": "workspace:^",
+ "@kit/team-accounts": "workspace:^",
+ "@kit/ui": "workspace:^",
+ "@next/mdx": "^14.1.4",
"@radix-ui/react-icons": "^1.3.0",
"@supabase/ssr": "^0.1.0",
"@supabase/supabase-js": "^2.40.0",
"@tanstack/react-query": "5.28.6",
- "@tanstack/react-query-next-experimental": "^5.28.6",
- "@tanstack/react-table": "^8.11.3",
+ "@tanstack/react-query-next-experimental": "^5.28.9",
+ "@tanstack/react-table": "^8.15.0",
"contentlayer": "0.3.4",
- "date-fns": "^3.2.0",
+ "date-fns": "^3.6.0",
"edge-csrf": "^1.0.9",
"i18next": "^23.10.1",
"i18next-resources-to-backend": "^1.2.0",
- "next": "14.2.0-canary.44",
+ "next": "14.2.0-canary.46",
"next-contentlayer": "0.3.4",
"next-sitemap": "^4.2.3",
"next-themes": "^0.2.1",
@@ -49,7 +49,7 @@
"react-dom": "18.2.0",
"react-hook-form": "^7.51.2",
"react-i18next": "^14.1.0",
- "recharts": "^2.10.3",
+ "recharts": "^2.12.3",
"rehype-autolink-headings": "^7.1.0",
"rehype-slug": "^6.0.0",
"sonner": "^1.4.41",
@@ -57,21 +57,21 @@
"zod": "^3.22.4"
},
"devDependencies": {
- "@kit/eslint-config": "^0.2.0",
- "@kit/prettier-config": "^0.1.0",
- "@kit/tailwind-config": "^0.1.0",
- "@kit/tsconfig": "^0.1.0",
+ "@kit/eslint-config": "workspace:^",
+ "@kit/prettier-config": "workspace:^",
+ "@kit/tailwind-config": "workspace:^",
+ "@kit/tsconfig": "workspace:^",
"@next/bundle-analyzer": "14.2.0-canary.44",
- "@types/mdx": "^2.0.10",
- "@types/node": "^20.11.5",
- "@types/react": "^18.2.48",
- "@types/react-dom": "^18.2.18",
- "autoprefixer": "^10.4.17",
- "dotenv-cli": "^7.3.0",
- "eslint": "^8.56.0",
- "prettier": "^3.2.4",
+ "@types/mdx": "^2.0.12",
+ "@types/node": "^20.11.30",
+ "@types/react": "^18.2.73",
+ "@types/react-dom": "^18.2.22",
+ "autoprefixer": "^10.4.19",
+ "dotenv-cli": "^7.4.1",
+ "eslint": "^8.57.0",
+ "prettier": "^3.2.5",
"tailwindcss": "3.4.1",
- "typescript": "^5.3.3"
+ "typescript": "^5.4.3"
},
"eslintConfig": {
"root": true,
diff --git a/apps/web/public/locales/en/teams.json b/apps/web/public/locales/en/teams.json
index b9a8b8a47..67ba54d3c 100644
--- a/apps/web/public/locales/en/teams.json
+++ b/apps/web/public/locales/en/teams.json
@@ -1,18 +1,24 @@
{
- "generalTabLabel": "General",
- "generalTabLabelSubheading": "Manage your Organization",
+ "settings": {
+ "pageTitle": "Settings",
+ "pageDescription": "Manage your Team details"
+ },
+ "yourTeam": "Your Teams",
+ "createTeam": "Create Team",
"membersTabLabel": "Members",
"emailSettingsTab": "Email",
"membersTabSubheading": "Manage and Invite members",
- "inviteMembersPageSubheading": "Invite members to your organization",
- "createOrganizationModalHeading": "Create Organization",
- "organizationNameLabel": "Organization Name",
- "createOrganizationSubmitLabel": "Create Organization",
- "createOrganizationSuccess": "Organization created successfully",
- "createOrganizationError": "Organization not created. Please try again.",
- "createOrganizationLoading": "Creating organization...",
+ "inviteMembersPageSubheading": "Invite members to your Team",
+ "createTeamModalHeading": "Create Team",
+ "createTeamModalDescription": "Create a new Team to manage your projects and members.",
+ "teamNameLabel": "Team Name",
+ "teamNameDescription": "Your team name should be unique and descriptive",
+ "createTeamSubmitLabel": "Create Team",
+ "createTeamSuccess": "Team created successfully",
+ "createTeamError": "Team not created. Please try again.",
+ "createTeamLoading": "Creating team...",
"settingsPageLabel": "General",
- "createOrganizationDropdownLabel": "New organization",
+ "createTeamDropdownLabel": "New team",
"changeRole": "Change Role",
"removeMember": "Remove",
"inviteMembersSuccess": "Members invited successfully!",
@@ -26,7 +32,7 @@
"removeMemberErrorMessage": "Sorry, we encountered an error. Please try again",
"removeMemberErrorHeading": "Sorry, we couldn't remove the selected member.",
"removeMemberLoadingMessage": "Removing member...",
- "removeMemberSubmitLabel": "Remove User from Organization",
+ "removeMemberSubmitLabel": "Remove User from Team",
"chooseDifferentRoleError": "Role is the same as the current one",
"updateRoleLoadingMessage": "Updating role...",
"updateRoleSuccessMessage": "Role updated successfully",
@@ -40,20 +46,20 @@
"deleteInviteErrorMessage": "Invite not deleted. Please try again.",
"deleteInviteLoadingMessage": "Deleting invite. Please wait...",
"confirmDeletingMemberInvite": "You are deleting the invite to {{ email }}",
- "transferOwnershipDisclaimer": "You are transferring ownership of the selected organization to {{ member }}.",
+ "transferOwnershipDisclaimer": "You are transferring ownership of the selected team to {{ member }}.",
"transferringOwnership": "Transferring ownership...",
"transferOwnershipSuccess": "Ownership successfully transferred",
"transferOwnershipError": "Sorry, we could not transfer ownership to the selected member. Please try again.",
"deleteInviteSubmitLabel": "Delete Invite",
"youBadgeLabel": "You",
- "updateOrganizationLoadingMessage": "Updating Organization...",
- "updateOrganizationSuccessMessage": "Organization successfully updated",
- "updateOrganizationErrorMessage": "Could not update Organization. Please try again.",
+ "updateTeamLoadingMessage": "Updating Team...",
+ "updateTeamSuccessMessage": "Team successfully updated",
+ "updateTeamErrorMessage": "Could not update Team. Please try again.",
"updateLogoErrorMessage": "Could not update Logo. Please try again.",
- "organizationNameInputLabel": "Organization Name",
- "organizationLogoInputHeading": "Upload your organization's Logo",
- "organizationLogoInputSubheading": "Please choose a photo to upload as your organization logo.",
- "updateOrganizationSubmitLabel": "Update Organization",
+ "teamNameInputLabel": "Team Name",
+ "teamLogoInputHeading": "Upload your team's Logo",
+ "teamLogoInputSubheading": "Please choose a photo to upload as your team logo.",
+ "updateTeamSubmitLabel": "Update Team",
"inviteMembersPageHeading": "Invite Members",
"goBackToMembersPage": "Go back to members",
"membersPageHeading": "Members",
@@ -62,31 +68,32 @@
"pendingInvitesSubheading": "Manage invites not yet accepted",
"noPendingInvites": "No pending invites found",
"loadingMembers": "Loading members...",
- "loadMembersError": "Sorry, we couldn't fetch your organization's members.",
- "loadInvitedMembersError": "Sorry, we couldn't fetch your organization's invited members.",
+ "loadMembersError": "Sorry, we couldn't fetch your team's members.",
+ "loadInvitedMembersError": "Sorry, we couldn't fetch your team's invited members.",
"loadingInvitedMembers": "Loading invited members...",
"invitedBadge": "Invited",
"duplicateInviteEmailError": "You have already entered this email address",
"invitingOwnAccountError": "Hey, that's your email!",
"dangerZone": "Danger Zone",
- "dangerZoneSubheading": "Delete or leave your organization",
- "deleteOrganization": "Delete Organization",
- "deleteOrganizationDescription": "This action cannot be undone. All data associated with this organization will be deleted.",
- "deletingOrganization": "Deleting organization",
- "deleteOrganizationModalHeading": "Deleting Organization",
- "deleteOrganizationInputField": "Type the name of the organization to confirm",
- "leaveOrganization": "Leave Organization",
- "leavingOrganizationModalHeading": "Leaving Organization",
- "leaveOrganizationDescription": "You will no longer have access to this organization.",
- "deleteOrganizationDisclaimer": "You are deleting the organization {{ organizationName }}. This action cannot be undone.",
- "leaveOrganizationDisclaimer": "You are leaving the organization {{ organizationName }}. You will no longer have access to it.",
- "deleteOrganizationErrorHeading": "Sorry, we couldn't delete your organization.",
- "leaveOrganizationErrorHeading": "Sorry, we couldn't leave your organization.",
+ "dangerZoneSubheading": "Delete or leave your team",
+ "deleteTeam": "Delete Team",
+ "deleteTeamDescription": "This action cannot be undone. All data associated with this team will be deleted.",
+ "deletingTeam": "Deleting team",
+ "deleteTeamModalHeading": "Deleting Team",
+ "deletingTeamDescription": "You are about to delete the team {{ teamName }}. This action cannot be undone.",
+ "deleteTeamInputField": "Type the name of the team to confirm",
+ "leaveTeam": "Leave Team",
+ "leavingTeamModalHeading": "Leaving Team",
+ "leaveTeamDescription": "You will no longer have access to this team.",
+ "deleteTeamDisclaimer": "You are deleting the team {{ teamName }}. This action cannot be undone.",
+ "leaveTeamDisclaimer": "You are leaving the team {{ teamName }}. You will no longer have access to it.",
+ "deleteTeamErrorHeading": "Sorry, we couldn't delete your team.",
+ "leaveTeamErrorHeading": "Sorry, we couldn't leave your team.",
"searchMembersPlaceholder": "Search members",
- "createOrganizationErrorHeading": "Sorry, we couldn't create your organization.",
- "createOrganizationErrorMessage": "We encountered an error creating your organization. Please try again.",
- "transferOrganizationErrorHeading": "Sorry, we couldn't transfer ownership of your organization.",
- "transferOrganizationErrorMessage": "We encountered an error transferring ownership of your organization. Please try again.",
+ "createTeamErrorHeading": "Sorry, we couldn't create your team.",
+ "createTeamErrorMessage": "We encountered an error creating your team. Please try again.",
+ "transferTeamErrorHeading": "Sorry, we couldn't transfer ownership of your team.",
+ "transferTeamErrorMessage": "We encountered an error transferring ownership of your team. Please try again.",
"updateRoleErrorHeading": "Sorry, we couldn't update the role of the selected member.",
"updateRoleErrorMessage": "We encountered an error updating the role of the selected member. Please try again."
}
diff --git a/package.json b/package.json
index 5d07b095c..8765ea0e3 100644
--- a/package.json
+++ b/package.json
@@ -35,11 +35,12 @@
"supabase"
],
"dependencies": {
- "@manypkg/cli": "^0.21.2",
- "@turbo/gen": "^1.11.3",
+ "@manypkg/cli": "^0.21.3",
+ "@turbo/gen": "^1.13.0",
"cross-env": "^7.0.3",
"pnpm": "^8.15.5",
- "prettier": "^3.2.4",
- "turbo": "^1.13.0"
+ "prettier": "^3.2.5",
+ "turbo": "^1.13.0",
+ "yarn": "^1.22.22"
}
}
diff --git a/packages/billing-gateway/package.json b/packages/billing-gateway/package.json
index 0fc405faa..82556995e 100644
--- a/packages/billing-gateway/package.json
+++ b/packages/billing-gateway/package.json
@@ -24,15 +24,15 @@
"zod": "^3.22.4"
},
"devDependencies": {
- "@kit/billing": "*",
- "@kit/eslint-config": "0.2.0",
- "@kit/prettier-config": "0.1.0",
- "@kit/shared": "*",
- "@kit/stripe": "*",
- "@kit/supabase": "*",
- "@kit/tailwind-config": "0.1.0",
- "@kit/tsconfig": "0.1.0",
- "@kit/ui": "*",
+ "@kit/billing": "^0.1.0",
+ "@kit/eslint-config": "workspace:*",
+ "@kit/prettier-config": "workspace:*",
+ "@kit/shared": "^0.1.0",
+ "@kit/stripe": "^0.1.0",
+ "@kit/supabase": "^0.1.0",
+ "@kit/tailwind-config": "workspace:*",
+ "@kit/tsconfig": "workspace:*",
+ "@kit/ui": "^0.1.0",
"@supabase/supabase-js": "^2.40.0",
"lucide-react": "^0.363.0",
"zod": "^3.22.4"
diff --git a/packages/billing-gateway/src/index.ts b/packages/billing-gateway/src/index.ts
index 55fbd53d3..abb2865b6 100644
--- a/packages/billing-gateway/src/index.ts
+++ b/packages/billing-gateway/src/index.ts
@@ -1,3 +1,4 @@
-export * from './services/billing-gateway/billing-gateway.service';
-export * from './services/billing-gateway/billing-gateway-provider-factory';
-export * from './services/billing-event-handler/billing-gateway-provider-factory';
+export * from './server/services/billing-gateway/billing-gateway.service';
+export * from './server/services/billing-gateway/billing-gateway-provider-factory';
+export * from './server/services/billing-event-handler/billing-gateway-provider-factory';
+export * from './server/services/account-billing.service';
diff --git a/packages/billing-gateway/src/server/services/account-billing.service.ts b/packages/billing-gateway/src/server/services/account-billing.service.ts
new file mode 100644
index 000000000..727e04e97
--- /dev/null
+++ b/packages/billing-gateway/src/server/services/account-billing.service.ts
@@ -0,0 +1,68 @@
+import { SupabaseClient } from '@supabase/supabase-js';
+
+import { Logger } from '@kit/shared/logger';
+import { Database } from '@kit/supabase/database';
+
+import { BillingGatewayService } from './billing-gateway/billing-gateway.service';
+
+export class AccountBillingService {
+ private readonly namespace = 'accounts.billing';
+
+ constructor(private readonly client: SupabaseClient) {}
+
+ async cancelAllAccountSubscriptions({
+ accountId,
+ userId,
+ }: {
+ accountId: string;
+ userId: string;
+ }) {
+ Logger.info(
+ {
+ userId,
+ accountId,
+ name: this.namespace,
+ },
+ 'Cancelling all subscriptions for account...',
+ );
+
+ const { data: subscriptions } = await this.client
+ .from('subscriptions')
+ .select('*')
+ .eq('account_id', accountId);
+
+ const cancellationRequests = [];
+
+ Logger.info(
+ {
+ userId,
+ subscriptions: subscriptions?.length ?? 0,
+ name: this.namespace,
+ },
+ 'Cancelling all account subscriptions...',
+ );
+
+ for (const subscription of subscriptions ?? []) {
+ const gateway = new BillingGatewayService(subscription.billing_provider);
+
+ cancellationRequests.push(
+ gateway.cancelSubscription({
+ subscriptionId: subscription.id,
+ invoiceNow: true,
+ }),
+ );
+ }
+
+ // execute all cancellation requests
+ await Promise.all(cancellationRequests);
+
+ Logger.info(
+ {
+ userId,
+ subscriptions: subscriptions?.length ?? 0,
+ name: this.namespace,
+ },
+ 'Subscriptions cancelled successfully',
+ );
+ }
+}
diff --git a/packages/billing-gateway/src/services/billing-event-handler/billing-event-handler.service.ts b/packages/billing-gateway/src/server/services/billing-event-handler/billing-event-handler.service.ts
similarity index 100%
rename from packages/billing-gateway/src/services/billing-event-handler/billing-event-handler.service.ts
rename to packages/billing-gateway/src/server/services/billing-event-handler/billing-event-handler.service.ts
diff --git a/packages/billing-gateway/src/services/billing-event-handler/billing-gateway-factory.service.ts b/packages/billing-gateway/src/server/services/billing-event-handler/billing-gateway-factory.service.ts
similarity index 100%
rename from packages/billing-gateway/src/services/billing-event-handler/billing-gateway-factory.service.ts
rename to packages/billing-gateway/src/server/services/billing-event-handler/billing-gateway-factory.service.ts
diff --git a/packages/billing-gateway/src/services/billing-event-handler/billing-gateway-provider-factory.ts b/packages/billing-gateway/src/server/services/billing-event-handler/billing-gateway-provider-factory.ts
similarity index 100%
rename from packages/billing-gateway/src/services/billing-event-handler/billing-gateway-provider-factory.ts
rename to packages/billing-gateway/src/server/services/billing-event-handler/billing-gateway-provider-factory.ts
diff --git a/packages/billing-gateway/src/services/billing-gateway/billing-gateway-factory.service.ts b/packages/billing-gateway/src/server/services/billing-gateway/billing-gateway-factory.service.ts
similarity index 100%
rename from packages/billing-gateway/src/services/billing-gateway/billing-gateway-factory.service.ts
rename to packages/billing-gateway/src/server/services/billing-gateway/billing-gateway-factory.service.ts
diff --git a/packages/billing-gateway/src/services/billing-gateway/billing-gateway-provider-factory.ts b/packages/billing-gateway/src/server/services/billing-gateway/billing-gateway-provider-factory.ts
similarity index 100%
rename from packages/billing-gateway/src/services/billing-gateway/billing-gateway-provider-factory.ts
rename to packages/billing-gateway/src/server/services/billing-gateway/billing-gateway-provider-factory.ts
diff --git a/packages/billing-gateway/src/services/billing-gateway/billing-gateway.service.ts b/packages/billing-gateway/src/server/services/billing-gateway/billing-gateway.service.ts
similarity index 100%
rename from packages/billing-gateway/src/services/billing-gateway/billing-gateway.service.ts
rename to packages/billing-gateway/src/server/services/billing-gateway/billing-gateway.service.ts
diff --git a/packages/billing/package.json b/packages/billing/package.json
index 993c2951c..eabe42088 100644
--- a/packages/billing/package.json
+++ b/packages/billing/package.json
@@ -21,12 +21,12 @@
"zod": "^3.22.4"
},
"devDependencies": {
- "@kit/eslint-config": "0.2.0",
- "@kit/prettier-config": "0.1.0",
- "@kit/supabase": "0.1.0",
- "@kit/tailwind-config": "0.1.0",
- "@kit/tsconfig": "0.1.0",
- "@kit/ui": "0.1.0",
+ "@kit/eslint-config": "workspace:*",
+ "@kit/prettier-config": "workspace:*",
+ "@kit/supabase": "workspace:*",
+ "@kit/tailwind-config": "workspace:*",
+ "@kit/tsconfig": "workspace:*",
+ "@kit/ui": "workspace:*",
"lucide-react": "^0.363.0",
"zod": "^3.22.4"
},
diff --git a/packages/email-templates/package.json b/packages/email-templates/package.json
index a6a9260c5..b2f8d195d 100644
--- a/packages/email-templates/package.json
+++ b/packages/email-templates/package.json
@@ -16,10 +16,10 @@
"@react-email/components": "0.0.15"
},
"devDependencies": {
- "@kit/eslint-config": "0.2.0",
- "@kit/prettier-config": "0.1.0",
- "@kit/tailwind-config": "0.1.0",
- "@kit/tsconfig": "0.1.0"
+ "@kit/eslint-config": "workspace:*",
+ "@kit/prettier-config": "workspace:*",
+ "@kit/tailwind-config": "workspace:*",
+ "@kit/tsconfig": "workspace:*"
},
"eslintConfig": {
"root": true,
diff --git a/packages/email-templates/src/invite.email.tsx b/packages/email-templates/src/invite.email.tsx
index aef8586a3..a7bb74fe6 100644
--- a/packages/email-templates/src/invite.email.tsx
+++ b/packages/email-templates/src/invite.email.tsx
@@ -18,8 +18,8 @@ import {
} from '@react-email/components';
interface Props {
- organizationName: string;
- organizationLogo?: string;
+ teamName: string;
+ teamLogo?: string;
inviter: string | undefined;
invitedUserEmail: string;
link: string;
@@ -38,7 +38,7 @@ export function renderInviteEmail(props: Props) {
- Join {props.organizationName} on{' '}
+ Join {props.teamName} on{' '}
{props.productName}
@@ -46,16 +46,16 @@ export function renderInviteEmail(props: Props) {
{props.inviter} has invited you to the{' '}
- {props.organizationName} team on{' '}
+ {props.teamName} team on{' '}
{props.productName}.
- {props.organizationLogo && (
+ {props.teamLogo && (
@@ -68,7 +68,7 @@ export function renderInviteEmail(props: Props) {
className="rounded bg-[#000000] px-[20px] py-[12px] text-center text-[12px] font-semibold text-white no-underline"
href={props.link}
>
- Join {props.organizationName}
+ Join {props.teamName}
diff --git a/packages/features/accounts/package.json b/packages/features/accounts/package.json
index 442dfa2df..f1799554e 100644
--- a/packages/features/accounts/package.json
+++ b/packages/features/accounts/package.json
@@ -15,20 +15,23 @@
"./hooks/*": "./src/hooks/*.ts"
},
"devDependencies": {
- "@kit/billing-gateway": "*",
- "@kit/email-templates": "*",
- "@kit/mailers": "*",
- "@kit/eslint-config": "0.2.0",
- "@kit/prettier-config": "0.1.0",
- "@kit/shared": "*",
- "@kit/supabase": "*",
- "@kit/tailwind-config": "0.1.0",
- "@kit/tsconfig": "0.1.0",
- "@kit/ui": "*",
"@hookform/resolvers": "^3.3.4",
+ "@kit/billing-gateway": "^0.1.0",
+ "@kit/email-templates": "^0.1.0",
+ "@kit/eslint-config": "workspace:*",
+ "@kit/mailers": "^0.1.0",
+ "@kit/prettier-config": "workspace:*",
+ "@kit/shared": "^0.1.0",
+ "@kit/supabase": "^0.1.0",
+ "@kit/tailwind-config": "workspace:*",
+ "@kit/tsconfig": "workspace:*",
+ "@kit/ui": "^0.1.0",
"@radix-ui/react-icons": "^1.3.0",
+ "@tanstack/react-query": "5.28.6",
"lucide-react": "^0.363.0",
"react-hook-form": "^7.51.2",
+ "react-i18next": "^14.1.0",
+ "sonner": "^1.4.41",
"zod": "^3.22.4"
},
"peerDependencies": {
@@ -36,7 +39,8 @@
"@kit/supabase": "0.1.0",
"@kit/ui": "0.1.0",
"@radix-ui/react-icons": "^1.3.0",
- "lucide-react": "^0.363.0"
+ "lucide-react": "^0.363.0",
+ "sonner": "^1.4.41"
},
"prettier": "@kit/prettier-config",
"eslintConfig": {
diff --git a/packages/features/accounts/src/components/account-selector.tsx b/packages/features/accounts/src/components/account-selector.tsx
index 3bca1663e..980ef9be4 100644
--- a/packages/features/accounts/src/components/account-selector.tsx
+++ b/packages/features/accounts/src/components/account-selector.tsx
@@ -17,6 +17,7 @@ import {
} from '@kit/ui/command';
import { If } from '@kit/ui/if';
import { Popover, PopoverContent, PopoverTrigger } from '@kit/ui/popover';
+import { Trans } from '@kit/ui/trans';
import { cn } from '@kit/ui/utils';
import { CreateTeamAccountDialog } from '../../../team-accounts/src/components/create-team-account-dialog';
@@ -29,8 +30,8 @@ interface AccountSelectorProps {
}>;
features: {
- enableOrganizationAccounts: boolean;
- enableOrganizationCreation: boolean;
+ enableTeamAccounts: boolean;
+ enableTeamCreation: boolean;
};
selectedAccount?: string;
@@ -46,8 +47,8 @@ export function AccountSelector({
selectedAccount,
onAccountChange,
features = {
- enableOrganizationAccounts: true,
- enableOrganizationCreation: true,
+ enableTeamAccounts: true,
+ enableTeamCreation: true,
},
collapsed = false,
}: React.PropsWithChildren) {
@@ -75,6 +76,10 @@ export function AccountSelector({
const selected = accounts.find((account) => account.value === value);
+ if (!features.enableTeamAccounts) {
+ return null;
+ }
+
return (
<>
@@ -150,9 +155,9 @@ export function AccountSelector({
-
+
0}>
-
+ }>
{(accounts ?? []).map((account) => (
-
+
@@ -207,7 +214,7 @@ export function AccountSelector({
-
+
- onUnenrollRequested(props.factorId)}
- >
-
-
+
+
+
+
-
-
-
+ onUnenrollRequested(props.factorId)}
+ >
+
+
+
);
diff --git a/packages/features/accounts/src/components/personal-account-settings/mfa/multi-factor-auth-setup-dialog.tsx b/packages/features/accounts/src/components/personal-account-settings/mfa/multi-factor-auth-setup-dialog.tsx
index fcbf33ba3..52a30e032 100644
--- a/packages/features/accounts/src/components/personal-account-settings/mfa/multi-factor-auth-setup-dialog.tsx
+++ b/packages/features/accounts/src/components/personal-account-settings/mfa/multi-factor-auth-setup-dialog.tsx
@@ -212,20 +212,22 @@ function MultiFactorAuthSetupForm({
name={'verificationCode'}
/>
-
+
+
-
+
+
@@ -362,13 +364,15 @@ function FactorNameForm(
}}
/>
-
+
+
-
+
+
diff --git a/packages/features/accounts/src/components/personal-account-settings/update-account-details-form-container.tsx b/packages/features/accounts/src/components/personal-account-settings/update-account-details-form-container.tsx
index aacf92616..79b4475ba 100644
--- a/packages/features/accounts/src/components/personal-account-settings/update-account-details-form-container.tsx
+++ b/packages/features/accounts/src/components/personal-account-settings/update-account-details-form-container.tsx
@@ -1,5 +1,7 @@
'use client';
+import { LoadingOverlay } from '@kit/ui/loading-overlay';
+
import {
usePersonalAccountData,
useRevalidatePersonalAccountDataQuery,
@@ -8,7 +10,11 @@ import { UpdateAccountDetailsForm } from './update-account-details-form';
export function UpdateAccountDetailsFormContainer() {
const user = usePersonalAccountData();
- const invalidateUserDataQuery = useRevalidatePersonalAccountDataQuery();
+ const revalidateUserDataQuery = useRevalidatePersonalAccountDataQuery();
+
+ if (user.isLoading) {
+ return ;
+ }
if (!user.data) {
return null;
@@ -18,7 +24,7 @@ export function UpdateAccountDetailsFormContainer() {
);
}
diff --git a/packages/features/accounts/src/server/personal-accounts-server-actions.ts b/packages/features/accounts/src/server/personal-accounts-server-actions.ts
index 572d0e311..e04830781 100644
--- a/packages/features/accounts/src/server/personal-accounts-server-actions.ts
+++ b/packages/features/accounts/src/server/personal-accounts-server-actions.ts
@@ -8,7 +8,7 @@ import { Logger } from '@kit/shared/logger';
import { requireAuth } from '@kit/supabase/require-auth';
import { getSupabaseServerActionClient } from '@kit/supabase/server-actions-client';
-import { PersonalAccountsService } from './services/personal-accounts.service';
+import { DeletePersonalAccountService } from './services/delete-personal-account.service';
const emailSettings = getEmailSettingsFromEnvironment();
@@ -41,7 +41,7 @@ export async function deletePersonalAccountAction(formData: FormData) {
const userEmail = session.data.user.email ?? null;
// create a new instance of the personal accounts service
- const service = new PersonalAccountsService(client);
+ const service = new DeletePersonalAccountService();
// delete the user's account and cancel all subscriptions
await service.deletePersonalAccount({
diff --git a/packages/features/accounts/src/server/services/personal-accounts.service.ts b/packages/features/accounts/src/server/services/delete-personal-account.service.ts
similarity index 61%
rename from packages/features/accounts/src/server/services/personal-accounts.service.ts
rename to packages/features/accounts/src/server/services/delete-personal-account.service.ts
index bd6244567..9bf3f22c1 100644
--- a/packages/features/accounts/src/server/services/personal-accounts.service.ts
+++ b/packages/features/accounts/src/server/services/delete-personal-account.service.ts
@@ -1,27 +1,28 @@
import { SupabaseClient } from '@supabase/supabase-js';
-import { BillingGatewayService } from '@kit/billing-gateway';
+import { AccountBillingService } from '@kit/billing-gateway';
import { Mailer } from '@kit/mailers';
import { Logger } from '@kit/shared/logger';
import { Database } from '@kit/supabase/database';
/**
- * @name PersonalAccountsService
+ * @name DeletePersonalAccountService
* @description Service for managing accounts in the application
* @param Database - The Supabase database type to use
* @example
* const client = getSupabaseClient();
- * const accountsService = new AccountsService(client);
+ * const accountsService = new DeletePersonalAccountService();
*/
-export class PersonalAccountsService {
- private namespace = 'account';
-
- constructor(private readonly client: SupabaseClient) {}
+export class DeletePersonalAccountService {
+ private namespace = 'accounts.delete';
/**
* @name deletePersonalAccount
* Delete personal account of a user.
* This will delete the user from the authentication provider and cancel all subscriptions.
+ *
+ * Permissions are not checked here, as they are checked in the server action.
+ * USE WITH CAUTION. THE USER MUST HAVE THE NECESSARY PERMISSIONS.
*/
async deletePersonalAccount(params: {
adminClient: SupabaseClient;
@@ -39,6 +40,11 @@ export class PersonalAccountsService {
'User requested deletion. Processing...',
);
+ // Cancel all user subscriptions
+ const billingService = new AccountBillingService(params.adminClient);
+
+ await billingService.cancelAllAccountSubscriptions(params.userId);
+
// execute the deletion of the user
try {
await params.adminClient.auth.admin.deleteUser(params.userId);
@@ -55,17 +61,6 @@ export class PersonalAccountsService {
throw new Error('Error deleting user');
}
- // Cancel all user subscriptions
- try {
- await this.cancelAllUserSubscriptions(params.userId);
- } catch (error) {
- Logger.error({
- userId: params.userId,
- error,
- name: this.namespace,
- });
- }
-
// Send account deletion email
if (params.userEmail) {
try {
@@ -117,53 +112,4 @@ export class PersonalAccountsService {
html,
});
}
-
- private async cancelAllUserSubscriptions(userId: string) {
- Logger.info(
- {
- userId,
- name: this.namespace,
- },
- 'Cancelling all subscriptions for user...',
- );
-
- const { data: subscriptions } = await this.client
- .from('subscriptions')
- .select('*')
- .eq('account_id', userId);
-
- const cancellationRequests = [];
-
- Logger.info(
- {
- userId,
- subscriptions: subscriptions?.length ?? 0,
- name: this.namespace,
- },
- 'Cancelling subscriptions...',
- );
-
- for (const subscription of subscriptions ?? []) {
- const gateway = new BillingGatewayService(subscription.billing_provider);
-
- cancellationRequests.push(
- gateway.cancelSubscription({
- subscriptionId: subscription.id,
- invoiceNow: true,
- }),
- );
- }
-
- // execute all cancellation requests
- await Promise.all(cancellationRequests);
-
- Logger.info(
- {
- userId,
- subscriptions: subscriptions?.length ?? 0,
- name: this.namespace,
- },
- 'Subscriptions cancelled successfully',
- );
- }
}
diff --git a/packages/features/admin/package.json b/packages/features/admin/package.json
index 0e416ae0b..5e7c429fd 100644
--- a/packages/features/admin/package.json
+++ b/packages/features/admin/package.json
@@ -13,13 +13,13 @@
"@kit/ui": "0.1.0"
},
"devDependencies": {
- "@kit/eslint-config": "0.2.0",
- "@kit/prettier-config": "0.1.0",
- "@kit/tailwind-config": "0.1.0",
- "@kit/tsconfig": "0.1.0",
- "@kit/ui": "*",
- "@kit/supabase": "*",
- "@supabase/supabase-js": "2.40.0",
+ "@kit/eslint-config": "workspace:*",
+ "@kit/prettier-config": "workspace:*",
+ "@kit/supabase": "^0.1.0",
+ "@kit/tailwind-config": "workspace:*",
+ "@kit/tsconfig": "workspace:*",
+ "@kit/ui": "^0.1.0",
+ "@supabase/supabase-js": "^2.40.0",
"lucide-react": "^0.363.0"
},
"exports": {
diff --git a/packages/features/auth/package.json b/packages/features/auth/package.json
index 1d470bb96..b71cc75e0 100644
--- a/packages/features/auth/package.json
+++ b/packages/features/auth/package.json
@@ -16,13 +16,14 @@
"./mfa": "./src/mfa.ts"
},
"devDependencies": {
- "@kit/eslint-config": "0.2.0",
- "@kit/prettier-config": "0.1.0",
- "@kit/shared": "0.1.0",
- "@kit/supabase": "0.1.0",
- "@kit/tailwind-config": "0.1.0",
- "@kit/tsconfig": "0.1.0",
- "@kit/ui": "0.1.0",
+ "@hookform/resolvers": "^3.3.4",
+ "@kit/eslint-config": "workspace:*",
+ "@kit/prettier-config": "workspace:*",
+ "@kit/shared": "workspace:*",
+ "@kit/supabase": "workspace:*",
+ "@kit/tailwind-config": "workspace:*",
+ "@kit/tsconfig": "workspace:*",
+ "@kit/ui": "workspace:*",
"@radix-ui/react-icons": "^1.3.0",
"@tanstack/react-query": "5.28.6",
"react-i18next": "^14.1.0",
diff --git a/packages/features/team-accounts/package.json b/packages/features/team-accounts/package.json
index 6f1fec1bd..cc2e49e9f 100644
--- a/packages/features/team-accounts/package.json
+++ b/packages/features/team-accounts/package.json
@@ -12,18 +12,21 @@
"./components": "./src/components/index.ts"
},
"devDependencies": {
- "@kit/accounts": "*",
- "@kit/email-templates": "*",
- "@kit/eslint-config": "0.2.0",
- "@kit/mailers": "*",
- "@kit/prettier-config": "0.1.0",
- "@kit/shared": "*",
- "@kit/supabase": "*",
- "@kit/tailwind-config": "0.1.0",
- "@kit/tsconfig": "0.1.0",
- "@kit/ui": "*",
"@hookform/resolvers": "^3.3.4",
- "lucide-react": "^0.363.0"
+ "@kit/accounts": "^0.1.0",
+ "@kit/billing-gateway": "workspace:*",
+ "@kit/email-templates": "^0.1.0",
+ "@kit/eslint-config": "workspace:*",
+ "@kit/mailers": "^0.1.0",
+ "@kit/prettier-config": "workspace:*",
+ "@kit/shared": "^0.1.0",
+ "@kit/supabase": "^0.1.0",
+ "@kit/tailwind-config": "workspace:*",
+ "@kit/tsconfig": "workspace:*",
+ "@kit/ui": "^0.1.0",
+ "@tanstack/react-query": "5.28.6",
+ "lucide-react": "^0.363.0",
+ "react-i18next": "^14.1.0"
},
"peerDependencies": {
"@kit/accounts": "0.1.0",
diff --git a/packages/features/team-accounts/src/actions/delete-team-account-server-actions.ts b/packages/features/team-accounts/src/actions/delete-team-account-server-actions.ts
deleted file mode 100644
index f3f9e1feb..000000000
--- a/packages/features/team-accounts/src/actions/delete-team-account-server-actions.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-'use server';
-
-import { getSupabaseServerActionClient } from '@kit/supabase/server-actions-client';
-
-import { DeleteTeamAccountSchema } from '../schema/delete-team-account.schema';
-import { DeleteTeamAccountService } from '../services/delete-team-account.service';
-
-export async function deleteTeamAccountAction(formData: FormData) {
- const body = Object.fromEntries(formData.entries());
- const params = DeleteTeamAccountSchema.parse(body);
- const client = getSupabaseServerActionClient();
- const service = new DeleteTeamAccountService(client);
-
- await service.deleteTeamAccount(params);
-
- return { success: true };
-}
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 db20ddef1..a60a81c61 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
@@ -6,7 +6,13 @@ import { z } from 'zod';
import { Alert, AlertDescription, AlertTitle } from '@kit/ui/alert';
import { Button } from '@kit/ui/button';
-import { Dialog, DialogContent, DialogTitle } from '@kit/ui/dialog';
+import {
+ Dialog,
+ DialogContent,
+ DialogDescription,
+ DialogHeader,
+ DialogTitle,
+} from '@kit/ui/dialog';
import {
Form,
FormControl,
@@ -20,8 +26,8 @@ import { If } from '@kit/ui/if';
import { Input } from '@kit/ui/input';
import { Trans } from '@kit/ui/trans';
-import { createOrganizationAccountAction } from '../actions/create-team-account-server-actions';
import { CreateTeamSchema } from '../schema/create-team.schema';
+import { createOrganizationAccountAction } from '../server/actions/create-team-account-server-actions';
export function CreateTeamAccountDialog(
props: React.PropsWithChildren<{
@@ -31,18 +37,27 @@ export function CreateTeamAccountDialog(
) {
return (
);
}
-function CreateOrganizationAccountForm() {
+function CreateOrganizationAccountForm(props: { onClose: () => void }) {
const [error, setError] = useState();
const [pending, startTransition] = useTransition();
@@ -77,12 +92,12 @@ function CreateOrganizationAccountForm() {
return (
-
+
- Your organization name should be unique and descriptive.
+
@@ -101,12 +116,20 @@ function CreateOrganizationAccountForm() {
}}
/>
-
+
+
+
+
+
@@ -117,11 +140,11 @@ function CreateOrganizationErrorAlert() {
return (
-
+
-
+
);
diff --git a/packages/features/team-accounts/src/components/index.ts b/packages/features/team-accounts/src/components/index.ts
index f59ad957f..69c53e978 100644
--- a/packages/features/team-accounts/src/components/index.ts
+++ b/packages/features/team-accounts/src/components/index.ts
@@ -1,5 +1,5 @@
export * from './members/account-members-table';
-export * from './update-organization-form';
export * from './members/invite-members-dialog-container';
-export * from './team-account-danger-zone';
+export * from './settings/team-account-danger-zone';
export * from './invitations/account-invitations-table';
+export * from './settings/team-account-settings-container';
diff --git a/packages/features/team-accounts/src/components/invitations/account-invitations-table.tsx b/packages/features/team-accounts/src/components/invitations/account-invitations-table.tsx
index 5e34e0155..11f2d5b4e 100644
--- a/packages/features/team-accounts/src/components/invitations/account-invitations-table.tsx
+++ b/packages/features/team-accounts/src/components/invitations/account-invitations-table.tsx
@@ -18,7 +18,7 @@ import { If } from '@kit/ui/if';
import { Input } from '@kit/ui/input';
import { ProfileAvatar } from '@kit/ui/profile-avatar';
-import { RoleBadge } from '../role-badge';
+import { RoleBadge } from '../members/role-badge';
import { DeleteInvitationDialog } from './delete-invitation-dialog';
import { UpdateInvitationDialog } from './update-invitation-dialog';
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 85d85946c..a3ce69aed 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
@@ -12,7 +12,7 @@ import {
import { If } from '@kit/ui/if';
import { Trans } from '@kit/ui/trans';
-import { deleteInvitationAction } from '../../actions/account-invitations-server-actions';
+import { deleteInvitationAction } from '../../server/actions/team-invitations-server-actions';
export const DeleteInvitationDialog: React.FC<{
isOpen: boolean;
@@ -24,7 +24,7 @@ export const DeleteInvitationDialog: React.FC<{
-
+
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 a25ca5e8c..cbebc3db3 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
@@ -25,9 +25,9 @@ import {
import { If } from '@kit/ui/if';
import { Trans } from '@kit/ui/trans';
-import { updateInvitationAction } from '../../actions/account-invitations-server-actions';
import { UpdateRoleSchema } from '../../schema/update-role-schema';
-import { MembershipRoleSelector } from '../membership-role-selector';
+import { updateInvitationAction } from '../../server/actions/team-invitations-server-actions';
+import { MembershipRoleSelector } from '../members/membership-role-selector';
type Role = Database['public']['Enums']['account_role'];
diff --git a/packages/features/team-accounts/src/components/members/account-members-table.tsx b/packages/features/team-accounts/src/components/members/account-members-table.tsx
index ef2273db4..67d4314d2 100644
--- a/packages/features/team-accounts/src/components/members/account-members-table.tsx
+++ b/packages/features/team-accounts/src/components/members/account-members-table.tsx
@@ -18,8 +18,8 @@ import { If } from '@kit/ui/if';
import { Input } from '@kit/ui/input';
import { ProfileAvatar } from '@kit/ui/profile-avatar';
-import { RoleBadge } from '../role-badge';
import { RemoveMemberDialog } from './remove-member-dialog';
+import { RoleBadge } from './role-badge';
import { TransferOwnershipDialog } from './transfer-ownership-dialog';
import { UpdateMemberRoleDialog } from './update-member-role-dialog';
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 5bfcea71d..f3cb55035 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
@@ -33,9 +33,9 @@ import {
} from '@kit/ui/tooltip';
import { Trans } from '@kit/ui/trans';
-import { createInvitationsAction } from '../../actions/account-invitations-server-actions';
import { InviteMembersSchema } from '../../schema/invite-members.schema';
-import { MembershipRoleSelector } from '../membership-role-selector';
+import { createInvitationsAction } from '../../server/actions/team-invitations-server-actions';
+import { MembershipRoleSelector } from './membership-role-selector';
type InviteModel = ReturnType;
@@ -59,8 +59,7 @@ export function InviteMembersDialogContainer({
Invite Members to Organization
- Invite members to your organization by entering their email and
- role.
+ Invite members to your team by entering their email and role.
@@ -89,7 +88,7 @@ function InviteMembersForm({
onSubmit: (data: { invitations: InviteModel[] }) => void;
pending: boolean;
}) {
- const { t } = useTranslation('organization');
+ const { t } = useTranslation('team');
const form = useForm({
resolver: zodResolver(InviteMembersSchema),
diff --git a/packages/features/team-accounts/src/components/membership-role-selector.tsx b/packages/features/team-accounts/src/components/members/membership-role-selector.tsx
similarity index 100%
rename from packages/features/team-accounts/src/components/membership-role-selector.tsx
rename to packages/features/team-accounts/src/components/members/membership-role-selector.tsx
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 942b97507..1e327d77e 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
@@ -12,7 +12,7 @@ import {
import { If } from '@kit/ui/if';
import { Trans } from '@kit/ui/trans';
-import { removeMemberFromAccountAction } from '../../actions/account-members-server-actions';
+import { removeMemberFromAccountAction } from '../../server/actions/team-members-server-actions';
export const RemoveMemberDialog: React.FC<{
isOpen: boolean;
@@ -25,11 +25,11 @@ export const RemoveMemberDialog: React.FC<{
-
+
- Remove this member from the organization.
+ Remove this member from the team.
diff --git a/packages/features/team-accounts/src/components/role-badge.tsx b/packages/features/team-accounts/src/components/members/role-badge.tsx
similarity index 100%
rename from packages/features/team-accounts/src/components/role-badge.tsx
rename to packages/features/team-accounts/src/components/members/role-badge.tsx
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 478ee4b8b..81d4ae2ad 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
@@ -27,8 +27,8 @@ import { If } from '@kit/ui/if';
import { Input } from '@kit/ui/input';
import { Trans } from '@kit/ui/trans';
-import { transferOwnershipAction } from '../../actions/account-members-server-actions';
import { TransferOwnershipConfirmationSchema } from '../../schema/transfer-ownership-confirmation.schema';
+import { transferOwnershipAction } from '../../server/actions/team-members-server-actions';
export const TransferOwnershipDialog: React.FC<{
isOpen: boolean;
@@ -42,11 +42,11 @@ export const TransferOwnershipDialog: React.FC<{
-
+
- Transfer ownership of the organization to another member.
+ Transfer ownership of the team to another member.
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 d3e1c6b5a..aa417442b 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
@@ -25,9 +25,9 @@ import {
import { If } from '@kit/ui/if';
import { Trans } from '@kit/ui/trans';
-import { updateMemberRoleAction } from '../../actions/account-members-server-actions';
import { UpdateRoleSchema } from '../../schema/update-role-schema';
-import { MembershipRoleSelector } from '../membership-role-selector';
+import { updateMemberRoleAction } from '../../server/actions/team-members-server-actions';
+import { MembershipRoleSelector } from './membership-role-selector';
type Role = Database['public']['Enums']['account_role'];
diff --git a/packages/features/team-accounts/src/components/settings/team-account-danger-zone.tsx b/packages/features/team-accounts/src/components/settings/team-account-danger-zone.tsx
new file mode 100644
index 000000000..5c28b0680
--- /dev/null
+++ b/packages/features/team-accounts/src/components/settings/team-account-danger-zone.tsx
@@ -0,0 +1,336 @@
+'use client';
+
+import { useFormStatus } from 'react-dom';
+
+import { zodResolver } from '@hookform/resolvers/zod';
+import { useForm } from 'react-hook-form';
+import { z } from 'zod';
+
+import { Alert, AlertDescription, AlertTitle } from '@kit/ui/alert';
+import {
+ AlertDialog,
+ AlertDialogCancel,
+ AlertDialogContent,
+ AlertDialogDescription,
+ AlertDialogFooter,
+ AlertDialogHeader,
+ AlertDialogTitle,
+ AlertDialogTrigger,
+} from '@kit/ui/alert-dialog';
+import { Button } from '@kit/ui/button';
+import { ErrorBoundary } from '@kit/ui/error-boundary';
+import {
+ Form,
+ FormControl,
+ FormDescription,
+ FormField,
+ FormItem,
+ FormLabel,
+ FormMessage,
+} from '@kit/ui/form';
+import { Input } from '@kit/ui/input';
+import { Trans } from '@kit/ui/trans';
+
+import { deleteTeamAccountAction } from '../../server/actions/delete-team-account-server-actions';
+import { leaveTeamAccountAction } from '../../server/actions/leave-team-account-server-actions';
+
+export function TeamAccountDangerZone({
+ account,
+ userIsPrimaryOwner,
+}: React.PropsWithChildren<{
+ account: {
+ name: string;
+ id: string;
+ };
+
+ userIsPrimaryOwner: boolean;
+}>) {
+ if (userIsPrimaryOwner) {
+ return ;
+ }
+
+ return ;
+}
+
+function DeleteTeamContainer(props: {
+ account: {
+ name: string;
+ id: string;
+ };
+}) {
+ return (
+
+
+
+
+
+
+
+
+
+ e.preventDefault()}>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
+function DeleteTeamConfirmationForm({
+ name,
+ id,
+}: {
+ name: string;
+ id: string;
+}) {
+ const form = useForm({
+ mode: 'onChange',
+ reValidateMode: 'onChange',
+ resolver: zodResolver(
+ z.object({
+ name: z.string().refine((value) => value === name, {
+ message: 'Name does not match',
+ path: ['name'],
+ }),
+ }),
+ ),
+ defaultValues: {
+ name: '',
+ },
+ });
+
+ return (
+ }>
+
+
+
+ );
+}
+
+function DeleteTeamSubmitButton() {
+ const { pending } = useFormStatus();
+
+ return (
+
+ );
+}
+
+function LeaveTeamContainer(props: {
+ account: {
+ name: string;
+ id: string;
+ };
+}) {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ }>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
+function LeaveTeamSubmitButton() {
+ const { pending } = useFormStatus();
+
+ return (
+
+ );
+}
+
+function LeaveTeamErrorAlert() {
+ return (
+
+
+
+
+
+
+
+
+
+ );
+}
+
+function DeleteTeamErrorAlert() {
+ return (
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/packages/features/team-accounts/src/components/settings/team-account-settings-container.tsx b/packages/features/team-accounts/src/components/settings/team-account-settings-container.tsx
new file mode 100644
index 000000000..dec250a78
--- /dev/null
+++ b/packages/features/team-accounts/src/components/settings/team-account-settings-container.tsx
@@ -0,0 +1,82 @@
+'use client';
+
+import {
+ Card,
+ CardContent,
+ CardDescription,
+ CardHeader,
+ CardTitle,
+} from '@kit/ui/card';
+
+import { TeamAccountDangerZone } from './team-account-danger-zone';
+import { UpdateTeamAccountImage } from './update-team-account-image-container';
+import { UpdateTeamAccountNameForm } from './update-team-account-name-form';
+
+export function TeamAccountSettingsContainer(props: {
+ account: {
+ name: string;
+ slug: string;
+ id: string;
+ pictureUrl: string | null;
+ primaryOwnerUserId: string;
+ };
+
+ userId: string;
+
+ paths: {
+ teamAccountSettings: string;
+ };
+}) {
+ return (
+
+
+
+ Team Logo
+
+
+ Update your team's logo to make it easier to identify
+
+
+
+
+
+
+
+
+
+
+ Team Account Settings
+
+ Manage your team account settings
+
+
+
+
+
+
+
+
+
+ Danger Zone
+
+
+ Please be careful when making changes in this section as they are
+ irreversible.
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/packages/features/team-accounts/src/components/settings/update-team-account-image-container.tsx b/packages/features/team-accounts/src/components/settings/update-team-account-image-container.tsx
new file mode 100644
index 000000000..6c4e871ca
--- /dev/null
+++ b/packages/features/team-accounts/src/components/settings/update-team-account-image-container.tsx
@@ -0,0 +1,141 @@
+'use client';
+
+import { useCallback } from 'react';
+
+import type { SupabaseClient } from '@supabase/supabase-js';
+
+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 { Trans } from '@kit/ui/trans';
+
+const AVATARS_BUCKET = 'account_image';
+
+export function UpdateTeamAccountImage(props: {
+ account: {
+ id: string;
+ name: string;
+ pictureUrl: string | null;
+ };
+}) {
+ const client = useSupabase();
+ const { t } = useTranslation('teams');
+
+ const createToaster = useCallback(
+ (promise: () => Promise) => {
+ return toast.promise(promise, {
+ success: t(`updateTeamSuccessMessage`),
+ error: t(`updateTeamErrorMessage`),
+ loading: t(`updateTeamLoadingMessage`),
+ });
+ },
+ [t],
+ );
+
+ const onValueChange = useCallback(
+ (file: File | null) => {
+ const removeExistingStorageFile = () => {
+ if (props.account.pictureUrl) {
+ return (
+ deleteProfilePhoto(client, props.account.pictureUrl) ??
+ Promise.resolve()
+ );
+ }
+
+ return Promise.resolve();
+ };
+
+ if (file) {
+ const promise = () =>
+ removeExistingStorageFile().then(() =>
+ uploadUserProfilePhoto(client, file, props.account.id).then(
+ (pictureUrl) => {
+ return client
+ .from('accounts')
+ .update({
+ picture_url: pictureUrl,
+ })
+ .eq('id', props.account.id)
+ .throwOnError();
+ },
+ ),
+ );
+
+ createToaster(promise);
+ } else {
+ const promise = () =>
+ removeExistingStorageFile().then(() => {
+ return client
+ .from('accounts')
+ .update({
+ picture_url: null,
+ })
+ .eq('id', props.account.id)
+ .throwOnError();
+ });
+
+ createToaster(promise);
+ }
+ },
+ [client, createToaster, props],
+ );
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
+function deleteProfilePhoto(client: SupabaseClient, url: string) {
+ const bucket = client.storage.from(AVATARS_BUCKET);
+ const fileName = url.split('/').pop()?.split('?')[0];
+
+ if (!fileName) {
+ return;
+ }
+
+ return bucket.remove([fileName]);
+}
+
+async function uploadUserProfilePhoto(
+ client: SupabaseClient,
+ photoFile: File,
+ userId: string,
+) {
+ const bytes = await photoFile.arrayBuffer();
+ const bucket = client.storage.from(AVATARS_BUCKET);
+ const extension = photoFile.name.split('.').pop();
+ const fileName = await getAvatarFileName(userId, extension);
+
+ const result = await bucket.upload(fileName, bytes);
+
+ if (!result.error) {
+ return bucket.getPublicUrl(fileName).data.publicUrl;
+ }
+
+ throw result.error;
+}
+
+async function getAvatarFileName(
+ userId: string,
+ extension: string | undefined,
+) {
+ const { nanoid } = await import('nanoid');
+ const uniqueId = nanoid(16);
+
+ return `${userId}.${extension}?v=${uniqueId}`;
+}
diff --git a/packages/features/team-accounts/src/components/update-organization-form.tsx b/packages/features/team-accounts/src/components/settings/update-team-account-name-form.tsx
similarity index 53%
rename from packages/features/team-accounts/src/components/update-organization-form.tsx
rename to packages/features/team-accounts/src/components/settings/update-team-account-name-form.tsx
index a97d29503..78f8f1f16 100644
--- a/packages/features/team-accounts/src/components/update-organization-form.tsx
+++ b/packages/features/team-accounts/src/components/settings/update-team-account-name-form.tsx
@@ -1,14 +1,11 @@
'use client';
-import { useCallback } from 'react';
+import { useTransition } from 'react';
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 { useUpdateAccountData } from '@kit/accounts/hooks/use-update-account';
import { Button } from '@kit/ui/button';
import {
Form,
@@ -20,44 +17,42 @@ import {
import { Input } from '@kit/ui/input';
import { Trans } from '@kit/ui/trans';
+import { updateTeamAccountName } from '../../server/actions/team-details-server-actions';
+
const Schema = z.object({
name: z.string().min(1).max(255),
});
-export const UpdateOrganizationForm = (props: {
- accountId: string;
- accountName: string;
+export const UpdateTeamAccountNameForm = (props: {
+ account: {
+ name: string;
+ slug: string;
+ };
+
+ path: string;
}) => {
- const updateAccountData = useUpdateAccountData(props.accountId);
- const { t } = useTranslation('organization');
+ const [pending, startTransition] = useTransition();
const form = useForm({
resolver: zodResolver(Schema),
defaultValues: {
- name: props.accountName,
+ name: props.account.name,
},
});
- const updateOrganizationData = useCallback(
- (data: { name: string }) => {
- const promise = updateAccountData.mutateAsync(data);
-
- toast.promise(promise, {
- loading: t(`updateOrganizationLoadingMessage`),
- success: t(`updateOrganizationSuccessMessage`),
- error: t(`updateOrganizationErrorMessage`),
- });
- },
- [t, updateAccountData],
- );
-
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
deleted file mode 100644
index b005213f5..000000000
--- a/packages/features/team-accounts/src/components/team-account-danger-zone.tsx
+++ /dev/null
@@ -1,262 +0,0 @@
-'use client';
-
-import { useFormStatus } from 'react-dom';
-
-import { Database } from '@kit/supabase/database';
-import { Alert, AlertDescription, AlertTitle } from '@kit/ui/alert';
-import { Button } from '@kit/ui/button';
-import {
- Dialog,
- DialogContent,
- DialogHeader,
- DialogTitle,
- DialogTrigger,
-} from '@kit/ui/dialog';
-import { ErrorBoundary } from '@kit/ui/error-boundary';
-import { Heading } from '@kit/ui/heading';
-import { Input } from '@kit/ui/input';
-import { Label } from '@kit/ui/label';
-import { Trans } from '@kit/ui/trans';
-
-import { deleteTeamAccountAction } from '../actions/delete-team-account-server-actions';
-import { leaveTeamAccountAction } from '../actions/leave-team-account-server-actions';
-
-type AccountData =
- Database['public']['Functions']['organization_account_workspace']['Returns'][0];
-
-export function TeamAccountDangerZone({
- account,
- userId,
-}: React.PropsWithChildren<{
- account: AccountData;
- userId: string;
-}>) {
- const isPrimaryOwner = userId === account.primary_owner_user_id;
-
- if (isPrimaryOwner) {
- return
;
- }
-
- return
;
-}
-
-function DeleteOrganizationContainer(props: { account: AccountData }) {
- return (
-
-
-
-
-
-
-
- );
-}
-
-function DeleteOrganizationForm({ name, id }: { name: string; id: string }) {
- return (
-
}>
-
-
- );
-}
-
-function DeleteOrganizationSubmitButton() {
- const { pending } = useFormStatus();
-
- return (
-
- );
-}
-
-function LeaveOrganizationContainer(props: { account: AccountData }) {
- return (
-
-
-
-
-
-
-
-
-
- );
-}
-
-function LeaveOrganizationSubmitButton() {
- const { pending } = useFormStatus();
-
- return (
-
- );
-}
-
-function LeaveOrganizationErrorAlert() {
- return (
-
-
-
-
-
-
-
-
-
- );
-}
-
-function DeleteOrganizationErrorAlert() {
- return (
-
-
-
-
-
-
-
-
-
- );
-}
diff --git a/packages/features/team-accounts/src/actions/create-team-account-server-actions.ts b/packages/features/team-accounts/src/server/actions/create-team-account-server-actions.ts
similarity index 89%
rename from packages/features/team-accounts/src/actions/create-team-account-server-actions.ts
rename to packages/features/team-accounts/src/server/actions/create-team-account-server-actions.ts
index aeee87d83..b17938f7a 100644
--- a/packages/features/team-accounts/src/actions/create-team-account-server-actions.ts
+++ b/packages/features/team-accounts/src/server/actions/create-team-account-server-actions.ts
@@ -8,7 +8,7 @@ import { Logger } from '@kit/shared/logger';
import { requireAuth } from '@kit/supabase/require-auth';
import { getSupabaseServerActionClient } from '@kit/supabase/server-actions-client';
-import { CreateTeamSchema } from '../schema/create-team.schema';
+import { CreateTeamSchema } from '../../schema/create-team.schema';
import { CreateTeamAccountService } from '../services/create-team-account.service';
const TEAM_ACCOUNTS_HOME_PATH = z
@@ -45,10 +45,10 @@ export async function createOrganizationAccountAction(
error: createAccountResponse.error,
name: 'accounts',
},
- `Error creating organization account`,
+ `Error creating team account`,
);
- throw new Error('Error creating organization account');
+ throw new Error('Error creating team account');
}
const accountHomePath =
diff --git a/packages/features/team-accounts/src/server/actions/delete-team-account-server-actions.ts b/packages/features/team-accounts/src/server/actions/delete-team-account-server-actions.ts
new file mode 100644
index 000000000..6bff8cbeb
--- /dev/null
+++ b/packages/features/team-accounts/src/server/actions/delete-team-account-server-actions.ts
@@ -0,0 +1,60 @@
+'use server';
+
+import { redirect } from 'next/navigation';
+
+import { SupabaseClient } from '@supabase/supabase-js';
+
+import { Database } from '@kit/supabase/database';
+import { requireAuth } from '@kit/supabase/require-auth';
+import { getSupabaseServerActionClient } from '@kit/supabase/server-actions-client';
+
+import { DeleteTeamAccountSchema } from '../../schema/delete-team-account.schema';
+import { DeleteTeamAccountService } from '../services/delete-team-account.service';
+
+export async function deleteTeamAccountAction(formData: FormData) {
+ const params = DeleteTeamAccountSchema.parse(
+ Object.fromEntries(formData.entries()),
+ );
+
+ const client = getSupabaseServerActionClient();
+
+ // Check if the user has the necessary permissions to delete the team account
+ await assertUserPermissionsToDeleteTeamAccount(client, params.accountId);
+
+ // Get the Supabase client and create a new service instance.
+ const service = new DeleteTeamAccountService();
+
+ // Delete the team account and all associated data.
+ await service.deleteTeamAccount(
+ getSupabaseServerActionClient({
+ admin: true,
+ }),
+ params,
+ );
+
+ return redirect('/home');
+}
+
+async function assertUserPermissionsToDeleteTeamAccount(
+ client: SupabaseClient
,
+ accountId: string,
+) {
+ const auth = await requireAuth(client);
+
+ if (auth.error ?? !auth.data.user.id) {
+ throw new Error('Authentication required');
+ }
+
+ const userId = auth.data.user.id;
+
+ const { data, error } = await client
+ .from('accounts')
+ .select('id')
+ .eq('primary_owner_user_id', userId)
+ .eq('is_personal_account', false)
+ .eq('id', accountId);
+
+ if (error ?? !data) {
+ throw new Error('Account not found');
+ }
+}
diff --git a/packages/features/team-accounts/src/actions/leave-team-account-server-actions.ts b/packages/features/team-accounts/src/server/actions/leave-team-account-server-actions.ts
similarity index 86%
rename from packages/features/team-accounts/src/actions/leave-team-account-server-actions.ts
rename to packages/features/team-accounts/src/server/actions/leave-team-account-server-actions.ts
index a450b2ba4..06f53859a 100644
--- a/packages/features/team-accounts/src/actions/leave-team-account-server-actions.ts
+++ b/packages/features/team-accounts/src/server/actions/leave-team-account-server-actions.ts
@@ -2,7 +2,7 @@
import { getSupabaseServerActionClient } from '@kit/supabase/server-actions-client';
-import { LeaveTeamAccountSchema } from '../schema/leave-team-account.schema';
+import { LeaveTeamAccountSchema } from '../../schema/leave-team-account.schema';
import { LeaveAccountService } from '../services/leave-account.service';
export async function leaveTeamAccountAction(formData: FormData) {
diff --git a/packages/features/team-accounts/src/server/actions/team-details-server-actions.ts b/packages/features/team-accounts/src/server/actions/team-details-server-actions.ts
new file mode 100644
index 000000000..97bb0cfcd
--- /dev/null
+++ b/packages/features/team-accounts/src/server/actions/team-details-server-actions.ts
@@ -0,0 +1,39 @@
+'use server';
+
+import { redirect } from 'next/navigation';
+
+import { getSupabaseServerComponentClient } from '@kit/supabase/server-component-client';
+
+export async function updateTeamAccountName(params: {
+ name: string;
+ slug: string;
+ path: string;
+}) {
+ const client = getSupabaseServerComponentClient();
+
+ const { error, data } = await client
+ .from('accounts')
+ .update({
+ name: params.name,
+ slug: params.slug,
+ })
+ .match({
+ slug: params.slug,
+ })
+ .select('slug')
+ .single();
+
+ if (error) {
+ throw error;
+ }
+
+ const newSlug = data.slug;
+
+ if (newSlug) {
+ const path = params.path.replace('[account]', newSlug);
+
+ redirect(path);
+ }
+
+ return { success: true };
+}
diff --git a/packages/features/team-accounts/src/actions/account-invitations-server-actions.ts b/packages/features/team-accounts/src/server/actions/team-invitations-server-actions.ts
similarity index 90%
rename from packages/features/team-accounts/src/actions/account-invitations-server-actions.ts
rename to packages/features/team-accounts/src/server/actions/team-invitations-server-actions.ts
index 53b92655d..eacf32ce6 100644
--- a/packages/features/team-accounts/src/actions/account-invitations-server-actions.ts
+++ b/packages/features/team-accounts/src/server/actions/team-invitations-server-actions.ts
@@ -9,9 +9,9 @@ import { z } from 'zod';
import { Database } from '@kit/supabase/database';
import { getSupabaseServerActionClient } from '@kit/supabase/server-actions-client';
-import { DeleteInvitationSchema } from '../schema/delete-invitation.schema';
-import { InviteMembersSchema } from '../schema/invite-members.schema';
-import { UpdateInvitationSchema } from '../schema/update-invitation-schema';
+import { DeleteInvitationSchema } from '../../schema/delete-invitation.schema';
+import { InviteMembersSchema } from '../../schema/invite-members.schema';
+import { UpdateInvitationSchema } from '../../schema/update-invitation-schema';
import { AccountInvitationsService } from '../services/account-invitations.service';
/**
diff --git a/packages/features/team-accounts/src/actions/account-members-server-actions.ts b/packages/features/team-accounts/src/server/actions/team-members-server-actions.ts
similarity index 100%
rename from packages/features/team-accounts/src/actions/account-members-server-actions.ts
rename to packages/features/team-accounts/src/server/actions/team-members-server-actions.ts
diff --git a/packages/features/team-accounts/src/services/account-invitations.service.ts b/packages/features/team-accounts/src/server/services/account-invitations.service.ts
similarity index 92%
rename from packages/features/team-accounts/src/services/account-invitations.service.ts
rename to packages/features/team-accounts/src/server/services/account-invitations.service.ts
index 22281c0bf..738ec9503 100644
--- a/packages/features/team-accounts/src/services/account-invitations.service.ts
+++ b/packages/features/team-accounts/src/server/services/account-invitations.service.ts
@@ -7,9 +7,9 @@ import { Mailer } from '@kit/mailers';
import { Logger } from '@kit/shared/logger';
import { Database } from '@kit/supabase/database';
-import { DeleteInvitationSchema } from '../schema/delete-invitation.schema';
-import { InviteMembersSchema } from '../schema/invite-members.schema';
-import { UpdateInvitationSchema } from '../schema/update-invitation-schema';
+import { DeleteInvitationSchema } from '../../schema/delete-invitation.schema';
+import { InviteMembersSchema } from '../../schema/invite-members.schema';
+import { UpdateInvitationSchema } from '../../schema/update-invitation-schema';
const invitePath = process.env.INVITATION_PAGE_PATH;
const siteURL = process.env.NEXT_PUBLIC_SITE_URL;
@@ -149,16 +149,14 @@ export class AccountInvitationsService {
for (const invitation of responseInvitations) {
const promise = async () => {
try {
- const { renderInviteEmail } = await import(
- '../../../../email-templates'
- );
+ const { renderInviteEmail } = await import('@kit/email-templates');
const html = renderInviteEmail({
link: this.getInvitationLink(invitation.invite_token),
invitedUserEmail: invitation.email,
inviter: user.email,
productName: env.productName,
- organizationName: accountResponse.data.name,
+ teamName: accountResponse.data.name,
});
await mailer.sendEmail({
diff --git a/packages/features/team-accounts/src/services/account-members.service.ts b/packages/features/team-accounts/src/server/services/account-members.service.ts
similarity index 100%
rename from packages/features/team-accounts/src/services/account-members.service.ts
rename to packages/features/team-accounts/src/server/services/account-members.service.ts
diff --git a/packages/features/team-accounts/src/services/create-team-account.service.ts b/packages/features/team-accounts/src/server/services/create-team-account.service.ts
similarity index 92%
rename from packages/features/team-accounts/src/services/create-team-account.service.ts
rename to packages/features/team-accounts/src/server/services/create-team-account.service.ts
index cf6203f77..e69f0d9f2 100644
--- a/packages/features/team-accounts/src/services/create-team-account.service.ts
+++ b/packages/features/team-accounts/src/server/services/create-team-account.service.ts
@@ -11,7 +11,7 @@ export class CreateTeamAccountService {
createNewOrganizationAccount(params: { name: string; userId: string }) {
Logger.info(
{ ...params, namespace: this.namespace },
- `Creating new organization account...`,
+ `Creating new team account...`,
);
return this.client.rpc('create_account', {
diff --git a/packages/features/team-accounts/src/server/services/delete-team-account.service.ts b/packages/features/team-accounts/src/server/services/delete-team-account.service.ts
new file mode 100644
index 000000000..953ebe0db
--- /dev/null
+++ b/packages/features/team-accounts/src/server/services/delete-team-account.service.ts
@@ -0,0 +1,73 @@
+import { SupabaseClient } from '@supabase/supabase-js';
+
+import 'server-only';
+
+import { AccountBillingService } from '@kit/billing-gateway';
+import { Logger } from '@kit/shared/logger';
+import { Database } from '@kit/supabase/database';
+
+export class DeleteTeamAccountService {
+ private readonly namespace = 'accounts.delete';
+
+ /**
+ * Deletes a team account. Permissions are not checked here, as they are
+ * checked in the server action.
+ *
+ * USE WITH CAUTION. THE USER MUST HAVE THE NECESSARY PERMISSIONS.
+ *
+ * @param adminClient
+ * @param params
+ */
+ async deleteTeamAccount(
+ adminClient: SupabaseClient,
+ params: { accountId: string },
+ ) {
+ Logger.info(
+ {
+ name: this.namespace,
+ accountId: params.accountId,
+ },
+ `Requested team account deletion. Processing...`,
+ );
+
+ Logger.info(
+ {
+ name: this.namespace,
+ accountId: params.accountId,
+ },
+ `Deleting all account subscriptions...`,
+ );
+
+ // First - we want to cancel all Stripe active subscriptions
+ const billingService = new AccountBillingService(adminClient);
+
+ await billingService.cancelAllAccountSubscriptions(params.accountId);
+
+ // now we can use the admin client to delete the account.
+ const { error } = await adminClient
+ .from('accounts')
+ .delete()
+ .eq('id', params.accountId);
+
+ if (error) {
+ Logger.error(
+ {
+ name: this.namespace,
+ accountId: params.accountId,
+ error,
+ },
+ 'Failed to delete team account',
+ );
+
+ throw new Error('Failed to delete team account');
+ }
+
+ Logger.info(
+ {
+ name: this.namespace,
+ accountId: params.accountId,
+ },
+ 'Successfully deleted team account',
+ );
+ }
+}
diff --git a/packages/features/team-accounts/src/services/leave-account.service.ts b/packages/features/team-accounts/src/server/services/leave-account.service.ts
similarity index 100%
rename from packages/features/team-accounts/src/services/leave-account.service.ts
rename to packages/features/team-accounts/src/server/services/leave-account.service.ts
diff --git a/packages/features/team-accounts/src/services/delete-team-account.service.ts b/packages/features/team-accounts/src/services/delete-team-account.service.ts
deleted file mode 100644
index 933126d77..000000000
--- a/packages/features/team-accounts/src/services/delete-team-account.service.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { SupabaseClient } from '@supabase/supabase-js';
-
-import 'server-only';
-
-import { Database } from '@kit/supabase/database';
-
-export class DeleteTeamAccountService {
- constructor(private readonly client: SupabaseClient) {}
-
- async deleteTeamAccount(params: { accountId: string }) {
- // TODO
- // implement this method
- }
-}
diff --git a/packages/i18n/package.json b/packages/i18n/package.json
index dab546bac..1c3f19373 100644
--- a/packages/i18n/package.json
+++ b/packages/i18n/package.json
@@ -16,11 +16,11 @@
"./provider": "./src/I18nProvider.tsx"
},
"devDependencies": {
- "@kit/eslint-config": "0.2.0",
- "@kit/prettier-config": "0.1.0",
- "@kit/shared": "^0.1.0",
- "@kit/tailwind-config": "0.1.0",
- "@kit/tsconfig": "0.1.0",
+ "@kit/eslint-config": "workspace:*",
+ "@kit/prettier-config": "workspace:*",
+ "@kit/shared": "workspace:^",
+ "@kit/tailwind-config": "workspace:*",
+ "@kit/tsconfig": "workspace:*",
"i18next": "^23.10.1",
"i18next-browser-languagedetector": "7.2.0",
"i18next-resources-to-backend": "^1.2.0",
diff --git a/packages/mailers/package.json b/packages/mailers/package.json
index 18b4000c0..81245a992 100644
--- a/packages/mailers/package.json
+++ b/packages/mailers/package.json
@@ -16,10 +16,10 @@
"nodemailer": "^6.9.13"
},
"devDependencies": {
- "@kit/eslint-config": "0.2.0",
- "@kit/prettier-config": "0.1.0",
- "@kit/tailwind-config": "0.1.0",
- "@kit/tsconfig": "0.1.0",
+ "@kit/eslint-config": "workspace:*",
+ "@kit/prettier-config": "workspace:*",
+ "@kit/tailwind-config": "workspace:*",
+ "@kit/tsconfig": "workspace:*",
"@types/nodemailer": "6.4.14"
},
"eslintConfig": {
diff --git a/packages/shared/package.json b/packages/shared/package.json
index 7425afcc2..71e212d6c 100644
--- a/packages/shared/package.json
+++ b/packages/shared/package.json
@@ -20,10 +20,10 @@
"pino": "^8.19.0"
},
"devDependencies": {
- "@kit/eslint-config": "0.2.0",
- "@kit/prettier-config": "0.1.0",
- "@kit/tailwind-config": "0.1.0",
- "@kit/tsconfig": "0.1.0"
+ "@kit/eslint-config": "workspace:*",
+ "@kit/prettier-config": "workspace:*",
+ "@kit/tailwind-config": "workspace:*",
+ "@kit/tsconfig": "workspace:*"
},
"eslintConfig": {
"root": true,
diff --git a/packages/stripe/package.json b/packages/stripe/package.json
index 9444887f4..5c26ce24e 100644
--- a/packages/stripe/package.json
+++ b/packages/stripe/package.json
@@ -22,18 +22,18 @@
},
"dependencies": {
"@stripe/react-stripe-js": "^2.6.2",
- "@stripe/stripe-js": "^3.0.10",
- "stripe": "^14.21.0"
+ "@stripe/stripe-js": "^3.1.0",
+ "stripe": "^14.22.0"
},
"devDependencies": {
- "@kit/billing": "*",
- "@kit/eslint-config": "0.2.0",
- "@kit/prettier-config": "0.1.0",
- "@kit/shared": "*",
- "@kit/supabase": "*",
- "@kit/tailwind-config": "0.1.0",
- "@kit/tsconfig": "0.1.0",
- "@kit/ui": "*"
+ "@kit/billing": "^0.1.0",
+ "@kit/eslint-config": "workspace:*",
+ "@kit/prettier-config": "workspace:*",
+ "@kit/shared": "^0.1.0",
+ "@kit/supabase": "^0.1.0",
+ "@kit/tailwind-config": "workspace:*",
+ "@kit/tsconfig": "workspace:*",
+ "@kit/ui": "^0.1.0"
},
"eslintConfig": {
"root": true,
diff --git a/packages/supabase/package.json b/packages/supabase/package.json
index c0b6eaa54..0fe6ef807 100644
--- a/packages/supabase/package.json
+++ b/packages/supabase/package.json
@@ -24,10 +24,10 @@
},
"devDependencies": {
"@epic-web/invariant": "^1.0.0",
- "@kit/eslint-config": "0.2.0",
- "@kit/prettier-config": "0.1.0",
- "@kit/tailwind-config": "0.1.0",
- "@kit/tsconfig": "0.1.0",
+ "@kit/eslint-config": "workspace:*",
+ "@kit/prettier-config": "workspace:*",
+ "@kit/tailwind-config": "workspace:*",
+ "@kit/tsconfig": "workspace:*",
"@supabase/ssr": "^0.1.0",
"@supabase/supabase-js": "^2.40.0",
"@tanstack/react-query": "5.28.6"
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 3186a8e45..62d8101ed 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -28,10 +28,10 @@
"@radix-ui/react-toast": "^1.1.5",
"@radix-ui/react-tooltip": "1.0.7",
"clsx": "^2.1.0",
- "cmdk": "^0.2.0",
+ "cmdk": "1.0.0",
"input-otp": "1.2.3",
"react-top-loading-bar": "2.3.1",
- "tailwind-merge": "^2.2.0"
+ "tailwind-merge": "^2.2.2"
},
"peerDependencies": {
"@radix-ui/react-icons": "1.3.0",
@@ -45,26 +45,26 @@
"zod": "^3.22.4"
},
"devDependencies": {
- "@kit/eslint-config": "0.2.0",
- "@kit/prettier-config": "0.1.0",
- "@kit/tailwind-config": "0.1.0",
- "@kit/tsconfig": "0.1.0",
+ "@kit/eslint-config": "workspace:*",
+ "@kit/prettier-config": "workspace:*",
+ "@kit/tailwind-config": "workspace:*",
+ "@kit/tsconfig": "workspace:*",
"@radix-ui/react-icons": "^1.3.0",
- "@tanstack/react-table": "^8.11.3",
- "@types/react": "^18.2.48",
- "@types/react-dom": "^18.2.18",
+ "@tanstack/react-table": "^8.15.0",
+ "@types/react": "^18.2.73",
+ "@types/react-dom": "^18.2.22",
"class-variance-authority": "^0.7.0",
- "date-fns": "^3.2.0",
- "eslint": "^8.56.0",
+ "date-fns": "^3.6.0",
+ "eslint": "^8.57.0",
"lucide-react": "^0.363.0",
- "prettier": "^3.2.4",
+ "prettier": "^3.2.5",
"react-day-picker": "^8.10.0",
"react-hook-form": "^7.51.2",
"react-i18next": "^14.1.0",
"sonner": "^1.4.41",
"tailwindcss": "3.4.1",
"tailwindcss-animate": "^1.0.7",
- "typescript": "^5.3.3",
+ "typescript": "^5.4.3",
"zod": "^3.22.4"
},
"eslintConfig": {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c1693416d..440bebd0f 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -9,10 +9,10 @@ importers:
.:
dependencies:
'@manypkg/cli':
- specifier: ^0.21.2
+ specifier: ^0.21.3
version: 0.21.3
'@turbo/gen':
- specifier: ^1.11.3
+ specifier: ^1.13.0
version: 1.13.0(@types/node@20.11.30)(typescript@5.4.3)
cross-env:
specifier: ^7.0.3
@@ -21,11 +21,14 @@ importers:
specifier: ^8.15.5
version: 8.15.5
prettier:
- specifier: ^3.2.4
+ specifier: ^3.2.5
version: 3.2.5
turbo:
specifier: ^1.13.0
version: 1.13.0
+ yarn:
+ specifier: ^1.22.22
+ version: 1.22.22
apps/web:
dependencies:
@@ -36,43 +39,43 @@ importers:
specifier: ^3.3.4
version: 3.3.4(react-hook-form@7.51.2)
'@kit/accounts':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../../packages/features/accounts
'@kit/admin':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../../packages/features/admin
'@kit/auth':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../../packages/features/auth
'@kit/billing':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../../packages/billing
'@kit/billing-gateway':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../../packages/billing-gateway
'@kit/email-templates':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../../packages/email-templates
'@kit/i18n':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../../packages/i18n
'@kit/mailers':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../../packages/mailers
'@kit/shared':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../../packages/shared
'@kit/supabase':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../../packages/supabase
'@kit/team-accounts':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../../packages/features/team-accounts
'@kit/ui':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../../packages/ui
'@next/mdx':
- specifier: ^14.1.0
+ specifier: ^14.1.4
version: 14.1.4
'@radix-ui/react-icons':
specifier: ^1.3.0
@@ -87,20 +90,20 @@ importers:
specifier: 5.28.6
version: 5.28.6(react@18.2.0)
'@tanstack/react-query-next-experimental':
- specifier: ^5.28.6
- version: 5.28.8(@tanstack/react-query@5.28.6)(next@14.2.0-canary.44)(react@18.2.0)
+ specifier: ^5.28.9
+ version: 5.28.9(@tanstack/react-query@5.28.6)(next@14.2.0-canary.46)(react@18.2.0)
'@tanstack/react-table':
- specifier: ^8.11.3
+ specifier: ^8.15.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.20.2)
date-fns:
- specifier: ^3.2.0
+ specifier: ^3.6.0
version: 3.6.0
edge-csrf:
specifier: ^1.0.9
- version: 1.0.9(next@14.2.0-canary.44)
+ version: 1.0.9(next@14.2.0-canary.46)
i18next:
specifier: ^23.10.1
version: 23.10.1
@@ -108,17 +111,17 @@ importers:
specifier: ^1.2.0
version: 1.2.0
next:
- specifier: 14.2.0-canary.44
- version: 14.2.0-canary.44(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0)
+ specifier: 14.2.0-canary.46
+ version: 14.2.0-canary.46(@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.20.2)(next@14.2.0-canary.44)(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.46)(react-dom@18.2.0)(react@18.2.0)
next-sitemap:
specifier: ^4.2.3
- version: 4.2.3(next@14.2.0-canary.44)
+ version: 4.2.3(next@14.2.0-canary.46)
next-themes:
specifier: ^0.2.1
- version: 0.2.1(next@14.2.0-canary.44)(react-dom@18.2.0)(react@18.2.0)
+ version: 0.2.1(next@14.2.0-canary.46)(react-dom@18.2.0)(react@18.2.0)
react:
specifier: 18.2.0
version: 18.2.0
@@ -132,7 +135,7 @@ importers:
specifier: ^14.1.0
version: 14.1.0(i18next@23.10.1)(react-dom@18.2.0)(react@18.2.0)
recharts:
- specifier: ^2.10.3
+ specifier: ^2.12.3
version: 2.12.3(react-dom@18.2.0)(react@18.2.0)
rehype-autolink-headings:
specifier: ^7.1.0
@@ -151,70 +154,70 @@ importers:
version: 3.22.4
devDependencies:
'@kit/eslint-config':
- specifier: ^0.2.0
+ specifier: workspace:^
version: link:../../tooling/eslint
'@kit/prettier-config':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../../tooling/prettier
'@kit/tailwind-config':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../../tooling/tailwind
'@kit/tsconfig':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../../tooling/typescript
'@next/bundle-analyzer':
specifier: 14.2.0-canary.44
version: 14.2.0-canary.44
'@types/mdx':
- specifier: ^2.0.10
+ specifier: ^2.0.12
version: 2.0.12
'@types/node':
- specifier: ^20.11.5
+ specifier: ^20.11.30
version: 20.11.30
'@types/react':
- specifier: ^18.2.48
- version: 18.2.71
+ specifier: ^18.2.73
+ version: 18.2.73
'@types/react-dom':
- specifier: ^18.2.18
+ specifier: ^18.2.22
version: 18.2.22
autoprefixer:
- specifier: ^10.4.17
+ specifier: ^10.4.19
version: 10.4.19(postcss@8.4.33)
dotenv-cli:
- specifier: ^7.3.0
+ specifier: ^7.4.1
version: 7.4.1
eslint:
- specifier: ^8.56.0
+ specifier: ^8.57.0
version: 8.57.0
prettier:
- specifier: ^3.2.4
+ specifier: ^3.2.5
version: 3.2.5
tailwindcss:
specifier: 3.4.1
version: 3.4.1
typescript:
- specifier: ^5.3.3
+ specifier: ^5.4.3
version: 5.4.3
packages/billing:
devDependencies:
'@kit/eslint-config':
- specifier: 0.2.0
+ specifier: workspace:*
version: link:../../tooling/eslint
'@kit/prettier-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/prettier
'@kit/supabase':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../supabase
'@kit/tailwind-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/tailwind
'@kit/tsconfig':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/typescript
'@kit/ui':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../ui
lucide-react:
specifier: ^0.363.0
@@ -226,31 +229,31 @@ importers:
packages/billing-gateway:
devDependencies:
'@kit/billing':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../billing
'@kit/eslint-config':
- specifier: 0.2.0
+ specifier: workspace:*
version: link:../../tooling/eslint
'@kit/prettier-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/prettier
'@kit/shared':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../shared
'@kit/stripe':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../stripe
'@kit/supabase':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../supabase
'@kit/tailwind-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/tailwind
'@kit/tsconfig':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/typescript
'@kit/ui':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../ui
'@supabase/supabase-js':
specifier: ^2.40.0
@@ -266,19 +269,19 @@ importers:
dependencies:
'@react-email/components':
specifier: 0.0.15
- version: 0.0.15(@types/react@18.2.71)(react-email@2.1.0)(react@18.2.0)
+ version: 0.0.15(@types/react@18.2.73)(react-email@2.1.0)(react@18.2.0)
devDependencies:
'@kit/eslint-config':
- specifier: 0.2.0
+ specifier: workspace:*
version: link:../../tooling/eslint
'@kit/prettier-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/prettier
'@kit/tailwind-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/tailwind
'@kit/tsconfig':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/typescript
packages/features/accounts:
@@ -287,44 +290,53 @@ importers:
specifier: ^3.3.4
version: 3.3.4(react-hook-form@7.51.2)
'@kit/billing-gateway':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../../billing-gateway
'@kit/email-templates':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../../email-templates
'@kit/eslint-config':
- specifier: 0.2.0
+ specifier: workspace:*
version: link:../../../tooling/eslint
'@kit/mailers':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../../mailers
'@kit/prettier-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../../tooling/prettier
'@kit/shared':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../../shared
'@kit/supabase':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../../supabase
'@kit/tailwind-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../../tooling/tailwind
'@kit/tsconfig':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../../tooling/typescript
'@kit/ui':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../../ui
'@radix-ui/react-icons':
specifier: ^1.3.0
version: 1.3.0(react@18.2.0)
+ '@tanstack/react-query':
+ specifier: 5.28.6
+ version: 5.28.6(react@18.2.0)
lucide-react:
specifier: ^0.363.0
version: 0.363.0(react@18.2.0)
react-hook-form:
specifier: ^7.51.2
version: 7.51.2(react@18.2.0)
+ react-i18next:
+ specifier: ^14.1.0
+ version: 14.1.0(i18next@23.10.1)(react-dom@18.2.0)(react@18.2.0)
+ sonner:
+ specifier: ^1.4.41
+ version: 1.4.41(react-dom@18.2.0)(react@18.2.0)
zod:
specifier: ^3.22.4
version: 3.22.4
@@ -332,25 +344,25 @@ importers:
packages/features/admin:
devDependencies:
'@kit/eslint-config':
- specifier: 0.2.0
+ specifier: workspace:*
version: link:../../../tooling/eslint
'@kit/prettier-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../../tooling/prettier
'@kit/supabase':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../../supabase
'@kit/tailwind-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../../tooling/tailwind
'@kit/tsconfig':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../../tooling/typescript
'@kit/ui':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../../ui
'@supabase/supabase-js':
- specifier: 2.40.0
+ specifier: ^2.40.0
version: 2.40.0
lucide-react:
specifier: ^0.363.0
@@ -358,26 +370,29 @@ importers:
packages/features/auth:
devDependencies:
+ '@hookform/resolvers':
+ specifier: ^3.3.4
+ version: 3.3.4(react-hook-form@7.51.2)
'@kit/eslint-config':
- specifier: 0.2.0
+ specifier: workspace:*
version: link:../../../tooling/eslint
'@kit/prettier-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../../tooling/prettier
'@kit/shared':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../shared
'@kit/supabase':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../supabase
'@kit/tailwind-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../../tooling/tailwind
'@kit/tsconfig':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../../tooling/typescript
'@kit/ui':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../ui
'@radix-ui/react-icons':
specifier: ^1.3.0
@@ -401,55 +416,64 @@ importers:
specifier: ^3.3.4
version: 3.3.4(react-hook-form@7.51.2)
'@kit/accounts':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../accounts
+ '@kit/billing-gateway':
+ specifier: workspace:*
+ version: link:../../billing-gateway
'@kit/email-templates':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../../email-templates
'@kit/eslint-config':
- specifier: 0.2.0
+ specifier: workspace:*
version: link:../../../tooling/eslint
'@kit/mailers':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../../mailers
'@kit/prettier-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../../tooling/prettier
'@kit/shared':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../../shared
'@kit/supabase':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../../supabase
'@kit/tailwind-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../../tooling/tailwind
'@kit/tsconfig':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../../tooling/typescript
'@kit/ui':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../../ui
+ '@tanstack/react-query':
+ specifier: 5.28.6
+ version: 5.28.6(react@18.2.0)
lucide-react:
specifier: ^0.363.0
version: 0.363.0(react@18.2.0)
+ react-i18next:
+ specifier: ^14.1.0
+ version: 14.1.0(i18next@23.10.1)(react-dom@18.2.0)(react@18.2.0)
packages/i18n:
devDependencies:
'@kit/eslint-config':
- specifier: 0.2.0
+ specifier: workspace:*
version: link:../../tooling/eslint
'@kit/prettier-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/prettier
'@kit/shared':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../shared
'@kit/tailwind-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/tailwind
'@kit/tsconfig':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/typescript
i18next:
specifier: ^23.10.1
@@ -471,16 +495,16 @@ importers:
version: 6.9.13
devDependencies:
'@kit/eslint-config':
- specifier: 0.2.0
+ specifier: workspace:*
version: link:../../tooling/eslint
'@kit/prettier-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/prettier
'@kit/tailwind-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/tailwind
'@kit/tsconfig':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/typescript
'@types/nodemailer':
specifier: 6.4.14
@@ -493,16 +517,16 @@ importers:
version: 8.19.0
devDependencies:
'@kit/eslint-config':
- specifier: 0.2.0
+ specifier: workspace:*
version: link:../../tooling/eslint
'@kit/prettier-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/prettier
'@kit/tailwind-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/tailwind
'@kit/tsconfig':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/typescript
packages/stripe:
@@ -511,35 +535,35 @@ importers:
specifier: ^2.6.2
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
+ specifier: ^3.1.0
version: 3.1.0
stripe:
- specifier: ^14.21.0
+ specifier: ^14.22.0
version: 14.22.0
devDependencies:
'@kit/billing':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../billing
'@kit/eslint-config':
- specifier: 0.2.0
+ specifier: workspace:*
version: link:../../tooling/eslint
'@kit/prettier-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/prettier
'@kit/shared':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../shared
'@kit/supabase':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../supabase
'@kit/tailwind-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/tailwind
'@kit/tsconfig':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/typescript
'@kit/ui':
- specifier: '*'
+ specifier: ^0.1.0
version: link:../ui
packages/supabase:
@@ -548,16 +572,16 @@ importers:
specifier: ^1.0.0
version: 1.0.0
'@kit/eslint-config':
- specifier: 0.2.0
+ specifier: workspace:*
version: link:../../tooling/eslint
'@kit/prettier-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/prettier
'@kit/tailwind-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/tailwind
'@kit/tsconfig':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/typescript
'@supabase/ssr':
specifier: ^0.1.0
@@ -576,61 +600,61 @@ importers:
version: 3.3.4(react-hook-form@7.51.2)
'@radix-ui/react-accordion':
specifier: 1.1.2
- version: 1.1.2(@types/react-dom@18.2.22)(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.1.2(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.71)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.71)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.71)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.71)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.71)(react-dom@18.2.0)(react@18.2.0)
+ version: 2.0.6(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.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.71)(react-dom@18.2.0)(react@18.2.0)
+ version: 2.0.2(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.71)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.1.4(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.71)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.7(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.71)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.1.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.71)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.71)(react-dom@18.2.0)(react@18.2.0)
+ version: 2.0.0(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.71)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.71)(react@18.2.0)
+ version: 1.0.2(@types/react@18.2.73)(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.71)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.71)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.1.5(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.71)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.7(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
clsx:
specifier: ^2.1.0
version: 2.1.0
cmdk:
- specifier: ^0.2.0
- version: 0.2.1(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0)
+ specifier: 1.0.0
+ version: 1.0.0(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
input-otp:
specifier: 1.2.3
version: 1.2.3(react-dom@18.2.0)(react@18.2.0)
@@ -638,47 +662,47 @@ importers:
specifier: 2.3.1
version: 2.3.1(react@18.2.0)
tailwind-merge:
- specifier: ^2.2.0
+ specifier: ^2.2.2
version: 2.2.2
devDependencies:
'@kit/eslint-config':
- specifier: 0.2.0
+ specifier: workspace:*
version: link:../../tooling/eslint
'@kit/prettier-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/prettier
'@kit/tailwind-config':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/tailwind
'@kit/tsconfig':
- specifier: 0.1.0
+ specifier: workspace:*
version: link:../../tooling/typescript
'@radix-ui/react-icons':
specifier: ^1.3.0
version: 1.3.0(react@18.2.0)
'@tanstack/react-table':
- specifier: ^8.11.3
+ specifier: ^8.15.0
version: 8.15.0(react-dom@18.2.0)(react@18.2.0)
'@types/react':
- specifier: ^18.2.48
- version: 18.2.71
+ specifier: ^18.2.73
+ version: 18.2.73
'@types/react-dom':
- specifier: ^18.2.18
+ specifier: ^18.2.22
version: 18.2.22
class-variance-authority:
specifier: ^0.7.0
version: 0.7.0
date-fns:
- specifier: ^3.2.0
+ specifier: ^3.6.0
version: 3.6.0
eslint:
- specifier: ^8.56.0
+ specifier: ^8.57.0
version: 8.57.0
lucide-react:
specifier: ^0.363.0
version: 0.363.0(react@18.2.0)
prettier:
- specifier: ^3.2.4
+ specifier: ^3.2.5
version: 3.2.5
react-day-picker:
specifier: ^8.10.0
@@ -699,7 +723,7 @@ importers:
specifier: ^1.0.7
version: 1.0.7(tailwindcss@3.4.1)
typescript:
- specifier: ^5.3.3
+ specifier: ^5.4.3
version: 5.4.3
zod:
specifier: ^3.22.4
@@ -708,31 +732,31 @@ importers:
supabase:
dependencies:
supabase:
- specifier: ^1.150.0
+ specifier: ^1.151.1
version: 1.151.1
tooling/eslint:
dependencies:
'@next/eslint-plugin-next':
- specifier: ^14.1.0
+ specifier: ^14.1.4
version: 14.1.4
'@trivago/prettier-plugin-sort-imports':
specifier: ^4.3.0
version: 4.3.0(prettier@3.2.5)
'@types/eslint':
- specifier: ^8.56.2
+ specifier: ^8.56.6
version: 8.56.6
'@typescript-eslint/eslint-plugin':
- specifier: ^7.3.1
+ specifier: ^7.4.0
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
+ specifier: ^7.4.0
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
+ specifier: ^1.13.0
version: 1.13.0(eslint@8.57.0)
eslint-plugin-import:
specifier: ^2.29.1
@@ -748,41 +772,41 @@ importers:
version: 4.6.0(eslint@8.57.0)
devDependencies:
'@kit/prettier-config':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../prettier
'@kit/tsconfig':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../typescript
eslint:
- specifier: ^8.56.0
+ specifier: ^8.57.0
version: 8.57.0
typescript:
- specifier: ^5.3.3
+ specifier: ^5.4.3
version: 5.4.3
tooling/prettier:
dependencies:
'@ianvs/prettier-plugin-sort-imports':
- specifier: ^4.1.1
+ specifier: ^4.2.1
version: 4.2.1(prettier@3.2.5)
prettier:
- specifier: ^3.2.4
+ specifier: ^3.2.5
version: 3.2.5
prettier-plugin-tailwindcss:
- specifier: ^0.5.11
- version: 0.5.12(@ianvs/prettier-plugin-sort-imports@4.2.1)(prettier@3.2.5)
+ specifier: ^0.5.13
+ version: 0.5.13(@ianvs/prettier-plugin-sort-imports@4.2.1)(prettier@3.2.5)
devDependencies:
'@kit/tsconfig':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../typescript
typescript:
- specifier: ^5.3.3
+ specifier: ^5.4.3
version: 5.4.3
tooling/tailwind:
dependencies:
autoprefixer:
- specifier: ^10.4.17
+ specifier: ^10.4.19
version: 10.4.19(postcss@8.4.33)
postcss:
specifier: 8.4.33
@@ -792,22 +816,22 @@ importers:
version: 3.4.1
devDependencies:
'@kit/eslint-config':
- specifier: ^0.2.0
+ specifier: workspace:^
version: link:../eslint
'@kit/prettier-config':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../prettier
'@kit/tsconfig':
- specifier: ^0.1.0
+ specifier: workspace:^
version: link:../typescript
eslint:
- specifier: ^8.56.0
+ specifier: ^8.57.0
version: 8.57.0
prettier:
- specifier: ^3.2.4
+ specifier: ^3.2.5
version: 3.2.5
typescript:
- specifier: ^5.3.3
+ specifier: ^5.4.3
version: 5.4.3
tooling/typescript: {}
@@ -1772,16 +1796,16 @@ packages:
resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==}
dev: false
- /@grpc/grpc-js@1.10.3:
- resolution: {integrity: sha512-qiO9MNgYnwbvZ8MK0YLWbnGrNX3zTcj6/Ef7UHu5ZofER3e2nF3Y35GaPo9qNJJ/UJQKa4KL+z/F4Q8Q+uCdUQ==}
+ /@grpc/grpc-js@1.10.4:
+ resolution: {integrity: sha512-MqBisuxTkYvPFnEiu+dag3xG/NBUDzSbAFAWlzfkGnQkjVZ6by3h4atbBc+Ikqup1z5BfB4BN18gKWR1YyppNw==}
engines: {node: '>=12.10.0'}
dependencies:
- '@grpc/proto-loader': 0.7.10
+ '@grpc/proto-loader': 0.7.11
'@js-sdsl/ordered-map': 4.4.2
dev: false
- /@grpc/proto-loader@0.7.10:
- resolution: {integrity: sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==}
+ /@grpc/proto-loader@0.7.11:
+ resolution: {integrity: sha512-amjhSfJ+xYnTP+hncJMmkchoRtjIdi+uO3FaymGSCr07yu5xfpXFEnhZkTU1mj2lPJB3oVToau7j9YkqB+YNdg==}
engines: {node: '>=6'}
hasBin: true
dependencies:
@@ -1998,8 +2022,8 @@ packages:
resolution: {integrity: sha512-Py8zIo+02ht82brwwhTg36iogzFqGLPXlRGKQw5s+qP/kMNc4MAyDeEwBKDijk6zTIbegEgu8Qy7C1LboslQAw==}
dev: false
- /@next/env@14.2.0-canary.44:
- resolution: {integrity: sha512-I4pQqivxUD8jgAy8WomJhniJmdEUmdfNPTTXunsRUPHkWU3a6rlGc90fYrb+4+Bm/szyXEhBesFaB6n27NWjEw==}
+ /@next/env@14.2.0-canary.46:
+ resolution: {integrity: sha512-3nWvbdmdq2kdt1E5ZDB5imDHZo5EsjCcGqa0HQ1rBj9J4q1nngrkCWWGjHxkxcveBcOp+AIcXuFUNpeaBSftag==}
dev: false
/@next/eslint-plugin-next@14.1.4:
@@ -2031,8 +2055,8 @@ packages:
dev: false
optional: true
- /@next/swc-darwin-arm64@14.2.0-canary.44:
- resolution: {integrity: sha512-P9gmEH5fSTL2E3pMVfsIB2o5qqVsdNSfpq8puNYcbMNvpvwhGP9mgx9gOybf8FdfxYSGCGnLjeit/3ja0LJIeQ==}
+ /@next/swc-darwin-arm64@14.2.0-canary.46:
+ resolution: {integrity: sha512-jd7wwdRw3MTlv6HIM8t1Tk8rlXfA967/JZNVmlcU+yFGT0J5D93AqkrwZhOXveyZoy38s0wXFiZ7YdO49dkntQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
@@ -2049,8 +2073,8 @@ packages:
dev: false
optional: true
- /@next/swc-darwin-x64@14.2.0-canary.44:
- resolution: {integrity: sha512-yiakf77DTsX6uKEW1bNcV4ST654OzR9svNdhIz3gqti17SVF2LnVhJGMZ8VcQhqIvQe6zeG4m2HXvWFsxGURuQ==}
+ /@next/swc-darwin-x64@14.2.0-canary.46:
+ resolution: {integrity: sha512-/b65qN2IhF23mUaMlytn/VDoyKhau2KT+lWfV6VdsYlK9zJ9xYdTy0RJ5TyduhBrh9TiH3DheHsvAzRceulqQA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
@@ -2067,8 +2091,8 @@ packages:
dev: false
optional: true
- /@next/swc-linux-arm64-gnu@14.2.0-canary.44:
- resolution: {integrity: sha512-ZdzSCApQdooLTQOc4hQdHQLiidYv3nImyjhkZF2ol1Rb3JBLtuTVx2zg3GjBN/aypUBx67kpWZoPIPbIlYcKpA==}
+ /@next/swc-linux-arm64-gnu@14.2.0-canary.46:
+ resolution: {integrity: sha512-HQcuZ2DG8yVGPFNjpRgiMGN82c2w0Kl4tB7R1DdyQXlgpmIh6fTrR2pqGrnmLZ3i3P810O3hOKvx64iQDZJ0pA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
@@ -2085,8 +2109,8 @@ packages:
dev: false
optional: true
- /@next/swc-linux-arm64-musl@14.2.0-canary.44:
- resolution: {integrity: sha512-hh1zk4yEKDRbLivQqH04Ve+bB+baivK5/mKnFSDAaP7fKiLu6RA71J7oh2lUksgDOVTLqpR2ApHKyHbnNKVCcQ==}
+ /@next/swc-linux-arm64-musl@14.2.0-canary.46:
+ resolution: {integrity: sha512-ROi5dvPxgVmDCDvw3i/IhvGkfSKtnknEthben7I57jx2tkDwAXDjuOsgf9rovEYuYVLHu4CHU29K+KWiTSfvNg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
@@ -2103,8 +2127,8 @@ packages:
dev: false
optional: true
- /@next/swc-linux-x64-gnu@14.2.0-canary.44:
- resolution: {integrity: sha512-Dt7SpIQrimsTAlWNHBzb3gwG01s4X2rVtX8RCVfO3Wqb6bqb0sFHxJQ7MWDql9CtbQLvwEPvWwRz0RPtEFK5Cg==}
+ /@next/swc-linux-x64-gnu@14.2.0-canary.46:
+ resolution: {integrity: sha512-PbOgNCVzIVN8xKvqFMzQIFwYMNmrZF/k+Rem6pxg+VYxz9T9DVpm+CnHOYgZ02RrDt2SyjiwkMP/0yGLgl7sag==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
@@ -2121,8 +2145,8 @@ packages:
dev: false
optional: true
- /@next/swc-linux-x64-musl@14.2.0-canary.44:
- resolution: {integrity: sha512-VNUjddGcYepo9Pqn6O9uENlHNdKsOV8gjqLYvGPs820NVxRUSRw4yhUUmQSzTiJT+XxYlQ1XsT8DE5aWgCoxtA==}
+ /@next/swc-linux-x64-musl@14.2.0-canary.46:
+ resolution: {integrity: sha512-LMhnxb9ePpCkS70s8Py6xlVGBzeAHjeIXzaun5K6DiefrfJ4unVKkZTD7jy6JTK/a/92BhnjxPrX+wz4/wYRbg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
@@ -2139,8 +2163,8 @@ packages:
dev: false
optional: true
- /@next/swc-win32-arm64-msvc@14.2.0-canary.44:
- resolution: {integrity: sha512-2lBxvpMqErzTsMDPdnzMw/IcRp1SYkSzL/UuScgvbE7gSDnMlur8PtAM5MMwxQFdMAEbcnefjxH4kjOuwQagyw==}
+ /@next/swc-win32-arm64-msvc@14.2.0-canary.46:
+ resolution: {integrity: sha512-RFlxKkq1vg6/ZIRQ/gOhtEkAdtoQz9iwfEHalQ4GEe3+lqxWa4tx5YAq9miNBwACaNv/z1hqp1cDl45ZS0kC/A==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
@@ -2157,8 +2181,8 @@ packages:
dev: false
optional: true
- /@next/swc-win32-ia32-msvc@14.2.0-canary.44:
- resolution: {integrity: sha512-yadLbdDfXvn5uPNPyxmXdHUNTEyBNLspF87kbGVHM1HsffTaqgZuQZy52E247aoATJ/g951fYAqi7pxA61rWwg==}
+ /@next/swc-win32-ia32-msvc@14.2.0-canary.46:
+ resolution: {integrity: sha512-DSMDxFJqgLlKFCs8Ex5HWazPjVbkCJAR7DrJe4khGq17LlvHBzPy/te77UrbPP9S27TJyaH1Q7J7DJ1gjPTP2g==}
engines: {node: '>= 10'}
cpu: [ia32]
os: [win32]
@@ -2175,8 +2199,8 @@ packages:
dev: false
optional: true
- /@next/swc-win32-x64-msvc@14.2.0-canary.44:
- resolution: {integrity: sha512-t+0EgPaqQVDmBxrbOWEi3R+WeOg9jDhBYSqtyJO1n8Fou34xApsWzdgv9vSuRsAhU4CoMJQQkzm04FMIJReHmw==}
+ /@next/swc-win32-x64-msvc@14.2.0-canary.46:
+ resolution: {integrity: sha512-T/hNIgx1M6hZ2Q/ABHvMt/apGF0nuBX258pSXNg/tpkKo4szDGO/EULie4dAEIMWOG6asVg9nYtUPh6Q3hmrJQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -2253,7 +2277,7 @@ packages:
peerDependencies:
'@opentelemetry/api': ^1.0.0
dependencies:
- '@grpc/grpc-js': 1.10.3
+ '@grpc/grpc-js': 1.10.4
'@opentelemetry/api': 1.8.0
'@opentelemetry/core': 1.13.0(@opentelemetry/api@1.8.0)
'@opentelemetry/otlp-grpc-exporter-base': 0.39.1(@opentelemetry/api@1.8.0)
@@ -2278,7 +2302,7 @@ packages:
peerDependencies:
'@opentelemetry/api': ^1.0.0
dependencies:
- '@grpc/grpc-js': 1.10.3
+ '@grpc/grpc-js': 1.10.4
'@opentelemetry/api': 1.8.0
'@opentelemetry/core': 1.13.0(@opentelemetry/api@1.8.0)
'@opentelemetry/otlp-exporter-base': 0.39.1(@opentelemetry/api@1.8.0)
@@ -2500,19 +2524,13 @@ packages:
'@babel/runtime': 7.24.1
dev: false
- /@radix-ui/primitive@1.0.0:
- resolution: {integrity: sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==}
- dependencies:
- '@babel/runtime': 7.24.1
- dev: false
-
/@radix-ui/primitive@1.0.1:
resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==}
dependencies:
'@babel/runtime': 7.24.1
dev: false
- /@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):
+ /@radix-ui/react-accordion@1.1.2(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-fDG7jcoNKVjSK6yfmuAs0EnPDro0WMXIhMtXdTBWqEioVW206ku+4Lw07e+13lUkFkpoEQ2PdeMIAGpdqEAmDg==}
peerDependencies:
'@types/react': '*'
@@ -2527,21 +2545,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.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
+ '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-direction': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.71)(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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-OrVIOcZL0tl6xibeuGt5/+UxoT2N27KCFOPjFyfXMnchxSHZ/OW7cCX2nGlIYJrbHK/fczPcFzAwvNBB6XBNMA==}
peerDependencies:
'@types/react': '*'
@@ -2556,18 +2574,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.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
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.71)(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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==}
peerDependencies:
'@types/react': '*'
@@ -2581,14 +2599,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.71)(react-dom@18.2.0)(react@18.2.0)
- '@types/react': 18.2.71
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.71)(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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-kVK2K7ZD3wwj3qhle0ElXhOjbezIgyl2hVvgwfIdexL3rN6zJmy5AqqIf+D31lxVppdzV8CjAfZ6PklkmInZLw==}
peerDependencies:
'@types/react': '*'
@@ -2602,17 +2620,17 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.24.1
- '@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
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.71)(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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg==}
peerDependencies:
'@types/react': '*'
@@ -2627,20 +2645,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.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
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.71)(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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==}
peerDependencies:
'@types/react': '*'
@@ -2655,20 +2673,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.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
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==}
peerDependencies:
'@types/react': '*'
@@ -2682,26 +2700,17 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.24.1
- '@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
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@types/react-dom': 18.2.22
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-compose-refs@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- dependencies:
- '@babel/runtime': 7.24.1
- react: 18.2.0
- dev: false
-
- /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.71)(react@18.2.0):
+ /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.73)(react@18.2.0):
resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==}
peerDependencies:
'@types/react': '*'
@@ -2711,20 +2720,11 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.24.1
- '@types/react': 18.2.71
+ '@types/react': 18.2.73
react: 18.2.0
dev: false
- /@radix-ui/react-context@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- dependencies:
- '@babel/runtime': 7.24.1
- react: 18.2.0
- dev: false
-
- /@radix-ui/react-context@1.0.1(@types/react@18.2.71)(react@18.2.0):
+ /@radix-ui/react-context@1.0.1(@types/react@18.2.73)(react@18.2.0):
resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==}
peerDependencies:
'@types/react': '*'
@@ -2734,38 +2734,11 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.24.1
- '@types/react': 18.2.71
+ '@types/react': 18.2.73
react: 18.2.0
dev: false
- /@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
- react-dom: ^16.8 || ^17.0 || ^18.0
- dependencies:
- '@babel/runtime': 7.24.1
- '@radix-ui/primitive': 1.0.0
- '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
- '@radix-ui/react-context': 1.0.0(react@18.2.0)
- '@radix-ui/react-dismissable-layer': 1.0.0(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-focus-guards': 1.0.0(react@18.2.0)
- '@radix-ui/react-focus-scope': 1.0.0(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-id': 1.0.0(react@18.2.0)
- '@radix-ui/react-portal': 1.0.0(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-presence': 1.0.0(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-slot': 1.0.0(react@18.2.0)
- '@radix-ui/react-use-controllable-state': 1.0.0(react@18.2.0)
- 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.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.71)(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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==}
peerDependencies:
'@types/react': '*'
@@ -2780,26 +2753,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.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
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.71)(react@18.2.0)
+ react-remove-scroll: 2.5.5(@types/react@18.2.73)(react@18.2.0)
dev: false
- /@radix-ui/react-direction@1.0.1(@types/react@18.2.71)(react@18.2.0):
+ /@radix-ui/react-direction@1.0.1(@types/react@18.2.73)(react@18.2.0):
resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==}
peerDependencies:
'@types/react': '*'
@@ -2809,27 +2782,11 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.24.1
- '@types/react': 18.2.71
+ '@types/react': 18.2.73
react: 18.2.0
dev: false
- /@radix-ui/react-dismissable-layer@1.0.0(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-n7kDRfx+LB1zLueRDvZ1Pd0bxdJWDUZNQ/GWoxDn2prnuJKRdxsjulejX/ePkOsLi2tTm6P24mDqlMSgQpsT6g==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
- dependencies:
- '@babel/runtime': 7.24.1
- '@radix-ui/primitive': 1.0.0
- '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0)
- '@radix-ui/react-use-escape-keydown': 1.0.0(react@18.2.0)
- react: 18.2.0
- 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.71)(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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==}
peerDependencies:
'@types/react': '*'
@@ -2844,17 +2801,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.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
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.71)(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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==}
peerDependencies:
'@types/react': '*'
@@ -2869,17 +2826,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.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
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.71)(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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-i6TuFOoWmLWq+M/eCLGd/bQ2HfAX1RJgvrBQ6AQLmzfvsLdefxbWu8G9zczcPFfcSPehz9GcpF6K9QYreFV8hA==}
peerDependencies:
'@types/react': '*'
@@ -2894,28 +2851,19 @@ 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.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
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-menu': 2.0.6(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@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-guards@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-UagjDk4ijOAnGu4WMUPj9ahi7/zJJqNZ9ZAiGPp7waUWJO0O1aWXi/udPphI0IUjvrhBsZJGSN66dR2dsueLWQ==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- dependencies:
- '@babel/runtime': 7.24.1
- react: 18.2.0
- dev: false
-
- /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.71)(react@18.2.0):
+ /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.73)(react@18.2.0):
resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==}
peerDependencies:
'@types/react': '*'
@@ -2925,25 +2873,11 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.24.1
- '@types/react': 18.2.71
+ '@types/react': 18.2.73
react: 18.2.0
dev: false
- /@radix-ui/react-focus-scope@1.0.0(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-C4SWtsULLGf/2L4oGeIHlvWQx7Rf+7cX/vKOAD2dXW0A1b5QXwi3wWeaEgW+wn+SEVrraMUk05vLU9fZZz5HbQ==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
- dependencies:
- '@babel/runtime': 7.24.1
- '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0)
- react: 18.2.0
- 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.71)(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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==}
peerDependencies:
'@types/react': '*'
@@ -2957,16 +2891,16 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.24.1
- '@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
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.71)(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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==}
peerDependencies:
'@types/react': '*'
@@ -2980,10 +2914,10 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.24.1
- '@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
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@types/react-dom': 18.2.22
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@@ -2996,17 +2930,7 @@ packages:
dependencies:
react: 18.2.0
- /@radix-ui/react-id@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-Q6iAB/U7Tq3NTolBBQbHTgclPmGWE3OlktGGqrClPozSw4vkQ1DfQAOtzgRPecKsMdJINE05iaoDUG8tRzCBjw==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- dependencies:
- '@babel/runtime': 7.24.1
- '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0)
- react: 18.2.0
- dev: false
-
- /@radix-ui/react-id@1.0.1(@types/react@18.2.71)(react@18.2.0):
+ /@radix-ui/react-id@1.0.1(@types/react@18.2.73)(react@18.2.0):
resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==}
peerDependencies:
'@types/react': '*'
@@ -3016,12 +2940,12 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.24.1
- '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.71)(react@18.2.0)
- '@types/react': 18.2.71
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
react: 18.2.0
dev: false
- /@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):
+ /@radix-ui/react-label@2.0.2(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==}
peerDependencies:
'@types/react': '*'
@@ -3035,14 +2959,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.71)(react-dom@18.2.0)(react@18.2.0)
- '@types/react': 18.2.71
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.71)(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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==}
peerDependencies:
'@types/react': '*'
@@ -3057,30 +2981,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.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
+ '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-direction': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.73)(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.73)(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.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.71)(react@18.2.0)
+ react-remove-scroll: 2.5.5(@types/react@18.2.73)(react@18.2.0)
dev: false
- /@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):
+ /@radix-ui/react-navigation-menu@1.1.4(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-Cc+seCS3PmWmjI51ufGG7zp1cAAIRqHVw7C9LOA2TZ+R4hG6rDvHcTqIsEEFLmZO3zNVH72jOOE7kKNy8W+RtA==}
peerDependencies:
'@types/react': '*'
@@ -3095,26 +3019,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.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
+ '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-direction': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-cZ4defGpkZ0qTRtlIBzJLSzL6ht7ofhhW4i1+pkemjV1IKXm0wgCRnee154qlV6r9Ttunmh2TNZhMfV2bavUyA==}
peerDependencies:
'@types/react': '*'
@@ -3129,27 +3053,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.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
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.73)(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.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.71)(react@18.2.0)
+ react-remove-scroll: 2.5.5(@types/react@18.2.73)(react@18.2.0)
dev: false
- /@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):
+ /@radix-ui/react-popover@1.0.7(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==}
peerDependencies:
'@types/react': '*'
@@ -3164,27 +3088,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.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
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.73)(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.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.71)(react@18.2.0)
+ react-remove-scroll: 2.5.5(@types/react@18.2.73)(react@18.2.0)
dev: false
- /@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-popper@1.1.2(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==}
peerDependencies:
'@types/react': '*'
@@ -3199,22 +3123,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.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/react-arrow': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.73)(react@18.2.0)
'@radix-ui/rect': 1.0.1
- '@types/react': 18.2.71
+ '@types/react': 18.2.73
'@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.71)(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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==}
peerDependencies:
'@types/react': '*'
@@ -3229,34 +3153,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.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/react-arrow': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.73)(react@18.2.0)
'@radix-ui/rect': 1.0.1
- '@types/react': 18.2.71
+ '@types/react': 18.2.73
'@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.0(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-a8qyFO/Xb99d8wQdu4o7qnigNjTPG123uADNecz0eX4usnQEj7o+cG4ZX4zkqq98NYekT7UoEQIjxBNWIFuqTA==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
- dependencies:
- '@babel/runtime': 7.24.1
- '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0)(react@18.2.0)
- react: 18.2.0
- 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.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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==}
peerDependencies:
'@types/react': '*'
@@ -3270,14 +3182,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.71)(react-dom@18.2.0)(react@18.2.0)
- '@types/react': 18.2.71
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==}
peerDependencies:
'@types/react': '*'
@@ -3291,27 +3203,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.71)(react-dom@18.2.0)(react@18.2.0)
- '@types/react': 18.2.71
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.73
'@types/react-dom': 18.2.22
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-presence@1.0.0(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
- dependencies:
- '@babel/runtime': 7.24.1
- '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
- '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0)
- react: 18.2.0
- 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.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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==}
peerDependencies:
'@types/react': '*'
@@ -3325,27 +3224,15 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.24.1
- '@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
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@types/react-dom': 18.2.22
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-primitive@1.0.0(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-EyXe6mnRlHZ8b6f4ilTDrXmkLShICIuOTTj0GX4w1rp+wSxf3+TD05u1UOITC8VsJ2a9nwHvdXtOXEOl0Cw/zQ==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- react-dom: ^16.8 || ^17.0 || ^18.0
- dependencies:
- '@babel/runtime': 7.24.1
- '@radix-ui/react-slot': 1.0.0(react@18.2.0)
- react: 18.2.0
- 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.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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==}
peerDependencies:
'@types/react': '*'
@@ -3359,14 +3246,14 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.24.1
- '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0)
- '@types/react': 18.2.71
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.71)(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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-x+yELayyefNeKeTx4fjK6j99Fs6c4qKm3aY38G3swQVTN6xMpsrbigC0uHs2L//g8q4qR7qOcww8430jJmi2ag==}
peerDependencies:
'@types/react': '*'
@@ -3381,22 +3268,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.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
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-direction': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==}
peerDependencies:
'@types/react': '*'
@@ -3411,21 +3298,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.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
+ '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-direction': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.71)(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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-b6PAgH4GQf9QEn8zbT2XUHpW5z8BzqEc7Kl11TwDrvuTrxlkcjTD5qa/bxgKr+nmuXKu4L/W5UZ4mlP/VG/5Gw==}
peerDependencies:
'@types/react': '*'
@@ -3441,20 +3328,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.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
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-direction': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.71)(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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-RH5b7af4oHtkcHS7pG6Sgv5rk5Wxa7XI8W5gvB1N/yiuDGZxko1ynvOiVhFM7Cis2A8zxF9bTOUVbRDzPepe6w==}
peerDependencies:
'@types/react': '*'
@@ -3470,32 +3357,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.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
+ '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-direction': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.71)(react@18.2.0)
+ react-remove-scroll: 2.5.5(@types/react@18.2.73)(react@18.2.0)
dev: false
- /@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):
+ /@radix-ui/react-separator@1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==}
peerDependencies:
'@types/react': '*'
@@ -3509,24 +3396,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.71)(react-dom@18.2.0)(react@18.2.0)
- '@types/react': 18.2.71
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.73
'@types/react-dom': 18.2.22
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-slot@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-3mrKauI/tWXo1Ll+gN5dHcxDPdm/Df1ufcDLCecn+pnCIVcdWE7CujXo8QaXOWRJyZyQWWbpB8eFwHzWXlv5mQ==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- dependencies:
- '@babel/runtime': 7.24.1
- '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0)
- react: 18.2.0
- dev: false
-
- /@radix-ui/react-slot@1.0.2(@types/react@18.2.71)(react@18.2.0):
+ /@radix-ui/react-slot@1.0.2(@types/react@18.2.73)(react@18.2.0):
resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==}
peerDependencies:
'@types/react': '*'
@@ -3536,12 +3413,12 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.24.1
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0)
- '@types/react': 18.2.71
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
react: 18.2.0
dev: false
- /@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):
+ /@radix-ui/react-tabs@1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-egZfYY/+wRNCflXNHx+dePvnz9FbmssDTJBtgRfDY7e8SE5oIo3Py2eCB1ckAbh1Q7cQ/6yJZThJ++sgbxibog==}
peerDependencies:
'@types/react': '*'
@@ -3556,20 +3433,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.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
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-direction': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.71)(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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-fRLn227WHIBRSzuRzGJ8W+5YALxofH23y0MlPLddaIpLpCDqdE0NZlS2NRQDRiptfxDeeCjgFIpexB1/zkxDlw==}
peerDependencies:
'@types/react': '*'
@@ -3584,24 +3461,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.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
+ '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.73)(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.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.71)(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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==}
peerDependencies:
'@types/react': '*'
@@ -3616,19 +3493,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.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
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-direction': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==}
peerDependencies:
'@types/react': '*'
@@ -3643,15 +3520,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.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
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-DmNFOiwEc2UDigsYj6clJENma58OelxD24O4IODoZ+3sQc3Zb+L8w1EP+y9laTuKCLAysPw4fD6/v0j4KNV8rg==}
peerDependencies:
'@types/react': '*'
@@ -3666,24 +3543,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.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
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.73)(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.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.73
'@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.71)(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.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw==}
peerDependencies:
'@types/react': '*'
@@ -3698,33 +3575,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.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
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.73)(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.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.73
'@types/react-dom': 18.2.22
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-use-callback-ref@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- dependencies:
- '@babel/runtime': 7.24.1
- react: 18.2.0
- dev: false
-
- /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.71)(react@18.2.0):
+ /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.73)(react@18.2.0):
resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==}
peerDependencies:
'@types/react': '*'
@@ -3734,21 +3602,11 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.24.1
- '@types/react': 18.2.71
+ '@types/react': 18.2.73
react: 18.2.0
dev: false
- /@radix-ui/react-use-controllable-state@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-FohDoZvk3mEXh9AWAVyRTYR4Sq7/gavuofglmiXB2g1aKyboUD4YtgWxKj8O5n+Uak52gXQ4wKz5IFST4vtJHg==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- dependencies:
- '@babel/runtime': 7.24.1
- '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0)
- react: 18.2.0
- dev: false
-
- /@radix-ui/react-use-controllable-state@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.73)(react@18.2.0):
resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==}
peerDependencies:
'@types/react': '*'
@@ -3758,22 +3616,12 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.24.1
- '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0)
- '@types/react': 18.2.71
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
react: 18.2.0
dev: false
- /@radix-ui/react-use-escape-keydown@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-JwfBCUIfhXRxKExgIqGa4CQsiMemo1Xt0W/B4ei3fpzpvPENKpMKQ8mZSB6Acj3ebrAEgi2xiQvcI1PAAodvyg==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- dependencies:
- '@babel/runtime': 7.24.1
- '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0)
- react: 18.2.0
- dev: false
-
- /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.71)(react@18.2.0):
+ /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.73)(react@18.2.0):
resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==}
peerDependencies:
'@types/react': '*'
@@ -3783,21 +3631,12 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.24.1
- '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0)
- '@types/react': 18.2.71
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
react: 18.2.0
dev: false
- /@radix-ui/react-use-layout-effect@1.0.0(react@18.2.0):
- resolution: {integrity: sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==}
- peerDependencies:
- react: ^16.8 || ^17.0 || ^18.0
- dependencies:
- '@babel/runtime': 7.24.1
- react: 18.2.0
- dev: false
-
- /@radix-ui/react-use-layout-effect@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.73)(react@18.2.0):
resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==}
peerDependencies:
'@types/react': '*'
@@ -3807,11 +3646,11 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.24.1
- '@types/react': 18.2.71
+ '@types/react': 18.2.73
react: 18.2.0
dev: false
- /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.71)(react@18.2.0):
+ /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.73)(react@18.2.0):
resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==}
peerDependencies:
'@types/react': '*'
@@ -3821,11 +3660,11 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.24.1
- '@types/react': 18.2.71
+ '@types/react': 18.2.73
react: 18.2.0
dev: false
- /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.71)(react@18.2.0):
+ /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.73)(react@18.2.0):
resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==}
peerDependencies:
'@types/react': '*'
@@ -3836,11 +3675,11 @@ packages:
dependencies:
'@babel/runtime': 7.24.1
'@radix-ui/rect': 1.0.1
- '@types/react': 18.2.71
+ '@types/react': 18.2.73
react: 18.2.0
dev: false
- /@radix-ui/react-use-size@1.0.1(@types/react@18.2.71)(react@18.2.0):
+ /@radix-ui/react-use-size@1.0.1(@types/react@18.2.73)(react@18.2.0):
resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==}
peerDependencies:
'@types/react': '*'
@@ -3850,12 +3689,12 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.24.1
- '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.71)(react@18.2.0)
- '@types/react': 18.2.71
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.73)(react@18.2.0)
+ '@types/react': 18.2.73
react: 18.2.0
dev: false
- /@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):
+ /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==}
peerDependencies:
'@types/react': '*'
@@ -3869,8 +3708,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.71)(react-dom@18.2.0)(react@18.2.0)
- '@types/react': 18.2.71
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.73
'@types/react-dom': 18.2.22
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@@ -3927,7 +3766,7 @@ packages:
react: 18.2.0
dev: false
- /@react-email/components@0.0.15(@types/react@18.2.71)(react-email@2.1.0)(react@18.2.0):
+ /@react-email/components@0.0.15(@types/react@18.2.73)(react-email@2.1.0)(react@18.2.0):
resolution: {integrity: sha512-jXfKiuyi94JBYfPVptEUwF57nRCvhEZIfyl2LqbL53fKsMrGlcjlN921iNnx1z41GAJOqZ8LPogeix3Iid23zw==}
engines: {node: '>=18.0.0'}
peerDependencies:
@@ -3941,7 +3780,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.71)(react@18.2.0)
+ '@react-email/heading': 0.0.11(@types/react@18.2.73)(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)
@@ -3985,13 +3824,13 @@ packages:
react: 18.2.0
dev: false
- /@react-email/heading@0.0.11(@types/react@18.2.71)(react@18.2.0):
+ /@react-email/heading@0.0.11(@types/react@18.2.73)(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.71)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.73)(react@18.2.0)
react: 18.2.0
transitivePeerDependencies:
- '@types/react'
@@ -4341,15 +4180,15 @@ packages:
/@tanstack/query-core@5.28.6:
resolution: {integrity: sha512-hnhotV+DnQtvtR3jPvbQMPNMW4KEK0J4k7c609zJ8muiNknm+yoDyMHmxTWM5ZnlZpsz0zOxYFr+mzRJNHWJsA==}
- /@tanstack/react-query-next-experimental@5.28.8(@tanstack/react-query@5.28.6)(next@14.2.0-canary.44)(react@18.2.0):
- resolution: {integrity: sha512-1JAh1SHrqX1PPfoJtEiS8ewvz7D3lkBsIvDCpE8hWB07EF4O8hxPWQiVDf/fJ7U2g6N7iARX74335BHpCg250Q==}
+ /@tanstack/react-query-next-experimental@5.28.9(@tanstack/react-query@5.28.6)(next@14.2.0-canary.46)(react@18.2.0):
+ resolution: {integrity: sha512-cihvqAme8nX6O5jeWtk19fnMsgXTX5puHwj6ya2Gf6FZIKhcFTrXQ9npH3ACcbinmVYPcQrShk/D3XAGKR/AUg==}
peerDependencies:
- '@tanstack/react-query': ^5.28.8
+ '@tanstack/react-query': ^5.28.9
next: ^13 || ^14
react: ^18.0.0
dependencies:
'@tanstack/react-query': 5.28.6(react@18.2.0)
- next: 14.2.0-canary.44(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0)
+ next: 14.2.0-canary.46(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
dev: false
@@ -4400,8 +4239,8 @@ packages:
- supports-color
dev: false
- /@tsconfig/node10@1.0.10:
- resolution: {integrity: sha512-PiaIWIoPvO6qm6t114ropMCagj6YAF24j9OkCA2mJDXFnlionEwhsBCJ8yek4aib575BI3OkART/90WsgHgLWw==}
+ /@tsconfig/node10@1.0.11:
+ resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==}
dev: false
/@tsconfig/node12@1.0.11:
@@ -4636,22 +4475,18 @@ packages:
/@types/react-dom@18.2.22:
resolution: {integrity: sha512-fHkBXPeNtfvri6gdsMYyW+dW7RXFo6Ad09nLFK0VQWR7yGLai/Cyvyj696gbwYvBnhGtevUG9cET0pmUbMtoPQ==}
dependencies:
- '@types/react': 18.2.71
+ '@types/react': 18.2.73
- /@types/react@18.2.71:
- resolution: {integrity: sha512-PxEsB9OjmQeYGffoWnYAd/r5FiJuUw2niFQHPc2v2idwh8wGPkkYzOHuinNJJY6NZqfoTCiOIizDOz38gYNsyw==}
+ /@types/react@18.2.73:
+ resolution: {integrity: sha512-XcGdod0Jjv84HOC7N5ziY3x+qL0AfmubvKOZ9hJjJ2yd5EE+KYjWhdOjt387e9HPheHkdggF9atTifMRtyAaRA==}
dependencies:
'@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.23.0:
- resolution: {integrity: sha512-YIoDCTH3Af6XM5VuwGG/QL/CJqga1Zm3NkU3HZ4ZHK2fRMPYP1VczsTUqtsf43PH/iJNVlPHAo2oWX7BSdB2Hw==}
-
/@types/semver@6.2.7:
resolution: {integrity: sha512-blctEWbzUFzQx799RZjzzIdBJOXmE37YYEyDtKkx5Dg+V7o/zyyAxLPiI98A2jdTtDgxZleMdfV+7p8WbRJ1OQ==}
dev: false
@@ -5354,7 +5189,7 @@ packages:
hasBin: true
dependencies:
caniuse-lite: 1.0.30001600
- electron-to-chromium: 1.4.717
+ electron-to-chromium: 1.4.719
node-releases: 2.0.14
update-browserslist-db: 1.0.13(browserslist@4.23.0)
@@ -5661,17 +5496,19 @@ packages:
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
dev: false
- /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==}
+ /cmdk@1.0.0(@types/react-dom@18.2.22)(@types/react@18.2.73)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-gDzVf0a09TvoJ5jnuPvygTB77+XdOSwEmJ88L6XPFPlv7T3RxbP9jgenfylrAMD0+Le1aO0nVjQUzl2g+vjz5Q==}
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
- '@radix-ui/react-dialog': 1.0.0(@types/react@18.2.71)(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.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
transitivePeerDependencies:
- '@types/react'
+ - '@types/react-dom'
dev: false
/color-convert@1.9.3:
@@ -6202,12 +6039,12 @@ packages:
/eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
- /edge-csrf@1.0.9(next@14.2.0-canary.44):
+ /edge-csrf@1.0.9(next@14.2.0-canary.46):
resolution: {integrity: sha512-3F89YTh42UDdISr3s9AEcgJDLi4ysgjGfnybzF0LuZGaG2W31h1ZwgWwEQBLMj04lAklcP4XHZYi7vk9o8zcbg==}
peerDependencies:
next: ^13.0.0 || ^14.0.0
dependencies:
- next: 14.2.0-canary.44(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0)
+ next: 14.2.0-canary.46(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0)
dev: false
/editorconfig@1.0.4:
@@ -6221,8 +6058,8 @@ packages:
semver: 7.6.0
dev: false
- /electron-to-chromium@1.4.717:
- resolution: {integrity: sha512-6Fmg8QkkumNOwuZ/5mIbMU9WI3H2fmn5ajcVya64I5Yr5CcNmO7vcLt0Y7c96DCiMO5/9G+4sI2r6eEvdg1F7A==}
+ /electron-to-chromium@1.4.719:
+ resolution: {integrity: sha512-FbWy2Q2YgdFzkFUW/W5jBjE9dj+804+98E4Pup78JBPnbdb3pv6IneY2JCPKdeKLh3AOKHQeYf+KwLr7mxGh6Q==}
/emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -7176,7 +7013,7 @@ packages:
jackspeak: 2.3.6
minimatch: 9.0.3
minipass: 7.0.4
- path-scurry: 1.10.1
+ path-scurry: 1.10.2
/glob@10.3.4:
resolution: {integrity: sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==}
@@ -7187,7 +7024,7 @@ packages:
jackspeak: 2.3.6
minimatch: 9.0.3
minipass: 7.0.4
- path-scurry: 1.10.1
+ path-scurry: 1.10.2
dev: false
/glob@7.2.3:
@@ -8959,7 +8796,7 @@ packages:
engines: {node: '>= 0.4.0'}
dev: false
- /next-contentlayer@0.3.4(contentlayer@0.3.4)(esbuild@0.20.2)(next@14.2.0-canary.44)(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.46)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-UtUCwgAl159KwfhNaOwyiI7Lg6sdioyKMeh+E7jxx0CJ29JuXGxBEYmCI6+72NxFGIFZKx8lvttbbQhbnYWYSw==}
peerDependencies:
contentlayer: 0.3.4
@@ -8970,7 +8807,7 @@ packages:
'@contentlayer/core': 0.3.4(esbuild@0.20.2)
'@contentlayer/utils': 0.3.4
contentlayer: 0.3.4(esbuild@0.20.2)
- next: 14.2.0-canary.44(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0)
+ next: 14.2.0-canary.46(@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)
transitivePeerDependencies:
@@ -8980,7 +8817,7 @@ packages:
- supports-color
dev: false
- /next-sitemap@4.2.3(next@14.2.0-canary.44):
+ /next-sitemap@4.2.3(next@14.2.0-canary.46):
resolution: {integrity: sha512-vjdCxeDuWDzldhCnyFCQipw5bfpl4HmZA7uoo3GAaYGjGgfL4Cxb1CiztPuWGmS+auYs7/8OekRS8C2cjdAsjQ==}
engines: {node: '>=14.18'}
hasBin: true
@@ -8991,17 +8828,17 @@ packages:
'@next/env': 13.5.6
fast-glob: 3.3.2
minimist: 1.2.8
- next: 14.2.0-canary.44(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0)
+ next: 14.2.0-canary.46(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0)
dev: false
- /next-themes@0.2.1(next@14.2.0-canary.44)(react-dom@18.2.0)(react@18.2.0):
+ /next-themes@0.2.1(next@14.2.0-canary.46)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==}
peerDependencies:
next: '*'
react: '*'
react-dom: '*'
dependencies:
- next: 14.2.0-canary.44(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0)
+ next: 14.2.0-canary.46(@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)
dev: false
@@ -9045,8 +8882,8 @@ packages:
- babel-plugin-macros
dev: false
- /next@14.2.0-canary.44(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-/f26kB0PHbggCRt6WSre695wKCYzCVQed1K3UFp5830wD6OMLM6j/ZMBgHx0AXD/JPR3dq2T2slX6LLEyYdnVw==}
+ /next@14.2.0-canary.46(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-U4fpW156Er90T4AdeWSFze57Lz+ZhEwXoUkwEopiP71fWfOSJ3FN12odHJ6O13Ae4HoDEy2P6CGXrJ/0De9LnA==}
engines: {node: '>=18.17.0'}
hasBin: true
peerDependencies:
@@ -9063,7 +8900,7 @@ packages:
sass:
optional: true
dependencies:
- '@next/env': 14.2.0-canary.44
+ '@next/env': 14.2.0-canary.46
'@opentelemetry/api': 1.8.0
'@swc/helpers': 0.5.5
busboy: 1.6.0
@@ -9074,15 +8911,15 @@ packages:
react-dom: 18.2.0(react@18.2.0)
styled-jsx: 5.1.1(react@18.2.0)
optionalDependencies:
- '@next/swc-darwin-arm64': 14.2.0-canary.44
- '@next/swc-darwin-x64': 14.2.0-canary.44
- '@next/swc-linux-arm64-gnu': 14.2.0-canary.44
- '@next/swc-linux-arm64-musl': 14.2.0-canary.44
- '@next/swc-linux-x64-gnu': 14.2.0-canary.44
- '@next/swc-linux-x64-musl': 14.2.0-canary.44
- '@next/swc-win32-arm64-msvc': 14.2.0-canary.44
- '@next/swc-win32-ia32-msvc': 14.2.0-canary.44
- '@next/swc-win32-x64-msvc': 14.2.0-canary.44
+ '@next/swc-darwin-arm64': 14.2.0-canary.46
+ '@next/swc-darwin-x64': 14.2.0-canary.46
+ '@next/swc-linux-arm64-gnu': 14.2.0-canary.46
+ '@next/swc-linux-arm64-musl': 14.2.0-canary.46
+ '@next/swc-linux-x64-gnu': 14.2.0-canary.46
+ '@next/swc-linux-x64-musl': 14.2.0-canary.46
+ '@next/swc-win32-arm64-msvc': 14.2.0-canary.46
+ '@next/swc-win32-ia32-msvc': 14.2.0-canary.46
+ '@next/swc-win32-x64-msvc': 14.2.0-canary.46
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros
@@ -9491,8 +9328,8 @@ packages:
/path-parse@1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
- /path-scurry@1.10.1:
- resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
+ /path-scurry@1.10.2:
+ resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==}
engines: {node: '>=16 || 14 >=14.17'}
dependencies:
lru-cache: 10.2.0
@@ -9584,6 +9421,18 @@ packages:
postcss-value-parser: 4.2.0
read-cache: 1.0.0
resolve: 1.22.8
+ dev: false
+
+ /postcss-import@15.1.0(postcss@8.4.38):
+ resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ postcss: ^8.0.0
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ read-cache: 1.0.0
+ resolve: 1.22.8
/postcss-js@4.0.1(postcss@8.4.33):
resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
@@ -9593,6 +9442,16 @@ packages:
dependencies:
camelcase-css: 2.0.1
postcss: 8.4.33
+ dev: false
+
+ /postcss-js@4.0.1(postcss@8.4.38):
+ resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
+ engines: {node: ^12 || ^14 || >= 16}
+ peerDependencies:
+ postcss: ^8.4.21
+ dependencies:
+ camelcase-css: 2.0.1
+ postcss: 8.4.38
/postcss-load-config@4.0.2(postcss@8.4.33):
resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
@@ -9609,6 +9468,23 @@ packages:
lilconfig: 3.1.1
postcss: 8.4.33
yaml: 2.4.1
+ dev: false
+
+ /postcss-load-config@4.0.2(postcss@8.4.38):
+ resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
+ engines: {node: '>= 14'}
+ peerDependencies:
+ postcss: '>=8.0.9'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ ts-node:
+ optional: true
+ dependencies:
+ lilconfig: 3.1.1
+ postcss: 8.4.38
+ yaml: 2.4.1
/postcss-nested@6.0.1(postcss@8.4.33):
resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
@@ -9618,6 +9494,16 @@ packages:
dependencies:
postcss: 8.4.33
postcss-selector-parser: 6.0.16
+ dev: false
+
+ /postcss-nested@6.0.1(postcss@8.4.38):
+ resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.2.14
+ dependencies:
+ postcss: 8.4.38
+ postcss-selector-parser: 6.0.16
/postcss-selector-parser@6.0.16:
resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
@@ -9655,18 +9541,27 @@ packages:
source-map-js: 1.2.0
dev: false
+ /postcss@8.4.38:
+ resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.0.0
+ source-map-js: 1.2.0
+
/prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
- /prettier-plugin-tailwindcss@0.5.12(@ianvs/prettier-plugin-sort-imports@4.2.1)(prettier@3.2.5):
- resolution: {integrity: sha512-o74kiDBVE73oHW+pdkFSluHBL3cYEvru5YgEqNkBMFF7Cjv+w1vI565lTlfoJT4VLWDe0FMtZ7FkE/7a4pMXSQ==}
+ /prettier-plugin-tailwindcss@0.5.13(@ianvs/prettier-plugin-sort-imports@4.2.1)(prettier@3.2.5):
+ resolution: {integrity: sha512-2tPWHCFNC+WRjAC4SIWQNSOdcL1NNkydXim8w7TDqlZi+/ulZYz2OouAI6qMtkggnPt7lGamboj6LcTMwcCvoQ==}
engines: {node: '>=14.21.3'}
peerDependencies:
'@ianvs/prettier-plugin-sort-imports': '*'
'@prettier/plugin-pug': '*'
'@shopify/prettier-plugin-liquid': '*'
'@trivago/prettier-plugin-sort-imports': '*'
+ '@zackad/prettier-plugin-twig-melody': '*'
prettier: ^3.0
prettier-plugin-astro: '*'
prettier-plugin-css-order: '*'
@@ -9678,7 +9573,6 @@ packages:
prettier-plugin-sort-imports: '*'
prettier-plugin-style-order: '*'
prettier-plugin-svelte: '*'
- prettier-plugin-twig-melody: '*'
peerDependenciesMeta:
'@ianvs/prettier-plugin-sort-imports':
optional: true
@@ -9688,6 +9582,8 @@ packages:
optional: true
'@trivago/prettier-plugin-sort-imports':
optional: true
+ '@zackad/prettier-plugin-twig-melody':
+ optional: true
prettier-plugin-astro:
optional: true
prettier-plugin-css-order:
@@ -9708,8 +9604,6 @@ packages:
optional: true
prettier-plugin-svelte:
optional: true
- prettier-plugin-twig-melody:
- optional: true
dependencies:
'@ianvs/prettier-plugin-sort-imports': 4.2.1(prettier@3.2.5)
prettier: 3.2.5
@@ -9875,15 +9769,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.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)
+ '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.73)(react@18.2.0)
+ '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.2.22)(@types/react@18.2.73)(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.73)(react-dom@18.2.0)(react@18.2.0)
+ '@react-email/components': 0.0.15(@types/react@18.2.73)(react-email@2.1.0)(react@18.2.0)
'@react-email/render': 0.0.12
'@swc/core': 1.3.101
- '@types/react': 18.2.71
+ '@types/react': 18.2.73
'@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)
@@ -9962,7 +9856,7 @@ packages:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
dev: false
- /react-remove-scroll-bar@2.3.6(@types/react@18.2.71)(react@18.2.0):
+ /react-remove-scroll-bar@2.3.6(@types/react@18.2.73)(react@18.2.0):
resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==}
engines: {node: '>=10'}
peerDependencies:
@@ -9972,32 +9866,13 @@ packages:
'@types/react':
optional: true
dependencies:
- '@types/react': 18.2.71
+ '@types/react': 18.2.73
react: 18.2.0
- react-style-singleton: 2.2.1(@types/react@18.2.71)(react@18.2.0)
+ react-style-singleton: 2.2.1(@types/react@18.2.73)(react@18.2.0)
tslib: 2.6.2
dev: false
- /react-remove-scroll@2.5.4(@types/react@18.2.71)(react@18.2.0):
- resolution: {integrity: sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA==}
- engines: {node: '>=10'}
- peerDependencies:
- '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
- dependencies:
- '@types/react': 18.2.71
- 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.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.71)(react@18.2.0):
+ /react-remove-scroll@2.5.5(@types/react@18.2.73)(react@18.2.0):
resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==}
engines: {node: '>=10'}
peerDependencies:
@@ -10007,13 +9882,13 @@ packages:
'@types/react':
optional: true
dependencies:
- '@types/react': 18.2.71
+ '@types/react': 18.2.73
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)
+ react-remove-scroll-bar: 2.3.6(@types/react@18.2.73)(react@18.2.0)
+ react-style-singleton: 2.2.1(@types/react@18.2.73)(react@18.2.0)
tslib: 2.6.2
- 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)
+ use-callback-ref: 1.3.2(@types/react@18.2.73)(react@18.2.0)
+ use-sidecar: 1.1.2(@types/react@18.2.73)(react@18.2.0)
dev: false
/react-smooth@4.0.1(react-dom@18.2.0)(react@18.2.0):
@@ -10029,7 +9904,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.71)(react@18.2.0):
+ /react-style-singleton@2.2.1(@types/react@18.2.73)(react@18.2.0):
resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==}
engines: {node: '>=10'}
peerDependencies:
@@ -10039,7 +9914,7 @@ packages:
'@types/react':
optional: true
dependencies:
- '@types/react': 18.2.71
+ '@types/react': 18.2.73
get-nonce: 1.0.1
invariant: 2.2.4
react: 18.2.0
@@ -11072,11 +10947,11 @@ packages:
normalize-path: 3.0.0
object-hash: 3.0.0
picocolors: 1.0.0
- postcss: 8.4.33
- postcss-import: 15.1.0(postcss@8.4.33)
- postcss-js: 4.0.1(postcss@8.4.33)
- postcss-load-config: 4.0.2(postcss@8.4.33)
- postcss-nested: 6.0.1(postcss@8.4.33)
+ postcss: 8.4.38
+ postcss-import: 15.1.0(postcss@8.4.38)
+ postcss-js: 4.0.1(postcss@8.4.38)
+ postcss-load-config: 4.0.2(postcss@8.4.38)
+ postcss-nested: 6.0.1(postcss@8.4.38)
postcss-selector-parser: 6.0.16
resolve: 1.22.8
sucrase: 3.35.0
@@ -11122,12 +10997,12 @@ packages:
jest-worker: 27.5.1
schema-utils: 3.3.0
serialize-javascript: 6.0.2
- terser: 5.29.2
+ terser: 5.30.0
webpack: 5.91.0(@swc/core@1.3.101)(esbuild@0.19.11)
dev: false
- /terser@5.29.2:
- resolution: {integrity: sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==}
+ /terser@5.30.0:
+ resolution: {integrity: sha512-Y/SblUl5kEyEFzhMAQdsxVHh+utAxd4IuRNJzKywY/4uzSogh3G219jqbDDxYu4MXO9CzY3tSEqmZvW6AoEDJw==}
engines: {node: '>=10'}
hasBin: true
dependencies:
@@ -11266,7 +11141,7 @@ packages:
optional: true
dependencies:
'@cspotcode/source-map-support': 0.8.1
- '@tsconfig/node10': 1.0.10
+ '@tsconfig/node10': 1.0.11
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
@@ -11625,7 +11500,7 @@ packages:
dependencies:
punycode: 2.3.1
- /use-callback-ref@1.3.2(@types/react@18.2.71)(react@18.2.0):
+ /use-callback-ref@1.3.2(@types/react@18.2.73)(react@18.2.0):
resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==}
engines: {node: '>=10'}
peerDependencies:
@@ -11635,12 +11510,12 @@ packages:
'@types/react':
optional: true
dependencies:
- '@types/react': 18.2.71
+ '@types/react': 18.2.73
react: 18.2.0
tslib: 2.6.2
dev: false
- /use-sidecar@1.1.2(@types/react@18.2.71)(react@18.2.0):
+ /use-sidecar@1.1.2(@types/react@18.2.73)(react@18.2.0):
resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==}
engines: {node: '>=10'}
peerDependencies:
@@ -11650,7 +11525,7 @@ packages:
'@types/react':
optional: true
dependencies:
- '@types/react': 18.2.71
+ '@types/react': 18.2.73
detect-node-es: 1.1.0
react: 18.2.0
tslib: 2.6.2
@@ -12059,6 +11934,13 @@ packages:
yargs-parser: 21.1.1
dev: false
+ /yarn@1.22.22:
+ resolution: {integrity: sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==}
+ engines: {node: '>=4.0.0'}
+ hasBin: true
+ requiresBuild: true
+ dev: false
+
/yn@3.1.1:
resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
engines: {node: '>=6'}
diff --git a/supabase/package.json b/supabase/package.json
index e3eb730d9..ffb7dd2ca 100644
--- a/supabase/package.json
+++ b/supabase/package.json
@@ -14,6 +14,6 @@
"typegen": "supabase gen types typescript --local > ../packages/supabase/src/database.types.ts"
},
"dependencies": {
- "supabase": "^1.150.0"
+ "supabase": "^1.151.1"
}
}
\ No newline at end of file
diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json
index 9c7241d3c..a99946908 100644
--- a/tooling/eslint/package.json
+++ b/tooling/eslint/package.json
@@ -15,23 +15,23 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
- "@next/eslint-plugin-next": "^14.1.0",
+ "@next/eslint-plugin-next": "^14.1.4",
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
- "@types/eslint": "^8.56.2",
- "@typescript-eslint/eslint-plugin": "^7.3.1",
- "@typescript-eslint/parser": "^7.3.1",
+ "@types/eslint": "^8.56.6",
+ "@typescript-eslint/eslint-plugin": "^7.4.0",
+ "@typescript-eslint/parser": "^7.4.0",
"eslint-config-prettier": "^9.1.0",
- "eslint-config-turbo": "^1.12.5",
+ "eslint-config-turbo": "^1.13.0",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-react": "^7.34.1",
"eslint-plugin-react-hooks": "^4.6.0"
},
"devDependencies": {
- "@kit/prettier-config": "^0.1.0",
- "@kit/tsconfig": "^0.1.0",
- "eslint": "^8.56.0",
- "typescript": "^5.3.3"
+ "@kit/prettier-config": "workspace:^",
+ "@kit/tsconfig": "workspace:^",
+ "eslint": "^8.57.0",
+ "typescript": "^5.4.3"
},
"eslintConfig": {
"root": true,
diff --git a/tooling/prettier/package.json b/tooling/prettier/package.json
index ea85b44b7..d2169db8e 100644
--- a/tooling/prettier/package.json
+++ b/tooling/prettier/package.json
@@ -9,13 +9,13 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
- "@ianvs/prettier-plugin-sort-imports": "^4.1.1",
- "prettier": "^3.2.4",
- "prettier-plugin-tailwindcss": "^0.5.11"
+ "@ianvs/prettier-plugin-sort-imports": "^4.2.1",
+ "prettier": "^3.2.5",
+ "prettier-plugin-tailwindcss": "^0.5.13"
},
"devDependencies": {
- "@kit/tsconfig": "^0.1.0",
- "typescript": "^5.3.3"
+ "@kit/tsconfig": "workspace:^",
+ "typescript": "^5.4.3"
},
"prettier": "./index.mjs"
}
diff --git a/tooling/tailwind/package.json b/tooling/tailwind/package.json
index 8183a41d1..ac130aa04 100644
--- a/tooling/tailwind/package.json
+++ b/tooling/tailwind/package.json
@@ -14,17 +14,17 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
- "autoprefixer": "^10.4.17",
+ "autoprefixer": "^10.4.19",
"postcss": "8.4.33",
"tailwindcss": "3.4.1"
},
"devDependencies": {
- "@kit/eslint-config": "^0.2.0",
- "@kit/prettier-config": "^0.1.0",
- "@kit/tsconfig": "^0.1.0",
- "eslint": "^8.56.0",
- "prettier": "^3.2.4",
- "typescript": "^5.3.3"
+ "@kit/eslint-config": "workspace:^",
+ "@kit/prettier-config": "workspace:^",
+ "@kit/tsconfig": "workspace:^",
+ "eslint": "^8.57.0",
+ "prettier": "^3.2.5",
+ "typescript": "^5.4.3"
},
"eslintConfig": {
"root": true,