diff --git a/apps/storybook/.gitignore b/apps/storybook/.gitignore
index 0bcd6d7e0a..1144627266 100755
--- a/apps/storybook/.gitignore
+++ b/apps/storybook/.gitignore
@@ -11,6 +11,7 @@
# next.js
/.next/
/out/
+next-env.d.ts
# production
/build
diff --git a/apps/storybook/next-env.d.ts b/apps/storybook/next-env.d.ts
deleted file mode 100755
index 4f11a03dc6..0000000000
--- a/apps/storybook/next-env.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-///
-///
-
-// NOTE: This file should not be edited
-// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/apps/storybook/stories/VerticalTab.stories.tsx b/apps/storybook/stories/VerticalTab.stories.tsx
index d1694b51ce..40336879d1 100644
--- a/apps/storybook/stories/VerticalTab.stories.tsx
+++ b/apps/storybook/stories/VerticalTab.stories.tsx
@@ -2,7 +2,7 @@
import { ComponentMeta } from "@storybook/react";
import { Calendar, Clock, Grid, Link, RefreshCw, User, Users } from "react-feather";
-import { VerticalTabs } from "@calcom/ui/v2";
+import VerticalTabs from "@calcom/ui/v2/core/navigation/tabs/VerticalTabs";
export default {
title: "Vertical Tabs",
diff --git a/apps/web/.gitignore b/apps/web/.gitignore
index e178e70240..8b974b328b 100644
--- a/apps/web/.gitignore
+++ b/apps/web/.gitignore
@@ -21,6 +21,7 @@ playwright/reports/*
# next.js
/.next/
/out/
+next-env.d.ts
# production
/build
diff --git a/apps/web/next-env.d.ts b/apps/web/next-env.d.ts
deleted file mode 100644
index 4f11a03dc6..0000000000
--- a/apps/web/next-env.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-///
-///
-
-// NOTE: This file should not be edited
-// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/packages/ui/v2/core/TableActions.tsx b/packages/ui/v2/core/TableActions.tsx
index bea15fae9e..f4b64dc1b7 100644
--- a/packages/ui/v2/core/TableActions.tsx
+++ b/packages/ui/v2/core/TableActions.tsx
@@ -2,7 +2,8 @@ import React, { FC } from "react";
import { SVGComponent } from "@calcom/types/SVGComponent";
import { Icon } from "@calcom/ui/Icon";
-import { DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, Button } from "@calcom/ui/v2";
+import Button from "@calcom/ui/v2/core/Button";
+import { DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@calcom/ui/v2/core/Dropdown";
import Dropdown from "@calcom/ui/v2/core/Dropdown";
export type ActionType = {
diff --git a/packages/ui/v2/core/WizardForm.tsx b/packages/ui/v2/core/WizardForm.tsx
index 031bfe6b77..365a8d7160 100644
--- a/packages/ui/v2/core/WizardForm.tsx
+++ b/packages/ui/v2/core/WizardForm.tsx
@@ -1,7 +1,8 @@
import { useRouter } from "next/router";
import classNames from "@calcom/lib/classNames";
-import { Button, Stepper } from "@calcom/ui/v2";
+import Button from "@calcom/ui/v2/core/Button";
+import Stepper from "@calcom/ui/v2/core/Stepper";
type DefaultStep = {
title: string;
diff --git a/packages/ui/v2/core/colorpicker.tsx b/packages/ui/v2/core/colorpicker.tsx
index 32f28e2793..37a86120c1 100644
--- a/packages/ui/v2/core/colorpicker.tsx
+++ b/packages/ui/v2/core/colorpicker.tsx
@@ -3,7 +3,7 @@ import { useEffect } from "react";
import { HexColorInput, HexColorPicker } from "react-colorful";
import { isValidHexCode, fallBackHex } from "@calcom/lib/CustomBranding";
-import { Swatch } from "@calcom/ui/v2";
+import Swatch from "@calcom/ui/v2/core/Swatch";
type Handler = (event: MouseEvent | Event) => void;
function useEventListener<
diff --git a/packages/ui/v2/core/index.ts b/packages/ui/v2/core/index.ts
index c4373f4369..2b47f982fd 100644
--- a/packages/ui/v2/core/index.ts
+++ b/packages/ui/v2/core/index.ts
@@ -24,5 +24,8 @@ export * from "./form";
export { default as showToast } from "./notifications";
export { default as LinkIconButton } from "./LinkIconButton";
export * from "./skeleton";
-export * from "./navigation/tabs";
+export { default as VerticalTabs, VerticalTabItem } from "./navigation/tabs/VerticalTabs";
+export { default as HorizontalTabs, HorizontalTabItem } from "./navigation/tabs/HorizontalTabs";
+export type { VerticalTabItemProps } from "./navigation/tabs/VerticalTabItem";
+export type { HorizontalTabItemProps } from "./navigation/tabs/HorizontalTabItem";
export * from "./Portal";
diff --git a/packages/ui/v2/core/layouts/BookingLayout.tsx b/packages/ui/v2/core/layouts/BookingLayout.tsx
index 6ce5e35f35..57cab522db 100644
--- a/packages/ui/v2/core/layouts/BookingLayout.tsx
+++ b/packages/ui/v2/core/layouts/BookingLayout.tsx
@@ -1,11 +1,14 @@
import React, { ComponentProps } from "react";
import { Icon } from "@calcom/ui";
-import { VerticalTabs, VerticalTabItemProps, HorizontalTabs } from "@calcom/ui/v2/core/navigation/tabs";
+import HorizontalTabs from "@calcom/ui/v2/core/navigation/tabs/HorizontalTabs";
+import type { VerticalTabItemProps } from "@calcom/ui/v2/core/navigation/tabs/VerticalTabItem";
+import VerticalTabs from "@calcom/ui/v2/core/navigation/tabs/VerticalTabs";
import Shell from "../Shell";
+import type { HorizontalTabItemProps } from "../navigation/tabs/HorizontalTabItem";
-const tabs: VerticalTabItemProps[] = [
+const tabs: (VerticalTabItemProps | HorizontalTabItemProps)[] = [
{
name: "upcoming",
href: "/bookings/upcoming",
diff --git a/packages/ui/v2/core/layouts/SettingsLayout.tsx b/packages/ui/v2/core/layouts/SettingsLayout.tsx
index 97cb6c2834..7bb7217b11 100644
--- a/packages/ui/v2/core/layouts/SettingsLayout.tsx
+++ b/packages/ui/v2/core/layouts/SettingsLayout.tsx
@@ -5,8 +5,7 @@ import { useLocale } from "@calcom/lib/hooks/useLocale";
import { Icon } from "../../../Icon";
import { useMeta } from "../Meta";
import Shell from "../Shell";
-import { VerticalTabItem } from "../navigation/tabs";
-import VerticalTabs from "../navigation/tabs/VerticalTabs";
+import VerticalTabs, { VerticalTabItem } from "../navigation/tabs/VerticalTabs";
const tabs = [
{
diff --git a/packages/ui/v2/core/navigation/tabs/HorizontalTabs.tsx b/packages/ui/v2/core/navigation/tabs/HorizontalTabs.tsx
index eeac4d9c8d..cead5320e6 100644
--- a/packages/ui/v2/core/navigation/tabs/HorizontalTabs.tsx
+++ b/packages/ui/v2/core/navigation/tabs/HorizontalTabs.tsx
@@ -2,6 +2,8 @@ import { FC } from "react";
import HorizontalTabItem, { HorizontalTabItemProps } from "./HorizontalTabItem";
+export { HorizontalTabItem };
+
export interface NavTabProps {
tabs: HorizontalTabItemProps[];
}
diff --git a/packages/ui/v2/core/navigation/tabs/VerticalTabs.tsx b/packages/ui/v2/core/navigation/tabs/VerticalTabs.tsx
index 2b0e4b7ece..f9d71381ed 100644
--- a/packages/ui/v2/core/navigation/tabs/VerticalTabs.tsx
+++ b/packages/ui/v2/core/navigation/tabs/VerticalTabs.tsx
@@ -4,6 +4,8 @@ import { classNames } from "@calcom/lib";
import VerticalTabItem, { VerticalTabItemProps } from "./VerticalTabItem";
+export { VerticalTabItem };
+
export interface NavTabProps {
tabs: VerticalTabItemProps[];
children?: React.ReactNode;
diff --git a/packages/ui/v2/core/navigation/tabs/index.tsx b/packages/ui/v2/core/navigation/tabs/index.tsx
deleted file mode 100644
index 218f3819f7..0000000000
--- a/packages/ui/v2/core/navigation/tabs/index.tsx
+++ /dev/null
@@ -1,5 +0,0 @@
-export { default as VerticalTabItem } from "./VerticalTabItem";
-export type { VerticalTabItemProps } from "./VerticalTabItem";
-export { default as VerticalTabs } from "./VerticalTabs";
-export { default as HorizontalTabItem } from "./HorizontalTabItem";
-export { default as HorizontalTabs } from "./HorizontalTabs";
diff --git a/packages/ui/v2/modules/auth/SAMLLogin.tsx b/packages/ui/v2/modules/auth/SAMLLogin.tsx
index 0696b40ed3..ddaec5bec8 100644
--- a/packages/ui/v2/modules/auth/SAMLLogin.tsx
+++ b/packages/ui/v2/modules/auth/SAMLLogin.tsx
@@ -5,7 +5,7 @@ import { useFormContext } from "react-hook-form";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { collectPageParameters, telemetryEventTypes, useTelemetry } from "@calcom/lib/telemetry";
import { trpc } from "@calcom/trpc/react";
-import { Button } from "@calcom/ui/v2";
+import Button from "@calcom/ui/v2/core/Button";
interface Props {
email: string;
diff --git a/packages/ui/v2/modules/availability/NewScheduleButton.tsx b/packages/ui/v2/modules/availability/NewScheduleButton.tsx
index 51e421fcc7..490a54b798 100644
--- a/packages/ui/v2/modules/availability/NewScheduleButton.tsx
+++ b/packages/ui/v2/modules/availability/NewScheduleButton.tsx
@@ -7,7 +7,8 @@ import { trpc } from "@calcom/trpc/react";
import { Dialog, DialogClose, DialogContent, DialogTrigger } from "@calcom/ui/Dialog";
import { Icon } from "@calcom/ui/Icon";
import { Form } from "@calcom/ui/form/fields";
-import { Button, showToast } from "@calcom/ui/v2";
+import Button from "@calcom/ui/v2/core/Button";
+import showToast from "@calcom/ui/v2/core/notifications";
export function NewScheduleButton({ name = "new-schedule" }: { name?: string }) {
const router = useRouter();
diff --git a/packages/ui/v2/modules/availability/Schedule.tsx b/packages/ui/v2/modules/availability/Schedule.tsx
index 9ec400c12c..1f67a2b46b 100644
--- a/packages/ui/v2/modules/availability/Schedule.tsx
+++ b/packages/ui/v2/modules/availability/Schedule.tsx
@@ -11,8 +11,10 @@ import useMeQuery from "@calcom/trpc/react/hooks/useMeQuery";
import { TimeRange } from "@calcom/types/schedule";
import Dropdown, { DropdownMenuContent } from "@calcom/ui/Dropdown";
import { Icon } from "@calcom/ui/Icon";
-import { Switch } from "@calcom/ui/v2";
-import { Tooltip, Button, Select } from "@calcom/ui/v2";
+import Button from "@calcom/ui/v2/core/Button";
+import Switch from "@calcom/ui/v2/core/Switch";
+import Tooltip from "@calcom/ui/v2/core/Tooltip";
+import Select from "@calcom/ui/v2/core/form/Select";
/** Begin Time Increments For Select */
const increment = 15;
diff --git a/packages/ui/v2/modules/availability/ScheduleListItem.tsx b/packages/ui/v2/modules/availability/ScheduleListItem.tsx
index 76ad0cb8d5..65758cf0e7 100644
--- a/packages/ui/v2/modules/availability/ScheduleListItem.tsx
+++ b/packages/ui/v2/modules/availability/ScheduleListItem.tsx
@@ -6,7 +6,8 @@ import { useLocale } from "@calcom/lib/hooks/useLocale";
import { Availability } from "@calcom/prisma/client";
import { inferQueryOutput } from "@calcom/trpc/react";
import { Icon } from "@calcom/ui";
-import { Button, Badge } from "@calcom/ui/v2";
+import Badge from "@calcom/ui/v2/core/Badge";
+import Button from "@calcom/ui/v2/core/Button";
import Dropdown, {
DropdownMenuContent,
DropdownMenuItem,
diff --git a/packages/ui/v2/modules/event-types/CreateEventType.tsx b/packages/ui/v2/modules/event-types/CreateEventType.tsx
index 0cf2eaaad5..017ec55451 100644
--- a/packages/ui/v2/modules/event-types/CreateEventType.tsx
+++ b/packages/ui/v2/modules/event-types/CreateEventType.tsx
@@ -15,17 +15,9 @@ import { createEventTypeInput } from "@calcom/prisma/zod/custom/eventtype";
import { trpc } from "@calcom/trpc/react";
import { Alert } from "@calcom/ui/Alert";
import { Icon } from "@calcom/ui/Icon";
-import {
- Dialog,
- DialogClose,
- DialogContent,
- Button,
- Avatar,
- showToast,
- Form,
- TextAreaField,
- TextField,
-} from "@calcom/ui/v2";
+import Avatar from "@calcom/ui/v2/core/Avatar";
+import Button from "@calcom/ui/v2/core/Button";
+import { Dialog, DialogClose, DialogContent } from "@calcom/ui/v2/core/Dialog";
import Dropdown, {
DropdownMenuContent,
DropdownMenuItem,
@@ -33,7 +25,9 @@ import Dropdown, {
DropdownMenuSeparator,
DropdownMenuTrigger,
} from "@calcom/ui/v2/core/Dropdown";
+import { Form, TextAreaField, TextField } from "@calcom/ui/v2/core/form/fields";
import * as RadioArea from "@calcom/ui/v2/core/form/radio-area/RadioAreaGroup";
+import showToast from "@calcom/ui/v2/core/notifications";
// this describes the uniform data needed to create a new event type on Profile or Team
export interface EventTypeParent {
diff --git a/packages/ui/v2/modules/event-types/CustomInputItem.tsx b/packages/ui/v2/modules/event-types/CustomInputItem.tsx
index b1872527c4..0a992aeff5 100644
--- a/packages/ui/v2/modules/event-types/CustomInputItem.tsx
+++ b/packages/ui/v2/modules/event-types/CustomInputItem.tsx
@@ -1,6 +1,8 @@
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { Icon } from "@calcom/ui";
-import { Badge, Button, ButtonGroup } from "@calcom/ui/v2";
+import Badge from "@calcom/ui/v2/core/Badge";
+import Button from "@calcom/ui/v2/core/Button";
+import ButtonGroup from "@calcom/ui/v2/core/ButtonGroup";
type Props = {
required?: boolean;
diff --git a/packages/ui/v2/modules/event-types/DestinationCalendarSelector.tsx b/packages/ui/v2/modules/event-types/DestinationCalendarSelector.tsx
index 8620b6be51..1109909442 100644
--- a/packages/ui/v2/modules/event-types/DestinationCalendarSelector.tsx
+++ b/packages/ui/v2/modules/event-types/DestinationCalendarSelector.tsx
@@ -3,7 +3,7 @@ import React, { useEffect, useState } from "react";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { trpc } from "@calcom/trpc/react";
-import { Select } from "@calcom/ui/v2";
+import Select from "@calcom/ui/v2/core/form/Select";
interface Props {
onChange: (value: { externalId: string; integration: string }) => void;
diff --git a/packages/ui/v2/modules/event-types/EventTypeDescription.tsx b/packages/ui/v2/modules/event-types/EventTypeDescription.tsx
index c3487685be..04e63bb1a5 100644
--- a/packages/ui/v2/modules/event-types/EventTypeDescription.tsx
+++ b/packages/ui/v2/modules/event-types/EventTypeDescription.tsx
@@ -6,7 +6,7 @@ import { classNames, parseRecurringEvent } from "@calcom/lib";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { baseEventTypeSelect } from "@calcom/prisma/selects";
import { Icon } from "@calcom/ui";
-import { Badge } from "@calcom/ui/v2";
+import Badge from "@calcom/ui/v2/core/Badge";
const eventTypeData = Prisma.validator()({
select: baseEventTypeSelect,
diff --git a/packages/ui/v2/modules/teams/TeamSettingsRightSidebar.tsx b/packages/ui/v2/modules/teams/TeamSettingsRightSidebar.tsx
index 5ab9617aa4..947fe03eb5 100644
--- a/packages/ui/v2/modules/teams/TeamSettingsRightSidebar.tsx
+++ b/packages/ui/v2/modules/teams/TeamSettingsRightSidebar.tsx
@@ -8,7 +8,9 @@ import { TeamWithMembers } from "@calcom/lib/server/queries/teams";
import { trpc } from "@calcom/trpc/react";
import ConfirmationDialogContent from "@calcom/ui/ConfirmationDialogContent";
import { Icon } from "@calcom/ui/Icon";
-import { Dialog, DialogTrigger, LinkIconButton, showToast } from "@calcom/ui/v2";
+import { Dialog, DialogTrigger } from "@calcom/ui/v2/core/Dialog";
+import LinkIconButton from "@calcom/ui/v2/core/LinkIconButton";
+import showToast from "@calcom/ui/v2/core/notifications";
import CreateEventTypeButton from "../event-types/CreateEventType";