diff --git a/apps/demo/pages/_app.tsx b/apps/demo/pages/_app.tsx
index 440e7bc75e..c50c3c3c52 100644
--- a/apps/demo/pages/_app.tsx
+++ b/apps/demo/pages/_app.tsx
@@ -1,6 +1,6 @@
import type { AppProps } from "next/app";
import Head from "next/head";
-import "../styles/globals.css";
+import "@formbricks/ui/globals.css";
const App = ({ Component, pageProps }: AppProps) => {
return (
diff --git a/apps/demo/styles/globals.css b/apps/demo/styles/globals.css
deleted file mode 100644
index 640abab484..0000000000
--- a/apps/demo/styles/globals.css
+++ /dev/null
@@ -1,26 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-/* Example on overriding packages/js colors */
-.dark {
- --fb-brand-color: red;
- --fb-brand-text-color: white;
- --fb-border-color: green;
- --fb-border-color-highlight: var(--slate-500);
- --fb-focus-color: red;
- --fb-heading-color: yellow;
- --fb-subheading-color: green;
- --fb-info-text-color: orange;
- --fb-signature-text-color: blue;
- --fb-survey-background-color: black;
- --fb-accent-background-color: rgb(13, 13, 12);
- --fb-accent-background-color-selected: red;
- --fb-placeholder-color: white;
- --fb-shadow-color: yellow;
- --fb-rating-fill: var(--yellow-300);
- --fb-rating-hover: var(--yellow-500);
- --fb-back-btn-border: currentColor;
- --fb-submit-btn-border: transparent;
- --fb-rating-selected: black;
-}
diff --git a/apps/docs/app/best-practices/docs-feedback/page.mdx b/apps/docs/app/best-practices/docs-feedback/page.mdx
index 9260bdb70c..00d1d7c372 100644
--- a/apps/docs/app/best-practices/docs-feedback/page.mdx
+++ b/apps/docs/app/best-practices/docs-feedback/page.mdx
@@ -129,10 +129,8 @@ Locate that file. We are using the [Tailwind Template “Syntax”](https://tail
```tsx
import { useRouter } from "next/router";
import { useState } from "react";
-
-import { Button } from "@formbricks/ui/Button";
-import { Popover, PopoverContent, PopoverTrigger } from "@formbricks/ui/Popover";
-
+import { Button } from "@formbricks/ui/components/Button";
+import { Popover, PopoverContent, PopoverTrigger } from "@formbricks/ui/components/Popover";
import { handleFeedbackSubmit, updateFeedback } from "../../lib/handleFeedbackSubmit";
export const DocsFeedback = () => {
diff --git a/apps/docs/app/developer-docs/contributing/get-started/components/FAQ.tsx b/apps/docs/app/developer-docs/contributing/get-started/components/FAQ.tsx
index 18e6a9b0b1..6e9f2f8066 100644
--- a/apps/docs/app/developer-docs/contributing/get-started/components/FAQ.tsx
+++ b/apps/docs/app/developer-docs/contributing/get-started/components/FAQ.tsx
@@ -1,4 +1,9 @@
-import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "@formbricks/ui/Accordion";
+import {
+ Accordion,
+ AccordionContent,
+ AccordionItem,
+ AccordionTrigger,
+} from "@formbricks/ui/components/Accordion";
import { FaqJsonLdComponent } from "./FAQPageJsonLd";
const FAQ_DATA = [
diff --git a/apps/storybook/tailwind.config.js b/apps/storybook/tailwind.config.js
index 06a26e3d9c..144cb36c30 100644
--- a/apps/storybook/tailwind.config.js
+++ b/apps/storybook/tailwind.config.js
@@ -1,5 +1,5 @@
/** @type {import('tailwindcss').Config} */
-import base from "../../packages/config-tailwind/tailwind.config";
+import base from "../../packages/ui/tailwind.config";
export default {
...base,
diff --git a/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/components/ConnectWithFormbricks.tsx b/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/components/ConnectWithFormbricks.tsx
index d8235cf018..21b9453282 100644
--- a/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/components/ConnectWithFormbricks.tsx
+++ b/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/components/ConnectWithFormbricks.tsx
@@ -9,7 +9,7 @@ import { useEffect } from "react";
import { cn } from "@formbricks/lib/cn";
import { TEnvironment } from "@formbricks/types/environment";
import { TProductConfigChannel } from "@formbricks/types/product";
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
import { OnboardingSetupInstructions } from "./OnboardingSetupInstructions";
interface ConnectWithFormbricksProps {
diff --git a/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/components/InviteOrganizationMember.tsx b/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/components/InviteOrganizationMember.tsx
index 60c767699e..470e417ca5 100644
--- a/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/components/InviteOrganizationMember.tsx
+++ b/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/components/InviteOrganizationMember.tsx
@@ -7,9 +7,9 @@ import { FormProvider, useForm } from "react-hook-form";
import { toast } from "react-hot-toast";
import { z } from "zod";
import { TOrganization } from "@formbricks/types/organizations";
-import { Button } from "@formbricks/ui/Button";
-import { FormControl, FormError, FormField, FormItem, FormLabel } from "@formbricks/ui/Form";
-import { Input } from "@formbricks/ui/Input";
+import { Button } from "@formbricks/ui/components/Button";
+import { FormControl, FormError, FormField, FormItem, FormLabel } from "@formbricks/ui/components/Form";
+import { Input } from "@formbricks/ui/components/Input";
interface InviteOrganizationMemberProps {
organization: TOrganization;
diff --git a/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/components/OnboardingSetupInstructions.tsx b/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/components/OnboardingSetupInstructions.tsx
index b4339882f0..f462c3c3f2 100644
--- a/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/components/OnboardingSetupInstructions.tsx
+++ b/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/components/OnboardingSetupInstructions.tsx
@@ -4,10 +4,10 @@ import "prismjs/themes/prism.css";
import { useState } from "react";
import toast from "react-hot-toast";
import { TProductConfigChannel } from "@formbricks/types/product";
-import { Button } from "@formbricks/ui/Button";
-import { CodeBlock } from "@formbricks/ui/CodeBlock";
-import { TabBar } from "@formbricks/ui/TabBar";
-import { Html5Icon, NpmIcon } from "@formbricks/ui/icons";
+import { Button } from "@formbricks/ui/components/Button";
+import { CodeBlock } from "@formbricks/ui/components/CodeBlock";
+import { TabBar } from "@formbricks/ui/components/TabBar";
+import { Html5Icon, NpmIcon } from "@formbricks/ui/components/icons";
const tabs = [
{ id: "html", label: "HTML", icon: },
diff --git a/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/invite/page.tsx b/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/invite/page.tsx
index c2019a5982..ff3692aed2 100644
--- a/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/invite/page.tsx
+++ b/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/invite/page.tsx
@@ -5,8 +5,8 @@ import { notFound, redirect } from "next/navigation";
import { authOptions } from "@formbricks/lib/authOptions";
import { getMembershipByUserIdOrganizationId } from "@formbricks/lib/membership/service";
import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service";
-import { Button } from "@formbricks/ui/Button";
-import { Header } from "@formbricks/ui/Header";
+import { Button } from "@formbricks/ui/components/Button";
+import { Header } from "@formbricks/ui/components/Header";
interface InvitePageProps {
params: {
diff --git a/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/page.tsx b/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/page.tsx
index 44bf86c7df..5d038a782e 100644
--- a/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/page.tsx
+++ b/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/page.tsx
@@ -3,8 +3,8 @@ import { XIcon } from "lucide-react";
import { WEBAPP_URL } from "@formbricks/lib/constants";
import { getEnvironment } from "@formbricks/lib/environment/service";
import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
-import { Button } from "@formbricks/ui/Button";
-import { Header } from "@formbricks/ui/Header";
+import { Button } from "@formbricks/ui/components/Button";
+import { Header } from "@formbricks/ui/components/Header";
interface ConnectPageProps {
params: {
diff --git a/apps/web/app/(app)/(onboarding)/environments/[environmentId]/xm-templates/components/XMTemplateList.tsx b/apps/web/app/(app)/(onboarding)/environments/[environmentId]/xm-templates/components/XMTemplateList.tsx
index bfc0f014f4..e5359b77f9 100644
--- a/apps/web/app/(app)/(onboarding)/environments/[environmentId]/xm-templates/components/XMTemplateList.tsx
+++ b/apps/web/app/(app)/(onboarding)/environments/[environmentId]/xm-templates/components/XMTemplateList.tsx
@@ -12,7 +12,7 @@ import { TProduct } from "@formbricks/types/product";
import { TSurveyCreateInput } from "@formbricks/types/surveys/types";
import { TXMTemplate } from "@formbricks/types/templates";
import { TUser } from "@formbricks/types/user";
-import { createSurveyAction } from "@formbricks/ui/TemplateList/actions";
+import { createSurveyAction } from "@formbricks/ui/components/TemplateList/actions";
interface XMTemplateListProps {
product: TProduct;
diff --git a/apps/web/app/(app)/(onboarding)/environments/[environmentId]/xm-templates/page.tsx b/apps/web/app/(app)/(onboarding)/environments/[environmentId]/xm-templates/page.tsx
index f9e01a92b4..6bc358e4ec 100644
--- a/apps/web/app/(app)/(onboarding)/environments/[environmentId]/xm-templates/page.tsx
+++ b/apps/web/app/(app)/(onboarding)/environments/[environmentId]/xm-templates/page.tsx
@@ -6,8 +6,8 @@ import { getEnvironment } from "@formbricks/lib/environment/service";
import { getOrganizationIdFromEnvironmentId } from "@formbricks/lib/organization/utils";
import { getProductByEnvironmentId, getProducts } from "@formbricks/lib/product/service";
import { getUser } from "@formbricks/lib/user/service";
-import { Button } from "@formbricks/ui/Button";
-import { Header } from "@formbricks/ui/Header";
+import { Button } from "@formbricks/ui/components/Button";
+import { Header } from "@formbricks/ui/components/Header";
interface XMTemplatePageProps {
params: {
diff --git a/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/layout.tsx b/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/layout.tsx
index 90e0991863..2ef9138d9b 100644
--- a/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/layout.tsx
+++ b/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/layout.tsx
@@ -7,7 +7,7 @@ import { canUserAccessOrganization } from "@formbricks/lib/organization/auth";
import { getOrganization } from "@formbricks/lib/organization/service";
import { getUser } from "@formbricks/lib/user/service";
import { AuthorizationError } from "@formbricks/types/errors";
-import { ToasterClient } from "@formbricks/ui/ToasterClient";
+import { ToasterClient } from "@formbricks/ui/components/ToasterClient";
const ProductOnboardingLayout = async ({ children, params }) => {
const session = await getServerSession(authOptions);
diff --git a/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/products/new/channel/page.tsx b/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/products/new/channel/page.tsx
index 88132a642c..ca90ca155a 100644
--- a/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/products/new/channel/page.tsx
+++ b/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/products/new/channel/page.tsx
@@ -1,8 +1,8 @@
import { OnboardingOptionsContainer } from "@/app/(app)/(onboarding)/organizations/components/OnboardingOptionsContainer";
import { GlobeIcon, GlobeLockIcon, LinkIcon, XIcon } from "lucide-react";
import { getProducts } from "@formbricks/lib/product/service";
-import { Button } from "@formbricks/ui/Button";
-import { Header } from "@formbricks/ui/Header";
+import { Button } from "@formbricks/ui/components/Button";
+import { Header } from "@formbricks/ui/components/Header";
interface ChannelPageProps {
params: {
diff --git a/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/products/new/industry/page.tsx b/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/products/new/industry/page.tsx
index 29f927b35b..11a4f8452d 100644
--- a/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/products/new/industry/page.tsx
+++ b/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/products/new/industry/page.tsx
@@ -3,8 +3,8 @@ import { HeartIcon, MonitorIcon, ShoppingCart, XIcon } from "lucide-react";
import { notFound } from "next/navigation";
import { getProducts } from "@formbricks/lib/product/service";
import { TProductConfigChannel } from "@formbricks/types/product";
-import { Button } from "@formbricks/ui/Button";
-import { Header } from "@formbricks/ui/Header";
+import { Button } from "@formbricks/ui/components/Button";
+import { Header } from "@formbricks/ui/components/Header";
interface IndustryPageProps {
params: {
diff --git a/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/products/new/mode/page.tsx b/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/products/new/mode/page.tsx
index 26db8c51a4..e34dfeffd3 100644
--- a/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/products/new/mode/page.tsx
+++ b/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/products/new/mode/page.tsx
@@ -1,8 +1,8 @@
import { OnboardingOptionsContainer } from "@/app/(app)/(onboarding)/organizations/components/OnboardingOptionsContainer";
import { HeartIcon, ListTodoIcon, XIcon } from "lucide-react";
import { getProducts } from "@formbricks/lib/product/service";
-import { Button } from "@formbricks/ui/Button";
-import { Header } from "@formbricks/ui/Header";
+import { Button } from "@formbricks/ui/components/Button";
+import { Header } from "@formbricks/ui/components/Header";
interface ModePageProps {
params: {
diff --git a/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/products/new/settings/components/ProductSettings.tsx b/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/products/new/settings/components/ProductSettings.tsx
index 31613e2285..8b227aa75a 100644
--- a/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/products/new/settings/components/ProductSettings.tsx
+++ b/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/products/new/settings/components/ProductSettings.tsx
@@ -16,8 +16,8 @@ import {
TProductUpdateInput,
ZProductUpdateInput,
} from "@formbricks/types/product";
-import { Button } from "@formbricks/ui/Button";
-import { ColorPicker } from "@formbricks/ui/ColorPicker";
+import { Button } from "@formbricks/ui/components/Button";
+import { ColorPicker } from "@formbricks/ui/components/ColorPicker";
import {
FormControl,
FormDescription,
@@ -26,9 +26,9 @@ import {
FormItem,
FormLabel,
FormProvider,
-} from "@formbricks/ui/Form";
-import { Input } from "@formbricks/ui/Input";
-import { SurveyInline } from "@formbricks/ui/Survey";
+} from "@formbricks/ui/components/Form";
+import { Input } from "@formbricks/ui/components/Input";
+import { SurveyInline } from "@formbricks/ui/components/Survey";
interface ProductSettingsProps {
organizationId: string;
diff --git a/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/products/new/settings/page.tsx b/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/products/new/settings/page.tsx
index 70798077b2..d9e08f9955 100644
--- a/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/products/new/settings/page.tsx
+++ b/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/products/new/settings/page.tsx
@@ -4,8 +4,8 @@ import { XIcon } from "lucide-react";
import { DEFAULT_BRAND_COLOR } from "@formbricks/lib/constants";
import { getProducts } from "@formbricks/lib/product/service";
import { TProductConfigChannel, TProductConfigIndustry, TProductMode } from "@formbricks/types/product";
-import { Button } from "@formbricks/ui/Button";
-import { Header } from "@formbricks/ui/Header";
+import { Button } from "@formbricks/ui/components/Button";
+import { Header } from "@formbricks/ui/components/Header";
interface ProductSettingsPageProps {
params: {
diff --git a/apps/web/app/(app)/(onboarding)/organizations/components/OnboardingOptionsContainer.tsx b/apps/web/app/(app)/(onboarding)/organizations/components/OnboardingOptionsContainer.tsx
index 42bf523f40..94299437f1 100644
--- a/apps/web/app/(app)/(onboarding)/organizations/components/OnboardingOptionsContainer.tsx
+++ b/apps/web/app/(app)/(onboarding)/organizations/components/OnboardingOptionsContainer.tsx
@@ -2,7 +2,7 @@ import { LucideProps } from "lucide-react";
import Link from "next/link";
import { ForwardRefExoticComponent, RefAttributes } from "react";
import { cn } from "@formbricks/lib/cn";
-import { OptionCard } from "@formbricks/ui/OptionCard";
+import { OptionCard } from "@formbricks/ui/components/OptionCard";
interface OnboardingOptionsContainerProps {
options: {
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/layout.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/layout.tsx
index 7058d28a49..8a38c27267 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/layout.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/layout.tsx
@@ -9,8 +9,8 @@ import { getEnvironment } from "@formbricks/lib/environment/service";
import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service";
import { getUser } from "@formbricks/lib/user/service";
import { AuthorizationError } from "@formbricks/types/errors";
-import { DevEnvironmentBanner } from "@formbricks/ui/DevEnvironmentBanner";
-import { ToasterClient } from "@formbricks/ui/ToasterClient";
+import { DevEnvironmentBanner } from "@formbricks/ui/components/DevEnvironmentBanner";
+import { ToasterClient } from "@formbricks/ui/components/ToasterClient";
const EnvLayout = async ({ children, params }) => {
const session = await getServerSession(authOptions);
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/AddActionModal.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/AddActionModal.tsx
index 372aea7336..e3513df28c 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/AddActionModal.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/AddActionModal.tsx
@@ -2,7 +2,7 @@
import { TActionClass } from "@formbricks/types/action-classes";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { ModalWithTabs } from "@formbricks/ui/ModalWithTabs";
+import { ModalWithTabs } from "@formbricks/ui/components/ModalWithTabs";
import { CreateNewActionTab } from "./CreateNewActionTab";
import { SavedActionsTab } from "./SavedActionsTab";
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/AddressQuestionForm.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/AddressQuestionForm.tsx
index 12f9d552e7..d641b32999 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/AddressQuestionForm.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/AddressQuestionForm.tsx
@@ -4,9 +4,9 @@ import { PlusIcon } from "lucide-react";
import { createI18nString, extractLanguageCodes } from "@formbricks/lib/i18n/utils";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TSurvey, TSurveyAddressQuestion } from "@formbricks/types/surveys/types";
-import { AdvancedOptionToggle } from "@formbricks/ui/AdvancedOptionToggle";
-import { Button } from "@formbricks/ui/Button";
-import { QuestionFormInput } from "@formbricks/ui/QuestionFormInput";
+import { AdvancedOptionToggle } from "@formbricks/ui/components/AdvancedOptionToggle";
+import { Button } from "@formbricks/ui/components/Button";
+import { QuestionFormInput } from "@formbricks/ui/components/QuestionFormInput";
interface AddressQuestionFormProps {
localSurvey: TSurvey;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/BackgroundStylingCard.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/BackgroundStylingCard.tsx
index 8c05b707bf..663b5ee04e 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/BackgroundStylingCard.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/BackgroundStylingCard.tsx
@@ -6,9 +6,9 @@ import { UseFormReturn } from "react-hook-form";
import { cn } from "@formbricks/lib/cn";
import { TProductStyling } from "@formbricks/types/product";
import { TSurveyStyling } from "@formbricks/types/surveys/types";
-import { Badge } from "@formbricks/ui/Badge";
-import { FormControl, FormDescription, FormField, FormItem, FormLabel } from "@formbricks/ui/Form";
-import { Slider } from "@formbricks/ui/Slider";
+import { Badge } from "@formbricks/ui/components/Badge";
+import { FormControl, FormDescription, FormField, FormItem, FormLabel } from "@formbricks/ui/components/Form";
+import { Slider } from "@formbricks/ui/components/Slider";
import { SurveyBgSelectorTab } from "./SurveyBgSelectorTab";
interface BackgroundStylingCardProps {
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/CTAQuestionForm.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/CTAQuestionForm.tsx
index 0ffb4f8468..c7d50fb2d6 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/CTAQuestionForm.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/CTAQuestionForm.tsx
@@ -4,10 +4,10 @@ import { useState } from "react";
import { LocalizedEditor } from "@formbricks/ee/multi-language/components/localized-editor";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TSurvey, TSurveyCTAQuestion } from "@formbricks/types/surveys/types";
-import { Input } from "@formbricks/ui/Input";
-import { Label } from "@formbricks/ui/Label";
-import { OptionsSwitch } from "@formbricks/ui/OptionsSwitch";
-import { QuestionFormInput } from "@formbricks/ui/QuestionFormInput";
+import { Input } from "@formbricks/ui/components/Input";
+import { Label } from "@formbricks/ui/components/Label";
+import { OptionsSwitch } from "@formbricks/ui/components/OptionsSwitch";
+import { QuestionFormInput } from "@formbricks/ui/components/QuestionFormInput";
const options = [
{
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/CalQuestionForm.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/CalQuestionForm.tsx
index f8f8085184..d759679c96 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/CalQuestionForm.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/CalQuestionForm.tsx
@@ -3,11 +3,11 @@ import { useEffect, useState } from "react";
import { createI18nString, extractLanguageCodes } from "@formbricks/lib/i18n/utils";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TSurvey, TSurveyCalQuestion } from "@formbricks/types/surveys/types";
-import { AdvancedOptionToggle } from "@formbricks/ui/AdvancedOptionToggle";
-import { Button } from "@formbricks/ui/Button";
-import { Input } from "@formbricks/ui/Input";
-import { Label } from "@formbricks/ui/Label";
-import { QuestionFormInput } from "@formbricks/ui/QuestionFormInput";
+import { AdvancedOptionToggle } from "@formbricks/ui/components/AdvancedOptionToggle";
+import { Button } from "@formbricks/ui/components/Button";
+import { Input } from "@formbricks/ui/components/Input";
+import { Label } from "@formbricks/ui/components/Label";
+import { QuestionFormInput } from "@formbricks/ui/components/QuestionFormInput";
interface CalQuestionFormProps {
localSurvey: TSurvey;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/CardStylingSettings.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/CardStylingSettings.tsx
index a5b8c3ee82..2148daeab8 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/CardStylingSettings.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/CardStylingSettings.tsx
@@ -8,12 +8,12 @@ import { cn } from "@formbricks/lib/cn";
import { COLOR_DEFAULTS } from "@formbricks/lib/styling/constants";
import { TProduct, TProductStyling } from "@formbricks/types/product";
import { TSurveyStyling, TSurveyType } from "@formbricks/types/surveys/types";
-import { Badge } from "@formbricks/ui/Badge";
-import { CardArrangementTabs } from "@formbricks/ui/CardArrangementTabs";
-import { ColorPicker } from "@formbricks/ui/ColorPicker";
-import { FormControl, FormDescription, FormField, FormItem, FormLabel } from "@formbricks/ui/Form";
-import { Slider } from "@formbricks/ui/Slider";
-import { Switch } from "@formbricks/ui/Switch";
+import { Badge } from "@formbricks/ui/components/Badge";
+import { CardArrangementTabs } from "@formbricks/ui/components/CardArrangementTabs";
+import { ColorPicker } from "@formbricks/ui/components/ColorPicker";
+import { FormControl, FormDescription, FormField, FormItem, FormLabel } from "@formbricks/ui/components/Form";
+import { Slider } from "@formbricks/ui/components/Slider";
+import { Switch } from "@formbricks/ui/components/Switch";
type CardStylingSettingsProps = {
open: boolean;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ColorSurveyBg.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ColorSurveyBg.tsx
index e9f3d4e943..7a8d2fdbe1 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ColorSurveyBg.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ColorSurveyBg.tsx
@@ -1,5 +1,5 @@
import { useState } from "react";
-import { ColorPicker } from "@formbricks/ui/ColorPicker";
+import { ColorPicker } from "@formbricks/ui/components/ColorPicker";
interface ColorSurveyBgProps {
handleBgChange: (bg: string, bgType: string) => void;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ConsentQuestionForm.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ConsentQuestionForm.tsx
index 2b26ffb6db..f2b3f14028 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ConsentQuestionForm.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ConsentQuestionForm.tsx
@@ -4,8 +4,8 @@ import { useState } from "react";
import { LocalizedEditor } from "@formbricks/ee/multi-language/components/localized-editor";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TSurvey, TSurveyConsentQuestion } from "@formbricks/types/surveys/types";
-import { Label } from "@formbricks/ui/Label";
-import { QuestionFormInput } from "@formbricks/ui/QuestionFormInput";
+import { Label } from "@formbricks/ui/components/Label";
+import { QuestionFormInput } from "@formbricks/ui/components/QuestionFormInput";
interface ConsentQuestionFormProps {
localSurvey: TSurvey;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/CreateNewActionTab.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/CreateNewActionTab.tsx
index 27488eb6ce..befc307766 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/CreateNewActionTab.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/CreateNewActionTab.tsx
@@ -11,13 +11,13 @@ import {
ZActionClassInput,
} from "@formbricks/types/action-classes";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { Button } from "@formbricks/ui/Button";
-import { FormControl, FormError, FormField, FormItem, FormLabel } from "@formbricks/ui/Form";
-import { Input } from "@formbricks/ui/Input";
-import { Label } from "@formbricks/ui/Label";
-import { TabToggle } from "@formbricks/ui/TabToggle";
-import { CodeActionForm } from "@formbricks/ui/organisms/CodeActionForm";
-import { NoCodeActionForm } from "@formbricks/ui/organisms/NoCodeActionForm";
+import { Button } from "@formbricks/ui/components/Button";
+import { FormControl, FormError, FormField, FormItem, FormLabel } from "@formbricks/ui/components/Form";
+import { Input } from "@formbricks/ui/components/Input";
+import { Label } from "@formbricks/ui/components/Label";
+import { TabToggle } from "@formbricks/ui/components/TabToggle";
+import { CodeActionForm } from "@formbricks/ui/components/organisms/CodeActionForm";
+import { NoCodeActionForm } from "@formbricks/ui/components/organisms/NoCodeActionForm";
import { createActionClassAction } from "../actions";
interface CreateNewActionTabProps {
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/DateQuestionForm.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/DateQuestionForm.tsx
index 1e2bbf6965..a4ab909000 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/DateQuestionForm.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/DateQuestionForm.tsx
@@ -2,10 +2,10 @@ import { PlusIcon } from "lucide-react";
import { createI18nString, extractLanguageCodes } from "@formbricks/lib/i18n/utils";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TSurvey, TSurveyDateQuestion } from "@formbricks/types/surveys/types";
-import { Button } from "@formbricks/ui/Button";
-import { Label } from "@formbricks/ui/Label";
-import { OptionsSwitch } from "@formbricks/ui/OptionsSwitch";
-import { QuestionFormInput } from "@formbricks/ui/QuestionFormInput";
+import { Button } from "@formbricks/ui/components/Button";
+import { Label } from "@formbricks/ui/components/Label";
+import { OptionsSwitch } from "@formbricks/ui/components/OptionsSwitch";
+import { QuestionFormInput } from "@formbricks/ui/components/QuestionFormInput";
interface IDateQuestionFormProps {
localSurvey: TSurvey;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/EditEndingCard.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/EditEndingCard.tsx
index c2764ab2a8..b44e6d42b3 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/EditEndingCard.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/EditEndingCard.tsx
@@ -14,8 +14,8 @@ import { recallToHeadline } from "@formbricks/lib/utils/recall";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TOrganizationBillingPlan } from "@formbricks/types/organizations";
import { TSurvey, TSurveyEndScreenCard, TSurveyRedirectUrlCard } from "@formbricks/types/surveys/types";
-import { OptionsSwitch } from "@formbricks/ui/OptionsSwitch";
-import { TooltipRenderer } from "@formbricks/ui/Tooltip";
+import { OptionsSwitch } from "@formbricks/ui/components/OptionsSwitch";
+import { TooltipRenderer } from "@formbricks/ui/components/Tooltip";
interface EditEndingCardProps {
localSurvey: TSurvey;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/EditWelcomeCard.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/EditWelcomeCard.tsx
index 7b99641522..9b564a6053 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/EditWelcomeCard.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/EditWelcomeCard.tsx
@@ -8,10 +8,10 @@ import { LocalizedEditor } from "@formbricks/ee/multi-language/components/locali
import { cn } from "@formbricks/lib/cn";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TSurvey, TSurveyWelcomeCard } from "@formbricks/types/surveys/types";
-import { FileInput } from "@formbricks/ui/FileInput";
-import { Label } from "@formbricks/ui/Label";
-import { QuestionFormInput } from "@formbricks/ui/QuestionFormInput";
-import { Switch } from "@formbricks/ui/Switch";
+import { FileInput } from "@formbricks/ui/components/FileInput";
+import { Label } from "@formbricks/ui/components/Label";
+import { QuestionFormInput } from "@formbricks/ui/components/QuestionFormInput";
+import { Switch } from "@formbricks/ui/components/Switch";
interface EditWelcomeCardProps {
localSurvey: TSurvey;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/EditorCardMenu.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/EditorCardMenu.tsx
index ebb96ca548..a186a8e58e 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/EditorCardMenu.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/EditorCardMenu.tsx
@@ -19,7 +19,7 @@ import {
TSurveyRedirectUrlCard,
ZSurveyQuestion,
} from "@formbricks/types/surveys/types";
-import { ConfirmationModal } from "@formbricks/ui/ConfirmationModal";
+import { ConfirmationModal } from "@formbricks/ui/components/ConfirmationModal";
import {
DropdownMenu,
DropdownMenuContent,
@@ -28,7 +28,7 @@ import {
DropdownMenuSubContent,
DropdownMenuSubTrigger,
DropdownMenuTrigger,
-} from "@formbricks/ui/DropdownMenu";
+} from "@formbricks/ui/components/DropdownMenu";
interface EditorCardMenuProps {
survey: TSurvey;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/EndScreenForm.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/EndScreenForm.tsx
index 59289aa887..dae311ed4d 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/EndScreenForm.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/EndScreenForm.tsx
@@ -4,10 +4,10 @@ import { useState } from "react";
import { getLocalizedValue } from "@formbricks/lib/i18n/utils";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TSurvey, TSurveyEndScreenCard } from "@formbricks/types/surveys/types";
-import { Input } from "@formbricks/ui/Input";
-import { Label } from "@formbricks/ui/Label";
-import { QuestionFormInput } from "@formbricks/ui/QuestionFormInput";
-import { Switch } from "@formbricks/ui/Switch";
+import { Input } from "@formbricks/ui/components/Input";
+import { Label } from "@formbricks/ui/components/Label";
+import { QuestionFormInput } from "@formbricks/ui/components/QuestionFormInput";
+import { Switch } from "@formbricks/ui/components/Switch";
interface EndScreenFormProps {
localSurvey: TSurvey;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/FileUploadQuestionForm.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/FileUploadQuestionForm.tsx
index 33afc9289b..8db8959bb7 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/FileUploadQuestionForm.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/FileUploadQuestionForm.tsx
@@ -11,10 +11,10 @@ import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TAllowedFileExtension, ZAllowedFileExtension } from "@formbricks/types/common";
import { TProduct } from "@formbricks/types/product";
import { TSurvey, TSurveyFileUploadQuestion } from "@formbricks/types/surveys/types";
-import { AdvancedOptionToggle } from "@formbricks/ui/AdvancedOptionToggle";
-import { Button } from "@formbricks/ui/Button";
-import { Input } from "@formbricks/ui/Input";
-import { QuestionFormInput } from "@formbricks/ui/QuestionFormInput";
+import { AdvancedOptionToggle } from "@formbricks/ui/components/AdvancedOptionToggle";
+import { Button } from "@formbricks/ui/components/Button";
+import { Input } from "@formbricks/ui/components/Input";
+import { QuestionFormInput } from "@formbricks/ui/components/QuestionFormInput";
interface FileUploadFormProps {
localSurvey: TSurvey;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/FormStylingSettings.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/FormStylingSettings.tsx
index d9dc28868b..c3ffa1fa49 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/FormStylingSettings.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/FormStylingSettings.tsx
@@ -9,9 +9,9 @@ import { COLOR_DEFAULTS } from "@formbricks/lib/styling/constants";
import { mixColor } from "@formbricks/lib/utils/colors";
import { TProductStyling } from "@formbricks/types/product";
import { TSurveyStyling } from "@formbricks/types/surveys/types";
-import { Button } from "@formbricks/ui/Button";
-import { ColorPicker } from "@formbricks/ui/ColorPicker";
-import { FormControl, FormDescription, FormField, FormItem, FormLabel } from "@formbricks/ui/Form";
+import { Button } from "@formbricks/ui/components/Button";
+import { ColorPicker } from "@formbricks/ui/components/ColorPicker";
+import { FormControl, FormDescription, FormField, FormItem, FormLabel } from "@formbricks/ui/components/Form";
type FormStylingSettingsProps = {
open: boolean;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/HiddenFieldsCard.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/HiddenFieldsCard.tsx
index 709f16a8de..4647f87f58 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/HiddenFieldsCard.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/HiddenFieldsCard.tsx
@@ -8,11 +8,11 @@ import { cn } from "@formbricks/lib/cn";
import { extractRecallInfo } from "@formbricks/lib/utils/recall";
import { TSurvey, TSurveyHiddenFields } from "@formbricks/types/surveys/types";
import { validateId } from "@formbricks/types/surveys/validation";
-import { Button } from "@formbricks/ui/Button";
-import { Input } from "@formbricks/ui/Input";
-import { Label } from "@formbricks/ui/Label";
-import { Switch } from "@formbricks/ui/Switch";
-import { Tag } from "@formbricks/ui/Tag";
+import { Button } from "@formbricks/ui/components/Button";
+import { Input } from "@formbricks/ui/components/Input";
+import { Label } from "@formbricks/ui/components/Label";
+import { Switch } from "@formbricks/ui/components/Switch";
+import { Tag } from "@formbricks/ui/components/Tag";
interface HiddenFieldsCardProps {
localSurvey: TSurvey;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/HowToSendCard.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/HowToSendCard.tsx
index 3565474ba8..4d9ade151f 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/HowToSendCard.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/HowToSendCard.tsx
@@ -10,9 +10,9 @@ import { TEnvironment } from "@formbricks/types/environment";
import { TProduct } from "@formbricks/types/product";
import { TSegment } from "@formbricks/types/segment";
import { TSurvey, TSurveyType } from "@formbricks/types/surveys/types";
-import { Badge } from "@formbricks/ui/Badge";
-import { Label } from "@formbricks/ui/Label";
-import { RadioGroup, RadioGroupItem } from "@formbricks/ui/RadioGroup";
+import { Badge } from "@formbricks/ui/components/Badge";
+import { Label } from "@formbricks/ui/components/Label";
+import { RadioGroup, RadioGroupItem } from "@formbricks/ui/components/RadioGroup";
interface HowToSendCardProps {
localSurvey: TSurvey;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ImageSurveyBg.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ImageSurveyBg.tsx
index 9c30a85dd3..9b2830d10f 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ImageSurveyBg.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ImageSurveyBg.tsx
@@ -1,4 +1,4 @@
-import { FileInput } from "@formbricks/ui/FileInput";
+import { FileInput } from "@formbricks/ui/components/FileInput";
interface UploadImageSurveyBgProps {
environmentId: string;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/LogicEditor.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/LogicEditor.tsx
index c971b3e47d..6b4587b6ee 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/LogicEditor.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/LogicEditor.tsx
@@ -20,17 +20,23 @@ import {
TSurveyQuestion,
TSurveyQuestionTypeEnum,
} from "@formbricks/types/surveys/types";
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
import {
DropdownMenu,
DropdownMenuCheckboxItem,
DropdownMenuContent,
DropdownMenuTrigger,
-} from "@formbricks/ui/DropdownMenu";
-import { Input } from "@formbricks/ui/Input";
-import { Label } from "@formbricks/ui/Label";
-import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@formbricks/ui/Select";
-import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/Tooltip";
+} from "@formbricks/ui/components/DropdownMenu";
+import { Input } from "@formbricks/ui/components/Input";
+import { Label } from "@formbricks/ui/components/Label";
+import {
+ Select,
+ SelectContent,
+ SelectItem,
+ SelectTrigger,
+ SelectValue,
+} from "@formbricks/ui/components/Select";
+import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/components/Tooltip";
interface LogicEditorProps {
localSurvey: TSurvey;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/MatrixQuestionForm.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/MatrixQuestionForm.tsx
index e308a742d8..287119882c 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/MatrixQuestionForm.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/MatrixQuestionForm.tsx
@@ -4,9 +4,9 @@ import { PlusIcon, TrashIcon } from "lucide-react";
import { createI18nString, extractLanguageCodes } from "@formbricks/lib/i18n/utils";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TI18nString, TSurvey, TSurveyMatrixQuestion } from "@formbricks/types/surveys/types";
-import { Button } from "@formbricks/ui/Button";
-import { Label } from "@formbricks/ui/Label";
-import { QuestionFormInput } from "@formbricks/ui/QuestionFormInput";
+import { Button } from "@formbricks/ui/components/Button";
+import { Label } from "@formbricks/ui/components/Label";
+import { QuestionFormInput } from "@formbricks/ui/components/QuestionFormInput";
import { isLabelValidForAllLanguages } from "../lib/validation";
interface MatrixQuestionFormProps {
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/MultipleChoiceQuestionForm.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/MultipleChoiceQuestionForm.tsx
index 239aeec2df..adef2ebcf2 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/MultipleChoiceQuestionForm.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/MultipleChoiceQuestionForm.tsx
@@ -14,10 +14,16 @@ import {
TSurveyMultipleChoiceQuestion,
TSurveyQuestionTypeEnum,
} from "@formbricks/types/surveys/types";
-import { Button } from "@formbricks/ui/Button";
-import { Label } from "@formbricks/ui/Label";
-import { QuestionFormInput } from "@formbricks/ui/QuestionFormInput";
-import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@formbricks/ui/Select";
+import { Button } from "@formbricks/ui/components/Button";
+import { Label } from "@formbricks/ui/components/Label";
+import { QuestionFormInput } from "@formbricks/ui/components/QuestionFormInput";
+import {
+ Select,
+ SelectContent,
+ SelectItem,
+ SelectTrigger,
+ SelectValue,
+} from "@formbricks/ui/components/Select";
import { QuestionOptionChoice } from "./QuestionOptionChoice";
interface OpenQuestionFormProps {
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/NPSQuestionForm.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/NPSQuestionForm.tsx
index 619a0b6790..1516bb0c0c 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/NPSQuestionForm.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/NPSQuestionForm.tsx
@@ -4,9 +4,9 @@ import { PlusIcon } from "lucide-react";
import { createI18nString, extractLanguageCodes } from "@formbricks/lib/i18n/utils";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TSurvey, TSurveyNPSQuestion } from "@formbricks/types/surveys/types";
-import { AdvancedOptionToggle } from "@formbricks/ui/AdvancedOptionToggle";
-import { Button } from "@formbricks/ui/Button";
-import { QuestionFormInput } from "@formbricks/ui/QuestionFormInput";
+import { AdvancedOptionToggle } from "@formbricks/ui/components/AdvancedOptionToggle";
+import { Button } from "@formbricks/ui/components/Button";
+import { QuestionFormInput } from "@formbricks/ui/components/QuestionFormInput";
interface NPSQuestionFormProps {
localSurvey: TSurvey;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/OpenQuestionForm.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/OpenQuestionForm.tsx
index 38b105a8f9..cceed222a5 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/OpenQuestionForm.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/OpenQuestionForm.tsx
@@ -8,10 +8,10 @@ import {
TSurveyOpenTextQuestion,
TSurveyOpenTextQuestionInputType,
} from "@formbricks/types/surveys/types";
-import { Button } from "@formbricks/ui/Button";
-import { Label } from "@formbricks/ui/Label";
-import { OptionsSwitch } from "@formbricks/ui/OptionsSwitch";
-import { QuestionFormInput } from "@formbricks/ui/QuestionFormInput";
+import { Button } from "@formbricks/ui/components/Button";
+import { Label } from "@formbricks/ui/components/Label";
+import { OptionsSwitch } from "@formbricks/ui/components/OptionsSwitch";
+import { QuestionFormInput } from "@formbricks/ui/components/QuestionFormInput";
const questionTypes = [
{ value: "text", label: "Text", icon: },
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/PictureSelectionForm.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/PictureSelectionForm.tsx
index 787fe066de..99ffe6a741 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/PictureSelectionForm.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/PictureSelectionForm.tsx
@@ -4,11 +4,11 @@ import { cn } from "@formbricks/lib/cn";
import { createI18nString, extractLanguageCodes } from "@formbricks/lib/i18n/utils";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TSurvey, TSurveyPictureSelectionQuestion } from "@formbricks/types/surveys/types";
-import { Button } from "@formbricks/ui/Button";
-import { FileInput } from "@formbricks/ui/FileInput";
-import { Label } from "@formbricks/ui/Label";
-import { QuestionFormInput } from "@formbricks/ui/QuestionFormInput";
-import { Switch } from "@formbricks/ui/Switch";
+import { Button } from "@formbricks/ui/components/Button";
+import { FileInput } from "@formbricks/ui/components/FileInput";
+import { Label } from "@formbricks/ui/components/Label";
+import { QuestionFormInput } from "@formbricks/ui/components/QuestionFormInput";
+import { Switch } from "@formbricks/ui/components/Switch";
interface PictureSelectionFormProps {
localSurvey: TSurvey;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/Placement.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/Placement.tsx
index 104893cd35..ae45b7ae89 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/Placement.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/Placement.tsx
@@ -2,9 +2,9 @@
import { cn } from "@formbricks/lib/cn";
import { TPlacement } from "@formbricks/types/common";
-import { Label } from "@formbricks/ui/Label";
-import { getPlacementStyle } from "@formbricks/ui/PreviewSurvey/lib/utils";
-import { RadioGroup, RadioGroupItem } from "@formbricks/ui/RadioGroup";
+import { Label } from "@formbricks/ui/components/Label";
+import { getPlacementStyle } from "@formbricks/ui/components/PreviewSurvey/lib/utils";
+import { RadioGroup, RadioGroupItem } from "@formbricks/ui/components/RadioGroup";
const placements = [
{ name: "Bottom Right", value: "bottomRight", disabled: false },
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/QuestionCard.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/QuestionCard.tsx
index 9830a57568..0a5824013c 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/QuestionCard.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/QuestionCard.tsx
@@ -18,9 +18,9 @@ import {
TSurveyQuestion,
TSurveyQuestionTypeEnum,
} from "@formbricks/types/surveys/types";
-import { Label } from "@formbricks/ui/Label";
-import { QuestionFormInput } from "@formbricks/ui/QuestionFormInput";
-import { Switch } from "@formbricks/ui/Switch";
+import { Label } from "@formbricks/ui/components/Label";
+import { QuestionFormInput } from "@formbricks/ui/components/QuestionFormInput";
+import { Switch } from "@formbricks/ui/components/Switch";
import { AddressQuestionForm } from "./AddressQuestionForm";
import { AdvancedSettings } from "./AdvancedSettings";
import { CTAQuestionForm } from "./CTAQuestionForm";
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/QuestionOptionChoice.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/QuestionOptionChoice.tsx
index 8227344508..b62d6b6f15 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/QuestionOptionChoice.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/QuestionOptionChoice.tsx
@@ -12,7 +12,7 @@ import {
TSurveyQuestionChoice,
TSurveyRankingQuestion,
} from "@formbricks/types/surveys/types";
-import { QuestionFormInput } from "@formbricks/ui/QuestionFormInput";
+import { QuestionFormInput } from "@formbricks/ui/components/QuestionFormInput";
import { isLabelValidForAllLanguages } from "../lib/validation";
interface ChoiceProps {
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/RankingQuestionForm.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/RankingQuestionForm.tsx
index b31eb16356..c19111bf53 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/RankingQuestionForm.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/RankingQuestionForm.tsx
@@ -13,10 +13,16 @@ import {
TSurvey,
TSurveyRankingQuestion,
} from "@formbricks/types/surveys/types";
-import { Button } from "@formbricks/ui/Button";
-import { Label } from "@formbricks/ui/Label";
-import { QuestionFormInput } from "@formbricks/ui/QuestionFormInput";
-import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@formbricks/ui/Select";
+import { Button } from "@formbricks/ui/components/Button";
+import { Label } from "@formbricks/ui/components/Label";
+import { QuestionFormInput } from "@formbricks/ui/components/QuestionFormInput";
+import {
+ Select,
+ SelectContent,
+ SelectItem,
+ SelectTrigger,
+ SelectValue,
+} from "@formbricks/ui/components/Select";
import { QuestionOptionChoice } from "./QuestionOptionChoice";
interface RankingQuestionFormProps {
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/RatingQuestionForm.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/RatingQuestionForm.tsx
index 42c801c13e..40dc72167d 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/RatingQuestionForm.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/RatingQuestionForm.tsx
@@ -2,10 +2,10 @@ import { HashIcon, PlusIcon, SmileIcon, StarIcon } from "lucide-react";
import { createI18nString, extractLanguageCodes } from "@formbricks/lib/i18n/utils";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TSurvey, TSurveyRatingQuestion } from "@formbricks/types/surveys/types";
-import { AdvancedOptionToggle } from "@formbricks/ui/AdvancedOptionToggle";
-import { Button } from "@formbricks/ui/Button";
-import { Label } from "@formbricks/ui/Label";
-import { QuestionFormInput } from "@formbricks/ui/QuestionFormInput";
+import { AdvancedOptionToggle } from "@formbricks/ui/components/AdvancedOptionToggle";
+import { Button } from "@formbricks/ui/components/Button";
+import { Label } from "@formbricks/ui/components/Label";
+import { QuestionFormInput } from "@formbricks/ui/components/QuestionFormInput";
import { Dropdown } from "./RatingTypeDropdown";
interface RatingQuestionFormProps {
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/RecontactOptionsCard.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/RecontactOptionsCard.tsx
index 3c720d1572..3ce274d09a 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/RecontactOptionsCard.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/RecontactOptionsCard.tsx
@@ -5,10 +5,10 @@ import { CheckIcon } from "lucide-react";
import Link from "next/link";
import { useEffect, useState } from "react";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { AdvancedOptionToggle } from "@formbricks/ui/AdvancedOptionToggle";
-import { Input } from "@formbricks/ui/Input";
-import { Label } from "@formbricks/ui/Label";
-import { RadioGroup, RadioGroupItem } from "@formbricks/ui/RadioGroup";
+import { AdvancedOptionToggle } from "@formbricks/ui/components/AdvancedOptionToggle";
+import { Input } from "@formbricks/ui/components/Input";
+import { Label } from "@formbricks/ui/components/Label";
+import { RadioGroup, RadioGroupItem } from "@formbricks/ui/components/RadioGroup";
interface DisplayOption {
id: "displayOnce" | "displayMultiple" | "respondMultiple" | "displaySome";
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/RedirectUrlForm.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/RedirectUrlForm.tsx
index 1840f05c05..b1a9f20d2d 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/RedirectUrlForm.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/RedirectUrlForm.tsx
@@ -1,6 +1,6 @@
import { TSurveyRedirectUrlCard } from "@formbricks/types/surveys/types";
-import { Input } from "@formbricks/ui/Input";
-import { Label } from "@formbricks/ui/Label";
+import { Input } from "@formbricks/ui/components/Input";
+import { Label } from "@formbricks/ui/components/Label";
interface RedirectUrlFormProps {
endingCard: TSurveyRedirectUrlCard;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ResponseOptionsCard.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ResponseOptionsCard.tsx
index 369e35e98d..5b7dabfc59 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ResponseOptionsCard.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ResponseOptionsCard.tsx
@@ -7,11 +7,11 @@ import { KeyboardEventHandler, useEffect, useState } from "react";
import toast from "react-hot-toast";
import { cn } from "@formbricks/lib/cn";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { AdvancedOptionToggle } from "@formbricks/ui/AdvancedOptionToggle";
-import { DatePicker } from "@formbricks/ui/DatePicker";
-import { Input } from "@formbricks/ui/Input";
-import { Label } from "@formbricks/ui/Label";
-import { Switch } from "@formbricks/ui/Switch";
+import { AdvancedOptionToggle } from "@formbricks/ui/components/AdvancedOptionToggle";
+import { DatePicker } from "@formbricks/ui/components/DatePicker";
+import { Input } from "@formbricks/ui/components/Input";
+import { Label } from "@formbricks/ui/components/Label";
+import { Switch } from "@formbricks/ui/components/Switch";
interface ResponseOptionsCardProps {
localSurvey: TSurvey;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SavedActionsTab.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SavedActionsTab.tsx
index 533650dabc..16d6e32e98 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SavedActionsTab.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SavedActionsTab.tsx
@@ -2,7 +2,7 @@ import { Code2Icon, MousePointerClickIcon, SparklesIcon } from "lucide-react";
import { useState } from "react";
import { TActionClass } from "@formbricks/types/action-classes";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { Input } from "@formbricks/ui/Input";
+import { Input } from "@formbricks/ui/components/Input";
interface SavedActionsTabProps {
actionClasses: TActionClass[];
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/StylingView.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/StylingView.tsx
index e0ca92d891..6b0d1057b1 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/StylingView.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/StylingView.tsx
@@ -8,8 +8,8 @@ import { TEnvironment } from "@formbricks/types/environment";
import { TProduct, TProductStyling } from "@formbricks/types/product";
import { TBaseStyling } from "@formbricks/types/styling";
import { TSurvey, TSurveyStyling } from "@formbricks/types/surveys/types";
-import { AlertDialog } from "@formbricks/ui/AlertDialog";
-import { Button } from "@formbricks/ui/Button";
+import { AlertDialog } from "@formbricks/ui/components/AlertDialog";
+import { Button } from "@formbricks/ui/components/Button";
import {
FormControl,
FormDescription,
@@ -17,8 +17,8 @@ import {
FormItem,
FormLabel,
FormProvider,
-} from "@formbricks/ui/Form";
-import { Switch } from "@formbricks/ui/Switch";
+} from "@formbricks/ui/components/Form";
+import { Switch } from "@formbricks/ui/components/Switch";
import { BackgroundStylingCard } from "./BackgroundStylingCard";
import { CardStylingSettings } from "./CardStylingSettings";
import { FormStylingSettings } from "./FormStylingSettings";
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SurveyBgSelectorTab.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SurveyBgSelectorTab.tsx
index bc9ecc6ab3..815f560f85 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SurveyBgSelectorTab.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SurveyBgSelectorTab.tsx
@@ -1,5 +1,5 @@
import { useEffect, useState } from "react";
-import { TabBar } from "@formbricks/ui/TabBar";
+import { TabBar } from "@formbricks/ui/components/TabBar";
import { AnimatedSurveyBg } from "./AnimatedSurveyBg";
import { ColorSurveyBg } from "./ColorSurveyBg";
import { UploadImageSurveyBg } from "./ImageSurveyBg";
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SurveyEditor.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SurveyEditor.tsx
index 09430c2a00..3201b2ce78 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SurveyEditor.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SurveyEditor.tsx
@@ -12,7 +12,7 @@ import { TOrganizationBillingPlan } from "@formbricks/types/organizations";
import { TProduct } from "@formbricks/types/product";
import { TSegment } from "@formbricks/types/segment";
import { TSurvey, TSurveyEditorTabs, TSurveyStyling } from "@formbricks/types/surveys/types";
-import { PreviewSurvey } from "@formbricks/ui/PreviewSurvey";
+import { PreviewSurvey } from "@formbricks/ui/components/PreviewSurvey";
import { refetchProductAction } from "../actions";
import { LoadingSkeleton } from "./LoadingSkeleton";
import { QuestionsAudienceTabs } from "./QuestionsStylingSettingsTabs";
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SurveyMenuBar.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SurveyMenuBar.tsx
index 2115ba09dd..7517cf2557 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SurveyMenuBar.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SurveyMenuBar.tsx
@@ -20,10 +20,10 @@ import {
ZSurveyEndScreenCard,
ZSurveyRedirectUrlCard,
} from "@formbricks/types/surveys/types";
-import { AlertDialog } from "@formbricks/ui/AlertDialog";
-import { Button } from "@formbricks/ui/Button";
-import { Input } from "@formbricks/ui/Input";
-import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/Tooltip";
+import { AlertDialog } from "@formbricks/ui/components/AlertDialog";
+import { Button } from "@formbricks/ui/components/Button";
+import { Input } from "@formbricks/ui/components/Input";
+import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/components/Tooltip";
import { updateSurveyAction } from "../actions";
import { isSurveyValid } from "../lib/validation";
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SurveyPlacementCard.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SurveyPlacementCard.tsx
index b38d3e419b..7891229f2d 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SurveyPlacementCard.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SurveyPlacementCard.tsx
@@ -6,8 +6,8 @@ import Link from "next/link";
import { useState } from "react";
import { TPlacement } from "@formbricks/types/common";
import { TSurvey, TSurveyProductOverwrites } from "@formbricks/types/surveys/types";
-import { Label } from "@formbricks/ui/Label";
-import { Switch } from "@formbricks/ui/Switch";
+import { Label } from "@formbricks/ui/components/Label";
+import { Switch } from "@formbricks/ui/components/Switch";
import { Placement } from "./Placement";
interface SurveyPlacementCardProps {
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SurveyVariablesCardItem.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SurveyVariablesCardItem.tsx
index 63820f46fa..e3e9419bd5 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SurveyVariablesCardItem.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/SurveyVariablesCardItem.tsx
@@ -6,11 +6,17 @@ import React, { useCallback, useEffect } from "react";
import { useForm } from "react-hook-form";
import { extractRecallInfo } from "@formbricks/lib/utils/recall";
import { TSurvey, TSurveyVariable } from "@formbricks/types/surveys/types";
-import { Button } from "@formbricks/ui/Button";
-import { FormControl, FormField, FormItem, FormProvider } from "@formbricks/ui/Form";
-import { Input } from "@formbricks/ui/Input";
-import { Label } from "@formbricks/ui/Label";
-import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@formbricks/ui/Select";
+import { Button } from "@formbricks/ui/components/Button";
+import { FormControl, FormField, FormItem, FormProvider } from "@formbricks/ui/components/Form";
+import { Input } from "@formbricks/ui/components/Input";
+import { Label } from "@formbricks/ui/components/Label";
+import {
+ Select,
+ SelectContent,
+ SelectItem,
+ SelectTrigger,
+ SelectValue,
+} from "@formbricks/ui/components/Select";
interface SurveyVariablesCardItemProps {
variable?: TSurveyVariable;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/TargetingCard.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/TargetingCard.tsx
index a720f422f6..dee11bd7fc 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/TargetingCard.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/TargetingCard.tsx
@@ -13,15 +13,15 @@ import { isAdvancedSegment } from "@formbricks/lib/segment/utils";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TBaseFilter, TSegment, TSegmentCreateInput, TSegmentUpdateInput } from "@formbricks/types/segment";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { AlertDialog } from "@formbricks/ui/AlertDialog";
-import { BasicAddFilterModal } from "@formbricks/ui/BasicAddFilterModal";
-import { BasicSegmentEditor } from "@formbricks/ui/BasicSegmentEditor";
-import { Button } from "@formbricks/ui/Button";
-import { LoadSegmentModal } from "@formbricks/ui/LoadSegmentModal";
-import { SaveAsNewSegmentModal } from "@formbricks/ui/SaveAsNewSegmentModal";
-import { SegmentTitle } from "@formbricks/ui/SegmentTitle";
-import { TargetingIndicator } from "@formbricks/ui/TargetingIndicator";
-import { UpgradePlanNotice } from "@formbricks/ui/UpgradePlanNotice";
+import { AlertDialog } from "@formbricks/ui/components/AlertDialog";
+import { BasicAddFilterModal } from "@formbricks/ui/components/BasicAddFilterModal";
+import { BasicSegmentEditor } from "@formbricks/ui/components/BasicSegmentEditor";
+import { Button } from "@formbricks/ui/components/Button";
+import { LoadSegmentModal } from "@formbricks/ui/components/LoadSegmentModal";
+import { SaveAsNewSegmentModal } from "@formbricks/ui/components/SaveAsNewSegmentModal";
+import { SegmentTitle } from "@formbricks/ui/components/SegmentTitle";
+import { TargetingIndicator } from "@formbricks/ui/components/TargetingIndicator";
+import { UpgradePlanNotice } from "@formbricks/ui/components/UpgradePlanNotice";
import {
cloneBasicSegmentAction,
createBasicSegmentAction,
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/UnsplashImages.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/UnsplashImages.tsx
index 1b13170f01..9c7b22a4d3 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/UnsplashImages.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/UnsplashImages.tsx
@@ -6,9 +6,9 @@ import UnsplashImage from "next/image";
import { useEffect, useRef, useState } from "react";
import toast from "react-hot-toast";
import { TSurveyBackgroundBgType } from "@formbricks/types/surveys/types";
-import { Button } from "@formbricks/ui/Button";
-import { Input } from "@formbricks/ui/Input";
-import { LoadingSpinner } from "@formbricks/ui/LoadingSpinner";
+import { Button } from "@formbricks/ui/components/Button";
+import { Input } from "@formbricks/ui/components/Input";
+import { LoadingSpinner } from "@formbricks/ui/components/LoadingSpinner";
import { getImagesFromUnsplashAction, triggerDownloadUnsplashImageAction } from "../actions";
interface ImageFromUnsplashSurveyBgProps {
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/UpdateQuestionId.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/UpdateQuestionId.tsx
index 27926af8a2..bbe7067f38 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/UpdateQuestionId.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/UpdateQuestionId.tsx
@@ -4,9 +4,9 @@ import { useState } from "react";
import toast from "react-hot-toast";
import { TSurvey, TSurveyQuestion } from "@formbricks/types/surveys/types";
import { validateId } from "@formbricks/types/surveys/validation";
-import { Button } from "@formbricks/ui/Button";
-import { Input } from "@formbricks/ui/Input";
-import { Label } from "@formbricks/ui/Label";
+import { Button } from "@formbricks/ui/components/Button";
+import { Input } from "@formbricks/ui/components/Input";
+import { Label } from "@formbricks/ui/components/Label";
interface UpdateQuestionIdProps {
localSurvey: TSurvey;
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/WhenToSendCard.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/WhenToSendCard.tsx
index faf0b8779d..d61a277e28 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/WhenToSendCard.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/WhenToSendCard.tsx
@@ -14,9 +14,9 @@ import { getAccessFlags } from "@formbricks/lib/membership/utils";
import { TActionClass } from "@formbricks/types/action-classes";
import { TMembershipRole } from "@formbricks/types/memberships";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { AdvancedOptionToggle } from "@formbricks/ui/AdvancedOptionToggle";
-import { Button } from "@formbricks/ui/Button";
-import { Input } from "@formbricks/ui/Input";
+import { AdvancedOptionToggle } from "@formbricks/ui/components/AdvancedOptionToggle";
+import { Button } from "@formbricks/ui/components/Button";
+import { Input } from "@formbricks/ui/components/Input";
import { AddActionModal } from "./AddActionModal";
interface WhenToSendCardProps {
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/page.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/page.tsx
index bc43c1ef2d..0c0a5b48e0 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/page.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/page.tsx
@@ -12,7 +12,7 @@ import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
import { getResponseCountBySurveyId } from "@formbricks/lib/response/service";
import { getSegments } from "@formbricks/lib/segment/service";
import { getSurvey } from "@formbricks/lib/survey/service";
-import { ErrorComponent } from "@formbricks/ui/ErrorComponent";
+import { ErrorComponent } from "@formbricks/ui/components/ErrorComponent";
import { SurveyEditor } from "./components/SurveyEditor";
export const generateMetadata = async ({ params }) => {
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/templates/components/BackButton.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/templates/components/BackButton.tsx
index 951e2c34fa..d5bc26f6d6 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/templates/components/BackButton.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/templates/components/BackButton.tsx
@@ -2,7 +2,7 @@
import { ArrowLeftIcon } from "lucide-react";
import { useRouter } from "next/navigation";
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
export const BackButton = () => {
const router = useRouter();
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/templates/components/TemplateContainer.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/templates/components/TemplateContainer.tsx
index 1504438eb8..c08e0e1b8f 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/templates/components/TemplateContainer.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/templates/components/TemplateContainer.tsx
@@ -7,9 +7,9 @@ import type { TEnvironment } from "@formbricks/types/environment";
import type { TProduct, TProductConfigChannel, TProductConfigIndustry } from "@formbricks/types/product";
import type { TTemplate, TTemplateRole } from "@formbricks/types/templates";
import { TUser } from "@formbricks/types/user";
-import { PreviewSurvey } from "@formbricks/ui/PreviewSurvey";
-import { SearchBox } from "@formbricks/ui/SearchBox";
-import { TemplateList } from "@formbricks/ui/TemplateList";
+import { PreviewSurvey } from "@formbricks/ui/components/PreviewSurvey";
+import { SearchBox } from "@formbricks/ui/components/SearchBox";
+import { TemplateList } from "@formbricks/ui/components/TemplateList";
import { minimalSurvey } from "../../lib/minimalSurvey";
type TemplateContainerWithPreviewProps = {
diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/templates/loading.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/templates/loading.tsx
index 4e54b64d27..a5f403fc75 100644
--- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/templates/loading.tsx
+++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/templates/loading.tsx
@@ -1,4 +1,4 @@
-import { LoadingSpinner } from "@formbricks/ui/LoadingSpinner";
+import { LoadingSpinner } from "@formbricks/ui/components/LoadingSpinner";
const Loading = () => {
return ;
diff --git a/apps/web/app/(app)/billing-confirmation/components/ConfirmationPage.tsx b/apps/web/app/(app)/billing-confirmation/components/ConfirmationPage.tsx
index a82c7a2eb0..cbbf3f46db 100644
--- a/apps/web/app/(app)/billing-confirmation/components/ConfirmationPage.tsx
+++ b/apps/web/app/(app)/billing-confirmation/components/ConfirmationPage.tsx
@@ -1,8 +1,8 @@
"use client";
import { useEffect, useState } from "react";
-import { Button } from "@formbricks/ui/Button";
-import { Confetti } from "@formbricks/ui/Confetti";
+import { Button } from "@formbricks/ui/components/Button";
+import { Confetti } from "@formbricks/ui/components/Confetti";
interface ConfirmationPageProps {
environmentId: string;
diff --git a/apps/web/app/(app)/billing-confirmation/page.tsx b/apps/web/app/(app)/billing-confirmation/page.tsx
index 0c84743109..1a5f2607d1 100644
--- a/apps/web/app/(app)/billing-confirmation/page.tsx
+++ b/apps/web/app/(app)/billing-confirmation/page.tsx
@@ -1,5 +1,5 @@
import { ConfirmationPage } from "@/app/(app)/billing-confirmation/components/ConfirmationPage";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
export const dynamic = "force-dynamic";
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/AttributeActivityTab.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/AttributeActivityTab.tsx
index f9eacc1100..dda5bd8927 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/AttributeActivityTab.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/AttributeActivityTab.tsx
@@ -6,9 +6,9 @@ import { getFormattedErrorMessage } from "@formbricks/lib/actionClient/helper";
import { convertDateTimeStringShort } from "@formbricks/lib/time";
import { capitalizeFirstLetter } from "@formbricks/lib/utils/strings";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
-import { ErrorComponent } from "@formbricks/ui/ErrorComponent";
-import { Label } from "@formbricks/ui/Label";
-import { LoadingSpinner } from "@formbricks/ui/LoadingSpinner";
+import { ErrorComponent } from "@formbricks/ui/components/ErrorComponent";
+import { Label } from "@formbricks/ui/components/Label";
+import { LoadingSpinner } from "@formbricks/ui/components/LoadingSpinner";
import { getSegmentsByAttributeClassAction } from "../actions";
interface EventActivityTabProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/AttributeClassesTable.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/AttributeClassesTable.tsx
index 86a28c74d3..290d6783d6 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/AttributeClassesTable.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/AttributeClassesTable.tsx
@@ -2,7 +2,7 @@
import { useMemo, useState } from "react";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
-import { Switch } from "@formbricks/ui/Switch";
+import { Switch } from "@formbricks/ui/components/Switch";
import { AttributeDetailModal } from "./AttributeDetailModal";
import { AttributeClassDataRow } from "./AttributeRowData";
import { AttributeTableHeading } from "./AttributeTableHeading";
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/AttributeDetailModal.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/AttributeDetailModal.tsx
index dc2037c8aa..712107f14d 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/AttributeDetailModal.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/AttributeDetailModal.tsx
@@ -1,6 +1,6 @@
import { TagIcon } from "lucide-react";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
-import { ModalWithTabs } from "@formbricks/ui/ModalWithTabs";
+import { ModalWithTabs } from "@formbricks/ui/components/ModalWithTabs";
import { AttributeActivityTab } from "./AttributeActivityTab";
import { AttributeSettingsTab } from "./AttributeSettingsTab";
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/AttributeRowData.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/AttributeRowData.tsx
index a3ed71cc9c..5ec8bad7be 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/AttributeRowData.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/AttributeRowData.tsx
@@ -1,6 +1,6 @@
import { TagIcon } from "lucide-react";
import { timeSinceConditionally } from "@formbricks/lib/time";
-import { Badge } from "@formbricks/ui/Badge";
+import { Badge } from "@formbricks/ui/components/Badge";
export const AttributeClassDataRow = ({ attributeClass }) => {
return (
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/AttributeSettingsTab.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/AttributeSettingsTab.tsx
index b086df56e4..160e7c4818 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/AttributeSettingsTab.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/AttributeSettingsTab.tsx
@@ -6,9 +6,9 @@ import { useRouter } from "next/navigation";
import { useState } from "react";
import { useForm } from "react-hook-form";
import { updateAttributeClass } from "@formbricks/lib/attributeClass/service";
-import { Button } from "@formbricks/ui/Button";
-import { Input } from "@formbricks/ui/Input";
-import { Label } from "@formbricks/ui/Label";
+import { Button } from "@formbricks/ui/components/Button";
+import { Input } from "@formbricks/ui/components/Input";
+import { Label } from "@formbricks/ui/components/Label";
interface AttributeSettingsTabProps {
attributeClass: AttributeClass;
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/HowToAddAttributesButton.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/HowToAddAttributesButton.tsx
index 838f227f50..26f804adc1 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/HowToAddAttributesButton.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/HowToAddAttributesButton.tsx
@@ -1,5 +1,5 @@
import { HelpCircleIcon } from "lucide-react";
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
export const HowToAddAttributesButton = () => {
return (
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/UploadAttributesModal.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/UploadAttributesModal.tsx
index 2b05ac7163..75ac42733c 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/UploadAttributesModal.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/components/UploadAttributesModal.tsx
@@ -1,4 +1,4 @@
-import { Modal } from "@formbricks/ui/Modal";
+import { Modal } from "@formbricks/ui/components/Modal";
interface UploadAttributesModalProps {
open: boolean;
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/loading.tsx
index 33d0fe85b1..3d0ad4f0e8 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/loading.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/loading.tsx
@@ -1,7 +1,7 @@
import { PersonSecondaryNavigation } from "@/app/(app)/environments/[environmentId]/(people)/people/components/PersonSecondaryNavigation";
import { TagIcon } from "lucide-react";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const Loading = () => {
return (
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/page.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/page.tsx
index 3ed401747f..5bf4d9954b 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/page.tsx
@@ -4,9 +4,9 @@ import { Metadata } from "next";
import { notFound } from "next/navigation";
import { getAttributeClasses } from "@formbricks/lib/attributeClass/service";
import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
-import { Button } from "@formbricks/ui/Button";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { Button } from "@formbricks/ui/components/Button";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
import { AttributeClassesTable } from "./components/AttributeClassesTable";
export const metadata: Metadata = {
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/people/[personId]/components/DeletePersonButton.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/people/[personId]/components/DeletePersonButton.tsx
index a8a3ee7025..09ccd8486e 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/people/[personId]/components/DeletePersonButton.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/people/[personId]/components/DeletePersonButton.tsx
@@ -5,8 +5,8 @@ import { useRouter } from "next/navigation";
import { useState } from "react";
import toast from "react-hot-toast";
import { getFormattedErrorMessage } from "@formbricks/lib/actionClient/helper";
-import { deletePersonAction } from "@formbricks/ui/DataTable/actions";
-import { DeleteDialog } from "@formbricks/ui/DeleteDialog";
+import { deletePersonAction } from "@formbricks/ui/components/DataTable/actions";
+import { DeleteDialog } from "@formbricks/ui/components/DeleteDialog";
interface DeletePersonButtonProps {
environmentId: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/people/[personId]/components/ResponsesFeed.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/people/[personId]/components/ResponsesFeed.tsx
index 57357d8ec9..3247ede306 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/people/[personId]/components/ResponsesFeed.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/people/[personId]/components/ResponsesFeed.tsx
@@ -10,8 +10,8 @@ import { TResponse } from "@formbricks/types/responses";
import { TSurvey } from "@formbricks/types/surveys/types";
import { TTag } from "@formbricks/types/tags";
import { TUser } from "@formbricks/types/user";
-import { EmptySpaceFiller } from "@formbricks/ui/EmptySpaceFiller";
-import { SingleResponseCard } from "@formbricks/ui/SingleResponseCard";
+import { EmptySpaceFiller } from "@formbricks/ui/components/EmptySpaceFiller";
+import { SingleResponseCard } from "@formbricks/ui/components/SingleResponseCard";
interface ResponseTimelineProps {
surveys: TSurvey[];
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/people/[personId]/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/people/[personId]/loading.tsx
index 49a5b75670..81e35e3715 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/people/[personId]/loading.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/people/[personId]/loading.tsx
@@ -1,5 +1,5 @@
import { ArrowDownUpIcon, TrashIcon } from "lucide-react";
-import { BackIcon } from "@formbricks/ui/icons";
+import { BackIcon } from "@formbricks/ui/components/icons";
const Loading = () => {
return (
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/people/[personId]/page.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/people/[personId]/page.tsx
index 2dc970a558..53a565fa01 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/people/[personId]/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/people/[personId]/page.tsx
@@ -13,8 +13,8 @@ import { getPerson } from "@formbricks/lib/person/service";
import { getPersonIdentifier } from "@formbricks/lib/person/utils";
import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
import { getTagsByEnvironmentId } from "@formbricks/lib/tag/service";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const Page = async ({ params }) => {
const [environment, environmentTags, product, session, organization, person, attributes, attributeClasses] =
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/people/components/PersonSecondaryNavigation.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/people/components/PersonSecondaryNavigation.tsx
index cfe21a81b3..4090256888 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/people/components/PersonSecondaryNavigation.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/people/components/PersonSecondaryNavigation.tsx
@@ -1,6 +1,6 @@
import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
import { TProductConfigChannel } from "@formbricks/types/product";
-import { SecondaryNavigation } from "@formbricks/ui/SecondaryNavigation";
+import { SecondaryNavigation } from "@formbricks/ui/components/SecondaryNavigation";
interface PersonSecondaryNavigationProps {
activeId: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/people/components/PersonTable.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/people/components/PersonTable.tsx
index bb78c28294..9fc25b0417 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/people/components/PersonTable.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/people/components/PersonTable.tsx
@@ -16,11 +16,15 @@ import { useRouter } from "next/navigation";
import { useEffect, useMemo, useState } from "react";
import { cn } from "@formbricks/lib/cn";
import { TPersonTableData } from "@formbricks/types/people";
-import { Button } from "@formbricks/ui/Button";
-import { DataTableHeader, DataTableSettingsModal, DataTableToolbar } from "@formbricks/ui/DataTable";
-import { getCommonPinningStyles } from "@formbricks/ui/DataTable/lib/utils";
-import { Skeleton } from "@formbricks/ui/Skeleton";
-import { Table, TableBody, TableCell, TableHeader, TableRow } from "@formbricks/ui/Table";
+import { Button } from "@formbricks/ui/components/Button";
+import {
+ DataTableHeader,
+ DataTableSettingsModal,
+ DataTableToolbar,
+} from "@formbricks/ui/components/DataTable";
+import { getCommonPinningStyles } from "@formbricks/ui/components/DataTable/lib/utils";
+import { Skeleton } from "@formbricks/ui/components/Skeleton";
+import { Table, TableBody, TableCell, TableHeader, TableRow } from "@formbricks/ui/components/Table";
interface PersonTableProps {
data: TPersonTableData[];
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/people/components/PersonTableColumn.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/people/components/PersonTableColumn.tsx
index 51efcd1f22..54ee96b008 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/people/components/PersonTableColumn.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/people/components/PersonTableColumn.tsx
@@ -3,7 +3,7 @@
import { ColumnDef } from "@tanstack/react-table";
import { cn } from "@formbricks/lib/cn";
import { TPersonTableData } from "@formbricks/types/people";
-import { getSelectionColumn } from "@formbricks/ui/DataTable";
+import { getSelectionColumn } from "@formbricks/ui/components/DataTable";
export const generatePersonTableColumns = (isExpanded: boolean): ColumnDef[] => {
const dateColumn: ColumnDef = {
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/people/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/people/loading.tsx
index 9bd184d536..535a0204d9 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/people/loading.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/people/loading.tsx
@@ -1,6 +1,6 @@
import { PersonSecondaryNavigation } from "@/app/(app)/environments/[environmentId]/(people)/people/components/PersonSecondaryNavigation";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const Loading = () => {
return (
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/people/page.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/people/page.tsx
index f0204b65f6..61d3a05f42 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/people/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/people/page.tsx
@@ -4,9 +4,9 @@ import { CircleHelpIcon } from "lucide-react";
import { ITEMS_PER_PAGE } from "@formbricks/lib/constants";
import { getEnvironment } from "@formbricks/lib/environment/service";
import { getPersonCount } from "@formbricks/lib/person/service";
-import { Button } from "@formbricks/ui/Button";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { Button } from "@formbricks/ui/components/Button";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const Page = async ({ params }: { params: { environmentId: string } }) => {
const environment = await getEnvironment(params.environmentId);
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/segments/components/BasicCreateSegmentModal.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/segments/components/BasicCreateSegmentModal.tsx
index ad71211db7..fb09a0a736 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/segments/components/BasicCreateSegmentModal.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/segments/components/BasicCreateSegmentModal.tsx
@@ -8,12 +8,12 @@ import { createSegmentAction } from "@formbricks/ee/advanced-targeting/lib/actio
import { structuredClone } from "@formbricks/lib/pollyfills/structuredClone";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TBaseFilter, TSegment, ZSegmentFilters } from "@formbricks/types/segment";
-import { BasicAddFilterModal } from "@formbricks/ui/BasicAddFilterModal";
-import { BasicSegmentEditor } from "@formbricks/ui/BasicSegmentEditor";
-import { Button } from "@formbricks/ui/Button";
-import { Input } from "@formbricks/ui/Input";
-import { Modal } from "@formbricks/ui/Modal";
-import { UpgradePlanNotice } from "@formbricks/ui/UpgradePlanNotice";
+import { BasicAddFilterModal } from "@formbricks/ui/components/BasicAddFilterModal";
+import { BasicSegmentEditor } from "@formbricks/ui/components/BasicSegmentEditor";
+import { Button } from "@formbricks/ui/components/Button";
+import { Input } from "@formbricks/ui/components/Input";
+import { Modal } from "@formbricks/ui/components/Modal";
+import { UpgradePlanNotice } from "@formbricks/ui/components/UpgradePlanNotice";
type TCreateSegmentModalProps = {
environmentId: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/segments/components/BasicSegmentSettings.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/segments/components/BasicSegmentSettings.tsx
index 3b05b5a726..bf6d4f0281 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/segments/components/BasicSegmentSettings.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/segments/components/BasicSegmentSettings.tsx
@@ -8,12 +8,12 @@ import { structuredClone } from "@formbricks/lib/pollyfills/structuredClone";
import { isAdvancedSegment } from "@formbricks/lib/segment/utils";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TBaseFilter, TSegment, TSegmentWithSurveyNames, ZSegmentFilters } from "@formbricks/types/segment";
-import { BasicAddFilterModal } from "@formbricks/ui/BasicAddFilterModal";
-import { BasicSegmentEditor } from "@formbricks/ui/BasicSegmentEditor";
-import { Button } from "@formbricks/ui/Button";
-import { ConfirmDeleteSegmentModal } from "@formbricks/ui/ConfirmDeleteSegmentModal";
-import { Input } from "@formbricks/ui/Input";
-import { UpgradePlanNotice } from "@formbricks/ui/UpgradePlanNotice";
+import { BasicAddFilterModal } from "@formbricks/ui/components/BasicAddFilterModal";
+import { BasicSegmentEditor } from "@formbricks/ui/components/BasicSegmentEditor";
+import { Button } from "@formbricks/ui/components/Button";
+import { ConfirmDeleteSegmentModal } from "@formbricks/ui/components/ConfirmDeleteSegmentModal";
+import { Input } from "@formbricks/ui/components/Input";
+import { UpgradePlanNotice } from "@formbricks/ui/components/UpgradePlanNotice";
import { deleteBasicSegmentAction, updateBasicSegmentAction } from "../actions";
type TBasicSegmentSettingsTabProps = {
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/segments/components/EditSegmentModal.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/segments/components/EditSegmentModal.tsx
index 086a68860a..2666af862b 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/segments/components/EditSegmentModal.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/segments/components/EditSegmentModal.tsx
@@ -5,7 +5,7 @@ import { SegmentSettings } from "@formbricks/ee/advanced-targeting/components/se
import { TActionClass } from "@formbricks/types/action-classes";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TSegment, TSegmentWithSurveyNames } from "@formbricks/types/segment";
-import { ModalWithTabs } from "@formbricks/ui/ModalWithTabs";
+import { ModalWithTabs } from "@formbricks/ui/components/ModalWithTabs";
import { BasicSegmentSettings } from "./BasicSegmentSettings";
import { SegmentActivityTab } from "./SegmentActivityTab";
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/segments/components/SegmentActivityTab.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/segments/components/SegmentActivityTab.tsx
index dadac73eef..d289d9a098 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/segments/components/SegmentActivityTab.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/segments/components/SegmentActivityTab.tsx
@@ -2,7 +2,7 @@
import { convertDateTimeStringShort } from "@formbricks/lib/time";
import { TSegment } from "@formbricks/types/segment";
-import { Label } from "@formbricks/ui/Label";
+import { Label } from "@formbricks/ui/components/Label";
interface SegmentActivityTabProps {
environmentId: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/segments/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/segments/loading.tsx
index 65e8fa7780..13228c25cd 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/segments/loading.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/segments/loading.tsx
@@ -1,7 +1,7 @@
import { PersonSecondaryNavigation } from "@/app/(app)/environments/[environmentId]/(people)/people/components/PersonSecondaryNavigation";
import { UsersIcon } from "lucide-react";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const Loading = () => {
return (
diff --git a/apps/web/app/(app)/environments/[environmentId]/(people)/segments/page.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/segments/page.tsx
index 399fb80636..2a1803728a 100644
--- a/apps/web/app/(app)/environments/[environmentId]/(people)/segments/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/(people)/segments/page.tsx
@@ -9,8 +9,8 @@ import { IS_FORMBRICKS_CLOUD } from "@formbricks/lib/constants";
import { getEnvironment } from "@formbricks/lib/environment/service";
import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service";
import { getSegments } from "@formbricks/lib/segment/service";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const Page = async ({ params }) => {
const [environment, segments, attributeClasses, actionClasses, organization] = await Promise.all([
diff --git a/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionActivityTab.tsx b/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionActivityTab.tsx
index 92c8541171..8abe295f02 100644
--- a/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionActivityTab.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionActivityTab.tsx
@@ -6,9 +6,9 @@ import { getFormattedErrorMessage } from "@formbricks/lib/actionClient/helper";
import { convertDateTimeStringShort } from "@formbricks/lib/time";
import { capitalizeFirstLetter } from "@formbricks/lib/utils/strings";
import { TActionClass } from "@formbricks/types/action-classes";
-import { ErrorComponent } from "@formbricks/ui/ErrorComponent";
-import { Label } from "@formbricks/ui/Label";
-import { LoadingSpinner } from "@formbricks/ui/LoadingSpinner";
+import { ErrorComponent } from "@formbricks/ui/components/ErrorComponent";
+import { Label } from "@formbricks/ui/components/Label";
+import { LoadingSpinner } from "@formbricks/ui/components/LoadingSpinner";
import { getActiveInactiveSurveysAction } from "../actions";
interface ActivityTabProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionClassesTable.tsx b/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionClassesTable.tsx
index 4e1b2bc5d3..ef3ca4ca33 100644
--- a/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionClassesTable.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionClassesTable.tsx
@@ -3,7 +3,7 @@
import { useState } from "react";
import { useMembershipRole } from "@formbricks/lib/membership/hooks/useMembershipRole";
import { TActionClass } from "@formbricks/types/action-classes";
-import { ErrorComponent } from "@formbricks/ui/ErrorComponent";
+import { ErrorComponent } from "@formbricks/ui/components/ErrorComponent";
import { ActionDetailModal } from "./ActionDetailModal";
interface ActionClassesTableProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionDetailModal.tsx b/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionDetailModal.tsx
index 59ba09cae2..85ba6019c7 100644
--- a/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionDetailModal.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionDetailModal.tsx
@@ -1,7 +1,7 @@
import { Code2Icon, MousePointerClickIcon, SparklesIcon } from "lucide-react";
import { TActionClass } from "@formbricks/types/action-classes";
import { TMembershipRole } from "@formbricks/types/memberships";
-import { ModalWithTabs } from "@formbricks/ui/ModalWithTabs";
+import { ModalWithTabs } from "@formbricks/ui/components/ModalWithTabs";
import { ActionActivityTab } from "./ActionActivityTab";
import { ActionSettingsTab } from "./ActionSettingsTab";
diff --git a/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionSettingsTab.tsx b/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionSettingsTab.tsx
index 6832bd2b20..58470e863f 100644
--- a/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionSettingsTab.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionSettingsTab.tsx
@@ -15,12 +15,12 @@ import { z } from "zod";
import { getAccessFlags } from "@formbricks/lib/membership/utils";
import { TActionClass, TActionClassInput, ZActionClassInput } from "@formbricks/types/action-classes";
import { TMembershipRole } from "@formbricks/types/memberships";
-import { Button } from "@formbricks/ui/Button";
-import { DeleteDialog } from "@formbricks/ui/DeleteDialog";
-import { FormControl, FormError, FormField, FormItem, FormLabel } from "@formbricks/ui/Form";
-import { Input } from "@formbricks/ui/Input";
-import { CodeActionForm } from "@formbricks/ui/organisms/CodeActionForm";
-import { NoCodeActionForm } from "@formbricks/ui/organisms/NoCodeActionForm";
+import { Button } from "@formbricks/ui/components/Button";
+import { DeleteDialog } from "@formbricks/ui/components/DeleteDialog";
+import { FormControl, FormError, FormField, FormItem, FormLabel } from "@formbricks/ui/components/Form";
+import { Input } from "@formbricks/ui/components/Input";
+import { CodeActionForm } from "@formbricks/ui/components/organisms/CodeActionForm";
+import { NoCodeActionForm } from "@formbricks/ui/components/organisms/NoCodeActionForm";
interface ActionSettingsTabProps {
actionClass: TActionClass;
diff --git a/apps/web/app/(app)/environments/[environmentId]/actions/components/AddActionModal.tsx b/apps/web/app/(app)/environments/[environmentId]/actions/components/AddActionModal.tsx
index 371e3304d6..8e25fadfb8 100644
--- a/apps/web/app/(app)/environments/[environmentId]/actions/components/AddActionModal.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/actions/components/AddActionModal.tsx
@@ -6,9 +6,9 @@ import { useState } from "react";
import { useMembershipRole } from "@formbricks/lib/membership/hooks/useMembershipRole";
import { getAccessFlags } from "@formbricks/lib/membership/utils";
import { TActionClass } from "@formbricks/types/action-classes";
-import { Button } from "@formbricks/ui/Button";
-import { ErrorComponent } from "@formbricks/ui/ErrorComponent";
-import { Modal } from "@formbricks/ui/Modal";
+import { Button } from "@formbricks/ui/components/Button";
+import { ErrorComponent } from "@formbricks/ui/components/ErrorComponent";
+import { Modal } from "@formbricks/ui/components/Modal";
interface AddActionModalProps {
environmentId: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/actions/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/actions/loading.tsx
index b702ea3871..e794b0922a 100644
--- a/apps/web/app/(app)/environments/[environmentId]/actions/loading.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/actions/loading.tsx
@@ -1,5 +1,5 @@
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const Loading = () => {
return (
diff --git a/apps/web/app/(app)/environments/[environmentId]/actions/page.tsx b/apps/web/app/(app)/environments/[environmentId]/actions/page.tsx
index e4a0696cb2..159d4262e9 100644
--- a/apps/web/app/(app)/environments/[environmentId]/actions/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/actions/page.tsx
@@ -7,8 +7,8 @@ import { notFound } from "next/navigation";
import { getActionClasses } from "@formbricks/lib/actionClass/service";
import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service";
import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
export const metadata: Metadata = {
title: "Actions",
diff --git a/apps/web/app/(app)/environments/[environmentId]/components/AddProductButton.tsx b/apps/web/app/(app)/environments/[environmentId]/components/AddProductButton.tsx
index 5dd3698640..4b04697866 100644
--- a/apps/web/app/(app)/environments/[environmentId]/components/AddProductButton.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/components/AddProductButton.tsx
@@ -1,4 +1,4 @@
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
export const AddProductButton = () => {
return (
diff --git a/apps/web/app/(app)/environments/[environmentId]/components/EnvironmentLayout.tsx b/apps/web/app/(app)/environments/[environmentId]/components/EnvironmentLayout.tsx
index d3238597cf..726c8f9fda 100644
--- a/apps/web/app/(app)/environments/[environmentId]/components/EnvironmentLayout.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/components/EnvironmentLayout.tsx
@@ -13,9 +13,9 @@ import {
} from "@formbricks/lib/organization/service";
import { getProducts } from "@formbricks/lib/product/service";
import { getUser } from "@formbricks/lib/user/service";
-import { DevEnvironmentBanner } from "@formbricks/ui/DevEnvironmentBanner";
-import { LimitsReachedBanner } from "@formbricks/ui/LimitsReachedBanner";
-import { PendingDowngradeBanner } from "@formbricks/ui/PendingDowngradeBanner";
+import { DevEnvironmentBanner } from "@formbricks/ui/components/DevEnvironmentBanner";
+import { LimitsReachedBanner } from "@formbricks/ui/components/LimitsReachedBanner";
+import { PendingDowngradeBanner } from "@formbricks/ui/components/PendingDowngradeBanner";
interface EnvironmentLayoutProps {
environmentId: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/components/EnvironmentSwitch.tsx b/apps/web/app/(app)/environments/[environmentId]/components/EnvironmentSwitch.tsx
index cfd14e69b8..abe0eb866c 100644
--- a/apps/web/app/(app)/environments/[environmentId]/components/EnvironmentSwitch.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/components/EnvironmentSwitch.tsx
@@ -4,8 +4,8 @@ import { useRouter } from "next/navigation";
import { useState } from "react";
import { cn } from "@formbricks/lib/cn";
import { TEnvironment } from "@formbricks/types/environment";
-import { Label } from "@formbricks/ui/Label";
-import { Switch } from "@formbricks/ui/Switch";
+import { Label } from "@formbricks/ui/components/Label";
+import { Switch } from "@formbricks/ui/components/Switch";
interface EnvironmentSwitchProps {
environment: TEnvironment;
diff --git a/apps/web/app/(app)/environments/[environmentId]/components/MainNavigation.tsx b/apps/web/app/(app)/environments/[environmentId]/components/MainNavigation.tsx
index 5f834cfc04..c851c3f594 100644
--- a/apps/web/app/(app)/environments/[environmentId]/components/MainNavigation.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/components/MainNavigation.tsx
@@ -40,9 +40,9 @@ import { TMembershipRole } from "@formbricks/types/memberships";
import { TOrganization } from "@formbricks/types/organizations";
import { TProduct } from "@formbricks/types/product";
import { TUser } from "@formbricks/types/user";
-import { ProfileAvatar } from "@formbricks/ui/Avatars";
-import { Button } from "@formbricks/ui/Button";
-import { CreateOrganizationModal } from "@formbricks/ui/CreateOrganizationModal";
+import { ProfileAvatar } from "@formbricks/ui/components/Avatars";
+import { Button } from "@formbricks/ui/components/Button";
+import { CreateOrganizationModal } from "@formbricks/ui/components/CreateOrganizationModal";
import {
DropdownMenu,
DropdownMenuContent,
@@ -55,7 +55,7 @@ import {
DropdownMenuSubContent,
DropdownMenuSubTrigger,
DropdownMenuTrigger,
-} from "@formbricks/ui/DropdownMenu";
+} from "@formbricks/ui/components/DropdownMenu";
import { version } from "../../../../../package.json";
interface NavigationProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/components/NavigationLink.tsx b/apps/web/app/(app)/environments/[environmentId]/components/NavigationLink.tsx
index 0de2d049fd..384af35078 100644
--- a/apps/web/app/(app)/environments/[environmentId]/components/NavigationLink.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/components/NavigationLink.tsx
@@ -1,7 +1,7 @@
import Link from "next/link";
import React from "react";
import { cn } from "@formbricks/lib/cn";
-import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/Tooltip";
+import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/components/Tooltip";
interface NavigationLinkProps {
href: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/components/TopControlButtons.tsx b/apps/web/app/(app)/environments/[environmentId]/components/TopControlButtons.tsx
index ef1ddb4d5c..dfa71372e3 100644
--- a/apps/web/app/(app)/environments/[environmentId]/components/TopControlButtons.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/components/TopControlButtons.tsx
@@ -7,7 +7,7 @@ import formbricks from "@formbricks/js/app";
import { TEnvironment } from "@formbricks/types/environment";
import { TMembershipRole } from "@formbricks/types/memberships";
import { TProductConfigChannel } from "@formbricks/types/product";
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
interface TopControlButtonsProps {
environment: TEnvironment;
diff --git a/apps/web/app/(app)/environments/[environmentId]/components/WidgetStatusIndicator.tsx b/apps/web/app/(app)/environments/[environmentId]/components/WidgetStatusIndicator.tsx
index 4bc9d0a60d..d4dcbd4577 100644
--- a/apps/web/app/(app)/environments/[environmentId]/components/WidgetStatusIndicator.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/components/WidgetStatusIndicator.tsx
@@ -2,7 +2,7 @@ import clsx from "clsx";
import { AlertTriangleIcon, CheckIcon } from "lucide-react";
import Link from "next/link";
import { TEnvironment } from "@formbricks/types/environment";
-import { Label } from "@formbricks/ui/Label";
+import { Label } from "@formbricks/ui/components/Label";
interface WidgetStatusIndicatorProps {
environment: TEnvironment;
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/components/AddIntegrationModal.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/components/AddIntegrationModal.tsx
index 5ed9ae2c84..b8a348e6ca 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/components/AddIntegrationModal.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/components/AddIntegrationModal.tsx
@@ -20,13 +20,19 @@ import {
TIntegrationAirtableTables,
} from "@formbricks/types/integration/airtable";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { AdditionalIntegrationSettings } from "@formbricks/ui/AdditionalIntegrationSettings";
-import { Alert, AlertDescription, AlertTitle } from "@formbricks/ui/Alert";
-import { Button } from "@formbricks/ui/Button";
-import { Checkbox } from "@formbricks/ui/Checkbox";
-import { Label } from "@formbricks/ui/Label";
-import { Modal } from "@formbricks/ui/Modal";
-import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@formbricks/ui/Select";
+import { AdditionalIntegrationSettings } from "@formbricks/ui/components/AdditionalIntegrationSettings";
+import { Alert, AlertDescription, AlertTitle } from "@formbricks/ui/components/Alert";
+import { Button } from "@formbricks/ui/components/Button";
+import { Checkbox } from "@formbricks/ui/components/Checkbox";
+import { Label } from "@formbricks/ui/components/Label";
+import { Modal } from "@formbricks/ui/components/Modal";
+import {
+ Select,
+ SelectContent,
+ SelectItem,
+ SelectTrigger,
+ SelectValue,
+} from "@formbricks/ui/components/Select";
type EditModeProps =
| { isEditMode: false; defaultData?: never }
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/components/AirtableWrapper.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/components/AirtableWrapper.tsx
index f88da82282..5c03ba9131 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/components/AirtableWrapper.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/components/AirtableWrapper.tsx
@@ -9,7 +9,7 @@ import { TEnvironment } from "@formbricks/types/environment";
import { TIntegrationItem } from "@formbricks/types/integration";
import { TIntegrationAirtable } from "@formbricks/types/integration/airtable";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { ConnectIntegration } from "@formbricks/ui/ConnectIntegration";
+import { ConnectIntegration } from "@formbricks/ui/components/ConnectIntegration";
interface AirtableWrapperProps {
environmentId: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/components/BaseSelectDropdown.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/components/BaseSelectDropdown.tsx
index 6f4fb292ef..095b5e7ecd 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/components/BaseSelectDropdown.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/components/BaseSelectDropdown.tsx
@@ -1,7 +1,13 @@
import { Control, Controller, UseFormSetValue } from "react-hook-form";
import { TIntegrationItem } from "@formbricks/types/integration";
-import { Label } from "@formbricks/ui/Label";
-import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@formbricks/ui/Select";
+import { Label } from "@formbricks/ui/components/Label";
+import {
+ Select,
+ SelectContent,
+ SelectItem,
+ SelectTrigger,
+ SelectValue,
+} from "@formbricks/ui/components/Select";
import { IntegrationModalInputs } from "./AddIntegrationModal";
interface BaseSelectProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/components/ManageIntegration.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/components/ManageIntegration.tsx
index ea06d2cc00..36d7ace225 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/components/ManageIntegration.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/components/ManageIntegration.tsx
@@ -14,9 +14,9 @@ import { TEnvironment } from "@formbricks/types/environment";
import { TIntegrationItem } from "@formbricks/types/integration";
import { TIntegrationAirtable } from "@formbricks/types/integration/airtable";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { Button } from "@formbricks/ui/Button";
-import { DeleteDialog } from "@formbricks/ui/DeleteDialog";
-import { EmptySpaceFiller } from "@formbricks/ui/EmptySpaceFiller";
+import { Button } from "@formbricks/ui/components/Button";
+import { DeleteDialog } from "@formbricks/ui/components/DeleteDialog";
+import { EmptySpaceFiller } from "@formbricks/ui/components/EmptySpaceFiller";
interface ManageIntegrationProps {
airtableIntegration: TIntegrationAirtable;
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/page.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/page.tsx
index aaeccdc1e8..584735694f 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/page.tsx
@@ -8,9 +8,9 @@ import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
import { getSurveys } from "@formbricks/lib/survey/service";
import { TIntegrationItem } from "@formbricks/types/integration";
import { TIntegrationAirtable } from "@formbricks/types/integration/airtable";
-import { GoBackButton } from "@formbricks/ui/GoBackButton";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { GoBackButton } from "@formbricks/ui/components/GoBackButton";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const Page = async ({ params }) => {
const isEnabled = !!AIRTABLE_CLIENT_ID;
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/components/DocsSidebar.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/components/DocsSidebar.tsx
index 4e16b34fb0..c06b1c352a 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/components/DocsSidebar.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/components/DocsSidebar.tsx
@@ -1,4 +1,4 @@
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
export const DocsSidebar = () => {
return (
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/components/IntegrationsPageTitle.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/components/IntegrationsPageTitle.tsx
index c6a989d583..494da0c5c3 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/components/IntegrationsPageTitle.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/components/IntegrationsPageTitle.tsx
@@ -1,5 +1,5 @@
import Link from "next/link";
-import { BackIcon } from "@formbricks/ui/icons";
+import { BackIcon } from "@formbricks/ui/components/icons";
interface IntegrationPageTitleProps {
title: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/google-sheets/components/AddIntegrationModal.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/google-sheets/components/AddIntegrationModal.tsx
index c2ebb10557..d6a779a6d9 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/google-sheets/components/AddIntegrationModal.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/google-sheets/components/AddIntegrationModal.tsx
@@ -19,13 +19,13 @@ import {
TIntegrationGoogleSheetsInput,
} from "@formbricks/types/integration/google-sheet";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { AdditionalIntegrationSettings } from "@formbricks/ui/AdditionalIntegrationSettings";
-import { Button } from "@formbricks/ui/Button";
-import { Checkbox } from "@formbricks/ui/Checkbox";
-import { DropdownSelector } from "@formbricks/ui/DropdownSelector";
-import { Input } from "@formbricks/ui/Input";
-import { Label } from "@formbricks/ui/Label";
-import { Modal } from "@formbricks/ui/Modal";
+import { AdditionalIntegrationSettings } from "@formbricks/ui/components/AdditionalIntegrationSettings";
+import { Button } from "@formbricks/ui/components/Button";
+import { Checkbox } from "@formbricks/ui/components/Checkbox";
+import { DropdownSelector } from "@formbricks/ui/components/DropdownSelector";
+import { Input } from "@formbricks/ui/components/Input";
+import { Label } from "@formbricks/ui/components/Label";
+import { Modal } from "@formbricks/ui/components/Modal";
interface AddIntegrationModalProps {
environmentId: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/google-sheets/components/GoogleSheetWrapper.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/google-sheets/components/GoogleSheetWrapper.tsx
index 805be49c2b..4e5b8749cc 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/google-sheets/components/GoogleSheetWrapper.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/google-sheets/components/GoogleSheetWrapper.tsx
@@ -11,7 +11,7 @@ import {
TIntegrationGoogleSheetsConfigData,
} from "@formbricks/types/integration/google-sheet";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { ConnectIntegration } from "@formbricks/ui/ConnectIntegration";
+import { ConnectIntegration } from "@formbricks/ui/components/ConnectIntegration";
import { AddIntegrationModal } from "./AddIntegrationModal";
interface GoogleSheetWrapperProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/google-sheets/components/ManageIntegration.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/google-sheets/components/ManageIntegration.tsx
index 2fa6b4ee3a..08e35943bb 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/google-sheets/components/ManageIntegration.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/google-sheets/components/ManageIntegration.tsx
@@ -10,9 +10,9 @@ import {
TIntegrationGoogleSheets,
TIntegrationGoogleSheetsConfigData,
} from "@formbricks/types/integration/google-sheet";
-import { Button } from "@formbricks/ui/Button";
-import { DeleteDialog } from "@formbricks/ui/DeleteDialog";
-import { EmptySpaceFiller } from "@formbricks/ui/EmptySpaceFiller";
+import { Button } from "@formbricks/ui/components/Button";
+import { DeleteDialog } from "@formbricks/ui/components/DeleteDialog";
+import { EmptySpaceFiller } from "@formbricks/ui/components/EmptySpaceFiller";
interface ManageIntegrationProps {
environment: TEnvironment;
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/google-sheets/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/google-sheets/loading.tsx
index 94dda7c68f..713ce87635 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/google-sheets/loading.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/google-sheets/loading.tsx
@@ -1,5 +1,5 @@
-import { Button } from "@formbricks/ui/Button";
-import { GoBackButton } from "@formbricks/ui/GoBackButton";
+import { Button } from "@formbricks/ui/components/Button";
+import { GoBackButton } from "@formbricks/ui/components/GoBackButton";
const Loading = () => {
return (
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/google-sheets/page.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/google-sheets/page.tsx
index 646a32e3ff..3e6d30bf58 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/google-sheets/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/google-sheets/page.tsx
@@ -11,9 +11,9 @@ import { getIntegrations } from "@formbricks/lib/integration/service";
import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
import { getSurveys } from "@formbricks/lib/survey/service";
import { TIntegrationGoogleSheets } from "@formbricks/types/integration/google-sheet";
-import { GoBackButton } from "@formbricks/ui/GoBackButton";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { GoBackButton } from "@formbricks/ui/components/GoBackButton";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const Page = async ({ params }) => {
const isEnabled = !!(GOOGLE_SHEETS_CLIENT_ID && GOOGLE_SHEETS_CLIENT_SECRET && GOOGLE_SHEETS_REDIRECT_URL);
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/notion/components/AddIntegrationModal.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/notion/components/AddIntegrationModal.tsx
index 805d3e6b53..39b4c8d6f7 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/notion/components/AddIntegrationModal.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/notion/components/AddIntegrationModal.tsx
@@ -22,10 +22,10 @@ import {
TIntegrationNotionDatabase,
} from "@formbricks/types/integration/notion";
import { TSurvey, TSurveyQuestionTypeEnum } from "@formbricks/types/surveys/types";
-import { Button } from "@formbricks/ui/Button";
-import { DropdownSelector } from "@formbricks/ui/DropdownSelector";
-import { Label } from "@formbricks/ui/Label";
-import { Modal } from "@formbricks/ui/Modal";
+import { Button } from "@formbricks/ui/components/Button";
+import { DropdownSelector } from "@formbricks/ui/components/DropdownSelector";
+import { Label } from "@formbricks/ui/components/Label";
+import { Modal } from "@formbricks/ui/components/Modal";
interface AddIntegrationModalProps {
environmentId: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/notion/components/ManageIntegration.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/notion/components/ManageIntegration.tsx
index a7f63fcd0f..defa1b5201 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/notion/components/ManageIntegration.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/notion/components/ManageIntegration.tsx
@@ -5,9 +5,9 @@ import toast from "react-hot-toast";
import { timeSince } from "@formbricks/lib/time";
import { TEnvironment } from "@formbricks/types/environment";
import { TIntegrationNotion, TIntegrationNotionConfigData } from "@formbricks/types/integration/notion";
-import { Button } from "@formbricks/ui/Button";
-import { DeleteDialog } from "@formbricks/ui/DeleteDialog";
-import { EmptySpaceFiller } from "@formbricks/ui/EmptySpaceFiller";
+import { Button } from "@formbricks/ui/components/Button";
+import { DeleteDialog } from "@formbricks/ui/components/DeleteDialog";
+import { EmptySpaceFiller } from "@formbricks/ui/components/EmptySpaceFiller";
interface ManageIntegrationProps {
environment: TEnvironment;
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/notion/components/NotionWrapper.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/notion/components/NotionWrapper.tsx
index 45df2a1f00..e064eb575a 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/notion/components/NotionWrapper.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/notion/components/NotionWrapper.tsx
@@ -12,7 +12,7 @@ import {
TIntegrationNotionDatabase,
} from "@formbricks/types/integration/notion";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { ConnectIntegration } from "@formbricks/ui/ConnectIntegration";
+import { ConnectIntegration } from "@formbricks/ui/components/ConnectIntegration";
import { authorize } from "../lib/notion";
interface NotionWrapperProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/notion/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/notion/loading.tsx
index 87103e8bbe..75742d9f4f 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/notion/loading.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/notion/loading.tsx
@@ -1,5 +1,5 @@
-import { Button } from "@formbricks/ui/Button";
-import { GoBackButton } from "@formbricks/ui/GoBackButton";
+import { Button } from "@formbricks/ui/components/Button";
+import { GoBackButton } from "@formbricks/ui/components/GoBackButton";
const Loading = () => {
return (
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/notion/page.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/notion/page.tsx
index 11b9cf6785..6c2af4381a 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/notion/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/notion/page.tsx
@@ -12,9 +12,9 @@ import { getIntegrationByType } from "@formbricks/lib/integration/service";
import { getNotionDatabases } from "@formbricks/lib/notion/service";
import { getSurveys } from "@formbricks/lib/survey/service";
import { TIntegrationNotion, TIntegrationNotionDatabase } from "@formbricks/types/integration/notion";
-import { GoBackButton } from "@formbricks/ui/GoBackButton";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { GoBackButton } from "@formbricks/ui/components/GoBackButton";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const Page = async ({ params }) => {
const enabled = !!(
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/page.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/page.tsx
index 0956761316..54ce319026 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/page.tsx
@@ -18,10 +18,10 @@ import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/ser
import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
import { getWebhookCountBySource } from "@formbricks/lib/webhook/service";
import { TIntegrationType } from "@formbricks/types/integration";
-import { Card } from "@formbricks/ui/Card";
-import { ErrorComponent } from "@formbricks/ui/ErrorComponent";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { Card } from "@formbricks/ui/components/Card";
+import { ErrorComponent } from "@formbricks/ui/components/ErrorComponent";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const Page = async ({ params }) => {
const environmentId = params.environmentId;
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/slack/components/AddChannelMappingModal.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/slack/components/AddChannelMappingModal.tsx
index 3ca1e2f116..99e2de4553 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/slack/components/AddChannelMappingModal.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/slack/components/AddChannelMappingModal.tsx
@@ -14,12 +14,12 @@ import {
TIntegrationSlackInput,
} from "@formbricks/types/integration/slack";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { AdditionalIntegrationSettings } from "@formbricks/ui/AdditionalIntegrationSettings";
-import { Button } from "@formbricks/ui/Button";
-import { Checkbox } from "@formbricks/ui/Checkbox";
-import { DropdownSelector } from "@formbricks/ui/DropdownSelector";
-import { Label } from "@formbricks/ui/Label";
-import { Modal } from "@formbricks/ui/Modal";
+import { AdditionalIntegrationSettings } from "@formbricks/ui/components/AdditionalIntegrationSettings";
+import { Button } from "@formbricks/ui/components/Button";
+import { Checkbox } from "@formbricks/ui/components/Checkbox";
+import { DropdownSelector } from "@formbricks/ui/components/DropdownSelector";
+import { Label } from "@formbricks/ui/components/Label";
+import { Modal } from "@formbricks/ui/components/Modal";
interface AddChannelMappingModalProps {
environmentId: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/slack/components/ManageIntegration.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/slack/components/ManageIntegration.tsx
index c5399698c4..b03f81790f 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/slack/components/ManageIntegration.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/slack/components/ManageIntegration.tsx
@@ -7,9 +7,9 @@ import toast from "react-hot-toast";
import { timeSince } from "@formbricks/lib/time";
import { TEnvironment } from "@formbricks/types/environment";
import { TIntegrationSlack, TIntegrationSlackConfigData } from "@formbricks/types/integration/slack";
-import { Button } from "@formbricks/ui/Button";
-import { DeleteDialog } from "@formbricks/ui/DeleteDialog";
-import { EmptySpaceFiller } from "@formbricks/ui/EmptySpaceFiller";
+import { Button } from "@formbricks/ui/components/Button";
+import { DeleteDialog } from "@formbricks/ui/components/DeleteDialog";
+import { EmptySpaceFiller } from "@formbricks/ui/components/EmptySpaceFiller";
interface ManageIntegrationProps {
environment: TEnvironment;
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/slack/components/SlackWrapper.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/slack/components/SlackWrapper.tsx
index edecbf6991..bb510ffadc 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/slack/components/SlackWrapper.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/slack/components/SlackWrapper.tsx
@@ -11,7 +11,7 @@ import { TEnvironment } from "@formbricks/types/environment";
import { TIntegrationItem } from "@formbricks/types/integration";
import { TIntegrationSlack, TIntegrationSlackConfigData } from "@formbricks/types/integration/slack";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { ConnectIntegration } from "@formbricks/ui/ConnectIntegration";
+import { ConnectIntegration } from "@formbricks/ui/components/ConnectIntegration";
interface SlackWrapperProps {
isEnabled: boolean;
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/slack/page.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/slack/page.tsx
index f786abb223..5ae7f017f0 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/slack/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/slack/page.tsx
@@ -7,9 +7,9 @@ import { getSlackChannels } from "@formbricks/lib/slack/service";
import { getSurveys } from "@formbricks/lib/survey/service";
import { TIntegrationItem } from "@formbricks/types/integration";
import { TIntegrationSlack } from "@formbricks/types/integration/slack";
-import { GoBackButton } from "@formbricks/ui/GoBackButton";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { GoBackButton } from "@formbricks/ui/components/GoBackButton";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const Page = async ({ params }) => {
const isEnabled = !!(SLACK_CLIENT_ID && SLACK_CLIENT_SECRET);
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/AddWebhookButton.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/AddWebhookButton.tsx
index b6dcfe2450..dcec7ef6f6 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/AddWebhookButton.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/AddWebhookButton.tsx
@@ -4,7 +4,7 @@ import { Webhook } from "lucide-react";
import { useState } from "react";
import { TEnvironment } from "@formbricks/types/environment";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
import { AddWebhookModal } from "./AddWebhookModal";
interface AddWebhookButtonProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/AddWebhookModal.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/AddWebhookModal.tsx
index 60829cf775..c68fc18560 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/AddWebhookModal.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/AddWebhookModal.tsx
@@ -10,10 +10,10 @@ import toast from "react-hot-toast";
import { TPipelineTrigger } from "@formbricks/types/pipelines";
import { TSurvey } from "@formbricks/types/surveys/types";
import { TWebhookInput } from "@formbricks/types/webhooks";
-import { Button } from "@formbricks/ui/Button";
-import { Input } from "@formbricks/ui/Input";
-import { Label } from "@formbricks/ui/Label";
-import { Modal } from "@formbricks/ui/Modal";
+import { Button } from "@formbricks/ui/components/Button";
+import { Input } from "@formbricks/ui/components/Input";
+import { Label } from "@formbricks/ui/components/Label";
+import { Modal } from "@formbricks/ui/components/Modal";
import { createWebhookAction, testEndpointAction } from "../actions";
interface AddWebhookModalProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/SurveyCheckboxGroup.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/SurveyCheckboxGroup.tsx
index 214548c69c..b24ded0b14 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/SurveyCheckboxGroup.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/SurveyCheckboxGroup.tsx
@@ -1,6 +1,6 @@
import React from "react";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { Checkbox } from "@formbricks/ui/Checkbox";
+import { Checkbox } from "@formbricks/ui/components/Checkbox";
interface SurveyCheckboxGroupProps {
surveys: TSurvey[];
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/TriggerCheckboxGroup.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/TriggerCheckboxGroup.tsx
index 32ac75790f..bb6ff887a5 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/TriggerCheckboxGroup.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/TriggerCheckboxGroup.tsx
@@ -1,6 +1,6 @@
import React from "react";
import { TPipelineTrigger } from "@formbricks/types/pipelines";
-import { Checkbox } from "@formbricks/ui/Checkbox";
+import { Checkbox } from "@formbricks/ui/components/Checkbox";
interface TriggerCheckboxGroupProps {
triggers: { title: string; value: TPipelineTrigger }[];
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookDetailModal.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookDetailModal.tsx
index 091b496999..311e0b8f62 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookDetailModal.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookDetailModal.tsx
@@ -3,7 +3,7 @@ import { WebhookSettingsTab } from "@/app/(app)/environments/[environmentId]/int
import { Webhook } from "lucide-react";
import { TSurvey } from "@formbricks/types/surveys/types";
import { TWebhook } from "@formbricks/types/webhooks";
-import { ModalWithTabs } from "@formbricks/ui/ModalWithTabs";
+import { ModalWithTabs } from "@formbricks/ui/components/ModalWithTabs";
interface WebhookModalProps {
open: boolean;
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookOverviewTab.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookOverviewTab.tsx
index 889db313d3..ad7556717a 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookOverviewTab.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookOverviewTab.tsx
@@ -2,7 +2,7 @@ import { convertDateTimeStringShort } from "@formbricks/lib/time";
import { capitalizeFirstLetter } from "@formbricks/lib/utils/strings";
import { TSurvey } from "@formbricks/types/surveys/types";
import { TWebhook } from "@formbricks/types/webhooks";
-import { Label } from "@formbricks/ui/Label";
+import { Label } from "@formbricks/ui/components/Label";
interface ActivityTabProps {
webhook: TWebhook;
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookRowData.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookRowData.tsx
index aff884693e..8b79081a76 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookRowData.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookRowData.tsx
@@ -2,7 +2,7 @@ import { timeSinceConditionally } from "@formbricks/lib/time";
import { capitalizeFirstLetter } from "@formbricks/lib/utils/strings";
import { TSurvey } from "@formbricks/types/surveys/types";
import { TWebhook } from "@formbricks/types/webhooks";
-import { Badge } from "@formbricks/ui/Badge";
+import { Badge } from "@formbricks/ui/components/Badge";
const renderSelectedSurveysText = (webhook: TWebhook, allSurveys: TSurvey[]) => {
if (webhook.surveyIds.length === 0) {
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookSettingsTab.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookSettingsTab.tsx
index 1b07764205..d0bd643907 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookSettingsTab.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookSettingsTab.tsx
@@ -12,10 +12,10 @@ import { toast } from "react-hot-toast";
import { TPipelineTrigger } from "@formbricks/types/pipelines";
import { TSurvey } from "@formbricks/types/surveys/types";
import { TWebhook, TWebhookInput } from "@formbricks/types/webhooks";
-import { Button } from "@formbricks/ui/Button";
-import { DeleteDialog } from "@formbricks/ui/DeleteDialog";
-import { Input } from "@formbricks/ui/Input";
-import { Label } from "@formbricks/ui/Label";
+import { Button } from "@formbricks/ui/components/Button";
+import { DeleteDialog } from "@formbricks/ui/components/DeleteDialog";
+import { Input } from "@formbricks/ui/components/Input";
+import { Label } from "@formbricks/ui/components/Label";
import { deleteWebhookAction, testEndpointAction, updateWebhookAction } from "../actions";
interface ActionSettingsTabProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookTable.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookTable.tsx
index 41b0c50edd..52b4e06833 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookTable.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookTable.tsx
@@ -5,7 +5,7 @@ import { useState } from "react";
import { TEnvironment } from "@formbricks/types/environment";
import { TSurvey } from "@formbricks/types/surveys/types";
import { TWebhook } from "@formbricks/types/webhooks";
-import { EmptySpaceFiller } from "@formbricks/ui/EmptySpaceFiller";
+import { EmptySpaceFiller } from "@formbricks/ui/components/EmptySpaceFiller";
interface WebhookTableProps {
environment: TEnvironment;
diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/page.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/page.tsx
index 08340bfc0c..f843ccec42 100644
--- a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/page.tsx
@@ -5,9 +5,9 @@ import { WebhookTableHeading } from "@/app/(app)/environments/[environmentId]/in
import { getEnvironment } from "@formbricks/lib/environment/service";
import { getSurveys } from "@formbricks/lib/survey/service";
import { getWebhooks } from "@formbricks/lib/webhook/service";
-import { GoBackButton } from "@formbricks/ui/GoBackButton";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { GoBackButton } from "@formbricks/ui/components/GoBackButton";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const Page = async ({ params }) => {
const [webhooksUnsorted, surveys, environment] = await Promise.all([
diff --git a/apps/web/app/(app)/environments/[environmentId]/layout.tsx b/apps/web/app/(app)/environments/[environmentId]/layout.tsx
index 0bdf941793..31085552f5 100644
--- a/apps/web/app/(app)/environments/[environmentId]/layout.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/layout.tsx
@@ -9,7 +9,7 @@ import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/ser
import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
import { getUser } from "@formbricks/lib/user/service";
import { AuthorizationError } from "@formbricks/types/errors";
-import { ToasterClient } from "@formbricks/ui/ToasterClient";
+import { ToasterClient } from "@formbricks/ui/components/ToasterClient";
import { FormbricksClient } from "../../components/FormbricksClient";
import { PosthogIdentify } from "./components/PosthogIdentify";
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/(setup)/app-connection/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/product/(setup)/app-connection/loading.tsx
index a2bfef5a1f..de2d94d1fc 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/(setup)/app-connection/loading.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/(setup)/app-connection/loading.tsx
@@ -3,8 +3,8 @@
import { BrushIcon, KeyIcon, LanguagesIcon, ListChecksIcon, TagIcon, UsersIcon } from "lucide-react";
import { usePathname } from "next/navigation";
import { cn } from "@formbricks/lib/cn";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const LoadingCard = ({ title, description, skeletonLines }) => {
return (
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/(setup)/app-connection/page.tsx b/apps/web/app/(app)/environments/[environmentId]/product/(setup)/app-connection/page.tsx
index 71d58f8c04..49a80c1877 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/(setup)/app-connection/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/(setup)/app-connection/page.tsx
@@ -8,9 +8,9 @@ import { WEBAPP_URL } from "@formbricks/lib/constants";
import { getEnvironment } from "@formbricks/lib/environment/service";
import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service";
import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
-import { EnvironmentNotice } from "@formbricks/ui/EnvironmentNotice";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { EnvironmentNotice } from "@formbricks/ui/components/EnvironmentNotice";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
import { SettingsCard } from "../../../settings/components/SettingsCard";
const Page = async ({ params }) => {
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/(setup)/components/EnvironmentIdField.tsx b/apps/web/app/(app)/environments/[environmentId]/product/(setup)/components/EnvironmentIdField.tsx
index 7a709a1859..c327f351b9 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/(setup)/components/EnvironmentIdField.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/(setup)/components/EnvironmentIdField.tsx
@@ -1,6 +1,6 @@
"use client";
-import { CodeBlock } from "@formbricks/ui/CodeBlock";
+import { CodeBlock } from "@formbricks/ui/components/CodeBlock";
export const EnvironmentIdField = ({ environmentId }: { environmentId: string }) => {
return (
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/(setup)/components/SetupInstructions.tsx b/apps/web/app/(app)/environments/[environmentId]/product/(setup)/components/SetupInstructions.tsx
index 3a91fe3bdf..5236c4dd4a 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/(setup)/components/SetupInstructions.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/(setup)/components/SetupInstructions.tsx
@@ -3,9 +3,9 @@
import Link from "next/link";
import "prismjs/themes/prism.css";
import { useState } from "react";
-import { CodeBlock } from "@formbricks/ui/CodeBlock";
-import { TabBar } from "@formbricks/ui/TabBar";
-import { Html5Icon, NpmIcon } from "@formbricks/ui/icons";
+import { CodeBlock } from "@formbricks/ui/components/CodeBlock";
+import { TabBar } from "@formbricks/ui/components/TabBar";
+import { Html5Icon, NpmIcon } from "@formbricks/ui/components/icons";
const tabs = [
{
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/(setup)/website-connection/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/product/(setup)/website-connection/loading.tsx
index 7b86c2fed9..483a99195b 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/(setup)/website-connection/loading.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/(setup)/website-connection/loading.tsx
@@ -3,8 +3,8 @@
import { BrushIcon, KeyIcon, LanguagesIcon, ListChecksIcon, TagIcon, UsersIcon } from "lucide-react";
import { usePathname } from "next/navigation";
import { cn } from "@formbricks/lib/cn";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const LoadingCard = ({ title, description, skeletonLines }) => {
return (
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/(setup)/website-connection/page.tsx b/apps/web/app/(app)/environments/[environmentId]/product/(setup)/website-connection/page.tsx
index acd3e25b7a..88bb6dde4c 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/(setup)/website-connection/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/(setup)/website-connection/page.tsx
@@ -8,9 +8,9 @@ import { WEBAPP_URL } from "@formbricks/lib/constants";
import { getEnvironment } from "@formbricks/lib/environment/service";
import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service";
import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
-import { EnvironmentNotice } from "@formbricks/ui/EnvironmentNotice";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { EnvironmentNotice } from "@formbricks/ui/components/EnvironmentNotice";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
import { SettingsCard } from "../../../settings/components/SettingsCard";
const Page = async ({ params }) => {
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/api-keys/components/AddApiKeyModal.tsx b/apps/web/app/(app)/environments/[environmentId]/product/api-keys/components/AddApiKeyModal.tsx
index 886bd21222..97e5239af7 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/api-keys/components/AddApiKeyModal.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/api-keys/components/AddApiKeyModal.tsx
@@ -2,10 +2,10 @@
import { AlertTriangleIcon } from "lucide-react";
import { useForm } from "react-hook-form";
-import { Button } from "@formbricks/ui/Button";
-import { Input } from "@formbricks/ui/Input";
-import { Label } from "@formbricks/ui/Label";
-import { Modal } from "@formbricks/ui/Modal";
+import { Button } from "@formbricks/ui/components/Button";
+import { Input } from "@formbricks/ui/components/Input";
+import { Label } from "@formbricks/ui/components/Label";
+import { Modal } from "@formbricks/ui/components/Modal";
interface MemberModalProps {
open: boolean;
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/api-keys/components/EditApiKeys.tsx b/apps/web/app/(app)/environments/[environmentId]/product/api-keys/components/EditApiKeys.tsx
index 80633392b0..4571da2151 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/api-keys/components/EditApiKeys.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/api-keys/components/EditApiKeys.tsx
@@ -7,8 +7,8 @@ import { getFormattedErrorMessage } from "@formbricks/lib/actionClient/helper";
import { timeSince } from "@formbricks/lib/time";
import { capitalizeFirstLetter } from "@formbricks/lib/utils/strings";
import { TApiKey } from "@formbricks/types/api-keys";
-import { Button } from "@formbricks/ui/Button";
-import { DeleteDialog } from "@formbricks/ui/DeleteDialog";
+import { Button } from "@formbricks/ui/components/Button";
+import { DeleteDialog } from "@formbricks/ui/components/DeleteDialog";
import { createApiKeyAction, deleteApiKeyAction } from "../actions";
import { AddApiKeyModal } from "./AddApiKeyModal";
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/api-keys/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/product/api-keys/loading.tsx
index bb6839be8a..9f0799194b 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/api-keys/loading.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/api-keys/loading.tsx
@@ -3,8 +3,8 @@
import { BrushIcon, KeyIcon, LanguagesIcon, ListChecksIcon, TagIcon, UsersIcon } from "lucide-react";
import { usePathname } from "next/navigation";
import { cn } from "@formbricks/lib/cn";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const LoadingCard = () => {
return (
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/api-keys/page.tsx b/apps/web/app/(app)/environments/[environmentId]/product/api-keys/page.tsx
index 018a75e25e..7b9e9a4b46 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/api-keys/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/api-keys/page.tsx
@@ -7,10 +7,10 @@ import { getMembershipByUserIdOrganizationId } from "@formbricks/lib/membership/
import { getAccessFlags } from "@formbricks/lib/membership/utils";
import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service";
import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
-import { EnvironmentNotice } from "@formbricks/ui/EnvironmentNotice";
-import { ErrorComponent } from "@formbricks/ui/ErrorComponent";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { EnvironmentNotice } from "@formbricks/ui/components/EnvironmentNotice";
+import { ErrorComponent } from "@formbricks/ui/components/ErrorComponent";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
import { SettingsCard } from "../../settings/components/SettingsCard";
import { ApiKeyList } from "./components/ApiKeyList";
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/components/ProductConfigNavigation.tsx b/apps/web/app/(app)/environments/[environmentId]/product/components/ProductConfigNavigation.tsx
index e865543bca..f7db7fce50 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/components/ProductConfigNavigation.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/components/ProductConfigNavigation.tsx
@@ -3,7 +3,7 @@
import { BrushIcon, KeyIcon, LanguagesIcon, ListChecksIcon, TagIcon, UsersIcon } from "lucide-react";
import { usePathname } from "next/navigation";
import { TProductConfigChannel } from "@formbricks/types/product";
-import { SecondaryNavigation } from "@formbricks/ui/SecondaryNavigation";
+import { SecondaryNavigation } from "@formbricks/ui/components/SecondaryNavigation";
interface ProductConfigNavigationProps {
environmentId: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/general/components/DeleteProductRender.tsx b/apps/web/app/(app)/environments/[environmentId]/product/general/components/DeleteProductRender.tsx
index b15a8547c9..94967d49b3 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/general/components/DeleteProductRender.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/general/components/DeleteProductRender.tsx
@@ -7,8 +7,8 @@ import toast from "react-hot-toast";
import { getFormattedErrorMessage } from "@formbricks/lib/actionClient/helper";
import { truncate } from "@formbricks/lib/utils/strings";
import { TProduct } from "@formbricks/types/product";
-import { Button } from "@formbricks/ui/Button";
-import { DeleteDialog } from "@formbricks/ui/DeleteDialog";
+import { Button } from "@formbricks/ui/components/Button";
+import { DeleteDialog } from "@formbricks/ui/components/DeleteDialog";
type DeleteProductRenderProps = {
isDeleteDisabled: boolean;
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/general/components/EditProductNameForm.tsx b/apps/web/app/(app)/environments/[environmentId]/product/general/components/EditProductNameForm.tsx
index 418f2c5128..3fff2312a1 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/general/components/EditProductNameForm.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/general/components/EditProductNameForm.tsx
@@ -6,9 +6,16 @@ import toast from "react-hot-toast";
import { z } from "zod";
import { getFormattedErrorMessage } from "@formbricks/lib/actionClient/helper";
import { TProduct, ZProduct } from "@formbricks/types/product";
-import { Button } from "@formbricks/ui/Button";
-import { FormControl, FormError, FormField, FormItem, FormLabel, FormProvider } from "@formbricks/ui/Form";
-import { Input } from "@formbricks/ui/Input";
+import { Button } from "@formbricks/ui/components/Button";
+import {
+ FormControl,
+ FormError,
+ FormField,
+ FormItem,
+ FormLabel,
+ FormProvider,
+} from "@formbricks/ui/components/Form";
+import { Input } from "@formbricks/ui/components/Input";
import { updateProductAction } from "../../actions";
type EditProductNameProps = {
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/general/components/EditWaitingTimeForm.tsx b/apps/web/app/(app)/environments/[environmentId]/product/general/components/EditWaitingTimeForm.tsx
index 9da8fc6697..e14fa15845 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/general/components/EditWaitingTimeForm.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/general/components/EditWaitingTimeForm.tsx
@@ -6,9 +6,16 @@ import toast from "react-hot-toast";
import { z } from "zod";
import { getFormattedErrorMessage } from "@formbricks/lib/actionClient/helper";
import { TProduct, ZProduct } from "@formbricks/types/product";
-import { Button } from "@formbricks/ui/Button";
-import { FormControl, FormError, FormField, FormItem, FormLabel, FormProvider } from "@formbricks/ui/Form";
-import { Input } from "@formbricks/ui/Input";
+import { Button } from "@formbricks/ui/components/Button";
+import {
+ FormControl,
+ FormError,
+ FormField,
+ FormItem,
+ FormLabel,
+ FormProvider,
+} from "@formbricks/ui/components/Form";
+import { Input } from "@formbricks/ui/components/Input";
import { updateProductAction } from "../../actions";
type EditWaitingTimeProps = {
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/general/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/product/general/loading.tsx
index 9f8b0a335f..003e74e32d 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/general/loading.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/general/loading.tsx
@@ -3,8 +3,8 @@
import { BrushIcon, KeyIcon, LanguagesIcon, ListChecksIcon, TagIcon, UsersIcon } from "lucide-react";
import { usePathname } from "next/navigation";
import { cn } from "@formbricks/lib/cn";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const LoadingCard = ({ title, description, skeletonLines }) => {
return (
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/general/page.tsx b/apps/web/app/(app)/environments/[environmentId]/product/general/page.tsx
index e2a222dbec..df9d795112 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/general/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/general/page.tsx
@@ -8,10 +8,10 @@ import { getMembershipByUserIdOrganizationId } from "@formbricks/lib/membership/
import { getAccessFlags } from "@formbricks/lib/membership/utils";
import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service";
import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
-import { ErrorComponent } from "@formbricks/ui/ErrorComponent";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
-import { SettingsId } from "@formbricks/ui/SettingsId";
+import { ErrorComponent } from "@formbricks/ui/components/ErrorComponent";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
+import { SettingsId } from "@formbricks/ui/components/SettingsId";
import { SettingsCard } from "../../settings/components/SettingsCard";
import { DeleteProduct } from "./components/DeleteProduct";
import { EditProductNameForm } from "./components/EditProductNameForm";
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/languages/page.tsx b/apps/web/app/(app)/environments/[environmentId]/product/languages/page.tsx
index 3bc9a89d60..31302270c8 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/languages/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/languages/page.tsx
@@ -5,8 +5,8 @@ import { getMultiLanguagePermission } from "@formbricks/ee/lib/service";
import { EditLanguage } from "@formbricks/ee/multi-language/components/edit-language";
import { getOrganization } from "@formbricks/lib/organization/service";
import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const Page = async ({ params }: { params: { environmentId: string } }) => {
const product = await getProductByEnvironmentId(params.environmentId);
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/look/components/EditBranding.tsx b/apps/web/app/(app)/environments/[environmentId]/product/look/components/EditBranding.tsx
index ed9ca74f87..66ce8e1a5c 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/look/components/EditBranding.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/look/components/EditBranding.tsx
@@ -3,9 +3,9 @@
import { useState } from "react";
import toast from "react-hot-toast";
import { TProduct, TProductUpdateInput } from "@formbricks/types/product";
-import { Label } from "@formbricks/ui/Label";
-import { Switch } from "@formbricks/ui/Switch";
-import { UpgradePlanNotice } from "@formbricks/ui/UpgradePlanNotice";
+import { Label } from "@formbricks/ui/components/Label";
+import { Switch } from "@formbricks/ui/components/Switch";
+import { UpgradePlanNotice } from "@formbricks/ui/components/UpgradePlanNotice";
import { updateProductAction } from "../../actions";
interface EditFormbricksBrandingProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/look/components/EditLogo.tsx b/apps/web/app/(app)/environments/[environmentId]/product/look/components/EditLogo.tsx
index fff352dc43..288798b38c 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/look/components/EditLogo.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/look/components/EditLogo.tsx
@@ -5,12 +5,12 @@ import Image from "next/image";
import { ChangeEvent, useRef, useState } from "react";
import toast from "react-hot-toast";
import { TProduct, TProductUpdateInput } from "@formbricks/types/product";
-import { AdvancedOptionToggle } from "@formbricks/ui/AdvancedOptionToggle";
-import { Button } from "@formbricks/ui/Button";
-import { ColorPicker } from "@formbricks/ui/ColorPicker";
-import { DeleteDialog } from "@formbricks/ui/DeleteDialog";
-import { FileInput } from "@formbricks/ui/FileInput";
-import { Input } from "@formbricks/ui/Input";
+import { AdvancedOptionToggle } from "@formbricks/ui/components/AdvancedOptionToggle";
+import { Button } from "@formbricks/ui/components/Button";
+import { ColorPicker } from "@formbricks/ui/components/ColorPicker";
+import { DeleteDialog } from "@formbricks/ui/components/DeleteDialog";
+import { FileInput } from "@formbricks/ui/components/FileInput";
+import { Input } from "@formbricks/ui/components/Input";
import { updateProductAction } from "../../actions";
interface EditLogoProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/look/components/EditPlacementForm.tsx b/apps/web/app/(app)/environments/[environmentId]/product/look/components/EditPlacementForm.tsx
index 365abe8ef4..9d2e679dbf 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/look/components/EditPlacementForm.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/look/components/EditPlacementForm.tsx
@@ -6,11 +6,11 @@ import toast from "react-hot-toast";
import { z } from "zod";
import { cn } from "@formbricks/lib/cn";
import { TProduct } from "@formbricks/types/product";
-import { Button } from "@formbricks/ui/Button";
-import { FormControl, FormField, FormItem, FormLabel, FormProvider } from "@formbricks/ui/Form";
-import { Label } from "@formbricks/ui/Label";
-import { getPlacementStyle } from "@formbricks/ui/PreviewSurvey/lib/utils";
-import { RadioGroup, RadioGroupItem } from "@formbricks/ui/RadioGroup";
+import { Button } from "@formbricks/ui/components/Button";
+import { FormControl, FormField, FormItem, FormLabel, FormProvider } from "@formbricks/ui/components/Form";
+import { Label } from "@formbricks/ui/components/Label";
+import { getPlacementStyle } from "@formbricks/ui/components/PreviewSurvey/lib/utils";
+import { RadioGroup, RadioGroupItem } from "@formbricks/ui/components/RadioGroup";
import { updateProductAction } from "../../actions";
const placements = [
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/look/components/ThemeStyling.tsx b/apps/web/app/(app)/environments/[environmentId]/product/look/components/ThemeStyling.tsx
index 7776e50703..42ef25b921 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/look/components/ThemeStyling.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/look/components/ThemeStyling.tsx
@@ -14,8 +14,8 @@ import { getFormattedErrorMessage } from "@formbricks/lib/actionClient/helper";
import { COLOR_DEFAULTS, PREVIEW_SURVEY } from "@formbricks/lib/styling/constants";
import { TProduct, TProductStyling, ZProductStyling } from "@formbricks/types/product";
import { TSurvey, TSurveyStyling, TSurveyType } from "@formbricks/types/surveys/types";
-import { AlertDialog } from "@formbricks/ui/AlertDialog";
-import { Button } from "@formbricks/ui/Button";
+import { AlertDialog } from "@formbricks/ui/components/AlertDialog";
+import { Button } from "@formbricks/ui/components/Button";
import {
FormControl,
FormDescription,
@@ -23,8 +23,8 @@ import {
FormItem,
FormLabel,
FormProvider,
-} from "@formbricks/ui/Form";
-import { Switch } from "@formbricks/ui/Switch";
+} from "@formbricks/ui/components/Form";
+import { Switch } from "@formbricks/ui/components/Switch";
import { updateProductAction } from "../../actions";
type ThemeStylingProps = {
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/look/components/ThemeStylingPreviewSurvey.tsx b/apps/web/app/(app)/environments/[environmentId]/product/look/components/ThemeStylingPreviewSurvey.tsx
index 7d525f502d..13489318fe 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/look/components/ThemeStylingPreviewSurvey.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/look/components/ThemeStylingPreviewSurvey.tsx
@@ -4,11 +4,11 @@ import { Variants, motion } from "framer-motion";
import { useRef, useState } from "react";
import type { TProduct } from "@formbricks/types/product";
import { TSurvey, TSurveyType } from "@formbricks/types/surveys/types";
-import { ClientLogo } from "@formbricks/ui/ClientLogo";
-import { MediaBackground } from "@formbricks/ui/MediaBackground";
-import { Modal } from "@formbricks/ui/PreviewSurvey/components/Modal";
-import { ResetProgressButton } from "@formbricks/ui/ResetProgressButton";
-import { SurveyInline } from "@formbricks/ui/Survey";
+import { ClientLogo } from "@formbricks/ui/components/ClientLogo";
+import { MediaBackground } from "@formbricks/ui/components/MediaBackground";
+import { Modal } from "@formbricks/ui/components/PreviewSurvey/components/Modal";
+import { ResetProgressButton } from "@formbricks/ui/components/ResetProgressButton";
+import { SurveyInline } from "@formbricks/ui/components/Survey";
interface ThemeStylingPreviewSurveyProps {
survey: TSurvey;
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/look/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/product/look/loading.tsx
index 7624aee4a6..7a65221abf 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/look/loading.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/look/loading.tsx
@@ -4,13 +4,13 @@ import { SettingsCard } from "@/app/(app)/environments/[environmentId]/settings/
import { BrushIcon, KeyIcon, LanguagesIcon, ListChecksIcon, TagIcon, UsersIcon } from "lucide-react";
import { usePathname } from "next/navigation";
import { cn } from "@formbricks/lib/cn";
-import { Badge } from "@formbricks/ui/Badge";
-import { Button } from "@formbricks/ui/Button";
-import { Label } from "@formbricks/ui/Label";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
-import { RadioGroup, RadioGroupItem } from "@formbricks/ui/RadioGroup";
-import { Switch } from "@formbricks/ui/Switch";
+import { Badge } from "@formbricks/ui/components/Badge";
+import { Button } from "@formbricks/ui/components/Button";
+import { Label } from "@formbricks/ui/components/Label";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
+import { RadioGroup, RadioGroupItem } from "@formbricks/ui/components/RadioGroup";
+import { Switch } from "@formbricks/ui/components/Switch";
const placements = [
{ name: "Bottom Right", value: "bottomRight", disabled: false },
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/look/page.tsx b/apps/web/app/(app)/environments/[environmentId]/product/look/page.tsx
index c51bac8c52..63ac211b55 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/look/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/look/page.tsx
@@ -12,9 +12,9 @@ import { getMembershipByUserIdOrganizationId } from "@formbricks/lib/membership/
import { getAccessFlags } from "@formbricks/lib/membership/utils";
import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service";
import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
-import { ErrorComponent } from "@formbricks/ui/ErrorComponent";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { ErrorComponent } from "@formbricks/ui/components/ErrorComponent";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
import { SettingsCard } from "../../settings/components/SettingsCard";
import { EditFormbricksBranding } from "./components/EditBranding";
import { EditPlacementForm } from "./components/EditPlacementForm";
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/tags/components/EditTagsWrapper.tsx b/apps/web/app/(app)/environments/[environmentId]/product/tags/components/EditTagsWrapper.tsx
index c47506dbfd..9846c5bf8f 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/tags/components/EditTagsWrapper.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/tags/components/EditTagsWrapper.tsx
@@ -14,11 +14,11 @@ import { getFormattedErrorMessage } from "@formbricks/lib/actionClient/helper";
import { cn } from "@formbricks/lib/cn";
import { TEnvironment } from "@formbricks/types/environment";
import { TTag, TTagsCount } from "@formbricks/types/tags";
-import { Button } from "@formbricks/ui/Button";
-import { DeleteDialog } from "@formbricks/ui/DeleteDialog";
-import { EmptySpaceFiller } from "@formbricks/ui/EmptySpaceFiller";
-import { Input } from "@formbricks/ui/Input";
-import { LoadingSpinner } from "@formbricks/ui/LoadingSpinner";
+import { Button } from "@formbricks/ui/components/Button";
+import { DeleteDialog } from "@formbricks/ui/components/DeleteDialog";
+import { EmptySpaceFiller } from "@formbricks/ui/components/EmptySpaceFiller";
+import { Input } from "@formbricks/ui/components/Input";
+import { LoadingSpinner } from "@formbricks/ui/components/LoadingSpinner";
interface EditTagsWrapperProps {
environment: TEnvironment;
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/tags/components/MergeTagsCombobox.tsx b/apps/web/app/(app)/environments/[environmentId]/product/tags/components/MergeTagsCombobox.tsx
index c1db30cde4..bb66d19bc2 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/tags/components/MergeTagsCombobox.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/tags/components/MergeTagsCombobox.tsx
@@ -1,5 +1,5 @@
import { useState } from "react";
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
import {
Command,
CommandEmpty,
@@ -7,8 +7,8 @@ import {
CommandInput,
CommandItem,
CommandList,
-} from "@formbricks/ui/Command";
-import { Popover, PopoverContent, PopoverTrigger } from "@formbricks/ui/Popover";
+} from "@formbricks/ui/components/Command";
+import { Popover, PopoverContent, PopoverTrigger } from "@formbricks/ui/components/Popover";
interface IMergeTagsComboboxProps {
tags: Tag[];
diff --git a/apps/web/app/(app)/environments/[environmentId]/product/tags/page.tsx b/apps/web/app/(app)/environments/[environmentId]/product/tags/page.tsx
index 30b4ec1e7e..d2955096ae 100644
--- a/apps/web/app/(app)/environments/[environmentId]/product/tags/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/product/tags/page.tsx
@@ -10,9 +10,9 @@ import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/ser
import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
import { getTagsByEnvironmentId } from "@formbricks/lib/tag/service";
import { getTagsOnResponsesCount } from "@formbricks/lib/tagOnResponse/service";
-import { ErrorComponent } from "@formbricks/ui/ErrorComponent";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { ErrorComponent } from "@formbricks/ui/components/ErrorComponent";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
import { EditTagsWrapper } from "./components/EditTagsWrapper";
const Page = async ({ params }) => {
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/components/AccountSettingsNavbar.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/components/AccountSettingsNavbar.tsx
index 8adeb253b0..179a7b21b1 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/components/AccountSettingsNavbar.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/components/AccountSettingsNavbar.tsx
@@ -2,7 +2,7 @@
import { BellRingIcon, UserCircleIcon } from "lucide-react";
import { usePathname } from "next/navigation";
-import { SecondaryNavigation } from "@formbricks/ui/SecondaryNavigation";
+import { SecondaryNavigation } from "@formbricks/ui/components/SecondaryNavigation";
export const AccountSettingsNavbar = ({
environmentId,
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/notifications/components/EditAlerts.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/notifications/components/EditAlerts.tsx
index 977e26a411..37f155e8fd 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/notifications/components/EditAlerts.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/notifications/components/EditAlerts.tsx
@@ -1,7 +1,7 @@
import { HelpCircleIcon, UsersIcon } from "lucide-react";
import Link from "next/link";
import { TUser } from "@formbricks/types/user";
-import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/Tooltip";
+import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/components/Tooltip";
import { Membership } from "../types";
import { NotificationSwitch } from "./NotificationSwitch";
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/notifications/components/IntegrationsTip.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/notifications/components/IntegrationsTip.tsx
index 8d2e73b576..c0ed769754 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/notifications/components/IntegrationsTip.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/notifications/components/IntegrationsTip.tsx
@@ -1,4 +1,4 @@
-import { SlackIcon } from "@formbricks/ui/icons";
+import { SlackIcon } from "@formbricks/ui/components/icons";
interface IntegrationsTipProps {
environmentId: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/notifications/components/NotificationSwitch.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/notifications/components/NotificationSwitch.tsx
index 62d61b004b..33c44bcb4b 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/notifications/components/NotificationSwitch.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/notifications/components/NotificationSwitch.tsx
@@ -3,7 +3,7 @@
import { useEffect, useState } from "react";
import toast from "react-hot-toast";
import { TUserNotificationSettings } from "@formbricks/types/user";
-import { Switch } from "@formbricks/ui/Switch";
+import { Switch } from "@formbricks/ui/components/Switch";
import { updateNotificationSettingsAction } from "../actions";
interface NotificationSwitchProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/notifications/page.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/notifications/page.tsx
index 369e338382..230e91ddf5 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/notifications/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/notifications/page.tsx
@@ -5,8 +5,8 @@ import { prisma } from "@formbricks/database";
import { authOptions } from "@formbricks/lib/authOptions";
import { getUser } from "@formbricks/lib/user/service";
import { TUserNotificationSettings } from "@formbricks/types/user";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
import { EditAlerts } from "./components/EditAlerts";
import { EditWeeklySummary } from "./components/EditWeeklySummary";
import { IntegrationsTip } from "./components/IntegrationsTip";
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/AccountSecurity.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/AccountSecurity.tsx
index a89e54f337..e6b112cd17 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/AccountSecurity.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/AccountSecurity.tsx
@@ -4,7 +4,7 @@ import { DisableTwoFactorModal } from "@/app/(app)/environments/[environmentId]/
import { EnableTwoFactorModal } from "@/app/(app)/environments/[environmentId]/settings/(account)/profile/components/EnableTwoFactorModal";
import { useState } from "react";
import { TUser } from "@formbricks/types/user";
-import { Switch } from "@formbricks/ui/Switch";
+import { Switch } from "@formbricks/ui/components/Switch";
export const AccountSecurity = ({ user }: { user: TUser }) => {
const [twoFactorModalOpen, setTwoFactorModalOpen] = useState(false);
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/DeleteAccount.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/DeleteAccount.tsx
index 9b2e544d6a..4118f3ff36 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/DeleteAccount.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/DeleteAccount.tsx
@@ -4,8 +4,8 @@ import { formbricksLogout } from "@/app/lib/formbricks";
import type { Session } from "next-auth";
import { useState } from "react";
import { TUser } from "@formbricks/types/user";
-import { Button } from "@formbricks/ui/Button";
-import { DeleteAccountModal } from "@formbricks/ui/DeleteAccountModal";
+import { Button } from "@formbricks/ui/components/Button";
+import { DeleteAccountModal } from "@formbricks/ui/components/DeleteAccountModal";
export const DeleteAccount = ({
session,
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/DisableTwoFactorModal.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/DisableTwoFactorModal.tsx
index c44ad028a1..fddc830a49 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/DisableTwoFactorModal.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/DisableTwoFactorModal.tsx
@@ -6,11 +6,11 @@ import React, { useEffect, useState } from "react";
import { Controller, SubmitHandler, useForm } from "react-hook-form";
import toast from "react-hot-toast";
import { getFormattedErrorMessage } from "@formbricks/lib/actionClient/helper";
-import { Button } from "@formbricks/ui/Button";
-import { Input } from "@formbricks/ui/Input";
-import { Modal } from "@formbricks/ui/Modal";
-import { OTPInput } from "@formbricks/ui/OTPInput";
-import { PasswordInput } from "@formbricks/ui/PasswordInput";
+import { Button } from "@formbricks/ui/components/Button";
+import { Input } from "@formbricks/ui/components/Input";
+import { Modal } from "@formbricks/ui/components/Modal";
+import { OTPInput } from "@formbricks/ui/components/OTPInput";
+import { PasswordInput } from "@formbricks/ui/components/PasswordInput";
type TDisableTwoFactorFormState = {
password: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/EditProfileAvatarForm.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/EditProfileAvatarForm.tsx
index 228cfbff79..cc9ac85f1d 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/EditProfileAvatarForm.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/EditProfileAvatarForm.tsx
@@ -12,9 +12,9 @@ import { useRef, useState } from "react";
import { useForm } from "react-hook-form";
import toast from "react-hot-toast";
import { z } from "zod";
-import { ProfileAvatar } from "@formbricks/ui/Avatars";
-import { Button } from "@formbricks/ui/Button";
-import { FormError, FormField, FormItem, FormProvider } from "@formbricks/ui/Form";
+import { ProfileAvatar } from "@formbricks/ui/components/Avatars";
+import { Button } from "@formbricks/ui/components/Button";
+import { FormError, FormField, FormItem, FormProvider } from "@formbricks/ui/components/Form";
interface EditProfileAvatarFormProps {
session: Session;
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/EditProfileDetailsForm.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/EditProfileDetailsForm.tsx
index 6ec6e62856..f8c2b7de37 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/EditProfileDetailsForm.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/EditProfileDetailsForm.tsx
@@ -5,10 +5,17 @@ import { SubmitHandler, useForm } from "react-hook-form";
import toast from "react-hot-toast";
import { z } from "zod";
import { TUser, ZUser } from "@formbricks/types/user";
-import { Button } from "@formbricks/ui/Button";
-import { FormControl, FormError, FormField, FormItem, FormLabel, FormProvider } from "@formbricks/ui/Form";
-import { Input } from "@formbricks/ui/Input";
-import { Label } from "@formbricks/ui/Label";
+import { Button } from "@formbricks/ui/components/Button";
+import {
+ FormControl,
+ FormError,
+ FormField,
+ FormItem,
+ FormLabel,
+ FormProvider,
+} from "@formbricks/ui/components/Form";
+import { Input } from "@formbricks/ui/components/Input";
+import { Label } from "@formbricks/ui/components/Label";
import { updateUserAction } from "../actions";
const ZEditProfileNameFormSchema = ZUser.pick({ name: true });
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/EnableTwoFactorModal.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/EnableTwoFactorModal.tsx
index a4b0586a61..5cf7abce2e 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/EnableTwoFactorModal.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/components/EnableTwoFactorModal.tsx
@@ -10,10 +10,10 @@ import React, { useState } from "react";
import { Controller, SubmitHandler, useForm } from "react-hook-form";
import toast from "react-hot-toast";
import { getFormattedErrorMessage } from "@formbricks/lib/actionClient/helper";
-import { Button } from "@formbricks/ui/Button";
-import { Modal } from "@formbricks/ui/Modal";
-import { OTPInput } from "@formbricks/ui/OTPInput";
-import { PasswordInput } from "@formbricks/ui/PasswordInput";
+import { Button } from "@formbricks/ui/components/Button";
+import { Modal } from "@formbricks/ui/components/Modal";
+import { OTPInput } from "@formbricks/ui/components/OTPInput";
+import { PasswordInput } from "@formbricks/ui/components/PasswordInput";
type TConfirmPasswordFormState = {
password: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/page.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/page.tsx
index b57a3159c3..ced328fcd1 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/page.tsx
@@ -4,9 +4,9 @@ import { getServerSession } from "next-auth";
import { authOptions } from "@formbricks/lib/authOptions";
import { IS_FORMBRICKS_CLOUD } from "@formbricks/lib/constants";
import { getUser } from "@formbricks/lib/user/service";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
-import { SettingsId } from "@formbricks/ui/SettingsId";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
+import { SettingsId } from "@formbricks/ui/components/SettingsId";
import { SettingsCard } from "../../components/SettingsCard";
import { DeleteAccount } from "./components/DeleteAccount";
import { EditProfileAvatarForm } from "./components/EditProfileAvatarForm";
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/billing/components/PricingTable.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/billing/components/PricingTable.tsx
index 6a94368bd2..9eafb8a7ff 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/billing/components/PricingTable.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/billing/components/PricingTable.tsx
@@ -12,10 +12,10 @@ import { CLOUD_PRICING_DATA } from "@formbricks/ee/billing/lib/constants";
import { cn } from "@formbricks/lib/cn";
import { capitalizeFirstLetter } from "@formbricks/lib/utils/strings";
import { TOrganization, TOrganizationBillingPeriod } from "@formbricks/types/organizations";
-import { Badge } from "@formbricks/ui/Badge";
-import { BillingSlider } from "@formbricks/ui/BillingSlider";
-import { Button } from "@formbricks/ui/Button";
-import { PricingCard } from "@formbricks/ui/PricingCard";
+import { Badge } from "@formbricks/ui/components/Badge";
+import { BillingSlider } from "@formbricks/ui/components/BillingSlider";
+import { Button } from "@formbricks/ui/components/Button";
+import { PricingCard } from "@formbricks/ui/components/PricingCard";
interface PricingTableProps {
organization: TOrganization;
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/billing/layout.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/billing/layout.tsx
index a31e68fdfd..17a8e393df 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/billing/layout.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/billing/layout.tsx
@@ -6,7 +6,7 @@ import { IS_FORMBRICKS_CLOUD } from "@formbricks/lib/constants";
import { getMembershipByUserIdOrganizationId } from "@formbricks/lib/membership/service";
import { getAccessFlags } from "@formbricks/lib/membership/utils";
import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service";
-import { ErrorComponent } from "@formbricks/ui/ErrorComponent";
+import { ErrorComponent } from "@formbricks/ui/components/ErrorComponent";
export const metadata: Metadata = {
title: "Billing",
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/billing/page.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/billing/page.tsx
index 7487ee8770..a5b5c892ee 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/billing/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/billing/page.tsx
@@ -9,8 +9,8 @@ import {
getMonthlyOrganizationResponseCount,
getOrganizationByEnvironmentId,
} from "@formbricks/lib/organization/service";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
import { PricingTable } from "./components/PricingTable";
const Page = async ({ params }) => {
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/components/OrganizationSettingsNavbar.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/components/OrganizationSettingsNavbar.tsx
index 2d9c962115..4b6ebf4fa4 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/components/OrganizationSettingsNavbar.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/components/OrganizationSettingsNavbar.tsx
@@ -4,7 +4,7 @@ import { BoltIcon, CreditCardIcon, UsersIcon } from "lucide-react";
import { usePathname } from "next/navigation";
import { getAccessFlags } from "@formbricks/lib/membership/utils";
import { TMembershipRole } from "@formbricks/types/memberships";
-import { SecondaryNavigation } from "@formbricks/ui/SecondaryNavigation";
+import { SecondaryNavigation } from "@formbricks/ui/components/SecondaryNavigation";
export const OrganizationSettingsNavbar = ({
environmentId,
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/enterprise/page.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/enterprise/page.tsx
index 6ea4f13367..6888f8f0ac 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/enterprise/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/enterprise/page.tsx
@@ -8,9 +8,9 @@ import { IS_FORMBRICKS_CLOUD } from "@formbricks/lib/constants";
import { getMembershipByUserIdOrganizationId } from "@formbricks/lib/membership/service";
import { getAccessFlags } from "@formbricks/lib/membership/utils";
import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service";
-import { Button } from "@formbricks/ui/Button";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { Button } from "@formbricks/ui/components/Button";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const Page = async ({ params }) => {
if (IS_FORMBRICKS_CLOUD) {
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/AddMemberModal.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/AddMemberModal.tsx
index 209c6e830c..35cfd2dfd1 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/AddMemberModal.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/AddMemberModal.tsx
@@ -1,6 +1,6 @@
"use client";
-import { ModalWithTabs } from "@formbricks/ui/ModalWithTabs";
+import { ModalWithTabs } from "@formbricks/ui/components/ModalWithTabs";
import { BulkInviteTab } from "./BulkInviteTab";
import { IndividualInviteTab } from "./IndividualInviteTab";
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/BulkInviteTab.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/BulkInviteTab.tsx
index 08035b7a50..ebb9f68a66 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/BulkInviteTab.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/BulkInviteTab.tsx
@@ -6,8 +6,8 @@ import Papa, { type ParseResult } from "papaparse";
import { useRef, useState } from "react";
import toast from "react-hot-toast";
import { ZInvitees } from "@formbricks/types/invites";
-import { Alert, AlertDescription } from "@formbricks/ui/Alert";
-import { Button } from "@formbricks/ui/Button";
+import { Alert, AlertDescription } from "@formbricks/ui/components/Alert";
+import { Button } from "@formbricks/ui/components/Button";
import { MembershipRole } from "./AddMemberModal";
interface BulkInviteTabProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/DeleteOrganization.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/DeleteOrganization.tsx
index 97b399e15a..8193fee829 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/DeleteOrganization.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/DeleteOrganization.tsx
@@ -5,9 +5,9 @@ import { useRouter } from "next/navigation";
import { Dispatch, SetStateAction, useMemo, useState } from "react";
import toast from "react-hot-toast";
import { TOrganization } from "@formbricks/types/organizations";
-import { Button } from "@formbricks/ui/Button";
-import { DeleteDialog } from "@formbricks/ui/DeleteDialog";
-import { Input } from "@formbricks/ui/Input";
+import { Button } from "@formbricks/ui/components/Button";
+import { DeleteDialog } from "@formbricks/ui/components/DeleteDialog";
+import { Input } from "@formbricks/ui/components/Input";
type DeleteOrganizationProps = {
organization: TOrganization;
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/EditMemberships/MemberActions.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/EditMemberships/MemberActions.tsx
index be1dca0510..4079acfe91 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/EditMemberships/MemberActions.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/EditMemberships/MemberActions.tsx
@@ -15,8 +15,8 @@ import { getFormattedErrorMessage } from "@formbricks/lib/actionClient/helper";
import { TInvite } from "@formbricks/types/invites";
import { TMember } from "@formbricks/types/memberships";
import { TOrganization } from "@formbricks/types/organizations";
-import { DeleteDialog } from "@formbricks/ui/DeleteDialog";
-import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/Tooltip";
+import { DeleteDialog } from "@formbricks/ui/components/DeleteDialog";
+import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/components/Tooltip";
type MemberActionsProps = {
organization: TOrganization;
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/EditMemberships/MembersInfo.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/EditMemberships/MembersInfo.tsx
index 0518f81fd5..40bb0ae875 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/EditMemberships/MembersInfo.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/EditMemberships/MembersInfo.tsx
@@ -4,7 +4,7 @@ import { EditMembershipRole } from "@formbricks/ee/role-management/components/ed
import { TInvite } from "@formbricks/types/invites";
import { TMember, TMembershipRole } from "@formbricks/types/memberships";
import { TOrganization } from "@formbricks/types/organizations";
-import { Badge } from "@formbricks/ui/Badge";
+import { Badge } from "@formbricks/ui/components/Badge";
type MembersInfoProps = {
organization: TOrganization;
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/EditMemberships/OrganizationActions.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/EditMemberships/OrganizationActions.tsx
index d0b1653573..a7c1b18130 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/EditMemberships/OrganizationActions.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/EditMemberships/OrganizationActions.tsx
@@ -11,9 +11,9 @@ import { useState } from "react";
import toast from "react-hot-toast";
import { TInvitee } from "@formbricks/types/invites";
import { TOrganization } from "@formbricks/types/organizations";
-import { Button } from "@formbricks/ui/Button";
-import { CreateOrganizationModal } from "@formbricks/ui/CreateOrganizationModal";
-import { CustomDialog } from "@formbricks/ui/CustomDialog";
+import { Button } from "@formbricks/ui/components/Button";
+import { CreateOrganizationModal } from "@formbricks/ui/components/CreateOrganizationModal";
+import { CustomDialog } from "@formbricks/ui/components/CustomDialog";
type OrganizationActionsProps = {
role: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/EditOrganizationName.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/EditOrganizationName.tsx
index cd953031bd..9f544fcd62 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/EditOrganizationName.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/EditOrganizationName.tsx
@@ -9,9 +9,9 @@ import { getFormattedErrorMessage } from "@formbricks/lib/actionClient/helper";
import { getAccessFlags } from "@formbricks/lib/membership/utils";
import { TMembershipRole } from "@formbricks/types/memberships";
import { TOrganization } from "@formbricks/types/organizations";
-import { Button } from "@formbricks/ui/Button";
-import { Input } from "@formbricks/ui/Input";
-import { Label } from "@formbricks/ui/Label";
+import { Button } from "@formbricks/ui/components/Button";
+import { Input } from "@formbricks/ui/components/Input";
+import { Label } from "@formbricks/ui/components/Label";
interface EditOrganizationNameForm {
name: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/EditOrganizationNameForm.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/EditOrganizationNameForm.tsx
index 822bc0c087..e0c42d91b0 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/EditOrganizationNameForm.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/EditOrganizationNameForm.tsx
@@ -9,9 +9,16 @@ import { getFormattedErrorMessage } from "@formbricks/lib/actionClient/helper";
import { getAccessFlags } from "@formbricks/lib/membership/utils";
import { TMembershipRole } from "@formbricks/types/memberships";
import { TOrganization, ZOrganization } from "@formbricks/types/organizations";
-import { Button } from "@formbricks/ui/Button";
-import { FormControl, FormError, FormField, FormItem, FormLabel, FormProvider } from "@formbricks/ui/Form";
-import { Input } from "@formbricks/ui/Input";
+import { Button } from "@formbricks/ui/components/Button";
+import {
+ FormControl,
+ FormError,
+ FormField,
+ FormItem,
+ FormLabel,
+ FormProvider,
+} from "@formbricks/ui/components/Form";
+import { Input } from "@formbricks/ui/components/Input";
interface EditOrganizationNameProps {
environmentId: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/IndividualInviteTab.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/IndividualInviteTab.tsx
index cf90b1b44d..207db527a5 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/IndividualInviteTab.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/IndividualInviteTab.tsx
@@ -2,10 +2,10 @@
import { useForm } from "react-hook-form";
import { AddMemberRole } from "@formbricks/ee/role-management/components/add-member-role";
-import { Button } from "@formbricks/ui/Button";
-import { Input } from "@formbricks/ui/Input";
-import { Label } from "@formbricks/ui/Label";
-import { UpgradePlanNotice } from "@formbricks/ui/UpgradePlanNotice";
+import { Button } from "@formbricks/ui/components/Button";
+import { Input } from "@formbricks/ui/components/Input";
+import { Label } from "@formbricks/ui/components/Label";
+import { UpgradePlanNotice } from "@formbricks/ui/components/UpgradePlanNotice";
import { MembershipRole } from "./AddMemberModal";
interface IndividualInviteTabProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/ShareInviteModal.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/ShareInviteModal.tsx
index e7b9ef89c0..db36af7a23 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/ShareInviteModal.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/components/ShareInviteModal.tsx
@@ -3,8 +3,8 @@
import { CheckIcon, CopyIcon } from "lucide-react";
import { useRef } from "react";
import toast from "react-hot-toast";
-import { Button } from "@formbricks/ui/Button";
-import { Modal } from "@formbricks/ui/Modal";
+import { Button } from "@formbricks/ui/components/Button";
+import { Modal } from "@formbricks/ui/components/Modal";
interface ShareInviteModalProps {
inviteToken: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/page.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/page.tsx
index f4f0155b32..8f4f42420b 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/members/page.tsx
@@ -11,9 +11,9 @@ import {
} from "@formbricks/lib/membership/service";
import { getAccessFlags } from "@formbricks/lib/membership/utils";
import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
-import { SettingsId } from "@formbricks/ui/SettingsId";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
+import { SettingsId } from "@formbricks/ui/components/SettingsId";
import { SettingsCard } from "../../components/SettingsCard";
import { DeleteOrganization } from "./components/DeleteOrganization";
import { EditMemberships } from "./components/EditMemberships";
diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/components/SettingsCard.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/components/SettingsCard.tsx
index 35b82b4781..f408f55472 100644
--- a/apps/web/app/(app)/environments/[environmentId]/settings/components/SettingsCard.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/settings/components/SettingsCard.tsx
@@ -1,5 +1,5 @@
import { cn } from "@formbricks/lib/cn";
-import { Badge } from "@formbricks/ui/Badge";
+import { Badge } from "@formbricks/ui/components/Badge";
export const SettingsCard = ({
title,
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/components/EmptyInAppSurveys.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/components/EmptyInAppSurveys.tsx
index 51f7e4700d..3406132f65 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/components/EmptyInAppSurveys.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/components/EmptyInAppSurveys.tsx
@@ -1,7 +1,7 @@
import { Unplug } from "lucide-react";
import Link from "next/link";
import { TEnvironment } from "@formbricks/types/environment";
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
interface TEmptyAppSurveysProps {
environment: TEnvironment;
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/components/SurveyAnalysisNavigation.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/components/SurveyAnalysisNavigation.tsx
index 3f98b3af44..853a73a815 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/components/SurveyAnalysisNavigation.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/components/SurveyAnalysisNavigation.tsx
@@ -12,7 +12,7 @@ import { useParams, usePathname, useSearchParams } from "next/navigation";
import { useEffect, useMemo, useRef, useState } from "react";
import { useIntervalWhenFocused } from "@formbricks/lib/utils/hooks/useIntervalWhenFocused";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { SecondaryNavigation } from "@formbricks/ui/SecondaryNavigation";
+import { SecondaryNavigation } from "@formbricks/ui/components/SecondaryNavigation";
interface SurveyAnalysisNavigationProps {
environmentId: string;
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponseCardModal.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponseCardModal.tsx
index f21785ffd1..04a8011fee 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponseCardModal.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponseCardModal.tsx
@@ -5,9 +5,9 @@ import { TResponse } from "@formbricks/types/responses";
import { TSurvey } from "@formbricks/types/surveys/types";
import { TTag } from "@formbricks/types/tags";
import { TUser } from "@formbricks/types/user";
-import { Button } from "@formbricks/ui/Button";
-import { Modal } from "@formbricks/ui/Modal";
-import { SingleResponseCard } from "@formbricks/ui/SingleResponseCard";
+import { Button } from "@formbricks/ui/components/Button";
+import { Modal } from "@formbricks/ui/components/Modal";
+import { SingleResponseCard } from "@formbricks/ui/components/SingleResponseCard";
interface ResponseCardModalProps {
responses: TResponse[];
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponseTable.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponseTable.tsx
index 203df28c64..7dc28fc94b 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponseTable.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponseTable.tsx
@@ -20,10 +20,14 @@ import { TResponse, TResponseTableData } from "@formbricks/types/responses";
import { TSurvey } from "@formbricks/types/surveys/types";
import { TTag } from "@formbricks/types/tags";
import { TUser } from "@formbricks/types/user";
-import { Button } from "@formbricks/ui/Button";
-import { DataTableHeader, DataTableSettingsModal, DataTableToolbar } from "@formbricks/ui/DataTable";
-import { Skeleton } from "@formbricks/ui/Skeleton";
-import { Table, TableBody, TableCell, TableHeader, TableRow } from "@formbricks/ui/Table";
+import { Button } from "@formbricks/ui/components/Button";
+import {
+ DataTableHeader,
+ DataTableSettingsModal,
+ DataTableToolbar,
+} from "@formbricks/ui/components/DataTable";
+import { Skeleton } from "@formbricks/ui/components/Skeleton";
+import { Table, TableBody, TableCell, TableHeader, TableRow } from "@formbricks/ui/components/Table";
interface ResponseTableProps {
data: TResponseTableData[];
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponseTableCell.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponseTableCell.tsx
index 3c6b5a9008..1f9fc2531a 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponseTableCell.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponseTableCell.tsx
@@ -2,8 +2,8 @@ import { Cell, Row, flexRender } from "@tanstack/react-table";
import { Maximize2Icon } from "lucide-react";
import { cn } from "@formbricks/lib/cn";
import { TResponse, TResponseTableData } from "@formbricks/types/responses";
-import { getCommonPinningStyles } from "@formbricks/ui/DataTable/lib/utils";
-import { TableCell } from "@formbricks/ui/Table";
+import { getCommonPinningStyles } from "@formbricks/ui/components/DataTable/lib/utils";
+import { TableCell } from "@formbricks/ui/components/Table";
interface ResponseTableCellProps {
cell: Cell;
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponseTableColumns.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponseTableColumns.tsx
index fe98fe0e99..6aa6ad54a6 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponseTableColumns.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponseTableColumns.tsx
@@ -10,10 +10,10 @@ import { QUESTIONS_ICON_MAP } from "@formbricks/lib/utils/questions";
import { recallToHeadline } from "@formbricks/lib/utils/recall";
import { TResponseTableData } from "@formbricks/types/responses";
import { TSurvey, TSurveyQuestion } from "@formbricks/types/surveys/types";
-import { getSelectionColumn } from "@formbricks/ui/DataTable";
-import { ResponseBadges } from "@formbricks/ui/ResponseBadges";
-import { RenderResponse } from "@formbricks/ui/SingleResponseCard/components/RenderResponse";
-import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/Tooltip";
+import { getSelectionColumn } from "@formbricks/ui/components/DataTable";
+import { ResponseBadges } from "@formbricks/ui/components/ResponseBadges";
+import { RenderResponse } from "@formbricks/ui/components/SingleResponseCard/components/RenderResponse";
+import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/components/Tooltip";
const getAddressFieldLabel = (field: string) => {
switch (field) {
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/page.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/page.tsx
index 032868a52b..8b4871e0a9 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/page.tsx
@@ -13,8 +13,8 @@ import { getResponseCountBySurveyId } from "@formbricks/lib/response/service";
import { getSurvey } from "@formbricks/lib/survey/service";
import { getTagsByEnvironmentId } from "@formbricks/lib/tag/service";
import { getUser } from "@formbricks/lib/user/service";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const Page = async ({ params }) => {
const session = await getServerSession(authOptions);
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/AddressSummary.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/AddressSummary.tsx
index 633e51f4ed..1687e43c59 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/AddressSummary.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/AddressSummary.tsx
@@ -3,8 +3,8 @@ import { getPersonIdentifier } from "@formbricks/lib/person/utils";
import { timeSince } from "@formbricks/lib/time";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TSurvey, TSurveyQuestionSummaryAddress } from "@formbricks/types/surveys/types";
-import { AddressResponse } from "@formbricks/ui/AddressResponse";
-import { PersonAvatar } from "@formbricks/ui/Avatars";
+import { AddressResponse } from "@formbricks/ui/components/AddressResponse";
+import { PersonAvatar } from "@formbricks/ui/components/Avatars";
import { QuestionSummaryHeader } from "./QuestionSummaryHeader";
interface AddressSummaryProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/CTASummary.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/CTASummary.tsx
index 96cd16426d..5252bc51d6 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/CTASummary.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/CTASummary.tsx
@@ -1,7 +1,7 @@
import { InboxIcon } from "lucide-react";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TSurvey, TSurveyQuestionSummaryCta } from "@formbricks/types/surveys/types";
-import { ProgressBar } from "@formbricks/ui/ProgressBar";
+import { ProgressBar } from "@formbricks/ui/components/ProgressBar";
import { convertFloatToNDecimal } from "../lib/utils";
import { QuestionSummaryHeader } from "./QuestionSummaryHeader";
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/CalSummary.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/CalSummary.tsx
index ded3e63428..a0f9fd8f16 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/CalSummary.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/CalSummary.tsx
@@ -1,7 +1,7 @@
import { convertFloatToNDecimal } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/lib/utils";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TSurvey, TSurveyQuestionSummaryCal } from "@formbricks/types/surveys/types";
-import { ProgressBar } from "@formbricks/ui/ProgressBar";
+import { ProgressBar } from "@formbricks/ui/components/ProgressBar";
import { QuestionSummaryHeader } from "./QuestionSummaryHeader";
interface CalSummaryProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/ConsentSummary.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/ConsentSummary.tsx
index d441e94929..89c6171795 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/ConsentSummary.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/ConsentSummary.tsx
@@ -5,7 +5,7 @@ import {
TSurveyQuestionSummaryConsent,
TSurveyQuestionTypeEnum,
} from "@formbricks/types/surveys/types";
-import { ProgressBar } from "@formbricks/ui/ProgressBar";
+import { ProgressBar } from "@formbricks/ui/components/ProgressBar";
import { convertFloatToNDecimal } from "../lib/utils";
import { QuestionSummaryHeader } from "./QuestionSummaryHeader";
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/DateQuestionSummary.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/DateQuestionSummary.tsx
index b5e4259273..8f025b77c3 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/DateQuestionSummary.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/DateQuestionSummary.tsx
@@ -5,8 +5,8 @@ import { timeSince } from "@formbricks/lib/time";
import { formatDateWithOrdinal } from "@formbricks/lib/utils/datetime";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TSurvey, TSurveyQuestionSummaryDate } from "@formbricks/types/surveys/types";
-import { PersonAvatar } from "@formbricks/ui/Avatars";
-import { Button } from "@formbricks/ui/Button";
+import { PersonAvatar } from "@formbricks/ui/components/Avatars";
+import { Button } from "@formbricks/ui/components/Button";
import { QuestionSummaryHeader } from "./QuestionSummaryHeader";
interface DateQuestionSummary {
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/FileUploadSummary.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/FileUploadSummary.tsx
index 718444d84d..e566e3ce9d 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/FileUploadSummary.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/FileUploadSummary.tsx
@@ -6,8 +6,8 @@ import { getOriginalFileNameFromUrl } from "@formbricks/lib/storage/utils";
import { timeSince } from "@formbricks/lib/time";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TSurvey, TSurveyQuestionSummaryFileUpload } from "@formbricks/types/surveys/types";
-import { PersonAvatar } from "@formbricks/ui/Avatars";
-import { Button } from "@formbricks/ui/Button";
+import { PersonAvatar } from "@formbricks/ui/components/Avatars";
+import { Button } from "@formbricks/ui/components/Button";
import { QuestionSummaryHeader } from "./QuestionSummaryHeader";
interface FileUploadSummaryProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/HiddenFieldsSummary.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/HiddenFieldsSummary.tsx
index baf92a1622..f2f050da3e 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/HiddenFieldsSummary.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/HiddenFieldsSummary.tsx
@@ -4,8 +4,8 @@ import { getPersonIdentifier } from "@formbricks/lib/person/utils";
import { timeSince } from "@formbricks/lib/time";
import { TEnvironment } from "@formbricks/types/environment";
import { TSurveyQuestionSummaryHiddenFields } from "@formbricks/types/surveys/types";
-import { PersonAvatar } from "@formbricks/ui/Avatars";
-import { Button } from "@formbricks/ui/Button";
+import { PersonAvatar } from "@formbricks/ui/components/Avatars";
+import { Button } from "@formbricks/ui/components/Button";
interface HiddenFieldsSummaryProps {
environment: TEnvironment;
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/MatrixQuestionSummary.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/MatrixQuestionSummary.tsx
index 7536670927..67ef62e90d 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/MatrixQuestionSummary.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/MatrixQuestionSummary.tsx
@@ -5,7 +5,7 @@ import {
TSurveyQuestionSummaryMatrix,
TSurveyQuestionTypeEnum,
} from "@formbricks/types/surveys/types";
-import { TooltipRenderer } from "@formbricks/ui/Tooltip";
+import { TooltipRenderer } from "@formbricks/ui/components/Tooltip";
import { QuestionSummaryHeader } from "./QuestionSummaryHeader";
interface MatrixQuestionSummaryProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/MultipleChoiceSummary.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/MultipleChoiceSummary.tsx
index c24259b67b..ecd39d469a 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/MultipleChoiceSummary.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/MultipleChoiceSummary.tsx
@@ -9,9 +9,9 @@ import {
TSurveyQuestionTypeEnum,
TSurveyType,
} from "@formbricks/types/surveys/types";
-import { PersonAvatar } from "@formbricks/ui/Avatars";
-import { Button } from "@formbricks/ui/Button";
-import { ProgressBar } from "@formbricks/ui/ProgressBar";
+import { PersonAvatar } from "@formbricks/ui/components/Avatars";
+import { Button } from "@formbricks/ui/components/Button";
+import { ProgressBar } from "@formbricks/ui/components/ProgressBar";
import { convertFloatToNDecimal } from "../lib/utils";
import { QuestionSummaryHeader } from "./QuestionSummaryHeader";
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/NPSSummary.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/NPSSummary.tsx
index c6f91b2876..554988c140 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/NPSSummary.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/NPSSummary.tsx
@@ -5,7 +5,7 @@ import {
TSurveyQuestionSummaryNps,
TSurveyQuestionTypeEnum,
} from "@formbricks/types/surveys/types";
-import { HalfCircle, ProgressBar } from "@formbricks/ui/ProgressBar";
+import { HalfCircle, ProgressBar } from "@formbricks/ui/components/ProgressBar";
import { convertFloatToNDecimal } from "../lib/utils";
import { QuestionSummaryHeader } from "./QuestionSummaryHeader";
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/OpenTextSummary.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/OpenTextSummary.tsx
index 9d87c46195..515b3a2941 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/OpenTextSummary.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/OpenTextSummary.tsx
@@ -4,8 +4,8 @@ import { getPersonIdentifier } from "@formbricks/lib/person/utils";
import { timeSince } from "@formbricks/lib/time";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TSurvey, TSurveyQuestionSummaryOpenText } from "@formbricks/types/surveys/types";
-import { PersonAvatar } from "@formbricks/ui/Avatars";
-import { Button } from "@formbricks/ui/Button";
+import { PersonAvatar } from "@formbricks/ui/components/Avatars";
+import { Button } from "@formbricks/ui/components/Button";
import { QuestionSummaryHeader } from "./QuestionSummaryHeader";
interface OpenTextSummaryProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/PictureChoiceSummary.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/PictureChoiceSummary.tsx
index bf2306ff1b..e3e6c79a1b 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/PictureChoiceSummary.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/PictureChoiceSummary.tsx
@@ -6,7 +6,7 @@ import {
TSurveyQuestionSummaryPictureSelection,
TSurveyQuestionTypeEnum,
} from "@formbricks/types/surveys/types";
-import { ProgressBar } from "@formbricks/ui/ProgressBar";
+import { ProgressBar } from "@formbricks/ui/components/ProgressBar";
import { convertFloatToNDecimal } from "../lib/utils";
import { QuestionSummaryHeader } from "./QuestionSummaryHeader";
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/RatingSummary.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/RatingSummary.tsx
index b16f8bca91..4c4f6fc557 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/RatingSummary.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/RatingSummary.tsx
@@ -8,8 +8,8 @@ import {
TSurveyQuestionSummaryRating,
TSurveyQuestionTypeEnum,
} from "@formbricks/types/surveys/types";
-import { ProgressBar } from "@formbricks/ui/ProgressBar";
-import { RatingResponse } from "@formbricks/ui/RatingResponse";
+import { ProgressBar } from "@formbricks/ui/components/ProgressBar";
+import { RatingResponse } from "@formbricks/ui/components/RatingResponse";
import { QuestionSummaryHeader } from "./QuestionSummaryHeader";
interface RatingSummaryProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/ShareEmbedSurvey.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/ShareEmbedSurvey.tsx
index f31c0c5edf..dafdb0905b 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/ShareEmbedSurvey.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/ShareEmbedSurvey.tsx
@@ -14,9 +14,9 @@ import { useRouter } from "next/navigation";
import { useState } from "react";
import { TSurvey } from "@formbricks/types/surveys/types";
import { TUser } from "@formbricks/types/user";
-import { Badge } from "@formbricks/ui/Badge";
-import { Dialog, DialogContent, DialogDescription, DialogTitle } from "@formbricks/ui/Dialog";
-import { ShareSurveyLink } from "@formbricks/ui/ShareSurveyLink";
+import { Badge } from "@formbricks/ui/components/Badge";
+import { Dialog, DialogContent, DialogDescription, DialogTitle } from "@formbricks/ui/components/Dialog";
+import { ShareSurveyLink } from "@formbricks/ui/components/ShareSurveyLink";
import { EmbedView } from "./shareEmbedModal/EmbedView";
import { PanelInfoView } from "./shareEmbedModal/PanelInfoView";
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/ShareSurveyResults.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/ShareSurveyResults.tsx
index f8f0fe5e76..51fa5ff9b9 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/ShareSurveyResults.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/ShareSurveyResults.tsx
@@ -1,8 +1,8 @@
import { AlertCircleIcon, CheckCircle2Icon } from "lucide-react";
import { Clipboard } from "lucide-react";
import { toast } from "react-hot-toast";
-import { Button } from "@formbricks/ui/Button";
-import { Modal } from "@formbricks/ui/Modal";
+import { Button } from "@formbricks/ui/components/Button";
+import { Modal } from "@formbricks/ui/components/Modal";
interface ShareEmbedSurveyProps {
open: boolean;
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SuccessMessage.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SuccessMessage.tsx
index ebafe2e3ed..e5e9fc7b9d 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SuccessMessage.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SuccessMessage.tsx
@@ -5,7 +5,7 @@ import { useEffect, useState } from "react";
import toast from "react-hot-toast";
import { TEnvironment } from "@formbricks/types/environment";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { Confetti } from "@formbricks/ui/Confetti";
+import { Confetti } from "@formbricks/ui/components/Confetti";
interface SummaryMetadataProps {
environment: TEnvironment;
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SummaryDropOffs.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SummaryDropOffs.tsx
index d1e0844ec8..4bd8c098d0 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SummaryDropOffs.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SummaryDropOffs.tsx
@@ -1,6 +1,6 @@
import { TimerIcon } from "lucide-react";
import { TSurveySummary } from "@formbricks/types/surveys/types";
-import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/Tooltip";
+import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/components/Tooltip";
interface SummaryDropOffsProps {
dropOff: TSurveySummary["dropOff"];
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SummaryList.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SummaryList.tsx
index c958a0e3d4..ecb9f1e3f5 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SummaryList.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SummaryList.tsx
@@ -27,8 +27,8 @@ import { TEnvironment } from "@formbricks/types/environment";
import { TI18nString, TSurveySummary } from "@formbricks/types/surveys/types";
import { TSurveyQuestionTypeEnum } from "@formbricks/types/surveys/types";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { EmptySpaceFiller } from "@formbricks/ui/EmptySpaceFiller";
-import { SkeletonLoader } from "@formbricks/ui/SkeletonLoader";
+import { EmptySpaceFiller } from "@formbricks/ui/components/EmptySpaceFiller";
+import { SkeletonLoader } from "@formbricks/ui/components/SkeletonLoader";
import { AddressSummary } from "./AddressSummary";
interface SummaryListProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SummaryMetadata.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SummaryMetadata.tsx
index 04d1e51f5c..3181c93b87 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SummaryMetadata.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SummaryMetadata.tsx
@@ -1,6 +1,6 @@
import { ChevronDownIcon, ChevronUpIcon } from "lucide-react";
import { TSurveySummary } from "@formbricks/types/surveys/types";
-import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/Tooltip";
+import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/components/Tooltip";
interface SummaryMetadataProps {
setShowDropOffs: React.Dispatch>;
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SurveyAnalysisCTA.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SurveyAnalysisCTA.tsx
index 11f5d184d4..faf533b4b9 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SurveyAnalysisCTA.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SurveyAnalysisCTA.tsx
@@ -9,8 +9,8 @@ import { useEffect, useState } from "react";
import { TEnvironment } from "@formbricks/types/environment";
import { TSurvey } from "@formbricks/types/surveys/types";
import { TUser } from "@formbricks/types/user";
-import { Badge } from "@formbricks/ui/Badge";
-import { Button } from "@formbricks/ui/Button";
+import { Badge } from "@formbricks/ui/components/Badge";
+import { Button } from "@formbricks/ui/components/Button";
export const SurveyAnalysisCTA = ({
survey,
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/AppTab.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/AppTab.tsx
index 0d26a4a7e9..272a151f39 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/AppTab.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/AppTab.tsx
@@ -4,8 +4,8 @@ import ChangeSurveyTypeTip from "@/images/tooltips/change-survey-type-app.mp4";
import { CogIcon } from "lucide-react";
import Link from "next/link";
import { useState } from "react";
-import { Alert, AlertDescription } from "@formbricks/ui/Alert";
-import { OptionsSwitch } from "@formbricks/ui/OptionsSwitch";
+import { Alert, AlertDescription } from "@formbricks/ui/components/Alert";
+import { OptionsSwitch } from "@formbricks/ui/components/OptionsSwitch";
export const AppTab = ({ environmentId }) => {
const [selectedTab, setSelectedTab] = useState("webapp");
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/EmailTab.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/EmailTab.tsx
index e12b14dc13..08ae5e95a9 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/EmailTab.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/EmailTab.tsx
@@ -4,9 +4,9 @@ import { Code2Icon, CopyIcon, MailIcon } from "lucide-react";
import { useEffect, useMemo, useState } from "react";
import toast from "react-hot-toast";
import { AuthenticationError } from "@formbricks/types/errors";
-import { Button } from "@formbricks/ui/Button";
-import { CodeBlock } from "@formbricks/ui/CodeBlock";
-import { LoadingSpinner } from "@formbricks/ui/LoadingSpinner";
+import { Button } from "@formbricks/ui/components/Button";
+import { CodeBlock } from "@formbricks/ui/components/CodeBlock";
+import { LoadingSpinner } from "@formbricks/ui/components/LoadingSpinner";
import { getEmailHtmlAction, sendEmbedSurveyPreviewEmailAction } from "../../actions";
interface EmailTabProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/EmbedView.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/EmbedView.tsx
index e9a385f4c3..ef89c340ae 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/EmbedView.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/EmbedView.tsx
@@ -2,7 +2,7 @@
import { ArrowLeftIcon } from "lucide-react";
import { cn } from "@formbricks/lib/cn";
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
import { AppTab } from "./AppTab";
import { EmailTab } from "./EmailTab";
import { LinkTab } from "./LinkTab";
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/LinkTab.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/LinkTab.tsx
index b69ed7daf1..960b2c25e6 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/LinkTab.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/LinkTab.tsx
@@ -1,6 +1,6 @@
import Link from "next/link";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { ShareSurveyLink } from "@formbricks/ui/ShareSurveyLink";
+import { ShareSurveyLink } from "@formbricks/ui/components/ShareSurveyLink";
interface LinkTabProps {
survey: TSurvey;
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/PanelInfoView.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/PanelInfoView.tsx
index 574ddd3f18..86af9f8c45 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/PanelInfoView.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/PanelInfoView.tsx
@@ -4,7 +4,7 @@ import ProlificLogo from "@/images/prolific-logo.webp";
import ProlificUI from "@/images/prolific-screenshot.webp";
import { ArrowLeftIcon } from "lucide-react";
import Image from "next/image";
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
interface PanelInfoViewProps {
handleInitialPageButton: () => void;
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/WebsiteTab.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/WebsiteTab.tsx
index 36c2e8baad..3402c02e4b 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/WebsiteTab.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/WebsiteTab.tsx
@@ -5,10 +5,10 @@ import { CopyIcon } from "lucide-react";
import Link from "next/link";
import { useState } from "react";
import toast from "react-hot-toast";
-import { AdvancedOptionToggle } from "@formbricks/ui/AdvancedOptionToggle";
-import { Button } from "@formbricks/ui/Button";
-import { CodeBlock } from "@formbricks/ui/CodeBlock";
-import { OptionsSwitch } from "@formbricks/ui/OptionsSwitch";
+import { AdvancedOptionToggle } from "@formbricks/ui/components/AdvancedOptionToggle";
+import { Button } from "@formbricks/ui/components/Button";
+import { CodeBlock } from "@formbricks/ui/components/CodeBlock";
+import { OptionsSwitch } from "@formbricks/ui/components/OptionsSwitch";
export const WebsiteTab = ({ surveyUrl, environmentId }) => {
const [selectedTab, setSelectedTab] = useState("static");
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/loading.tsx
index 741456590b..d9da36ea2e 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/loading.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/loading.tsx
@@ -1,6 +1,6 @@
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
-import { SkeletonLoader } from "@formbricks/ui/SkeletonLoader";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
+import { SkeletonLoader } from "@formbricks/ui/components/SkeletonLoader";
const Loading = () => {
return (
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/page.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/page.tsx
index 517d5db22b..fa76bdce4d 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/page.tsx
@@ -14,8 +14,8 @@ import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
import { getResponseCountBySurveyId } from "@formbricks/lib/response/service";
import { getSurvey } from "@formbricks/lib/survey/service";
import { getUser } from "@formbricks/lib/user/service";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const Page = async ({ params }) => {
const session = await getServerSession(authOptions);
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/CustomFilter.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/CustomFilter.tsx
index ce1301d77d..d4e96c3b59 100755
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/CustomFilter.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/CustomFilter.tsx
@@ -14,13 +14,13 @@ import toast from "react-hot-toast";
import { getFormattedErrorMessage } from "@formbricks/lib/actionClient/helper";
import { useClickOutside } from "@formbricks/lib/utils/hooks/useClickOutside";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { Calendar } from "@formbricks/ui/Calendar";
+import { Calendar } from "@formbricks/ui/components/Calendar";
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuTrigger,
-} from "@formbricks/ui/DropdownMenu";
+} from "@formbricks/ui/components/DropdownMenu";
import { ResponseFilter } from "./ResponseFilter";
enum DateSelected {
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/QuestionFilterComboBox.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/QuestionFilterComboBox.tsx
index 02c8cd9ed5..4e8055e872 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/QuestionFilterComboBox.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/QuestionFilterComboBox.tsx
@@ -7,13 +7,19 @@ import * as React from "react";
import { getLocalizedValue } from "@formbricks/lib/i18n/utils";
import { useClickOutside } from "@formbricks/lib/utils/hooks/useClickOutside";
import { TSurveyQuestionTypeEnum } from "@formbricks/types/surveys/types";
-import { Command, CommandEmpty, CommandGroup, CommandItem, CommandList } from "@formbricks/ui/Command";
+import {
+ Command,
+ CommandEmpty,
+ CommandGroup,
+ CommandItem,
+ CommandList,
+} from "@formbricks/ui/components/Command";
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuTrigger,
-} from "@formbricks/ui/DropdownMenu";
+} from "@formbricks/ui/components/DropdownMenu";
type QuestionFilterComboBoxProps = {
filterOptions: string[] | undefined;
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/QuestionsComboBox.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/QuestionsComboBox.tsx
index 8917d7a937..7e73f6fd7b 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/QuestionsComboBox.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/QuestionsComboBox.tsx
@@ -33,8 +33,8 @@ import {
CommandInput,
CommandItem,
CommandList,
-} from "@formbricks/ui/Command";
-import { NetPromoterScoreIcon } from "@formbricks/ui/icons";
+} from "@formbricks/ui/components/Command";
+import { NetPromoterScoreIcon } from "@formbricks/ui/components/icons";
export enum OptionsType {
QUESTIONS = "Questions",
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/ResponseFilter.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/ResponseFilter.tsx
index e73c70e857..cffde8b55f 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/ResponseFilter.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/ResponseFilter.tsx
@@ -13,9 +13,9 @@ import { ChevronDown, ChevronUp, Plus, TrashIcon } from "lucide-react";
import { useParams } from "next/navigation";
import { useEffect, useState } from "react";
import { TSurvey, TSurveyQuestionTypeEnum } from "@formbricks/types/surveys/types";
-import { Button } from "@formbricks/ui/Button";
-import { Checkbox } from "@formbricks/ui/Checkbox";
-import { Popover, PopoverContent, PopoverTrigger } from "@formbricks/ui/Popover";
+import { Button } from "@formbricks/ui/components/Button";
+import { Checkbox } from "@formbricks/ui/components/Checkbox";
+import { Popover, PopoverContent, PopoverTrigger } from "@formbricks/ui/components/Popover";
import { OptionsType, QuestionOption, QuestionsComboBox } from "./QuestionsComboBox";
export type QuestionFilterOptions = {
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/ResultsShareButton.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/ResultsShareButton.tsx
index 718c21d238..2d3246c4e0 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/ResultsShareButton.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/ResultsShareButton.tsx
@@ -15,7 +15,7 @@ import {
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuTrigger,
-} from "@formbricks/ui/DropdownMenu";
+} from "@formbricks/ui/components/DropdownMenu";
import { ShareSurveyResults } from "../(analysis)/summary/components/ShareSurveyResults";
interface ResultsShareButtonProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/SurveyStatusDropdown.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/SurveyStatusDropdown.tsx
index d86e879cb5..9d2bb2d1d0 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/SurveyStatusDropdown.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/SurveyStatusDropdown.tsx
@@ -2,9 +2,15 @@ import { CheckCircle2Icon, PauseCircleIcon, PlayCircleIcon } from "lucide-react"
import toast from "react-hot-toast";
import { TEnvironment } from "@formbricks/types/environment";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@formbricks/ui/Select";
-import { SurveyStatusIndicator } from "@formbricks/ui/SurveyStatusIndicator";
-import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/Tooltip";
+import {
+ Select,
+ SelectContent,
+ SelectItem,
+ SelectTrigger,
+ SelectValue,
+} from "@formbricks/ui/components/Select";
+import { SurveyStatusIndicator } from "@formbricks/ui/components/SurveyStatusIndicator";
+import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/components/Tooltip";
import { updateSurveyAction } from "../actions";
interface SurveyStatusDropdownProps {
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/loading.tsx
index 430e62a5e1..4bab4873c9 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/loading.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/loading.tsx
@@ -1,6 +1,6 @@
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
-import { SurveyLoading } from "@formbricks/ui/SurveysList/components/SurveyLoading";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
+import { SurveyLoading } from "@formbricks/ui/components/SurveysList/components/SurveyLoading";
const Loading = () => {
return (
diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/page.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/page.tsx
index 3e7ca70495..94bc5349ee 100644
--- a/apps/web/app/(app)/environments/[environmentId]/surveys/page.tsx
+++ b/apps/web/app/(app)/environments/[environmentId]/surveys/page.tsx
@@ -11,11 +11,11 @@ import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
import { getSurveyCount } from "@formbricks/lib/survey/service";
import { getUser } from "@formbricks/lib/user/service";
import { TTemplateRole } from "@formbricks/types/templates";
-import { Button } from "@formbricks/ui/Button";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
-import { SurveysList } from "@formbricks/ui/SurveysList";
-import { TemplateList } from "@formbricks/ui/TemplateList";
+import { Button } from "@formbricks/ui/components/Button";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
+import { SurveysList } from "@formbricks/ui/components/SurveysList";
+import { TemplateList } from "@formbricks/ui/components/TemplateList";
export const metadata: Metadata = {
title: "Your Surveys",
diff --git a/apps/web/app/(app)/layout.tsx b/apps/web/app/(app)/layout.tsx
index db73cfb33f..3d2b0afb0e 100644
--- a/apps/web/app/(app)/layout.tsx
+++ b/apps/web/app/(app)/layout.tsx
@@ -3,9 +3,9 @@ import { getServerSession } from "next-auth";
import { Suspense } from "react";
import { authOptions } from "@formbricks/lib/authOptions";
import { getUser } from "@formbricks/lib/user/service";
-import { NoMobileOverlay } from "@formbricks/ui/NoMobileOverlay";
-import { PHProvider, PostHogPageview } from "@formbricks/ui/PostHogClient";
-import { ToasterClient } from "@formbricks/ui/ToasterClient";
+import { NoMobileOverlay } from "@formbricks/ui/components/NoMobileOverlay";
+import { PHProvider, PostHogPageview } from "@formbricks/ui/components/PostHogClient";
+import { ToasterClient } from "@formbricks/ui/components/ToasterClient";
const AppLayout = async ({ children }) => {
const session = await getServerSession(authOptions);
diff --git a/apps/web/app/(auth)/auth/components/BackToLoginButton.tsx b/apps/web/app/(auth)/auth/components/BackToLoginButton.tsx
index dc779fb735..bb57aca555 100644
--- a/apps/web/app/(auth)/auth/components/BackToLoginButton.tsx
+++ b/apps/web/app/(auth)/auth/components/BackToLoginButton.tsx
@@ -1,4 +1,4 @@
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
export const BackToLoginButton = () => {
return (
diff --git a/apps/web/app/(auth)/auth/components/FormWrapper.tsx b/apps/web/app/(auth)/auth/components/FormWrapper.tsx
index d64be74bdf..c81bc876a7 100644
--- a/apps/web/app/(auth)/auth/components/FormWrapper.tsx
+++ b/apps/web/app/(auth)/auth/components/FormWrapper.tsx
@@ -1,4 +1,4 @@
-import { Logo } from "@formbricks/ui/Logo";
+import { Logo } from "@formbricks/ui/components/Logo";
export const FormWrapper = ({ children }: { children: React.ReactNode }) => {
return (
diff --git a/apps/web/app/(auth)/auth/forgot-password/components/PasswordResetForm/index.tsx b/apps/web/app/(auth)/auth/forgot-password/components/PasswordResetForm/index.tsx
index e350d97e24..293cb222cd 100644
--- a/apps/web/app/(auth)/auth/forgot-password/components/PasswordResetForm/index.tsx
+++ b/apps/web/app/(auth)/auth/forgot-password/components/PasswordResetForm/index.tsx
@@ -4,7 +4,7 @@ import { XCircleIcon } from "lucide-react";
import { useRouter } from "next/navigation";
import { useState } from "react";
import { forgotPassword } from "@formbricks/lib/utils/users";
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
export const PasswordResetForm = ({}) => {
const router = useRouter();
diff --git a/apps/web/app/(auth)/auth/forgot-password/reset/components/ResetPasswordForm/index.tsx b/apps/web/app/(auth)/auth/forgot-password/reset/components/ResetPasswordForm/index.tsx
index 86a25c5e28..645b1ed572 100644
--- a/apps/web/app/(auth)/auth/forgot-password/reset/components/ResetPasswordForm/index.tsx
+++ b/apps/web/app/(auth)/auth/forgot-password/reset/components/ResetPasswordForm/index.tsx
@@ -5,9 +5,9 @@ import { useRouter, useSearchParams } from "next/navigation";
import { useState } from "react";
import { toast } from "react-hot-toast";
import { resetPassword } from "@formbricks/lib/utils/users";
-import { Button } from "@formbricks/ui/Button";
-import { PasswordInput } from "@formbricks/ui/PasswordInput";
-import { IsPasswordValid } from "@formbricks/ui/SignupOptions/components/IsPasswordValid";
+import { Button } from "@formbricks/ui/components/Button";
+import { PasswordInput } from "@formbricks/ui/components/PasswordInput";
+import { IsPasswordValid } from "@formbricks/ui/components/SignupOptions/components/IsPasswordValid";
export const ResetPasswordForm = () => {
const searchParams = useSearchParams();
diff --git a/apps/web/app/(auth)/auth/login/components/SigninForm.tsx b/apps/web/app/(auth)/auth/login/components/SigninForm.tsx
index 2b33b5baf9..e0b089789e 100644
--- a/apps/web/app/(auth)/auth/login/components/SigninForm.tsx
+++ b/apps/web/app/(auth)/auth/login/components/SigninForm.tsx
@@ -9,12 +9,12 @@ import { useRouter, useSearchParams } from "next/navigation";
import { useEffect, useMemo, useRef, useState } from "react";
import { Controller, FormProvider, SubmitHandler, useForm } from "react-hook-form";
import { cn } from "@formbricks/lib/cn";
-import { Button } from "@formbricks/ui/Button";
-import { PasswordInput } from "@formbricks/ui/PasswordInput";
-import { AzureButton } from "@formbricks/ui/SignupOptions/components/AzureButton";
-import { GithubButton } from "@formbricks/ui/SignupOptions/components/GithubButton";
-import { GoogleButton } from "@formbricks/ui/SignupOptions/components/GoogleButton";
-import { OpenIdButton } from "@formbricks/ui/SignupOptions/components/OpenIdButton";
+import { Button } from "@formbricks/ui/components/Button";
+import { PasswordInput } from "@formbricks/ui/components/PasswordInput";
+import { AzureButton } from "@formbricks/ui/components/SignupOptions/components/AzureButton";
+import { GithubButton } from "@formbricks/ui/components/SignupOptions/components/GithubButton";
+import { GoogleButton } from "@formbricks/ui/components/SignupOptions/components/GoogleButton";
+import { OpenIdButton } from "@formbricks/ui/components/SignupOptions/components/OpenIdButton";
interface TSigninFormState {
email: string;
diff --git a/apps/web/app/(auth)/auth/login/components/TwoFactor.tsx b/apps/web/app/(auth)/auth/login/components/TwoFactor.tsx
index bedd66ad07..52cfa9f27b 100644
--- a/apps/web/app/(auth)/auth/login/components/TwoFactor.tsx
+++ b/apps/web/app/(auth)/auth/login/components/TwoFactor.tsx
@@ -2,7 +2,7 @@
import React from "react";
import { Controller, useFormContext } from "react-hook-form";
-import { OTPInput } from "@formbricks/ui/OTPInput";
+import { OTPInput } from "@formbricks/ui/components/OTPInput";
export const TwoFactor = () => {
const { control } = useFormContext();
diff --git a/apps/web/app/(auth)/auth/login/components/TwoFactorBackup.tsx b/apps/web/app/(auth)/auth/login/components/TwoFactorBackup.tsx
index 6f926b1284..62aaeeae94 100644
--- a/apps/web/app/(auth)/auth/login/components/TwoFactorBackup.tsx
+++ b/apps/web/app/(auth)/auth/login/components/TwoFactorBackup.tsx
@@ -2,7 +2,7 @@
import React from "react";
import { useFormContext } from "react-hook-form";
-import { Input } from "@formbricks/ui/Input";
+import { Input } from "@formbricks/ui/components/Input";
export const TwoFactorBackup = () => {
const { register } = useFormContext();
diff --git a/apps/web/app/(auth)/auth/signup/components/SignupForm.tsx b/apps/web/app/(auth)/auth/signup/components/SignupForm.tsx
index d022b56d73..64e3ddbaa8 100644
--- a/apps/web/app/(auth)/auth/signup/components/SignupForm.tsx
+++ b/apps/web/app/(auth)/auth/signup/components/SignupForm.tsx
@@ -4,7 +4,7 @@ import { XCircleIcon } from "lucide-react";
import Link from "next/link";
import { useSearchParams } from "next/navigation";
import { useMemo, useState } from "react";
-import { SignupOptions } from "@formbricks/ui/SignupOptions";
+import { SignupOptions } from "@formbricks/ui/components/SignupOptions";
interface SignupFormProps {
webAppUrl: string;
diff --git a/apps/web/app/(auth)/auth/verification-requested/components/RequestVerificationEmail.tsx b/apps/web/app/(auth)/auth/verification-requested/components/RequestVerificationEmail.tsx
index 3c4cccf884..6b482ea9dc 100644
--- a/apps/web/app/(auth)/auth/verification-requested/components/RequestVerificationEmail.tsx
+++ b/apps/web/app/(auth)/auth/verification-requested/components/RequestVerificationEmail.tsx
@@ -3,7 +3,7 @@
import { useEffect } from "react";
import toast from "react-hot-toast";
import { resendVerificationEmail } from "@formbricks/lib/utils/users";
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
interface RequestEmailVerificationProps {
email: string | null;
diff --git a/apps/web/app/(auth)/invite/page.tsx b/apps/web/app/(auth)/invite/page.tsx
index 7e0ca1ab27..6a509552c6 100644
--- a/apps/web/app/(auth)/invite/page.tsx
+++ b/apps/web/app/(auth)/invite/page.tsx
@@ -6,7 +6,7 @@ import { deleteInvite, getInvite } from "@formbricks/lib/invite/service";
import { verifyInviteToken } from "@formbricks/lib/jwt";
import { createMembership } from "@formbricks/lib/membership/service";
import { getUser, updateUser } from "@formbricks/lib/user/service";
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
import { ContentLayout } from "./components/ContentLayout";
const Page = async ({ searchParams }) => {
diff --git a/apps/web/app/(auth)/layout.tsx b/apps/web/app/(auth)/layout.tsx
index a0da3c8d71..0f4be70104 100644
--- a/apps/web/app/(auth)/layout.tsx
+++ b/apps/web/app/(auth)/layout.tsx
@@ -1,4 +1,4 @@
-import { NoMobileOverlay } from "@formbricks/ui/NoMobileOverlay";
+import { NoMobileOverlay } from "@formbricks/ui/components/NoMobileOverlay";
const AppLayout = ({ children }) => {
return (
diff --git a/apps/web/app/error.tsx b/apps/web/app/error.tsx
index aa0133cff6..9e4337aeb2 100644
--- a/apps/web/app/error.tsx
+++ b/apps/web/app/error.tsx
@@ -1,8 +1,8 @@
"use client";
// Error components must be Client components
-import { Button } from "@formbricks/ui/Button";
-import { ErrorComponent } from "@formbricks/ui/ErrorComponent";
+import { Button } from "@formbricks/ui/components/Button";
+import { ErrorComponent } from "@formbricks/ui/components/ErrorComponent";
const Error = ({ error, reset }: { error: Error; reset: () => void }) => {
if (process.env.NODE_ENV === "development") {
diff --git a/apps/web/app/layout.tsx b/apps/web/app/layout.tsx
index 1d6e8fd74b..64969cb88f 100644
--- a/apps/web/app/layout.tsx
+++ b/apps/web/app/layout.tsx
@@ -1,6 +1,6 @@
import { SpeedInsights } from "@vercel/speed-insights/next";
import { Metadata } from "next";
-import "./globals.css";
+import "@formbricks/ui/globals.css";
export const metadata: Metadata = {
title: {
diff --git a/apps/web/app/not-found.tsx b/apps/web/app/not-found.tsx
index 09b8a78c99..d0e2d1fbd4 100644
--- a/apps/web/app/not-found.tsx
+++ b/apps/web/app/not-found.tsx
@@ -1,5 +1,5 @@
import Link from "next/link";
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
const NotFound = () => {
return (
diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx
index f167fac04a..3314b73499 100644
--- a/apps/web/app/page.tsx
+++ b/apps/web/app/page.tsx
@@ -6,7 +6,7 @@ import { getFirstEnvironmentByUserId } from "@formbricks/lib/environment/service
import { getIsFreshInstance } from "@formbricks/lib/instance/service";
import { getOrganizationsByUserId } from "@formbricks/lib/organization/service";
import { TEnvironment } from "@formbricks/types/environment";
-import { ClientLogout } from "@formbricks/ui/ClientLogout";
+import { ClientLogout } from "@formbricks/ui/components/ClientLogout";
const Page = async () => {
const session: Session | null = await getServerSession(authOptions);
diff --git a/apps/web/app/s/[surveyId]/components/LinkSurvey.tsx b/apps/web/app/s/[surveyId]/components/LinkSurvey.tsx
index 117b59fe62..2e59be18c6 100644
--- a/apps/web/app/s/[surveyId]/components/LinkSurvey.tsx
+++ b/apps/web/app/s/[surveyId]/components/LinkSurvey.tsx
@@ -20,7 +20,7 @@ import {
} from "@formbricks/types/responses";
import { TUploadFileConfig } from "@formbricks/types/storage";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { SurveyInline } from "@formbricks/ui/Survey";
+import { SurveyInline } from "@formbricks/ui/components/Survey";
let setIsError = (_: boolean) => {};
let setIsResponseSendingFinished = (_: boolean) => {};
diff --git a/apps/web/app/s/[surveyId]/components/LinkSurveyWrapper.tsx b/apps/web/app/s/[surveyId]/components/LinkSurveyWrapper.tsx
index f06cf54570..db5d4eeb4b 100644
--- a/apps/web/app/s/[surveyId]/components/LinkSurveyWrapper.tsx
+++ b/apps/web/app/s/[surveyId]/components/LinkSurveyWrapper.tsx
@@ -4,9 +4,9 @@ import React, { useState } from "react";
import { cn } from "@formbricks/lib/cn";
import { TProduct, TProductStyling } from "@formbricks/types/product";
import { TSurvey, TSurveyStyling } from "@formbricks/types/surveys/types";
-import { ClientLogo } from "@formbricks/ui/ClientLogo";
-import { MediaBackground } from "@formbricks/ui/MediaBackground";
-import { ResetProgressButton } from "@formbricks/ui/ResetProgressButton";
+import { ClientLogo } from "@formbricks/ui/components/ClientLogo";
+import { MediaBackground } from "@formbricks/ui/components/MediaBackground";
+import { ResetProgressButton } from "@formbricks/ui/components/ResetProgressButton";
interface LinkSurveyWrapperProps {
children: JSX.Element;
diff --git a/apps/web/app/s/[surveyId]/components/PinScreen.tsx b/apps/web/app/s/[surveyId]/components/PinScreen.tsx
index fc53b4aa9e..19e06fba54 100644
--- a/apps/web/app/s/[surveyId]/components/PinScreen.tsx
+++ b/apps/web/app/s/[surveyId]/components/PinScreen.tsx
@@ -10,7 +10,7 @@ import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TProduct } from "@formbricks/types/product";
import { TResponse } from "@formbricks/types/responses";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { OTPInput } from "@formbricks/ui/OTPInput";
+import { OTPInput } from "@formbricks/ui/components/OTPInput";
interface PinScreenProps {
surveyId: string;
diff --git a/apps/web/app/s/[surveyId]/components/SurveyInactive.tsx b/apps/web/app/s/[surveyId]/components/SurveyInactive.tsx
index 43c485cfa1..f373d111bd 100644
--- a/apps/web/app/s/[surveyId]/components/SurveyInactive.tsx
+++ b/apps/web/app/s/[surveyId]/components/SurveyInactive.tsx
@@ -2,7 +2,7 @@ import { CheckCircle2Icon, HelpCircleIcon, PauseCircleIcon } from "lucide-react"
import Image from "next/image";
import Link from "next/link";
import { TSurveyClosedMessage } from "@formbricks/types/surveys/types";
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
import footerLogo from "../lib/footerlogo.svg";
export const SurveyInactive = ({
diff --git a/apps/web/app/s/[surveyId]/components/SurveyLoadingAnimation.tsx b/apps/web/app/s/[surveyId]/components/SurveyLoadingAnimation.tsx
index 10071deace..3d362a143f 100644
--- a/apps/web/app/s/[surveyId]/components/SurveyLoadingAnimation.tsx
+++ b/apps/web/app/s/[surveyId]/components/SurveyLoadingAnimation.tsx
@@ -3,7 +3,7 @@ import Image from "next/image";
import { useCallback, useEffect, useState } from "react";
import { cn } from "@formbricks/lib/cn";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { LoadingSpinner } from "@formbricks/ui/LoadingSpinner";
+import { LoadingSpinner } from "@formbricks/ui/components/LoadingSpinner";
interface SurveyLoadingAnimationProps {
survey: TSurvey;
diff --git a/apps/web/app/s/[surveyId]/components/VerifyEmail.tsx b/apps/web/app/s/[surveyId]/components/VerifyEmail.tsx
index ce7e84f795..23a3e91a61 100644
--- a/apps/web/app/s/[surveyId]/components/VerifyEmail.tsx
+++ b/apps/web/app/s/[surveyId]/components/VerifyEmail.tsx
@@ -15,10 +15,10 @@ import { replaceHeadlineRecall } from "@formbricks/lib/utils/recall";
import { TAttributeClass } from "@formbricks/types/attribute-classes";
import { TProductStyling } from "@formbricks/types/product";
import { TSurvey } from "@formbricks/types/surveys/types";
-import { Button } from "@formbricks/ui/Button";
-import { FormControl, FormError, FormField, FormItem } from "@formbricks/ui/Form";
-import { Input } from "@formbricks/ui/Input";
-import { StackedCardsContainer } from "@formbricks/ui/StackedCardsContainer";
+import { Button } from "@formbricks/ui/components/Button";
+import { FormControl, FormError, FormField, FormItem } from "@formbricks/ui/components/Form";
+import { Input } from "@formbricks/ui/components/Input";
+import { StackedCardsContainer } from "@formbricks/ui/components/StackedCardsContainer";
interface VerifyEmailProps {
survey: TSurvey;
diff --git a/apps/web/app/s/[surveyId]/not-found.tsx b/apps/web/app/s/[surveyId]/not-found.tsx
index 766543ed7f..d64b4b29f3 100644
--- a/apps/web/app/s/[surveyId]/not-found.tsx
+++ b/apps/web/app/s/[surveyId]/not-found.tsx
@@ -1,7 +1,7 @@
import { HelpCircleIcon } from "lucide-react";
import Image from "next/image";
import Link from "next/link";
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
import footerLogo from "./lib/footerlogo.svg";
const NotFound = () => {
diff --git a/apps/web/app/setup/(fresh-instance)/intro/page.tsx b/apps/web/app/setup/(fresh-instance)/intro/page.tsx
index f1e2da43eb..0a9ee5079a 100644
--- a/apps/web/app/setup/(fresh-instance)/intro/page.tsx
+++ b/apps/web/app/setup/(fresh-instance)/intro/page.tsx
@@ -1,5 +1,5 @@
import { Metadata } from "next";
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
export const metadata: Metadata = {
title: "Intro",
diff --git a/apps/web/app/setup/(fresh-instance)/signup/page.tsx b/apps/web/app/setup/(fresh-instance)/signup/page.tsx
index 5d47bd83dc..cfd0902d1e 100644
--- a/apps/web/app/setup/(fresh-instance)/signup/page.tsx
+++ b/apps/web/app/setup/(fresh-instance)/signup/page.tsx
@@ -9,7 +9,7 @@ import {
OIDC_OAUTH_ENABLED,
PASSWORD_RESET_DISABLED,
} from "@formbricks/lib/constants";
-import { SignupOptions } from "@formbricks/ui/SignupOptions";
+import { SignupOptions } from "@formbricks/ui/components/SignupOptions";
export const metadata: Metadata = {
title: "Sign up",
diff --git a/apps/web/app/setup/layout.tsx b/apps/web/app/setup/layout.tsx
index fae9180ac5..34b87c7f2a 100644
--- a/apps/web/app/setup/layout.tsx
+++ b/apps/web/app/setup/layout.tsx
@@ -1,5 +1,5 @@
import { Toaster } from "react-hot-toast";
-import { FormbricksLogo } from "@formbricks/ui/FormbricksLogo";
+import { FormbricksLogo } from "@formbricks/ui/components/FormbricksLogo";
const SetupLayout = ({ children }: { children: React.ReactNode }) => {
return (
diff --git a/apps/web/app/setup/organization/[organizationId]/invite/components/InviteMembers.tsx b/apps/web/app/setup/organization/[organizationId]/invite/components/InviteMembers.tsx
index 95e635c2ef..6de33a875b 100644
--- a/apps/web/app/setup/organization/[organizationId]/invite/components/InviteMembers.tsx
+++ b/apps/web/app/setup/organization/[organizationId]/invite/components/InviteMembers.tsx
@@ -8,10 +8,10 @@ import React, { useState } from "react";
import { useForm } from "react-hook-form";
import { toast } from "react-hot-toast";
import { TInviteMembersFormSchema, ZInviteMembersFormSchema } from "@formbricks/types/invites";
-import { Alert, AlertDescription, AlertTitle } from "@formbricks/ui/Alert";
-import { Button } from "@formbricks/ui/Button";
-import { FormControl, FormError, FormField, FormItem, FormProvider } from "@formbricks/ui/Form";
-import { Input } from "@formbricks/ui/Input";
+import { Alert, AlertDescription, AlertTitle } from "@formbricks/ui/components/Alert";
+import { Button } from "@formbricks/ui/components/Button";
+import { FormControl, FormError, FormField, FormItem, FormProvider } from "@formbricks/ui/components/Form";
+import { Input } from "@formbricks/ui/components/Input";
interface InviteMembersProps {
IS_SMTP_CONFIGURED: boolean;
diff --git a/apps/web/app/setup/organization/create/components/CreateOrganization.tsx b/apps/web/app/setup/organization/create/components/CreateOrganization.tsx
index 81625c50de..4564a4d47c 100644
--- a/apps/web/app/setup/organization/create/components/CreateOrganization.tsx
+++ b/apps/web/app/setup/organization/create/components/CreateOrganization.tsx
@@ -8,9 +8,9 @@ import { SubmitHandler, useForm } from "react-hook-form";
import { toast } from "react-hot-toast";
import { z } from "zod";
import { ZOrganization } from "@formbricks/types/organizations";
-import { Button } from "@formbricks/ui/Button";
-import { FormControl, FormError, FormField, FormItem, FormProvider } from "@formbricks/ui/Form";
-import { Input } from "@formbricks/ui/Input";
+import { Button } from "@formbricks/ui/components/Button";
+import { FormControl, FormError, FormField, FormItem, FormProvider } from "@formbricks/ui/components/Form";
+import { Input } from "@formbricks/ui/components/Input";
const ZCreateOrganizationFormSchema = ZOrganization.pick({ name: true });
type TCreateOrganizationForm = z.infer;
diff --git a/apps/web/app/setup/organization/create/components/RemovedFromOrganization.tsx b/apps/web/app/setup/organization/create/components/RemovedFromOrganization.tsx
index c3af8e0c92..dd1ab745d3 100644
--- a/apps/web/app/setup/organization/create/components/RemovedFromOrganization.tsx
+++ b/apps/web/app/setup/organization/create/components/RemovedFromOrganization.tsx
@@ -3,9 +3,9 @@
import { formbricksLogout } from "@/app/lib/formbricks";
import React, { useState } from "react";
import { TUser } from "@formbricks/types/user";
-import { Alert, AlertDescription, AlertTitle } from "@formbricks/ui/Alert";
-import { Button } from "@formbricks/ui/Button";
-import { DeleteAccountModal } from "@formbricks/ui/DeleteAccountModal";
+import { Alert, AlertDescription, AlertTitle } from "@formbricks/ui/components/Alert";
+import { Button } from "@formbricks/ui/components/Button";
+import { DeleteAccountModal } from "@formbricks/ui/components/DeleteAccountModal";
interface RemovedFromOrganizationProps {
isFormbricksCloud: boolean;
diff --git a/apps/web/app/share/[sharingKey]/(analysis)/responses/page.tsx b/apps/web/app/share/[sharingKey]/(analysis)/responses/page.tsx
index d66ea71fe0..0088cd0927 100644
--- a/apps/web/app/share/[sharingKey]/(analysis)/responses/page.tsx
+++ b/apps/web/app/share/[sharingKey]/(analysis)/responses/page.tsx
@@ -7,8 +7,8 @@ import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
import { getResponseCountBySurveyId } from "@formbricks/lib/response/service";
import { getSurvey, getSurveyIdByResultShareKey } from "@formbricks/lib/survey/service";
import { getTagsByEnvironmentId } from "@formbricks/lib/tag/service";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const Page = async ({ params }) => {
const surveyId = await getSurveyIdByResultShareKey(params.sharingKey);
diff --git a/apps/web/app/share/[sharingKey]/(analysis)/summary/page.tsx b/apps/web/app/share/[sharingKey]/(analysis)/summary/page.tsx
index b886401afc..5470a3257c 100644
--- a/apps/web/app/share/[sharingKey]/(analysis)/summary/page.tsx
+++ b/apps/web/app/share/[sharingKey]/(analysis)/summary/page.tsx
@@ -7,8 +7,8 @@ import { getEnvironment } from "@formbricks/lib/environment/service";
import { getProductByEnvironmentId } from "@formbricks/lib/product/service";
import { getResponseCountBySurveyId } from "@formbricks/lib/response/service";
import { getSurvey, getSurveyIdByResultShareKey } from "@formbricks/lib/survey/service";
-import { PageContentWrapper } from "@formbricks/ui/PageContentWrapper";
-import { PageHeader } from "@formbricks/ui/PageHeader";
+import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper";
+import { PageHeader } from "@formbricks/ui/components/PageHeader";
const Page = async ({ params }) => {
const surveyId = await getSurveyIdByResultShareKey(params.sharingKey);
diff --git a/apps/web/app/share/[sharingKey]/not-found.tsx b/apps/web/app/share/[sharingKey]/not-found.tsx
index 77c1df95d6..e1b6011105 100644
--- a/apps/web/app/share/[sharingKey]/not-found.tsx
+++ b/apps/web/app/share/[sharingKey]/not-found.tsx
@@ -1,5 +1,5 @@
import Link from "next/link";
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
const NotFound = () => {
return (
diff --git a/apps/web/package.json b/apps/web/package.json
index 62086b73b6..81e60a8d07 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -17,7 +17,6 @@
"@dnd-kit/sortable": "^8.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@formbricks/api": "workspace:*",
- "@formbricks/config-tailwind": "workspace:*",
"@formbricks/database": "workspace:*",
"@formbricks/ee": "workspace:*",
"@formbricks/email": "workspace:*",
diff --git a/apps/web/tailwind.config.js b/apps/web/tailwind.config.js
index bbdbf017f5..eb6a100d13 100644
--- a/apps/web/tailwind.config.js
+++ b/apps/web/tailwind.config.js
@@ -1,4 +1,4 @@
-const base = require("../../packages/config-tailwind/tailwind.config");
+const base = require("../../packages/ui/tailwind.config");
/** @type {import('tailwindcss').Config} */
module.exports = {
diff --git a/packages/config-tailwind/package.json b/packages/config-tailwind/package.json
deleted file mode 100644
index a0761600e8..0000000000
--- a/packages/config-tailwind/package.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "name": "@formbricks/config-tailwind",
- "version": "0.0.0",
- "private": true,
- "main": "index.js",
- "scripts": {
- "clean": "rimraf node_modules .turbo"
- },
- "devDependencies": {
- "@tailwindcss/forms": "^0.5.7",
- "@tailwindcss/typography": "^0.5.14",
- "autoprefixer": "^10.4.20",
- "postcss": "^8.4.41",
- "tailwindcss": "^3.4.10"
- }
-}
diff --git a/packages/config-tailwind/tailwind.config.js b/packages/config-tailwind/tailwind.config.js
deleted file mode 100644
index 4205af0666..0000000000
--- a/packages/config-tailwind/tailwind.config.js
+++ /dev/null
@@ -1,125 +0,0 @@
-module.exports = {
- content: [
- // app content
- "./app/**/*.{js,ts,jsx,tsx}", // Note the addition of the `app` directory.
- "./pages/**/*.{js,ts,jsx,tsx}",
- // include packages if not transpiling
- "../../packages/ui/**/*.{ts,tsx}",
- ],
- theme: {
- extend: {
- animation: {
- "ping-slow": "ping 2s cubic-bezier(0, 0, 0.2, 1) infinite",
- shake: "shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both",
- "accordion-down": "accordion-down 0.2s ease-out",
- "accordion-up": "accordion-up 0.2s ease-out",
- fadeIn: "fadeIn 0.2s ease-out",
- fadeOut: "fadeOut 0.2s ease-out",
- surveyLoading: "surveyLoadingAnimation 0.5s ease-out forwards",
- surveyExit: "surveyExitAnimation 0.5s ease-out forwards",
- },
- blur: {
- xxs: "0.33px",
- xs: "2px",
- },
- backgroundImage: {
- "gradient-radial": "radial-gradient(var(--tw-gradient-stops))",
- },
- boxShadow: {
- "card-sm": "0px 0.5px 12px -5px rgba(30,41,59,0.20)",
- "card-md": "0px 1px 25px -10px rgba(30,41,59,0.30)",
- "card-lg": "0px 2px 51px -19px rgba(30,41,59,0.40)",
- },
- colors: {
- brand: {
- DEFAULT: "#00E6CA",
- light: "#00E6CA",
- dark: "#00C4B8",
- },
- focus: "var(--formbricks-focus, #1982fc)",
- error: "rgb(from var(--formbricks-error) r g b / )",
- brandnew: "var(--formbricks-brand, #038178)",
- borderColor: {
- primary: "var(--formbricks-border-primary, #e0e0e0)",
- secondary: "var(--formbricks-border-secondary, #0f172a)",
- disabled: "var(--formbricks-border-disabled, #ececec)",
- },
- labelColor: {
- primary: "var(--formbricks-label-primary, #0f172a)",
- secondary: "var(--formbricks-label-secondary, #384258)",
- disabled: "var(--formbricks-label-disabled, #bdbdbd)",
- },
- fill: {
- primary: "var(--formbricks-fill-primary, #fefefe)",
- secondary: "var(--formbricks-fill-secondary, #0f172a)",
- disabled: "var(--formbricks-fill-disabled, #e0e0e0)",
- },
- },
- keyframes: {
- fadeIn: {
- "0%": { opacity: "0" },
- "100%": { opacity: "1" },
- },
- fadeOut: {
- "0%": { opacity: "1" },
- "100%": { opacity: "0" },
- },
- shake: {
- "10%, 90%": {
- transform: "translate3d(-1px, 0, 0)",
- },
-
- "20%, 80%": {
- transform: "translate3d(2px, 0, 0),",
- },
-
- "30%, 50%, 70%": {
- transform: "translate3d(-4px, 0, 0)",
- },
-
- "40%, 60%": {
- transform: "translate3d(4px, 0, 0)",
- },
- },
- "accordion-down": {
- from: { height: 0 },
- to: { height: "var(--radix-accordion-content-height)" },
- },
- "accordion-up": {
- from: { height: "var(--radix-accordion-content-height)" },
- to: { height: 0 },
- },
- surveyLoadingAnimation: {
- "0%": { transform: "translateY(50px)", opacity: "0" },
- "100%": { transform: "translateY(0)", opacity: "1" },
- },
- surveyExitAnimation: {
- "0%": { transform: "translateY(0)", opacity: "1" },
- "100%": { transform: "translateY(-50px)", opacity: "0" },
- },
- },
- width: {
- "sidebar-expanded": "4rem",
- "sidebar-collapsed": "14rem",
- },
- transitionProperty: {
- width: "width",
- },
- maxWidth: {
- "8xl": "88rem",
- },
- screens: {
- xs: "430px",
- },
- scale: {
- 97: "0.97",
- },
- gridTemplateColumns: {
- 20: "repeat(20, minmax(0, 1fr))",
- },
- },
- },
- safelist: [{ pattern: /max-w-./, variants: "sm" }],
- darkMode: "class", // Set dark mode to use the 'class' strategy
- plugins: [require("@tailwindcss/forms"), require("@tailwindcss/typography")],
-};
diff --git a/packages/database/data-migrations/20240905120500_refactor_display_response_relationship/data-migration.ts b/packages/database/data-migrations/20240905120500_refactor_display_response_relationship/data-migration.ts
index 2dad514b4b..73737784e6 100644
--- a/packages/database/data-migrations/20240905120500_refactor_display_response_relationship/data-migration.ts
+++ b/packages/database/data-migrations/20240905120500_refactor_display_response_relationship/data-migration.ts
@@ -83,7 +83,7 @@ async function runMigration(): Promise {
console.log("Displays where the response was missing have been deleted.");
console.log("Data migration completed.");
- console.log(`Affected rows: ${rawQueryResult + displayIdsToDelete.length}`);
+ console.log(`Affected rows: ${rawQueryResult.toString() + displayIdsToDelete.length.toString()}`);
},
{
timeout: TRANSACTION_TIMEOUT,
diff --git a/packages/ee/advanced-targeting/components/add-filter-modal.tsx b/packages/ee/advanced-targeting/components/add-filter-modal.tsx
index 0af8410a37..dc4c7e595a 100644
--- a/packages/ee/advanced-targeting/components/add-filter-modal.tsx
+++ b/packages/ee/advanced-targeting/components/add-filter-modal.tsx
@@ -12,9 +12,9 @@ import type {
TSegmentAttributeFilter,
TSegmentPersonFilter,
} from "@formbricks/types/segment";
-import { Input } from "@formbricks/ui/Input";
-import { Modal } from "@formbricks/ui/Modal";
-import { TabBar } from "@formbricks/ui/TabBar";
+import { Input } from "@formbricks/ui/components/Input";
+import { Modal } from "@formbricks/ui/components/Modal";
+import { TabBar } from "@formbricks/ui/components/TabBar";
interface TAddFilterModalProps {
open: boolean;
diff --git a/packages/ee/advanced-targeting/components/advanced-targeting-card.tsx b/packages/ee/advanced-targeting/components/advanced-targeting-card.tsx
index 8c569d6c5d..5892dc80af 100644
--- a/packages/ee/advanced-targeting/components/advanced-targeting-card.tsx
+++ b/packages/ee/advanced-targeting/components/advanced-targeting-card.tsx
@@ -17,12 +17,12 @@ import type {
TSegmentUpdateInput,
} from "@formbricks/types/segment";
import type { TSurvey } from "@formbricks/types/surveys/types";
-import { AlertDialog } from "@formbricks/ui/AlertDialog";
-import { Button } from "@formbricks/ui/Button";
-import { LoadSegmentModal } from "@formbricks/ui/LoadSegmentModal";
-import { SaveAsNewSegmentModal } from "@formbricks/ui/SaveAsNewSegmentModal";
-import { SegmentTitle } from "@formbricks/ui/SegmentTitle";
-import { TargetingIndicator } from "@formbricks/ui/TargetingIndicator";
+import { AlertDialog } from "@formbricks/ui/components/AlertDialog";
+import { Button } from "@formbricks/ui/components/Button";
+import { LoadSegmentModal } from "@formbricks/ui/components/LoadSegmentModal";
+import { SaveAsNewSegmentModal } from "@formbricks/ui/components/SaveAsNewSegmentModal";
+import { SegmentTitle } from "@formbricks/ui/components/SegmentTitle";
+import { TargetingIndicator } from "@formbricks/ui/components/TargetingIndicator";
import {
cloneSegmentAction,
createSegmentAction,
diff --git a/packages/ee/advanced-targeting/components/create-segment-modal.tsx b/packages/ee/advanced-targeting/components/create-segment-modal.tsx
index 7f5181667e..740043f1ea 100644
--- a/packages/ee/advanced-targeting/components/create-segment-modal.tsx
+++ b/packages/ee/advanced-targeting/components/create-segment-modal.tsx
@@ -9,9 +9,9 @@ import type { TActionClass } from "@formbricks/types/action-classes";
import type { TAttributeClass } from "@formbricks/types/attribute-classes";
import type { TBaseFilter, TSegment } from "@formbricks/types/segment";
import { ZSegmentFilters } from "@formbricks/types/segment";
-import { Button } from "@formbricks/ui/Button";
-import { Input } from "@formbricks/ui/Input";
-import { Modal } from "@formbricks/ui/Modal";
+import { Button } from "@formbricks/ui/components/Button";
+import { Input } from "@formbricks/ui/components/Input";
+import { Modal } from "@formbricks/ui/components/Modal";
import { createSegmentAction } from "../lib/actions";
import { AddFilterModal } from "./add-filter-modal";
import { SegmentEditor } from "./segment-editor";
diff --git a/packages/ee/advanced-targeting/components/segment-editor.tsx b/packages/ee/advanced-targeting/components/segment-editor.tsx
index 644630cd00..ac0bf83f54 100644
--- a/packages/ee/advanced-targeting/components/segment-editor.tsx
+++ b/packages/ee/advanced-targeting/components/segment-editor.tsx
@@ -14,13 +14,13 @@ import {
import type { TActionClass } from "@formbricks/types/action-classes";
import type { TAttributeClass } from "@formbricks/types/attribute-classes";
import type { TBaseFilter, TBaseFilters, TSegment, TSegmentConnector } from "@formbricks/types/segment";
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuTrigger,
-} from "@formbricks/ui/DropdownMenu";
+} from "@formbricks/ui/components/DropdownMenu";
import { AddFilterModal } from "./add-filter-modal";
import { SegmentFilter } from "./segment-filter";
diff --git a/packages/ee/advanced-targeting/components/segment-filter.tsx b/packages/ee/advanced-targeting/components/segment-filter.tsx
index df7accbdab..c1277155ab 100644
--- a/packages/ee/advanced-targeting/components/segment-filter.tsx
+++ b/packages/ee/advanced-targeting/components/segment-filter.tsx
@@ -54,15 +54,21 @@ import {
DEVICE_OPERATORS,
PERSON_OPERATORS,
} from "@formbricks/types/segment";
-import { Button } from "@formbricks/ui/Button";
+import { Button } from "@formbricks/ui/components/Button";
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuTrigger,
-} from "@formbricks/ui/DropdownMenu";
-import { Input } from "@formbricks/ui/Input";
-import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@formbricks/ui/Select";
+} from "@formbricks/ui/components/DropdownMenu";
+import { Input } from "@formbricks/ui/components/Input";
+import {
+ Select,
+ SelectContent,
+ SelectItem,
+ SelectTrigger,
+ SelectValue,
+} from "@formbricks/ui/components/Select";
import { AddFilterModal } from "./add-filter-modal";
interface TSegmentFilterProps {
diff --git a/packages/ee/advanced-targeting/components/segment-settings.tsx b/packages/ee/advanced-targeting/components/segment-settings.tsx
index 1c2af50b3c..5e545963ab 100644
--- a/packages/ee/advanced-targeting/components/segment-settings.tsx
+++ b/packages/ee/advanced-targeting/components/segment-settings.tsx
@@ -10,9 +10,9 @@ import type { TActionClass } from "@formbricks/types/action-classes";
import type { TAttributeClass } from "@formbricks/types/attribute-classes";
import type { TBaseFilter, TSegment, TSegmentWithSurveyNames } from "@formbricks/types/segment";
import { ZSegmentFilters } from "@formbricks/types/segment";
-import { Button } from "@formbricks/ui/Button";
-import { ConfirmDeleteSegmentModal } from "@formbricks/ui/ConfirmDeleteSegmentModal";
-import { Input } from "@formbricks/ui/Input";
+import { Button } from "@formbricks/ui/components/Button";
+import { ConfirmDeleteSegmentModal } from "@formbricks/ui/components/ConfirmDeleteSegmentModal";
+import { Input } from "@formbricks/ui/components/Input";
import { deleteSegmentAction, updateSegmentAction } from "../lib/actions";
import { AddFilterModal } from "./add-filter-modal";
import { SegmentEditor } from "./segment-editor";
diff --git a/packages/ee/multi-language/components/default-language-select.tsx b/packages/ee/multi-language/components/default-language-select.tsx
index ee468427fd..6629fe7504 100644
--- a/packages/ee/multi-language/components/default-language-select.tsx
+++ b/packages/ee/multi-language/components/default-language-select.tsx
@@ -1,7 +1,13 @@
import { getLanguageLabel } from "@formbricks/lib/i18n/utils";
import type { TLanguage, TProduct } from "@formbricks/types/product";
-import { DefaultTag } from "@formbricks/ui/DefaultTag";
-import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@formbricks/ui/Select";
+import { DefaultTag } from "@formbricks/ui/components/DefaultTag";
+import {
+ Select,
+ SelectContent,
+ SelectItem,
+ SelectTrigger,
+ SelectValue,
+} from "@formbricks/ui/components/Select";
import type { ConfirmationModalProps } from "./multi-language-card";
interface DefaultLanguageSelectProps {
diff --git a/packages/ee/multi-language/components/edit-language.tsx b/packages/ee/multi-language/components/edit-language.tsx
index 096215fc53..4713b76dda 100644
--- a/packages/ee/multi-language/components/edit-language.tsx
+++ b/packages/ee/multi-language/components/edit-language.tsx
@@ -6,10 +6,10 @@ import { toast } from "react-hot-toast";
import { getFormattedErrorMessage } from "@formbricks/lib/actionClient/helper";
import { iso639Languages } from "@formbricks/lib/i18n/utils";
import type { TLanguage, TProduct } from "@formbricks/types/product";
-import { Button } from "@formbricks/ui/Button";
-import { ConfirmationModal } from "@formbricks/ui/ConfirmationModal";
-import { Label } from "@formbricks/ui/Label";
-import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/Tooltip";
+import { Button } from "@formbricks/ui/components/Button";
+import { ConfirmationModal } from "@formbricks/ui/components/ConfirmationModal";
+import { Label } from "@formbricks/ui/components/Label";
+import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/components/Tooltip";
import {
createLanguageAction,
deleteLanguageAction,
diff --git a/packages/ee/multi-language/components/language-row.tsx b/packages/ee/multi-language/components/language-row.tsx
index 9b77bb0c53..4f181f388e 100644
--- a/packages/ee/multi-language/components/language-row.tsx
+++ b/packages/ee/multi-language/components/language-row.tsx
@@ -1,6 +1,6 @@
import type { TLanguage } from "@formbricks/types/product";
-import { Button } from "@formbricks/ui/Button";
-import { Input } from "@formbricks/ui/Input";
+import { Button } from "@formbricks/ui/components/Button";
+import { Input } from "@formbricks/ui/components/Input";
import { LanguageSelect } from "./language-select";
interface LanguageRowProps {
diff --git a/packages/ee/multi-language/components/language-select.tsx b/packages/ee/multi-language/components/language-select.tsx
index aa7ac5394c..34b341480a 100644
--- a/packages/ee/multi-language/components/language-select.tsx
+++ b/packages/ee/multi-language/components/language-select.tsx
@@ -4,8 +4,8 @@ import type { TIso639Language } from "@formbricks/lib/i18n/utils";
import { iso639Languages } from "@formbricks/lib/i18n/utils";
import { useClickOutside } from "@formbricks/lib/utils/hooks/useClickOutside";
import type { TLanguage } from "@formbricks/types/product";
-import { Button } from "@formbricks/ui/Button";
-import { Input } from "@formbricks/ui/Input";
+import { Button } from "@formbricks/ui/components/Button";
+import { Input } from "@formbricks/ui/components/Input";
interface LanguageSelectProps {
language: TLanguage;
diff --git a/packages/ee/multi-language/components/language-toggle.tsx b/packages/ee/multi-language/components/language-toggle.tsx
index 91a41c7b9d..e41878e56c 100644
--- a/packages/ee/multi-language/components/language-toggle.tsx
+++ b/packages/ee/multi-language/components/language-toggle.tsx
@@ -1,7 +1,7 @@
import { getLanguageLabel } from "@formbricks/lib/i18n/utils";
import type { TLanguage } from "@formbricks/types/product";
-import { Label } from "@formbricks/ui/Label";
-import { Switch } from "@formbricks/ui/Switch";
+import { Label } from "@formbricks/ui/components/Label";
+import { Switch } from "@formbricks/ui/components/Switch";
interface LanguageToggleProps {
language: TLanguage;
diff --git a/packages/ee/multi-language/components/localized-editor.tsx b/packages/ee/multi-language/components/localized-editor.tsx
index d7d236488d..d0ca74baa3 100644
--- a/packages/ee/multi-language/components/localized-editor.tsx
+++ b/packages/ee/multi-language/components/localized-editor.tsx
@@ -5,7 +5,7 @@ import { extractLanguageCodes, isLabelValidForAllLanguages } from "@formbricks/l
import { md } from "@formbricks/lib/markdownIt";
import { recallToHeadline } from "@formbricks/lib/utils/recall";
import type { TI18nString, TSurvey } from "@formbricks/types/surveys/types";
-import { Editor } from "@formbricks/ui/Editor";
+import { Editor } from "@formbricks/ui/components/Editor";
import { LanguageIndicator } from "./language-indicator";
interface LocalizedEditorProps {
diff --git a/packages/ee/multi-language/components/multi-language-card.tsx b/packages/ee/multi-language/components/multi-language-card.tsx
index ad0117c8d2..e243de8b06 100644
--- a/packages/ee/multi-language/components/multi-language-card.tsx
+++ b/packages/ee/multi-language/components/multi-language-card.tsx
@@ -9,12 +9,12 @@ import { cn } from "@formbricks/lib/cn";
import { addMultiLanguageLabels, extractLanguageCodes } from "@formbricks/lib/i18n/utils";
import type { TLanguage, TProduct } from "@formbricks/types/product";
import type { TSurvey, TSurveyLanguage } from "@formbricks/types/surveys/types";
-import { AdvancedOptionToggle } from "@formbricks/ui/AdvancedOptionToggle";
-import { Button } from "@formbricks/ui/Button";
-import { ConfirmationModal } from "@formbricks/ui/ConfirmationModal";
-import { Label } from "@formbricks/ui/Label";
-import { Switch } from "@formbricks/ui/Switch";
-import { UpgradePlanNotice } from "@formbricks/ui/UpgradePlanNotice";
+import { AdvancedOptionToggle } from "@formbricks/ui/components/AdvancedOptionToggle";
+import { Button } from "@formbricks/ui/components/Button";
+import { ConfirmationModal } from "@formbricks/ui/components/ConfirmationModal";
+import { Label } from "@formbricks/ui/components/Label";
+import { Switch } from "@formbricks/ui/components/Switch";
+import { UpgradePlanNotice } from "@formbricks/ui/components/UpgradePlanNotice";
import { DefaultLanguageSelect } from "./default-language-select";
import { SecondaryLanguageSelect } from "./secondary-language-select";
diff --git a/packages/ee/role-management/components/add-member-role.tsx b/packages/ee/role-management/components/add-member-role.tsx
index 805c84c9d6..9167e4ef48 100644
--- a/packages/ee/role-management/components/add-member-role.tsx
+++ b/packages/ee/role-management/components/add-member-role.tsx
@@ -1,6 +1,6 @@
import type { Control } from "react-hook-form";
import { Controller } from "react-hook-form";
-import { Label } from "@formbricks/ui/Label";
+import { Label } from "@formbricks/ui/components/Label";
import {
Select,
SelectContent,
@@ -8,7 +8,7 @@ import {
SelectItem,
SelectTrigger,
SelectValue,
-} from "@formbricks/ui/Select";
+} from "@formbricks/ui/components/Select";
enum MembershipRole {
Admin = "admin",
diff --git a/packages/ee/role-management/components/edit-membership-role.tsx b/packages/ee/role-management/components/edit-membership-role.tsx
index fa746534cb..a323ec9236 100644
--- a/packages/ee/role-management/components/edit-membership-role.tsx
+++ b/packages/ee/role-management/components/edit-membership-role.tsx
@@ -6,15 +6,15 @@ import { useState } from "react";
import toast from "react-hot-toast";
import { capitalizeFirstLetter } from "@formbricks/lib/utils/strings";
import type { TMembershipRole } from "@formbricks/types/memberships";
-import { Badge } from "@formbricks/ui/Badge";
-import { Button } from "@formbricks/ui/Button";
+import { Badge } from "@formbricks/ui/components/Badge";
+import { Button } from "@formbricks/ui/components/Button";
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuRadioGroup,
DropdownMenuRadioItem,
DropdownMenuTrigger,
-} from "@formbricks/ui/DropdownMenu";
+} from "@formbricks/ui/components/DropdownMenu";
import { transferOwnershipAction, updateInviteAction, updateMembershipAction } from "../lib/actions";
import { TransferOwnershipModal } from "./transfer-ownership-modal";
diff --git a/packages/ee/role-management/components/transfer-ownership-modal.tsx b/packages/ee/role-management/components/transfer-ownership-modal.tsx
index 36f6c85167..f22ec484ad 100644
--- a/packages/ee/role-management/components/transfer-ownership-modal.tsx
+++ b/packages/ee/role-management/components/transfer-ownership-modal.tsx
@@ -2,8 +2,8 @@
import type { Dispatch, SetStateAction } from "react";
import { useState } from "react";
-import { CustomDialog } from "@formbricks/ui/CustomDialog";
-import { Input } from "@formbricks/ui/Input";
+import { CustomDialog } from "@formbricks/ui/components/CustomDialog";
+import { Input } from "@formbricks/ui/components/Input";
interface TransferOwnershipModalProps {
open: boolean;
diff --git a/packages/email/components/survey/preview-email-template.tsx b/packages/email/components/survey/preview-email-template.tsx
index 876a7b48d3..fef5c68567 100644
--- a/packages/email/components/survey/preview-email-template.tsx
+++ b/packages/email/components/survey/preview-email-template.tsx
@@ -17,7 +17,7 @@ import { getLocalizedValue } from "@formbricks/lib/i18n/utils";
import { COLOR_DEFAULTS } from "@formbricks/lib/styling/constants";
import { isLight, mixColor } from "@formbricks/lib/utils/colors";
import { type TSurvey, TSurveyQuestionTypeEnum, type TSurveyStyling } from "@formbricks/types/surveys/types";
-import { RatingSmiley } from "@formbricks/ui/RatingSmiley";
+import { RatingSmiley } from "@formbricks/ui/components/RatingSmiley";
import { getNPSOptionColor, getRatingNumberOptionColor } from "../../lib/utils";
interface PreviewEmailTemplateProps {
diff --git a/packages/surveys/src/lib/styles.ts b/packages/surveys/src/lib/styles.ts
index b2c1fd1c22..aaad0e4e71 100644
--- a/packages/surveys/src/lib/styles.ts
+++ b/packages/surveys/src/lib/styles.ts
@@ -5,7 +5,7 @@ import datePickerCss from "react-date-picker/dist/DatePicker.css?inline";
import { isLight, mixColor } from "@formbricks/lib/utils/colors";
import { TProductStyling } from "@formbricks/types/product";
import { TSurveyStyling } from "@formbricks/types/surveys/types";
-import editorCss from "../../../ui/Editor/stylesEditorFrontend.css?inline";
+import editorCss from "../../../ui/components/Editor/stylesEditorFrontend.css?inline";
import datePickerCustomCss from "../styles/date-picker.css?inline";
export const addStylesToDom = () => {
diff --git a/packages/ui/components.json b/packages/ui/components.json
new file mode 100644
index 0000000000..0093247408
--- /dev/null
+++ b/packages/ui/components.json
@@ -0,0 +1,20 @@
+{
+ "$schema": "https://ui.shadcn.com/schema.json",
+ "style": "default",
+ "rsc": true,
+ "tsx": true,
+ "tailwind": {
+ "config": "tailwind.config.js",
+ "css": "globals.css",
+ "baseColor": "slate",
+ "cssVariables": false,
+ "prefix": ""
+ },
+ "aliases": {
+ "components": "@formbricks/ui/components",
+ "ui": "@formbricks/ui/components",
+ "utils": "@formbricks/ui/lib/utils",
+ "lib": "@formbricks/ui/lib",
+ "hooks": "@formbricks/ui/hooks"
+ }
+}
diff --git a/packages/ui/Accordion/index.tsx b/packages/ui/components/Accordion/index.tsx
similarity index 100%
rename from packages/ui/Accordion/index.tsx
rename to packages/ui/components/Accordion/index.tsx
diff --git a/packages/ui/AdditionalIntegrationSettings/index.tsx b/packages/ui/components/AdditionalIntegrationSettings/index.tsx
similarity index 100%
rename from packages/ui/AdditionalIntegrationSettings/index.tsx
rename to packages/ui/components/AdditionalIntegrationSettings/index.tsx
diff --git a/packages/ui/AddressResponse/index.tsx b/packages/ui/components/AddressResponse/index.tsx
similarity index 100%
rename from packages/ui/AddressResponse/index.tsx
rename to packages/ui/components/AddressResponse/index.tsx
diff --git a/packages/ui/AdvancedOptionToggle/index.tsx b/packages/ui/components/AdvancedOptionToggle/index.tsx
similarity index 100%
rename from packages/ui/AdvancedOptionToggle/index.tsx
rename to packages/ui/components/AdvancedOptionToggle/index.tsx
diff --git a/packages/ui/Alert/index.tsx b/packages/ui/components/Alert/index.tsx
similarity index 100%
rename from packages/ui/Alert/index.tsx
rename to packages/ui/components/Alert/index.tsx
diff --git a/packages/ui/Alert/stories.tsx b/packages/ui/components/Alert/stories.tsx
similarity index 100%
rename from packages/ui/Alert/stories.tsx
rename to packages/ui/components/Alert/stories.tsx
diff --git a/packages/ui/AlertDialog/index.tsx b/packages/ui/components/AlertDialog/index.tsx
similarity index 100%
rename from packages/ui/AlertDialog/index.tsx
rename to packages/ui/components/AlertDialog/index.tsx
diff --git a/packages/ui/Avatars/index.tsx b/packages/ui/components/Avatars/index.tsx
similarity index 100%
rename from packages/ui/Avatars/index.tsx
rename to packages/ui/components/Avatars/index.tsx
diff --git a/packages/ui/Badge/index.tsx b/packages/ui/components/Badge/index.tsx
similarity index 100%
rename from packages/ui/Badge/index.tsx
rename to packages/ui/components/Badge/index.tsx
diff --git a/packages/ui/Badge/stories.ts b/packages/ui/components/Badge/stories.ts
similarity index 100%
rename from packages/ui/Badge/stories.ts
rename to packages/ui/components/Badge/stories.ts
diff --git a/packages/ui/BasicAddFilterModal/index.tsx b/packages/ui/components/BasicAddFilterModal/index.tsx
similarity index 100%
rename from packages/ui/BasicAddFilterModal/index.tsx
rename to packages/ui/components/BasicAddFilterModal/index.tsx
diff --git a/packages/ui/BasicAddFilterModal/lib/utils.ts b/packages/ui/components/BasicAddFilterModal/lib/utils.ts
similarity index 100%
rename from packages/ui/BasicAddFilterModal/lib/utils.ts
rename to packages/ui/components/BasicAddFilterModal/lib/utils.ts
diff --git a/packages/ui/BasicSegmentEditor/components/AttributeSegmentFilter.tsx b/packages/ui/components/BasicSegmentEditor/components/AttributeSegmentFilter.tsx
similarity index 100%
rename from packages/ui/BasicSegmentEditor/components/AttributeSegmentFilter.tsx
rename to packages/ui/components/BasicSegmentEditor/components/AttributeSegmentFilter.tsx
diff --git a/packages/ui/BasicSegmentEditor/components/BasicSegmentFilter.tsx b/packages/ui/components/BasicSegmentEditor/components/BasicSegmentFilter.tsx
similarity index 100%
rename from packages/ui/BasicSegmentEditor/components/BasicSegmentFilter.tsx
rename to packages/ui/components/BasicSegmentEditor/components/BasicSegmentFilter.tsx
diff --git a/packages/ui/BasicSegmentEditor/components/PersonSegmentFilter.tsx b/packages/ui/components/BasicSegmentEditor/components/PersonSegmentFilter.tsx
similarity index 100%
rename from packages/ui/BasicSegmentEditor/components/PersonSegmentFilter.tsx
rename to packages/ui/components/BasicSegmentEditor/components/PersonSegmentFilter.tsx
diff --git a/packages/ui/BasicSegmentEditor/components/SegmentFilterItemConnector.tsx b/packages/ui/components/BasicSegmentEditor/components/SegmentFilterItemConnector.tsx
similarity index 100%
rename from packages/ui/BasicSegmentEditor/components/SegmentFilterItemConnector.tsx
rename to packages/ui/components/BasicSegmentEditor/components/SegmentFilterItemConnector.tsx
diff --git a/packages/ui/BasicSegmentEditor/components/SegmentFilterItemContextMenu.tsx b/packages/ui/components/BasicSegmentEditor/components/SegmentFilterItemContextMenu.tsx
similarity index 100%
rename from packages/ui/BasicSegmentEditor/components/SegmentFilterItemContextMenu.tsx
rename to packages/ui/components/BasicSegmentEditor/components/SegmentFilterItemContextMenu.tsx
diff --git a/packages/ui/BasicSegmentEditor/index.tsx b/packages/ui/components/BasicSegmentEditor/index.tsx
similarity index 100%
rename from packages/ui/BasicSegmentEditor/index.tsx
rename to packages/ui/components/BasicSegmentEditor/index.tsx
diff --git a/packages/ui/BillingSlider/index.tsx b/packages/ui/components/BillingSlider/index.tsx
similarity index 100%
rename from packages/ui/BillingSlider/index.tsx
rename to packages/ui/components/BillingSlider/index.tsx
diff --git a/packages/ui/Button/index.tsx b/packages/ui/components/Button/index.tsx
similarity index 100%
rename from packages/ui/Button/index.tsx
rename to packages/ui/components/Button/index.tsx
diff --git a/packages/ui/Button/stories.ts b/packages/ui/components/Button/stories.ts
similarity index 100%
rename from packages/ui/Button/stories.ts
rename to packages/ui/components/Button/stories.ts
diff --git a/packages/ui/Calendar/index.tsx b/packages/ui/components/Calendar/index.tsx
similarity index 100%
rename from packages/ui/Calendar/index.tsx
rename to packages/ui/components/Calendar/index.tsx
diff --git a/packages/ui/Card/index.tsx b/packages/ui/components/Card/index.tsx
similarity index 100%
rename from packages/ui/Card/index.tsx
rename to packages/ui/components/Card/index.tsx
diff --git a/packages/ui/Card/stories.tsx b/packages/ui/components/Card/stories.tsx
similarity index 100%
rename from packages/ui/Card/stories.tsx
rename to packages/ui/components/Card/stories.tsx
diff --git a/packages/ui/CardArrangementTabs/index.tsx b/packages/ui/components/CardArrangementTabs/index.tsx
similarity index 100%
rename from packages/ui/CardArrangementTabs/index.tsx
rename to packages/ui/components/CardArrangementTabs/index.tsx
diff --git a/packages/ui/Checkbox/index.tsx b/packages/ui/components/Checkbox/index.tsx
similarity index 100%
rename from packages/ui/Checkbox/index.tsx
rename to packages/ui/components/Checkbox/index.tsx
diff --git a/packages/ui/ClientLogo/index.tsx b/packages/ui/components/ClientLogo/index.tsx
similarity index 100%
rename from packages/ui/ClientLogo/index.tsx
rename to packages/ui/components/ClientLogo/index.tsx
diff --git a/packages/ui/ClientLogout/index.tsx b/packages/ui/components/ClientLogout/index.tsx
similarity index 100%
rename from packages/ui/ClientLogout/index.tsx
rename to packages/ui/components/ClientLogout/index.tsx
diff --git a/packages/ui/CodeBlock/index.tsx b/packages/ui/components/CodeBlock/index.tsx
similarity index 100%
rename from packages/ui/CodeBlock/index.tsx
rename to packages/ui/components/CodeBlock/index.tsx
diff --git a/packages/ui/CodeBlock/style.css b/packages/ui/components/CodeBlock/style.css
similarity index 100%
rename from packages/ui/CodeBlock/style.css
rename to packages/ui/components/CodeBlock/style.css
diff --git a/packages/ui/ColorPicker/components/PopoverPicker.tsx b/packages/ui/components/ColorPicker/components/PopoverPicker.tsx
similarity index 100%
rename from packages/ui/ColorPicker/components/PopoverPicker.tsx
rename to packages/ui/components/ColorPicker/components/PopoverPicker.tsx
diff --git a/packages/ui/ColorPicker/index.tsx b/packages/ui/components/ColorPicker/index.tsx
similarity index 100%
rename from packages/ui/ColorPicker/index.tsx
rename to packages/ui/components/ColorPicker/index.tsx
diff --git a/packages/ui/ColorPicker/stories.tsx b/packages/ui/components/ColorPicker/stories.tsx
similarity index 100%
rename from packages/ui/ColorPicker/stories.tsx
rename to packages/ui/components/ColorPicker/stories.tsx
diff --git a/packages/ui/Command/index.tsx b/packages/ui/components/Command/index.tsx
similarity index 100%
rename from packages/ui/Command/index.tsx
rename to packages/ui/components/Command/index.tsx
diff --git a/packages/ui/Confetti/index.tsx b/packages/ui/components/Confetti/index.tsx
similarity index 100%
rename from packages/ui/Confetti/index.tsx
rename to packages/ui/components/Confetti/index.tsx
diff --git a/packages/ui/ConfirmDeleteSegmentModal/index.tsx b/packages/ui/components/ConfirmDeleteSegmentModal/index.tsx
similarity index 100%
rename from packages/ui/ConfirmDeleteSegmentModal/index.tsx
rename to packages/ui/components/ConfirmDeleteSegmentModal/index.tsx
diff --git a/packages/ui/ConfirmationModal/index.tsx b/packages/ui/components/ConfirmationModal/index.tsx
similarity index 100%
rename from packages/ui/ConfirmationModal/index.tsx
rename to packages/ui/components/ConfirmationModal/index.tsx
diff --git a/packages/ui/ConnectIntegration/index.tsx b/packages/ui/components/ConnectIntegration/index.tsx
similarity index 98%
rename from packages/ui/ConnectIntegration/index.tsx
rename to packages/ui/components/ConnectIntegration/index.tsx
index 8537564ee1..6f65d84845 100644
--- a/packages/ui/ConnectIntegration/index.tsx
+++ b/packages/ui/components/ConnectIntegration/index.tsx
@@ -4,7 +4,7 @@ import { useSearchParams } from "next/navigation";
import { useEffect, useState } from "react";
import toast from "react-hot-toast";
import { TIntegrationType } from "@formbricks/types/integration";
-import { Button } from "../../ui/Button";
+import { Button } from "../Button";
import { FormbricksLogo } from "../FormbricksLogo";
import { getIntegrationDetails } from "./lib/utils";
diff --git a/packages/ui/ConnectIntegration/lib/utils.ts b/packages/ui/components/ConnectIntegration/lib/utils.ts
similarity index 100%
rename from packages/ui/ConnectIntegration/lib/utils.ts
rename to packages/ui/components/ConnectIntegration/lib/utils.ts
diff --git a/packages/ui/CreateOrganizationModal/index.tsx b/packages/ui/components/CreateOrganizationModal/index.tsx
similarity index 96%
rename from packages/ui/CreateOrganizationModal/index.tsx
rename to packages/ui/components/CreateOrganizationModal/index.tsx
index 2bb159e5fe..73be483307 100644
--- a/packages/ui/CreateOrganizationModal/index.tsx
+++ b/packages/ui/components/CreateOrganizationModal/index.tsx
@@ -4,7 +4,7 @@ import { useState } from "react";
import { useForm } from "react-hook-form";
import toast from "react-hot-toast";
import { getFormattedErrorMessage } from "@formbricks/lib/actionClient/helper";
-import { createOrganizationAction } from "../../../apps/web/app/(app)/environments/[environmentId]/actions";
+import { createOrganizationAction } from "../../../../apps/web/app/(app)/environments/[environmentId]/actions";
import { Button } from "../Button";
import { Input } from "../Input";
import { Label } from "../Label";
diff --git a/packages/ui/CustomDialog/index.tsx b/packages/ui/components/CustomDialog/index.tsx
similarity index 100%
rename from packages/ui/CustomDialog/index.tsx
rename to packages/ui/components/CustomDialog/index.tsx
diff --git a/packages/ui/DataTable/actions.ts b/packages/ui/components/DataTable/actions.ts
similarity index 100%
rename from packages/ui/DataTable/actions.ts
rename to packages/ui/components/DataTable/actions.ts
diff --git a/packages/ui/DataTable/components/ColumnSettingsDropdown.tsx b/packages/ui/components/DataTable/components/ColumnSettingsDropdown.tsx
similarity index 100%
rename from packages/ui/DataTable/components/ColumnSettingsDropdown.tsx
rename to packages/ui/components/DataTable/components/ColumnSettingsDropdown.tsx
diff --git a/packages/ui/DataTable/components/DataTableHeader.tsx b/packages/ui/components/DataTable/components/DataTableHeader.tsx
similarity index 100%
rename from packages/ui/DataTable/components/DataTableHeader.tsx
rename to packages/ui/components/DataTable/components/DataTableHeader.tsx
diff --git a/packages/ui/DataTable/components/DataTableSettingsModal.tsx b/packages/ui/components/DataTable/components/DataTableSettingsModal.tsx
similarity index 100%
rename from packages/ui/DataTable/components/DataTableSettingsModal.tsx
rename to packages/ui/components/DataTable/components/DataTableSettingsModal.tsx
diff --git a/packages/ui/DataTable/components/DataTableSettingsModalItem.tsx b/packages/ui/components/DataTable/components/DataTableSettingsModalItem.tsx
similarity index 100%
rename from packages/ui/DataTable/components/DataTableSettingsModalItem.tsx
rename to packages/ui/components/DataTable/components/DataTableSettingsModalItem.tsx
diff --git a/packages/ui/DataTable/components/DataTableToolbar.tsx b/packages/ui/components/DataTable/components/DataTableToolbar.tsx
similarity index 100%
rename from packages/ui/DataTable/components/DataTableToolbar.tsx
rename to packages/ui/components/DataTable/components/DataTableToolbar.tsx
diff --git a/packages/ui/DataTable/components/SelectedRowSettings.tsx b/packages/ui/components/DataTable/components/SelectedRowSettings.tsx
similarity index 100%
rename from packages/ui/DataTable/components/SelectedRowSettings.tsx
rename to packages/ui/components/DataTable/components/SelectedRowSettings.tsx
diff --git a/packages/ui/DataTable/components/SelectionColumn.tsx b/packages/ui/components/DataTable/components/SelectionColumn.tsx
similarity index 100%
rename from packages/ui/DataTable/components/SelectionColumn.tsx
rename to packages/ui/components/DataTable/components/SelectionColumn.tsx
diff --git a/packages/ui/DataTable/index.tsx b/packages/ui/components/DataTable/index.tsx
similarity index 100%
rename from packages/ui/DataTable/index.tsx
rename to packages/ui/components/DataTable/index.tsx
diff --git a/packages/ui/DataTable/lib/utils.ts b/packages/ui/components/DataTable/lib/utils.ts
similarity index 100%
rename from packages/ui/DataTable/lib/utils.ts
rename to packages/ui/components/DataTable/lib/utils.ts
diff --git a/packages/ui/DatePicker/index.tsx b/packages/ui/components/DatePicker/index.tsx
similarity index 100%
rename from packages/ui/DatePicker/index.tsx
rename to packages/ui/components/DatePicker/index.tsx
diff --git a/packages/ui/DefaultTag/index.tsx b/packages/ui/components/DefaultTag/index.tsx
similarity index 100%
rename from packages/ui/DefaultTag/index.tsx
rename to packages/ui/components/DefaultTag/index.tsx
diff --git a/packages/ui/DeleteAccountModal/actions.ts b/packages/ui/components/DeleteAccountModal/actions.ts
similarity index 100%
rename from packages/ui/DeleteAccountModal/actions.ts
rename to packages/ui/components/DeleteAccountModal/actions.ts
diff --git a/packages/ui/DeleteAccountModal/index.tsx b/packages/ui/components/DeleteAccountModal/index.tsx
similarity index 100%
rename from packages/ui/DeleteAccountModal/index.tsx
rename to packages/ui/components/DeleteAccountModal/index.tsx
diff --git a/packages/ui/DeleteDialog/index.tsx b/packages/ui/components/DeleteDialog/index.tsx
similarity index 100%
rename from packages/ui/DeleteDialog/index.tsx
rename to packages/ui/components/DeleteDialog/index.tsx
diff --git a/packages/ui/DevEnvironmentBanner/index.tsx b/packages/ui/components/DevEnvironmentBanner/index.tsx
similarity index 100%
rename from packages/ui/DevEnvironmentBanner/index.tsx
rename to packages/ui/components/DevEnvironmentBanner/index.tsx
diff --git a/packages/ui/Dialog/index.tsx b/packages/ui/components/Dialog/index.tsx
similarity index 100%
rename from packages/ui/Dialog/index.tsx
rename to packages/ui/components/Dialog/index.tsx
diff --git a/packages/ui/DropdownMenu/index.tsx b/packages/ui/components/DropdownMenu/index.tsx
similarity index 100%
rename from packages/ui/DropdownMenu/index.tsx
rename to packages/ui/components/DropdownMenu/index.tsx
diff --git a/packages/ui/DropdownSelector/index.tsx b/packages/ui/components/DropdownSelector/index.tsx
similarity index 100%
rename from packages/ui/DropdownSelector/index.tsx
rename to packages/ui/components/DropdownSelector/index.tsx
diff --git a/packages/ui/Editor/components/AddVariablesDropdown.tsx b/packages/ui/components/Editor/components/AddVariablesDropdown.tsx
similarity index 100%
rename from packages/ui/Editor/components/AddVariablesDropdown.tsx
rename to packages/ui/components/Editor/components/AddVariablesDropdown.tsx
diff --git a/packages/ui/Editor/components/AutoLinkPlugin.tsx b/packages/ui/components/Editor/components/AutoLinkPlugin.tsx
similarity index 100%
rename from packages/ui/Editor/components/AutoLinkPlugin.tsx
rename to packages/ui/components/Editor/components/AutoLinkPlugin.tsx
diff --git a/packages/ui/Editor/components/Editor.tsx b/packages/ui/components/Editor/components/Editor.tsx
similarity index 100%
rename from packages/ui/Editor/components/Editor.tsx
rename to packages/ui/components/Editor/components/Editor.tsx
diff --git a/packages/ui/Editor/components/ToolbarPlugin.tsx b/packages/ui/components/Editor/components/ToolbarPlugin.tsx
similarity index 100%
rename from packages/ui/Editor/components/ToolbarPlugin.tsx
rename to packages/ui/components/Editor/components/ToolbarPlugin.tsx
diff --git a/packages/ui/Editor/images/icons/link.svg b/packages/ui/components/Editor/images/icons/link.svg
similarity index 100%
rename from packages/ui/Editor/images/icons/link.svg
rename to packages/ui/components/Editor/images/icons/link.svg
diff --git a/packages/ui/Editor/images/icons/list-ol.svg b/packages/ui/components/Editor/images/icons/list-ol.svg
similarity index 100%
rename from packages/ui/Editor/images/icons/list-ol.svg
rename to packages/ui/components/Editor/images/icons/list-ol.svg
diff --git a/packages/ui/Editor/images/icons/list-ul.svg b/packages/ui/components/Editor/images/icons/list-ul.svg
similarity index 100%
rename from packages/ui/Editor/images/icons/list-ul.svg
rename to packages/ui/components/Editor/images/icons/list-ul.svg
diff --git a/packages/ui/Editor/images/icons/pencil-fill.svg b/packages/ui/components/Editor/images/icons/pencil-fill.svg
similarity index 100%
rename from packages/ui/Editor/images/icons/pencil-fill.svg
rename to packages/ui/components/Editor/images/icons/pencil-fill.svg
diff --git a/packages/ui/Editor/images/icons/text-paragraph.svg b/packages/ui/components/Editor/images/icons/text-paragraph.svg
similarity index 100%
rename from packages/ui/Editor/images/icons/text-paragraph.svg
rename to packages/ui/components/Editor/images/icons/text-paragraph.svg
diff --git a/packages/ui/Editor/images/icons/type-bold.svg b/packages/ui/components/Editor/images/icons/type-bold.svg
similarity index 100%
rename from packages/ui/Editor/images/icons/type-bold.svg
rename to packages/ui/components/Editor/images/icons/type-bold.svg
diff --git a/packages/ui/Editor/images/icons/type-h1.svg b/packages/ui/components/Editor/images/icons/type-h1.svg
similarity index 100%
rename from packages/ui/Editor/images/icons/type-h1.svg
rename to packages/ui/components/Editor/images/icons/type-h1.svg
diff --git a/packages/ui/Editor/images/icons/type-h2.svg b/packages/ui/components/Editor/images/icons/type-h2.svg
similarity index 100%
rename from packages/ui/Editor/images/icons/type-h2.svg
rename to packages/ui/components/Editor/images/icons/type-h2.svg
diff --git a/packages/ui/Editor/images/icons/type-italic.svg b/packages/ui/components/Editor/images/icons/type-italic.svg
similarity index 100%
rename from packages/ui/Editor/images/icons/type-italic.svg
rename to packages/ui/components/Editor/images/icons/type-italic.svg
diff --git a/packages/ui/Editor/index.ts b/packages/ui/components/Editor/index.ts
similarity index 100%
rename from packages/ui/Editor/index.ts
rename to packages/ui/components/Editor/index.ts
diff --git a/packages/ui/Editor/lib/ExampleTheme.ts b/packages/ui/components/Editor/lib/ExampleTheme.ts
similarity index 100%
rename from packages/ui/Editor/lib/ExampleTheme.ts
rename to packages/ui/components/Editor/lib/ExampleTheme.ts
diff --git a/packages/ui/Editor/stylesEditor.css b/packages/ui/components/Editor/stylesEditor.css
similarity index 100%
rename from packages/ui/Editor/stylesEditor.css
rename to packages/ui/components/Editor/stylesEditor.css
diff --git a/packages/ui/Editor/stylesEditorFrontend.css b/packages/ui/components/Editor/stylesEditorFrontend.css
similarity index 100%
rename from packages/ui/Editor/stylesEditorFrontend.css
rename to packages/ui/components/Editor/stylesEditorFrontend.css
diff --git a/packages/ui/EmptySpaceFiller/index.tsx b/packages/ui/components/EmptySpaceFiller/index.tsx
similarity index 100%
rename from packages/ui/EmptySpaceFiller/index.tsx
rename to packages/ui/components/EmptySpaceFiller/index.tsx
diff --git a/packages/ui/EnvironmentNotice/index.tsx b/packages/ui/components/EnvironmentNotice/index.tsx
similarity index 100%
rename from packages/ui/EnvironmentNotice/index.tsx
rename to packages/ui/components/EnvironmentNotice/index.tsx
diff --git a/packages/ui/ErrorComponent/index.tsx b/packages/ui/components/ErrorComponent/index.tsx
similarity index 100%
rename from packages/ui/ErrorComponent/index.tsx
rename to packages/ui/components/ErrorComponent/index.tsx
diff --git a/packages/ui/FileInput/components/Uploader.tsx b/packages/ui/components/FileInput/components/Uploader.tsx
similarity index 100%
rename from packages/ui/FileInput/components/Uploader.tsx
rename to packages/ui/components/FileInput/components/Uploader.tsx
diff --git a/packages/ui/FileInput/components/VideoSettings.tsx b/packages/ui/components/FileInput/components/VideoSettings.tsx
similarity index 100%
rename from packages/ui/FileInput/components/VideoSettings.tsx
rename to packages/ui/components/FileInput/components/VideoSettings.tsx
diff --git a/packages/ui/FileInput/index.tsx b/packages/ui/components/FileInput/index.tsx
similarity index 100%
rename from packages/ui/FileInput/index.tsx
rename to packages/ui/components/FileInput/index.tsx
diff --git a/packages/ui/FileInput/lib/utils.ts b/packages/ui/components/FileInput/lib/utils.ts
similarity index 100%
rename from packages/ui/FileInput/lib/utils.ts
rename to packages/ui/components/FileInput/lib/utils.ts
diff --git a/packages/ui/FileUploadResponse/index.tsx b/packages/ui/components/FileUploadResponse/index.tsx
similarity index 100%
rename from packages/ui/FileUploadResponse/index.tsx
rename to packages/ui/components/FileUploadResponse/index.tsx
diff --git a/packages/ui/Form/index.tsx b/packages/ui/components/Form/index.tsx
similarity index 100%
rename from packages/ui/Form/index.tsx
rename to packages/ui/components/Form/index.tsx
diff --git a/packages/ui/FormbricksLogo/index.tsx b/packages/ui/components/FormbricksLogo/index.tsx
similarity index 100%
rename from packages/ui/FormbricksLogo/index.tsx
rename to packages/ui/components/FormbricksLogo/index.tsx
diff --git a/packages/ui/GoBackButton/index.tsx b/packages/ui/components/GoBackButton/index.tsx
similarity index 100%
rename from packages/ui/GoBackButton/index.tsx
rename to packages/ui/components/GoBackButton/index.tsx
diff --git a/packages/ui/Header/index.tsx b/packages/ui/components/Header/index.tsx
similarity index 100%
rename from packages/ui/Header/index.tsx
rename to packages/ui/components/Header/index.tsx
diff --git a/packages/ui/Input/index.tsx b/packages/ui/components/Input/index.tsx
similarity index 100%
rename from packages/ui/Input/index.tsx
rename to packages/ui/components/Input/index.tsx
diff --git a/packages/ui/Input/stories.tsx b/packages/ui/components/Input/stories.tsx
similarity index 100%
rename from packages/ui/Input/stories.tsx
rename to packages/ui/components/Input/stories.tsx
diff --git a/packages/ui/Label/index.tsx b/packages/ui/components/Label/index.tsx
similarity index 100%
rename from packages/ui/Label/index.tsx
rename to packages/ui/components/Label/index.tsx
diff --git a/packages/ui/Label/stories.tsx b/packages/ui/components/Label/stories.tsx
similarity index 100%
rename from packages/ui/Label/stories.tsx
rename to packages/ui/components/Label/stories.tsx
diff --git a/packages/ui/LimitsReachedBanner/index.tsx b/packages/ui/components/LimitsReachedBanner/index.tsx
similarity index 100%
rename from packages/ui/LimitsReachedBanner/index.tsx
rename to packages/ui/components/LimitsReachedBanner/index.tsx
diff --git a/packages/ui/LoadSegmentModal/index.tsx b/packages/ui/components/LoadSegmentModal/index.tsx
similarity index 100%
rename from packages/ui/LoadSegmentModal/index.tsx
rename to packages/ui/components/LoadSegmentModal/index.tsx
diff --git a/packages/ui/LoadingSpinner/index.tsx b/packages/ui/components/LoadingSpinner/index.tsx
similarity index 100%
rename from packages/ui/LoadingSpinner/index.tsx
rename to packages/ui/components/LoadingSpinner/index.tsx
diff --git a/packages/ui/LoadingSpinner/stories.ts b/packages/ui/components/LoadingSpinner/stories.ts
similarity index 100%
rename from packages/ui/LoadingSpinner/stories.ts
rename to packages/ui/components/LoadingSpinner/stories.ts
diff --git a/packages/ui/Logo/index.tsx b/packages/ui/components/Logo/index.tsx
similarity index 100%
rename from packages/ui/Logo/index.tsx
rename to packages/ui/components/Logo/index.tsx
diff --git a/packages/ui/MediaBackground/index.tsx b/packages/ui/components/MediaBackground/index.tsx
similarity index 100%
rename from packages/ui/MediaBackground/index.tsx
rename to packages/ui/components/MediaBackground/index.tsx
diff --git a/packages/ui/Modal/index.tsx b/packages/ui/components/Modal/index.tsx
similarity index 100%
rename from packages/ui/Modal/index.tsx
rename to packages/ui/components/Modal/index.tsx
diff --git a/packages/ui/Modal/stories.tsx b/packages/ui/components/Modal/stories.tsx
similarity index 100%
rename from packages/ui/Modal/stories.tsx
rename to packages/ui/components/Modal/stories.tsx
diff --git a/packages/ui/ModalWithTabs/index.tsx b/packages/ui/components/ModalWithTabs/index.tsx
similarity index 100%
rename from packages/ui/ModalWithTabs/index.tsx
rename to packages/ui/components/ModalWithTabs/index.tsx
diff --git a/packages/ui/NoMobileOverlay/index.tsx b/packages/ui/components/NoMobileOverlay/index.tsx
similarity index 100%
rename from packages/ui/NoMobileOverlay/index.tsx
rename to packages/ui/components/NoMobileOverlay/index.tsx
diff --git a/packages/ui/OTPInput/index.tsx b/packages/ui/components/OTPInput/index.tsx
similarity index 100%
rename from packages/ui/OTPInput/index.tsx
rename to packages/ui/components/OTPInput/index.tsx
diff --git a/packages/ui/OptionCard/index.tsx b/packages/ui/components/OptionCard/index.tsx
similarity index 100%
rename from packages/ui/OptionCard/index.tsx
rename to packages/ui/components/OptionCard/index.tsx
diff --git a/packages/ui/OptionsSwitch/index.tsx b/packages/ui/components/OptionsSwitch/index.tsx
similarity index 100%
rename from packages/ui/OptionsSwitch/index.tsx
rename to packages/ui/components/OptionsSwitch/index.tsx
diff --git a/packages/ui/PageContentWrapper/index.tsx b/packages/ui/components/PageContentWrapper/index.tsx
similarity index 100%
rename from packages/ui/PageContentWrapper/index.tsx
rename to packages/ui/components/PageContentWrapper/index.tsx
diff --git a/packages/ui/PageHeader/index.tsx b/packages/ui/components/PageHeader/index.tsx
similarity index 100%
rename from packages/ui/PageHeader/index.tsx
rename to packages/ui/components/PageHeader/index.tsx
diff --git a/packages/ui/PageHeader/stories.tsx b/packages/ui/components/PageHeader/stories.tsx
similarity index 100%
rename from packages/ui/PageHeader/stories.tsx
rename to packages/ui/components/PageHeader/stories.tsx
diff --git a/packages/ui/Pagination/index.tsx b/packages/ui/components/Pagination/index.tsx
similarity index 100%
rename from packages/ui/Pagination/index.tsx
rename to packages/ui/components/Pagination/index.tsx
diff --git a/packages/ui/PasswordInput/index.tsx b/packages/ui/components/PasswordInput/index.tsx
similarity index 100%
rename from packages/ui/PasswordInput/index.tsx
rename to packages/ui/components/PasswordInput/index.tsx
diff --git a/packages/ui/PendingDowngradeBanner/index.tsx b/packages/ui/components/PendingDowngradeBanner/index.tsx
similarity index 100%
rename from packages/ui/PendingDowngradeBanner/index.tsx
rename to packages/ui/components/PendingDowngradeBanner/index.tsx
diff --git a/packages/ui/PictureSelectionResponse/index.tsx b/packages/ui/components/PictureSelectionResponse/index.tsx
similarity index 100%
rename from packages/ui/PictureSelectionResponse/index.tsx
rename to packages/ui/components/PictureSelectionResponse/index.tsx
diff --git a/packages/ui/Popover/index.tsx b/packages/ui/components/Popover/index.tsx
similarity index 100%
rename from packages/ui/Popover/index.tsx
rename to packages/ui/components/Popover/index.tsx
diff --git a/packages/ui/PostHogClient/index.tsx b/packages/ui/components/PostHogClient/index.tsx
similarity index 100%
rename from packages/ui/PostHogClient/index.tsx
rename to packages/ui/components/PostHogClient/index.tsx
diff --git a/packages/ui/PreviewSurvey/components/Modal.tsx b/packages/ui/components/PreviewSurvey/components/Modal.tsx
similarity index 100%
rename from packages/ui/PreviewSurvey/components/Modal.tsx
rename to packages/ui/components/PreviewSurvey/components/Modal.tsx
diff --git a/packages/ui/PreviewSurvey/components/TabOption.tsx b/packages/ui/components/PreviewSurvey/components/TabOption.tsx
similarity index 100%
rename from packages/ui/PreviewSurvey/components/TabOption.tsx
rename to packages/ui/components/PreviewSurvey/components/TabOption.tsx
diff --git a/packages/ui/PreviewSurvey/index.tsx b/packages/ui/components/PreviewSurvey/index.tsx
similarity index 100%
rename from packages/ui/PreviewSurvey/index.tsx
rename to packages/ui/components/PreviewSurvey/index.tsx
diff --git a/packages/ui/PreviewSurvey/lib/utils.ts b/packages/ui/components/PreviewSurvey/lib/utils.ts
similarity index 100%
rename from packages/ui/PreviewSurvey/lib/utils.ts
rename to packages/ui/components/PreviewSurvey/lib/utils.ts
diff --git a/packages/ui/PricingCard/index.tsx b/packages/ui/components/PricingCard/index.tsx
similarity index 100%
rename from packages/ui/PricingCard/index.tsx
rename to packages/ui/components/PricingCard/index.tsx
diff --git a/packages/ui/ProgressBar/index.tsx b/packages/ui/components/ProgressBar/index.tsx
similarity index 100%
rename from packages/ui/ProgressBar/index.tsx
rename to packages/ui/components/ProgressBar/index.tsx
diff --git a/packages/ui/QuestionFormInput/components/FallbackInput.tsx b/packages/ui/components/QuestionFormInput/components/FallbackInput.tsx
similarity index 100%
rename from packages/ui/QuestionFormInput/components/FallbackInput.tsx
rename to packages/ui/components/QuestionFormInput/components/FallbackInput.tsx
diff --git a/packages/ui/QuestionFormInput/components/RecallItemSelect.tsx b/packages/ui/components/QuestionFormInput/components/RecallItemSelect.tsx
similarity index 100%
rename from packages/ui/QuestionFormInput/components/RecallItemSelect.tsx
rename to packages/ui/components/QuestionFormInput/components/RecallItemSelect.tsx
diff --git a/packages/ui/QuestionFormInput/index.tsx b/packages/ui/components/QuestionFormInput/index.tsx
similarity index 99%
rename from packages/ui/QuestionFormInput/index.tsx
rename to packages/ui/components/QuestionFormInput/index.tsx
index 04031be44d..df8af71fc3 100644
--- a/packages/ui/QuestionFormInput/index.tsx
+++ b/packages/ui/components/QuestionFormInput/index.tsx
@@ -26,8 +26,8 @@ import {
TSurveyRecallItem,
TSurveyRedirectUrlCard,
} from "@formbricks/types/surveys/types";
-import { LanguageIndicator } from "../../ee/multi-language/components/language-indicator";
-import { createI18nString } from "../../lib/i18n/utils";
+import { LanguageIndicator } from "../../../ee/multi-language/components/language-indicator";
+import { createI18nString } from "../../../lib/i18n/utils";
import { FileInput } from "../FileInput";
import { Input } from "../Input";
import { Label } from "../Label";
diff --git a/packages/ui/QuestionFormInput/utils.ts b/packages/ui/components/QuestionFormInput/utils.ts
similarity index 100%
rename from packages/ui/QuestionFormInput/utils.ts
rename to packages/ui/components/QuestionFormInput/utils.ts
diff --git a/packages/ui/RadioGroup/index.tsx b/packages/ui/components/RadioGroup/index.tsx
similarity index 100%
rename from packages/ui/RadioGroup/index.tsx
rename to packages/ui/components/RadioGroup/index.tsx
diff --git a/packages/ui/RankingResponse/index.tsx b/packages/ui/components/RankingResponse/index.tsx
similarity index 100%
rename from packages/ui/RankingResponse/index.tsx
rename to packages/ui/components/RankingResponse/index.tsx
diff --git a/packages/ui/RatingResponse/index.tsx b/packages/ui/components/RatingResponse/index.tsx
similarity index 100%
rename from packages/ui/RatingResponse/index.tsx
rename to packages/ui/components/RatingResponse/index.tsx
diff --git a/packages/ui/RatingSmiley/index.tsx b/packages/ui/components/RatingSmiley/index.tsx
similarity index 100%
rename from packages/ui/RatingSmiley/index.tsx
rename to packages/ui/components/RatingSmiley/index.tsx
diff --git a/packages/ui/ResetProgressButton/index.tsx b/packages/ui/components/ResetProgressButton/index.tsx
similarity index 100%
rename from packages/ui/ResetProgressButton/index.tsx
rename to packages/ui/components/ResetProgressButton/index.tsx
diff --git a/packages/ui/ResponseBadges/index.tsx b/packages/ui/components/ResponseBadges/index.tsx
similarity index 100%
rename from packages/ui/ResponseBadges/index.tsx
rename to packages/ui/components/ResponseBadges/index.tsx
diff --git a/packages/ui/ResponsiveVideo/index.tsx b/packages/ui/components/ResponsiveVideo/index.tsx
similarity index 100%
rename from packages/ui/ResponsiveVideo/index.tsx
rename to packages/ui/components/ResponsiveVideo/index.tsx
diff --git a/packages/ui/SaveAsNewSegmentModal/index.tsx b/packages/ui/components/SaveAsNewSegmentModal/index.tsx
similarity index 100%
rename from packages/ui/SaveAsNewSegmentModal/index.tsx
rename to packages/ui/components/SaveAsNewSegmentModal/index.tsx
diff --git a/packages/ui/SearchBox/index.tsx b/packages/ui/components/SearchBox/index.tsx
similarity index 100%
rename from packages/ui/SearchBox/index.tsx
rename to packages/ui/components/SearchBox/index.tsx
diff --git a/packages/ui/SecondaryNavigation/index.tsx b/packages/ui/components/SecondaryNavigation/index.tsx
similarity index 100%
rename from packages/ui/SecondaryNavigation/index.tsx
rename to packages/ui/components/SecondaryNavigation/index.tsx
diff --git a/packages/ui/SegmentTitle/index.tsx b/packages/ui/components/SegmentTitle/index.tsx
similarity index 100%
rename from packages/ui/SegmentTitle/index.tsx
rename to packages/ui/components/SegmentTitle/index.tsx
diff --git a/packages/ui/Select/index.tsx b/packages/ui/components/Select/index.tsx
similarity index 100%
rename from packages/ui/Select/index.tsx
rename to packages/ui/components/Select/index.tsx
diff --git a/packages/ui/SettingsId/index.tsx b/packages/ui/components/SettingsId/index.tsx
similarity index 100%
rename from packages/ui/SettingsId/index.tsx
rename to packages/ui/components/SettingsId/index.tsx
diff --git a/packages/ui/ShareSurveyLink/actions.ts b/packages/ui/components/ShareSurveyLink/actions.ts
similarity index 100%
rename from packages/ui/ShareSurveyLink/actions.ts
rename to packages/ui/components/ShareSurveyLink/actions.ts
diff --git a/packages/ui/ShareSurveyLink/components/LanguageDropdown.tsx b/packages/ui/components/ShareSurveyLink/components/LanguageDropdown.tsx
similarity index 100%
rename from packages/ui/ShareSurveyLink/components/LanguageDropdown.tsx
rename to packages/ui/components/ShareSurveyLink/components/LanguageDropdown.tsx
diff --git a/packages/ui/ShareSurveyLink/components/SurveyLinkDisplay.tsx b/packages/ui/components/ShareSurveyLink/components/SurveyLinkDisplay.tsx
similarity index 100%
rename from packages/ui/ShareSurveyLink/components/SurveyLinkDisplay.tsx
rename to packages/ui/components/ShareSurveyLink/components/SurveyLinkDisplay.tsx
diff --git a/packages/ui/ShareSurveyLink/index.tsx b/packages/ui/components/ShareSurveyLink/index.tsx
similarity index 100%
rename from packages/ui/ShareSurveyLink/index.tsx
rename to packages/ui/components/ShareSurveyLink/index.tsx
diff --git a/packages/ui/SignupOptions/components/AzureButton.tsx b/packages/ui/components/SignupOptions/components/AzureButton.tsx
similarity index 100%
rename from packages/ui/SignupOptions/components/AzureButton.tsx
rename to packages/ui/components/SignupOptions/components/AzureButton.tsx
diff --git a/packages/ui/SignupOptions/components/GithubButton.tsx b/packages/ui/components/SignupOptions/components/GithubButton.tsx
similarity index 100%
rename from packages/ui/SignupOptions/components/GithubButton.tsx
rename to packages/ui/components/SignupOptions/components/GithubButton.tsx
diff --git a/packages/ui/SignupOptions/components/GoogleButton.tsx b/packages/ui/components/SignupOptions/components/GoogleButton.tsx
similarity index 100%
rename from packages/ui/SignupOptions/components/GoogleButton.tsx
rename to packages/ui/components/SignupOptions/components/GoogleButton.tsx
diff --git a/packages/ui/SignupOptions/components/IsPasswordValid.tsx b/packages/ui/components/SignupOptions/components/IsPasswordValid.tsx
similarity index 100%
rename from packages/ui/SignupOptions/components/IsPasswordValid.tsx
rename to packages/ui/components/SignupOptions/components/IsPasswordValid.tsx
diff --git a/packages/ui/SignupOptions/components/OpenIdButton.tsx b/packages/ui/components/SignupOptions/components/OpenIdButton.tsx
similarity index 100%
rename from packages/ui/SignupOptions/components/OpenIdButton.tsx
rename to packages/ui/components/SignupOptions/components/OpenIdButton.tsx
diff --git a/packages/ui/SignupOptions/index.tsx b/packages/ui/components/SignupOptions/index.tsx
similarity index 100%
rename from packages/ui/SignupOptions/index.tsx
rename to packages/ui/components/SignupOptions/index.tsx
diff --git a/packages/ui/SimpleLayout/index.tsx b/packages/ui/components/SimpleLayout/index.tsx
similarity index 100%
rename from packages/ui/SimpleLayout/index.tsx
rename to packages/ui/components/SimpleLayout/index.tsx
diff --git a/packages/ui/SingleResponseCard/actions.ts b/packages/ui/components/SingleResponseCard/actions.ts
similarity index 100%
rename from packages/ui/SingleResponseCard/actions.ts
rename to packages/ui/components/SingleResponseCard/actions.ts
diff --git a/packages/ui/SingleResponseCard/components/HiddenFields.tsx b/packages/ui/components/SingleResponseCard/components/HiddenFields.tsx
similarity index 100%
rename from packages/ui/SingleResponseCard/components/HiddenFields.tsx
rename to packages/ui/components/SingleResponseCard/components/HiddenFields.tsx
diff --git a/packages/ui/SingleResponseCard/components/QuestionSkip.tsx b/packages/ui/components/SingleResponseCard/components/QuestionSkip.tsx
similarity index 100%
rename from packages/ui/SingleResponseCard/components/QuestionSkip.tsx
rename to packages/ui/components/SingleResponseCard/components/QuestionSkip.tsx
diff --git a/packages/ui/SingleResponseCard/components/RenderResponse.tsx b/packages/ui/components/SingleResponseCard/components/RenderResponse.tsx
similarity index 100%
rename from packages/ui/SingleResponseCard/components/RenderResponse.tsx
rename to packages/ui/components/SingleResponseCard/components/RenderResponse.tsx
diff --git a/packages/ui/SingleResponseCard/components/ResponseNote.tsx b/packages/ui/components/SingleResponseCard/components/ResponseNote.tsx
similarity index 100%
rename from packages/ui/SingleResponseCard/components/ResponseNote.tsx
rename to packages/ui/components/SingleResponseCard/components/ResponseNote.tsx
diff --git a/packages/ui/SingleResponseCard/components/ResponseTagsWrapper.tsx b/packages/ui/components/SingleResponseCard/components/ResponseTagsWrapper.tsx
similarity index 100%
rename from packages/ui/SingleResponseCard/components/ResponseTagsWrapper.tsx
rename to packages/ui/components/SingleResponseCard/components/ResponseTagsWrapper.tsx
diff --git a/packages/ui/SingleResponseCard/components/SingleResponseCardBody.tsx b/packages/ui/components/SingleResponseCard/components/SingleResponseCardBody.tsx
similarity index 100%
rename from packages/ui/SingleResponseCard/components/SingleResponseCardBody.tsx
rename to packages/ui/components/SingleResponseCard/components/SingleResponseCardBody.tsx
diff --git a/packages/ui/SingleResponseCard/components/SingleResponseCardHeader.tsx b/packages/ui/components/SingleResponseCard/components/SingleResponseCardHeader.tsx
similarity index 100%
rename from packages/ui/SingleResponseCard/components/SingleResponseCardHeader.tsx
rename to packages/ui/components/SingleResponseCard/components/SingleResponseCardHeader.tsx
diff --git a/packages/ui/SingleResponseCard/components/Smileys.tsx b/packages/ui/components/SingleResponseCard/components/Smileys.tsx
similarity index 100%
rename from packages/ui/SingleResponseCard/components/Smileys.tsx
rename to packages/ui/components/SingleResponseCard/components/Smileys.tsx
diff --git a/packages/ui/SingleResponseCard/components/VerifiedEmail.tsx b/packages/ui/components/SingleResponseCard/components/VerifiedEmail.tsx
similarity index 100%
rename from packages/ui/SingleResponseCard/components/VerifiedEmail.tsx
rename to packages/ui/components/SingleResponseCard/components/VerifiedEmail.tsx
diff --git a/packages/ui/SingleResponseCard/index.tsx b/packages/ui/components/SingleResponseCard/index.tsx
similarity index 100%
rename from packages/ui/SingleResponseCard/index.tsx
rename to packages/ui/components/SingleResponseCard/index.tsx
diff --git a/packages/ui/SingleResponseCard/util.ts b/packages/ui/components/SingleResponseCard/util.ts
similarity index 100%
rename from packages/ui/SingleResponseCard/util.ts
rename to packages/ui/components/SingleResponseCard/util.ts
diff --git a/packages/ui/Skeleton/index.tsx b/packages/ui/components/Skeleton/index.tsx
similarity index 100%
rename from packages/ui/Skeleton/index.tsx
rename to packages/ui/components/Skeleton/index.tsx
diff --git a/packages/ui/SkeletonLoader/index.tsx b/packages/ui/components/SkeletonLoader/index.tsx
similarity index 100%
rename from packages/ui/SkeletonLoader/index.tsx
rename to packages/ui/components/SkeletonLoader/index.tsx
diff --git a/packages/ui/Slider/index.tsx b/packages/ui/components/Slider/index.tsx
similarity index 100%
rename from packages/ui/Slider/index.tsx
rename to packages/ui/components/Slider/index.tsx
diff --git a/packages/ui/StackedCardsContainer/index.tsx b/packages/ui/components/StackedCardsContainer/index.tsx
similarity index 100%
rename from packages/ui/StackedCardsContainer/index.tsx
rename to packages/ui/components/StackedCardsContainer/index.tsx
diff --git a/packages/ui/Survey/index.tsx b/packages/ui/components/Survey/index.tsx
similarity index 100%
rename from packages/ui/Survey/index.tsx
rename to packages/ui/components/Survey/index.tsx
diff --git a/packages/ui/SurveyStatusIndicator/index.tsx b/packages/ui/components/SurveyStatusIndicator/index.tsx
similarity index 100%
rename from packages/ui/SurveyStatusIndicator/index.tsx
rename to packages/ui/components/SurveyStatusIndicator/index.tsx
diff --git a/packages/ui/SurveysList/actions.ts b/packages/ui/components/SurveysList/actions.ts
similarity index 100%
rename from packages/ui/SurveysList/actions.ts
rename to packages/ui/components/SurveysList/actions.ts
diff --git a/packages/ui/SurveysList/components/CopySurveyForm.tsx b/packages/ui/components/SurveysList/components/CopySurveyForm.tsx
similarity index 100%
rename from packages/ui/SurveysList/components/CopySurveyForm.tsx
rename to packages/ui/components/SurveysList/components/CopySurveyForm.tsx
diff --git a/packages/ui/SurveysList/components/CopySurveyModal.tsx b/packages/ui/components/SurveysList/components/CopySurveyModal.tsx
similarity index 100%
rename from packages/ui/SurveysList/components/CopySurveyModal.tsx
rename to packages/ui/components/SurveysList/components/CopySurveyModal.tsx
diff --git a/packages/ui/SurveysList/components/SortOption.tsx b/packages/ui/components/SurveysList/components/SortOption.tsx
similarity index 100%
rename from packages/ui/SurveysList/components/SortOption.tsx
rename to packages/ui/components/SurveysList/components/SortOption.tsx
diff --git a/packages/ui/SurveysList/components/SurveyCard.tsx b/packages/ui/components/SurveysList/components/SurveyCard.tsx
similarity index 100%
rename from packages/ui/SurveysList/components/SurveyCard.tsx
rename to packages/ui/components/SurveysList/components/SurveyCard.tsx
diff --git a/packages/ui/SurveysList/components/SurveyCopyOptions.tsx b/packages/ui/components/SurveysList/components/SurveyCopyOptions.tsx
similarity index 100%
rename from packages/ui/SurveysList/components/SurveyCopyOptions.tsx
rename to packages/ui/components/SurveysList/components/SurveyCopyOptions.tsx
diff --git a/packages/ui/SurveysList/components/SurveyDropdownMenu.tsx b/packages/ui/components/SurveysList/components/SurveyDropdownMenu.tsx
similarity index 100%
rename from packages/ui/SurveysList/components/SurveyDropdownMenu.tsx
rename to packages/ui/components/SurveysList/components/SurveyDropdownMenu.tsx
diff --git a/packages/ui/SurveysList/components/SurveyFilterDropdown.tsx b/packages/ui/components/SurveysList/components/SurveyFilterDropdown.tsx
similarity index 100%
rename from packages/ui/SurveysList/components/SurveyFilterDropdown.tsx
rename to packages/ui/components/SurveysList/components/SurveyFilterDropdown.tsx
diff --git a/packages/ui/SurveysList/components/SurveyFilters.tsx b/packages/ui/components/SurveysList/components/SurveyFilters.tsx
similarity index 100%
rename from packages/ui/SurveysList/components/SurveyFilters.tsx
rename to packages/ui/components/SurveysList/components/SurveyFilters.tsx
diff --git a/packages/ui/SurveysList/components/SurveyLoading.tsx b/packages/ui/components/SurveysList/components/SurveyLoading.tsx
similarity index 100%
rename from packages/ui/SurveysList/components/SurveyLoading.tsx
rename to packages/ui/components/SurveysList/components/SurveyLoading.tsx
diff --git a/packages/ui/SurveysList/index.tsx b/packages/ui/components/SurveysList/index.tsx
similarity index 100%
rename from packages/ui/SurveysList/index.tsx
rename to packages/ui/components/SurveysList/index.tsx
diff --git a/packages/ui/SurveysList/utils.ts b/packages/ui/components/SurveysList/utils.ts
similarity index 100%
rename from packages/ui/SurveysList/utils.ts
rename to packages/ui/components/SurveysList/utils.ts
diff --git a/packages/ui/Switch/index.tsx b/packages/ui/components/Switch/index.tsx
similarity index 100%
rename from packages/ui/Switch/index.tsx
rename to packages/ui/components/Switch/index.tsx
diff --git a/packages/ui/TabBar/index.tsx b/packages/ui/components/TabBar/index.tsx
similarity index 100%
rename from packages/ui/TabBar/index.tsx
rename to packages/ui/components/TabBar/index.tsx
diff --git a/packages/ui/TabToggle/index.tsx b/packages/ui/components/TabToggle/index.tsx
similarity index 100%
rename from packages/ui/TabToggle/index.tsx
rename to packages/ui/components/TabToggle/index.tsx
diff --git a/packages/ui/Table/index.tsx b/packages/ui/components/Table/index.tsx
similarity index 100%
rename from packages/ui/Table/index.tsx
rename to packages/ui/components/Table/index.tsx
diff --git a/packages/ui/Tabs/index.tsx b/packages/ui/components/Tabs/index.tsx
similarity index 100%
rename from packages/ui/Tabs/index.tsx
rename to packages/ui/components/Tabs/index.tsx
diff --git a/packages/ui/Tag/index.tsx b/packages/ui/components/Tag/index.tsx
similarity index 100%
rename from packages/ui/Tag/index.tsx
rename to packages/ui/components/Tag/index.tsx
diff --git a/packages/ui/TagsCombobox/index.tsx b/packages/ui/components/TagsCombobox/index.tsx
similarity index 100%
rename from packages/ui/TagsCombobox/index.tsx
rename to packages/ui/components/TagsCombobox/index.tsx
diff --git a/packages/ui/TargetingIndicator/index.tsx b/packages/ui/components/TargetingIndicator/index.tsx
similarity index 100%
rename from packages/ui/TargetingIndicator/index.tsx
rename to packages/ui/components/TargetingIndicator/index.tsx
diff --git a/packages/ui/TemplateList/actions.ts b/packages/ui/components/TemplateList/actions.ts
similarity index 100%
rename from packages/ui/TemplateList/actions.ts
rename to packages/ui/components/TemplateList/actions.ts
diff --git a/packages/ui/TemplateList/components/StartFromScratchTemplate.tsx b/packages/ui/components/TemplateList/components/StartFromScratchTemplate.tsx
similarity index 100%
rename from packages/ui/TemplateList/components/StartFromScratchTemplate.tsx
rename to packages/ui/components/TemplateList/components/StartFromScratchTemplate.tsx
diff --git a/packages/ui/TemplateList/components/Template.tsx b/packages/ui/components/TemplateList/components/Template.tsx
similarity index 100%
rename from packages/ui/TemplateList/components/Template.tsx
rename to packages/ui/components/TemplateList/components/Template.tsx
diff --git a/packages/ui/TemplateList/components/TemplateFilters.tsx b/packages/ui/components/TemplateList/components/TemplateFilters.tsx
similarity index 100%
rename from packages/ui/TemplateList/components/TemplateFilters.tsx
rename to packages/ui/components/TemplateList/components/TemplateFilters.tsx
diff --git a/packages/ui/TemplateList/components/TemplateTags.tsx b/packages/ui/components/TemplateList/components/TemplateTags.tsx
similarity index 100%
rename from packages/ui/TemplateList/components/TemplateTags.tsx
rename to packages/ui/components/TemplateList/components/TemplateTags.tsx
diff --git a/packages/ui/TemplateList/index.tsx b/packages/ui/components/TemplateList/index.tsx
similarity index 100%
rename from packages/ui/TemplateList/index.tsx
rename to packages/ui/components/TemplateList/index.tsx
diff --git a/packages/ui/TemplateList/lib/utils.ts b/packages/ui/components/TemplateList/lib/utils.ts
similarity index 100%
rename from packages/ui/TemplateList/lib/utils.ts
rename to packages/ui/components/TemplateList/lib/utils.ts
diff --git a/packages/ui/ToasterClient/index.tsx b/packages/ui/components/ToasterClient/index.tsx
similarity index 100%
rename from packages/ui/ToasterClient/index.tsx
rename to packages/ui/components/ToasterClient/index.tsx
diff --git a/packages/ui/Tooltip/index.tsx b/packages/ui/components/Tooltip/index.tsx
similarity index 100%
rename from packages/ui/Tooltip/index.tsx
rename to packages/ui/components/Tooltip/index.tsx
diff --git a/packages/ui/UpgradePlanNotice/index.tsx b/packages/ui/components/UpgradePlanNotice/index.tsx
similarity index 100%
rename from packages/ui/UpgradePlanNotice/index.tsx
rename to packages/ui/components/UpgradePlanNotice/index.tsx
diff --git a/packages/ui/icons/AngryBirdRage2Icon.tsx b/packages/ui/components/icons/AngryBirdRage2Icon.tsx
similarity index 100%
rename from packages/ui/icons/AngryBirdRage2Icon.tsx
rename to packages/ui/components/icons/AngryBirdRage2Icon.tsx
diff --git a/packages/ui/icons/AngryBirdRageIcon.tsx b/packages/ui/components/icons/AngryBirdRageIcon.tsx
similarity index 100%
rename from packages/ui/icons/AngryBirdRageIcon.tsx
rename to packages/ui/components/icons/AngryBirdRageIcon.tsx
diff --git a/packages/ui/icons/AppPieChartIcon.tsx b/packages/ui/components/icons/AppPieChartIcon.tsx
similarity index 100%
rename from packages/ui/icons/AppPieChartIcon.tsx
rename to packages/ui/components/icons/AppPieChartIcon.tsx
diff --git a/packages/ui/icons/ArchiveIcon.tsx b/packages/ui/components/icons/ArchiveIcon.tsx
similarity index 100%
rename from packages/ui/icons/ArchiveIcon.tsx
rename to packages/ui/components/icons/ArchiveIcon.tsx
diff --git a/packages/ui/icons/ArrowRightCircleIcon.tsx b/packages/ui/components/icons/ArrowRightCircleIcon.tsx
similarity index 100%
rename from packages/ui/icons/ArrowRightCircleIcon.tsx
rename to packages/ui/components/icons/ArrowRightCircleIcon.tsx
diff --git a/packages/ui/icons/ArrowUpRightIcon.tsx b/packages/ui/components/icons/ArrowUpRightIcon.tsx
similarity index 100%
rename from packages/ui/icons/ArrowUpRightIcon.tsx
rename to packages/ui/components/icons/ArrowUpRightIcon.tsx
diff --git a/packages/ui/icons/BackIcon.tsx b/packages/ui/components/icons/BackIcon.tsx
similarity index 100%
rename from packages/ui/icons/BackIcon.tsx
rename to packages/ui/components/icons/BackIcon.tsx
diff --git a/packages/ui/icons/BaseballIcon.tsx b/packages/ui/components/icons/BaseballIcon.tsx
similarity index 100%
rename from packages/ui/icons/BaseballIcon.tsx
rename to packages/ui/components/icons/BaseballIcon.tsx
diff --git a/packages/ui/icons/BellIcon.tsx b/packages/ui/components/icons/BellIcon.tsx
similarity index 100%
rename from packages/ui/icons/BellIcon.tsx
rename to packages/ui/components/icons/BellIcon.tsx
diff --git a/packages/ui/icons/BrainIcon.tsx b/packages/ui/components/icons/BrainIcon.tsx
similarity index 100%
rename from packages/ui/icons/BrainIcon.tsx
rename to packages/ui/components/icons/BrainIcon.tsx
diff --git a/packages/ui/icons/BugBlueIcon.tsx b/packages/ui/components/icons/BugBlueIcon.tsx
similarity index 100%
rename from packages/ui/icons/BugBlueIcon.tsx
rename to packages/ui/components/icons/BugBlueIcon.tsx
diff --git a/packages/ui/icons/BugIcon.tsx b/packages/ui/components/icons/BugIcon.tsx
similarity index 100%
rename from packages/ui/icons/BugIcon.tsx
rename to packages/ui/components/icons/BugIcon.tsx
diff --git a/packages/ui/icons/CancelSubscriptionIcon.tsx b/packages/ui/components/icons/CancelSubscriptionIcon.tsx
similarity index 100%
rename from packages/ui/icons/CancelSubscriptionIcon.tsx
rename to packages/ui/components/icons/CancelSubscriptionIcon.tsx
diff --git a/packages/ui/icons/CashCalculatorIcon.tsx b/packages/ui/components/icons/CashCalculatorIcon.tsx
similarity index 100%
rename from packages/ui/icons/CashCalculatorIcon.tsx
rename to packages/ui/components/icons/CashCalculatorIcon.tsx
diff --git a/packages/ui/icons/CasualCardArrangementIcon.tsx b/packages/ui/components/icons/CasualCardArrangementIcon.tsx
similarity index 100%
rename from packages/ui/icons/CasualCardArrangementIcon.tsx
rename to packages/ui/components/icons/CasualCardArrangementIcon.tsx
diff --git a/packages/ui/icons/CheckMarkIcon.tsx b/packages/ui/components/icons/CheckMarkIcon.tsx
similarity index 100%
rename from packages/ui/icons/CheckMarkIcon.tsx
rename to packages/ui/components/icons/CheckMarkIcon.tsx
diff --git a/packages/ui/icons/ClockIcon.tsx b/packages/ui/components/icons/ClockIcon.tsx
similarity index 100%
rename from packages/ui/icons/ClockIcon.tsx
rename to packages/ui/components/icons/ClockIcon.tsx
diff --git a/packages/ui/icons/CodeBookIcon.tsx b/packages/ui/components/icons/CodeBookIcon.tsx
similarity index 100%
rename from packages/ui/icons/CodeBookIcon.tsx
rename to packages/ui/components/icons/CodeBookIcon.tsx
diff --git a/packages/ui/icons/CodeFileIcon.tsx b/packages/ui/components/icons/CodeFileIcon.tsx
similarity index 100%
rename from packages/ui/icons/CodeFileIcon.tsx
rename to packages/ui/components/icons/CodeFileIcon.tsx
diff --git a/packages/ui/icons/ComplimentIcon.tsx b/packages/ui/components/icons/ComplimentIcon.tsx
similarity index 100%
rename from packages/ui/icons/ComplimentIcon.tsx
rename to packages/ui/components/icons/ComplimentIcon.tsx
diff --git a/packages/ui/icons/CrossMarkIcon.tsx b/packages/ui/components/icons/CrossMarkIcon.tsx
similarity index 100%
rename from packages/ui/icons/CrossMarkIcon.tsx
rename to packages/ui/components/icons/CrossMarkIcon.tsx
diff --git a/packages/ui/icons/CustomersIcon.tsx b/packages/ui/components/icons/CustomersIcon.tsx
similarity index 100%
rename from packages/ui/icons/CustomersIcon.tsx
rename to packages/ui/components/icons/CustomersIcon.tsx
diff --git a/packages/ui/icons/DashboardIcon.tsx b/packages/ui/components/icons/DashboardIcon.tsx
similarity index 100%
rename from packages/ui/icons/DashboardIcon.tsx
rename to packages/ui/components/icons/DashboardIcon.tsx
diff --git a/packages/ui/icons/DogChaserIcon.tsx b/packages/ui/components/icons/DogChaserIcon.tsx
similarity index 100%
rename from packages/ui/icons/DogChaserIcon.tsx
rename to packages/ui/components/icons/DogChaserIcon.tsx
diff --git a/packages/ui/icons/DoorIcon.tsx b/packages/ui/components/icons/DoorIcon.tsx
similarity index 100%
rename from packages/ui/icons/DoorIcon.tsx
rename to packages/ui/components/icons/DoorIcon.tsx
diff --git a/packages/ui/icons/EmailIcon.tsx b/packages/ui/components/icons/EmailIcon.tsx
similarity index 100%
rename from packages/ui/icons/EmailIcon.tsx
rename to packages/ui/components/icons/EmailIcon.tsx
diff --git a/packages/ui/icons/EngineerIcon.tsx b/packages/ui/components/icons/EngineerIcon.tsx
similarity index 100%
rename from packages/ui/icons/EngineerIcon.tsx
rename to packages/ui/components/icons/EngineerIcon.tsx
diff --git a/packages/ui/icons/EyeIcon.tsx b/packages/ui/components/icons/EyeIcon.tsx
similarity index 100%
rename from packages/ui/icons/EyeIcon.tsx
rename to packages/ui/components/icons/EyeIcon.tsx
diff --git a/packages/ui/icons/FeatureRequestIcon.tsx b/packages/ui/components/icons/FeatureRequestIcon.tsx
similarity index 100%
rename from packages/ui/icons/FeatureRequestIcon.tsx
rename to packages/ui/components/icons/FeatureRequestIcon.tsx
diff --git a/packages/ui/icons/FeedbackIcon.tsx b/packages/ui/components/icons/FeedbackIcon.tsx
similarity index 100%
rename from packages/ui/icons/FeedbackIcon.tsx
rename to packages/ui/components/icons/FeedbackIcon.tsx
diff --git a/packages/ui/icons/FilterIcon.tsx b/packages/ui/components/icons/FilterIcon.tsx
similarity index 100%
rename from packages/ui/icons/FilterIcon.tsx
rename to packages/ui/components/icons/FilterIcon.tsx
diff --git a/packages/ui/icons/FormIcon.tsx b/packages/ui/components/icons/FormIcon.tsx
similarity index 100%
rename from packages/ui/icons/FormIcon.tsx
rename to packages/ui/components/icons/FormIcon.tsx
diff --git a/packages/ui/icons/FounderIcon.tsx b/packages/ui/components/icons/FounderIcon.tsx
similarity index 100%
rename from packages/ui/icons/FounderIcon.tsx
rename to packages/ui/components/icons/FounderIcon.tsx
diff --git a/packages/ui/icons/GaugeSpeedFastIcon.tsx b/packages/ui/components/icons/GaugeSpeedFastIcon.tsx
similarity index 100%
rename from packages/ui/icons/GaugeSpeedFastIcon.tsx
rename to packages/ui/components/icons/GaugeSpeedFastIcon.tsx
diff --git a/packages/ui/icons/GithubIcon.tsx b/packages/ui/components/icons/GithubIcon.tsx
similarity index 100%
rename from packages/ui/icons/GithubIcon.tsx
rename to packages/ui/components/icons/GithubIcon.tsx
diff --git a/packages/ui/icons/GoogleIcon.tsx b/packages/ui/components/icons/GoogleIcon.tsx
similarity index 100%
rename from packages/ui/icons/GoogleIcon.tsx
rename to packages/ui/components/icons/GoogleIcon.tsx
diff --git a/packages/ui/icons/HandPuzzleIcon.tsx b/packages/ui/components/icons/HandPuzzleIcon.tsx
similarity index 100%
rename from packages/ui/icons/HandPuzzleIcon.tsx
rename to packages/ui/components/icons/HandPuzzleIcon.tsx
diff --git a/packages/ui/icons/HeartCommentIcon.tsx b/packages/ui/components/icons/HeartCommentIcon.tsx
similarity index 100%
rename from packages/ui/icons/HeartCommentIcon.tsx
rename to packages/ui/components/icons/HeartCommentIcon.tsx
diff --git a/packages/ui/icons/Html5Icon.tsx b/packages/ui/components/icons/Html5Icon.tsx
similarity index 100%
rename from packages/ui/icons/Html5Icon.tsx
rename to packages/ui/components/icons/Html5Icon.tsx
diff --git a/packages/ui/icons/IdeaIcon.tsx b/packages/ui/components/icons/IdeaIcon.tsx
similarity index 100%
rename from packages/ui/icons/IdeaIcon.tsx
rename to packages/ui/components/icons/IdeaIcon.tsx
diff --git a/packages/ui/icons/InterviewPromptIcon.tsx b/packages/ui/components/icons/InterviewPromptIcon.tsx
similarity index 100%
rename from packages/ui/icons/InterviewPromptIcon.tsx
rename to packages/ui/components/icons/InterviewPromptIcon.tsx
diff --git a/packages/ui/icons/LaptopWorkerIcon.tsx b/packages/ui/components/icons/LaptopWorkerIcon.tsx
similarity index 100%
rename from packages/ui/icons/LaptopWorkerIcon.tsx
rename to packages/ui/components/icons/LaptopWorkerIcon.tsx
diff --git a/packages/ui/icons/LoadingBarIcon.tsx b/packages/ui/components/icons/LoadingBarIcon.tsx
similarity index 100%
rename from packages/ui/icons/LoadingBarIcon.tsx
rename to packages/ui/components/icons/LoadingBarIcon.tsx
diff --git a/packages/ui/icons/MicrosoftIcon.tsx b/packages/ui/components/icons/MicrosoftIcon.tsx
similarity index 100%
rename from packages/ui/icons/MicrosoftIcon.tsx
rename to packages/ui/components/icons/MicrosoftIcon.tsx
diff --git a/packages/ui/icons/NetPromoterScoreIcon.tsx b/packages/ui/components/icons/NetPromoterScoreIcon.tsx
similarity index 100%
rename from packages/ui/icons/NetPromoterScoreIcon.tsx
rename to packages/ui/components/icons/NetPromoterScoreIcon.tsx
diff --git a/packages/ui/icons/NotDisappointedIcon.tsx b/packages/ui/components/icons/NotDisappointedIcon.tsx
similarity index 100%
rename from packages/ui/icons/NotDisappointedIcon.tsx
rename to packages/ui/components/icons/NotDisappointedIcon.tsx
diff --git a/packages/ui/icons/NpmIcon.tsx b/packages/ui/components/icons/NpmIcon.tsx
similarity index 100%
rename from packages/ui/icons/NpmIcon.tsx
rename to packages/ui/components/icons/NpmIcon.tsx
diff --git a/packages/ui/icons/OnboardingIcon.tsx b/packages/ui/components/icons/OnboardingIcon.tsx
similarity index 100%
rename from packages/ui/icons/OnboardingIcon.tsx
rename to packages/ui/components/icons/OnboardingIcon.tsx
diff --git a/packages/ui/icons/PMFIcon.tsx b/packages/ui/components/icons/PMFIcon.tsx
similarity index 100%
rename from packages/ui/icons/PMFIcon.tsx
rename to packages/ui/components/icons/PMFIcon.tsx
diff --git a/packages/ui/icons/SettingsIcon.tsx b/packages/ui/components/icons/SettingsIcon.tsx
similarity index 100%
rename from packages/ui/icons/SettingsIcon.tsx
rename to packages/ui/components/icons/SettingsIcon.tsx
diff --git a/packages/ui/icons/SimpleCardArrangementIcon.tsx b/packages/ui/components/icons/SimpleCardArrangementIcon.tsx
similarity index 100%
rename from packages/ui/icons/SimpleCardArrangementIcon.tsx
rename to packages/ui/components/icons/SimpleCardArrangementIcon.tsx
diff --git a/packages/ui/icons/SkyscraperIcon.tsx b/packages/ui/components/icons/SkyscraperIcon.tsx
similarity index 100%
rename from packages/ui/icons/SkyscraperIcon.tsx
rename to packages/ui/components/icons/SkyscraperIcon.tsx
diff --git a/packages/ui/icons/SlackIcon.tsx b/packages/ui/components/icons/SlackIcon.tsx
similarity index 100%
rename from packages/ui/icons/SlackIcon.tsx
rename to packages/ui/components/icons/SlackIcon.tsx
diff --git a/packages/ui/icons/SomewhatDisappointedIcon.tsx b/packages/ui/components/icons/SomewhatDisappointedIcon.tsx
similarity index 100%
rename from packages/ui/icons/SomewhatDisappointedIcon.tsx
rename to packages/ui/components/icons/SomewhatDisappointedIcon.tsx
diff --git a/packages/ui/icons/StraightCardArrangementIcon.tsx b/packages/ui/components/icons/StraightCardArrangementIcon.tsx
similarity index 100%
rename from packages/ui/icons/StraightCardArrangementIcon.tsx
rename to packages/ui/components/icons/StraightCardArrangementIcon.tsx
diff --git a/packages/ui/icons/TabletTouchIcon.tsx b/packages/ui/components/icons/TabletTouchIcon.tsx
similarity index 100%
rename from packages/ui/icons/TabletTouchIcon.tsx
rename to packages/ui/components/icons/TabletTouchIcon.tsx
diff --git a/packages/ui/icons/TaskListSearchIcon.tsx b/packages/ui/components/icons/TaskListSearchIcon.tsx
similarity index 100%
rename from packages/ui/icons/TaskListSearchIcon.tsx
rename to packages/ui/components/icons/TaskListSearchIcon.tsx
diff --git a/packages/ui/icons/UserCommentIcon.tsx b/packages/ui/components/icons/UserCommentIcon.tsx
similarity index 100%
rename from packages/ui/icons/UserCommentIcon.tsx
rename to packages/ui/components/icons/UserCommentIcon.tsx
diff --git a/packages/ui/icons/UserCoupleIcon.tsx b/packages/ui/components/icons/UserCoupleIcon.tsx
similarity index 100%
rename from packages/ui/icons/UserCoupleIcon.tsx
rename to packages/ui/components/icons/UserCoupleIcon.tsx
diff --git a/packages/ui/icons/UserDeveloperIcon.tsx b/packages/ui/components/icons/UserDeveloperIcon.tsx
similarity index 100%
rename from packages/ui/icons/UserDeveloperIcon.tsx
rename to packages/ui/components/icons/UserDeveloperIcon.tsx
diff --git a/packages/ui/icons/UserGroupIcon.tsx b/packages/ui/components/icons/UserGroupIcon.tsx
similarity index 100%
rename from packages/ui/icons/UserGroupIcon.tsx
rename to packages/ui/components/icons/UserGroupIcon.tsx
diff --git a/packages/ui/icons/UserSearchGlasIcon.tsx b/packages/ui/components/icons/UserSearchGlasIcon.tsx
similarity index 100%
rename from packages/ui/icons/UserSearchGlasIcon.tsx
rename to packages/ui/components/icons/UserSearchGlasIcon.tsx
diff --git a/packages/ui/icons/VeryDisappointedIcon.tsx b/packages/ui/components/icons/VeryDisappointedIcon.tsx
similarity index 100%
rename from packages/ui/icons/VeryDisappointedIcon.tsx
rename to packages/ui/components/icons/VeryDisappointedIcon.tsx
diff --git a/packages/ui/icons/VideoTabletAdjustIcon.tsx b/packages/ui/components/icons/VideoTabletAdjustIcon.tsx
similarity index 100%
rename from packages/ui/icons/VideoTabletAdjustIcon.tsx
rename to packages/ui/components/icons/VideoTabletAdjustIcon.tsx
diff --git a/packages/ui/icons/index.tsx b/packages/ui/components/icons/index.tsx
similarity index 100%
rename from packages/ui/icons/index.tsx
rename to packages/ui/components/icons/index.tsx
diff --git a/packages/ui/organisms/CodeActionForm/index.tsx b/packages/ui/components/organisms/CodeActionForm/index.tsx
similarity index 100%
rename from packages/ui/organisms/CodeActionForm/index.tsx
rename to packages/ui/components/organisms/CodeActionForm/index.tsx
diff --git a/packages/ui/organisms/NoCodeActionForm/components/CssSelector.tsx b/packages/ui/components/organisms/NoCodeActionForm/components/CssSelector.tsx
similarity index 100%
rename from packages/ui/organisms/NoCodeActionForm/components/CssSelector.tsx
rename to packages/ui/components/organisms/NoCodeActionForm/components/CssSelector.tsx
diff --git a/packages/ui/organisms/NoCodeActionForm/components/InnerHtmlSelector.tsx b/packages/ui/components/organisms/NoCodeActionForm/components/InnerHtmlSelector.tsx
similarity index 100%
rename from packages/ui/organisms/NoCodeActionForm/components/InnerHtmlSelector.tsx
rename to packages/ui/components/organisms/NoCodeActionForm/components/InnerHtmlSelector.tsx
diff --git a/packages/ui/organisms/NoCodeActionForm/components/PageUrlSelector.tsx b/packages/ui/components/organisms/NoCodeActionForm/components/PageUrlSelector.tsx
similarity index 100%
rename from packages/ui/organisms/NoCodeActionForm/components/PageUrlSelector.tsx
rename to packages/ui/components/organisms/NoCodeActionForm/components/PageUrlSelector.tsx
diff --git a/packages/ui/organisms/NoCodeActionForm/index.tsx b/packages/ui/components/organisms/NoCodeActionForm/index.tsx
similarity index 100%
rename from packages/ui/organisms/NoCodeActionForm/index.tsx
rename to packages/ui/components/organisms/NoCodeActionForm/index.tsx
diff --git a/apps/web/app/globals.css b/packages/ui/globals.css
similarity index 100%
rename from apps/web/app/globals.css
rename to packages/ui/globals.css
diff --git a/packages/ui/lib/utils.ts b/packages/ui/lib/utils.ts
new file mode 100644
index 0000000000..365058cebd
--- /dev/null
+++ b/packages/ui/lib/utils.ts
@@ -0,0 +1,6 @@
+import { type ClassValue, clsx } from "clsx";
+import { twMerge } from "tailwind-merge";
+
+export function cn(...inputs: ClassValue[]) {
+ return twMerge(clsx(inputs));
+}
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 249cc520cd..bbd78a0486 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -10,9 +10,9 @@
},
"devDependencies": {
"@formbricks/config-typescript": "workspace:*",
+ "@formbricks/eslint-config": "workspace:*",
"@formbricks/types": "workspace:*",
"concurrently": "^8.2.2",
- "@formbricks/eslint-config": "workspace:*",
"postcss": "^8.4.41",
"react": "18.3.1"
},
@@ -36,8 +36,12 @@
"@radix-ui/react-radio-group": "^1.2.0",
"@radix-ui/react-select": "^2.1.1",
"@radix-ui/react-slider": "^1.2.0",
+ "@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-switch": "^1.1.0",
"@radix-ui/react-tooltip": "^1.1.2",
+ "@tailwindcss/forms": "^0.5.9",
+ "@tailwindcss/typography": "^0.5.13",
+ "autoprefixer": "^10.4.20",
"boring-avatars": "^1.10.2",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
@@ -50,6 +54,8 @@
"react-day-picker": "^9.0.8",
"react-hot-toast": "^2.4.1",
"react-radio-group": "^3.0.3",
- "react-use": "^17.5.1"
+ "react-use": "^17.5.1",
+ "tailwind-merge": "^2.5.2",
+ "tailwindcss": "^3.4.13"
}
}
diff --git a/packages/ui/tailwind.config.js b/packages/ui/tailwind.config.js
index 4e148e75dc..4205af0666 100644
--- a/packages/ui/tailwind.config.js
+++ b/packages/ui/tailwind.config.js
@@ -1 +1,125 @@
-/** @type {import('tailwindcss').Config} */
+module.exports = {
+ content: [
+ // app content
+ "./app/**/*.{js,ts,jsx,tsx}", // Note the addition of the `app` directory.
+ "./pages/**/*.{js,ts,jsx,tsx}",
+ // include packages if not transpiling
+ "../../packages/ui/**/*.{ts,tsx}",
+ ],
+ theme: {
+ extend: {
+ animation: {
+ "ping-slow": "ping 2s cubic-bezier(0, 0, 0.2, 1) infinite",
+ shake: "shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both",
+ "accordion-down": "accordion-down 0.2s ease-out",
+ "accordion-up": "accordion-up 0.2s ease-out",
+ fadeIn: "fadeIn 0.2s ease-out",
+ fadeOut: "fadeOut 0.2s ease-out",
+ surveyLoading: "surveyLoadingAnimation 0.5s ease-out forwards",
+ surveyExit: "surveyExitAnimation 0.5s ease-out forwards",
+ },
+ blur: {
+ xxs: "0.33px",
+ xs: "2px",
+ },
+ backgroundImage: {
+ "gradient-radial": "radial-gradient(var(--tw-gradient-stops))",
+ },
+ boxShadow: {
+ "card-sm": "0px 0.5px 12px -5px rgba(30,41,59,0.20)",
+ "card-md": "0px 1px 25px -10px rgba(30,41,59,0.30)",
+ "card-lg": "0px 2px 51px -19px rgba(30,41,59,0.40)",
+ },
+ colors: {
+ brand: {
+ DEFAULT: "#00E6CA",
+ light: "#00E6CA",
+ dark: "#00C4B8",
+ },
+ focus: "var(--formbricks-focus, #1982fc)",
+ error: "rgb(from var(--formbricks-error) r g b / )",
+ brandnew: "var(--formbricks-brand, #038178)",
+ borderColor: {
+ primary: "var(--formbricks-border-primary, #e0e0e0)",
+ secondary: "var(--formbricks-border-secondary, #0f172a)",
+ disabled: "var(--formbricks-border-disabled, #ececec)",
+ },
+ labelColor: {
+ primary: "var(--formbricks-label-primary, #0f172a)",
+ secondary: "var(--formbricks-label-secondary, #384258)",
+ disabled: "var(--formbricks-label-disabled, #bdbdbd)",
+ },
+ fill: {
+ primary: "var(--formbricks-fill-primary, #fefefe)",
+ secondary: "var(--formbricks-fill-secondary, #0f172a)",
+ disabled: "var(--formbricks-fill-disabled, #e0e0e0)",
+ },
+ },
+ keyframes: {
+ fadeIn: {
+ "0%": { opacity: "0" },
+ "100%": { opacity: "1" },
+ },
+ fadeOut: {
+ "0%": { opacity: "1" },
+ "100%": { opacity: "0" },
+ },
+ shake: {
+ "10%, 90%": {
+ transform: "translate3d(-1px, 0, 0)",
+ },
+
+ "20%, 80%": {
+ transform: "translate3d(2px, 0, 0),",
+ },
+
+ "30%, 50%, 70%": {
+ transform: "translate3d(-4px, 0, 0)",
+ },
+
+ "40%, 60%": {
+ transform: "translate3d(4px, 0, 0)",
+ },
+ },
+ "accordion-down": {
+ from: { height: 0 },
+ to: { height: "var(--radix-accordion-content-height)" },
+ },
+ "accordion-up": {
+ from: { height: "var(--radix-accordion-content-height)" },
+ to: { height: 0 },
+ },
+ surveyLoadingAnimation: {
+ "0%": { transform: "translateY(50px)", opacity: "0" },
+ "100%": { transform: "translateY(0)", opacity: "1" },
+ },
+ surveyExitAnimation: {
+ "0%": { transform: "translateY(0)", opacity: "1" },
+ "100%": { transform: "translateY(-50px)", opacity: "0" },
+ },
+ },
+ width: {
+ "sidebar-expanded": "4rem",
+ "sidebar-collapsed": "14rem",
+ },
+ transitionProperty: {
+ width: "width",
+ },
+ maxWidth: {
+ "8xl": "88rem",
+ },
+ screens: {
+ xs: "430px",
+ },
+ scale: {
+ 97: "0.97",
+ },
+ gridTemplateColumns: {
+ 20: "repeat(20, minmax(0, 1fr))",
+ },
+ },
+ },
+ safelist: [{ pattern: /max-w-./, variants: "sm" }],
+ darkMode: "class", // Set dark mode to use the 'class' strategy
+ plugins: [require("@tailwindcss/forms"), require("@tailwindcss/typography")],
+};
diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json
index 8d01a321c2..9516338106 100644
--- a/packages/ui/tsconfig.json
+++ b/packages/ui/tsconfig.json
@@ -3,6 +3,10 @@
"include": [".", "../types/*.d.ts", "../lib/templates.ts"],
"exclude": ["build", "node_modules"],
"compilerOptions": {
+ "baseUrl": ".",
+ "paths": {
+ "@formbricks/ui/*": ["./*"]
+ },
"lib": ["ES2021.String"]
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b5da292668..bd943c2142 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -364,9 +364,6 @@ importers:
'@formbricks/api':
specifier: workspace:*
version: link:../../packages/api
- '@formbricks/config-tailwind':
- specifier: workspace:*
- version: link:../../packages/config-tailwind
'@formbricks/database':
specifier: workspace:*
version: link:../../packages/database
@@ -606,24 +603,6 @@ importers:
specifier: ^0.6.6
version: 0.6.6(@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.3.3))(prettier@3.3.3)
- packages/config-tailwind:
- devDependencies:
- '@tailwindcss/forms':
- specifier: ^0.5.7
- version: 0.5.7(tailwindcss@3.4.10(ts-node@10.9.2))
- '@tailwindcss/typography':
- specifier: ^0.5.14
- version: 0.5.14(tailwindcss@3.4.10(ts-node@10.9.2))
- autoprefixer:
- specifier: ^10.4.20
- version: 10.4.20(postcss@8.4.41)
- postcss:
- specifier: ^8.4.41
- version: 8.4.41
- tailwindcss:
- specifier: ^3.4.10
- version: 3.4.10(ts-node@10.9.2(@types/node@22.3.0)(typescript@5.5.4))
-
packages/config-typescript:
devDependencies:
'@types/node':
@@ -1102,12 +1081,24 @@ importers:
'@radix-ui/react-slider':
specifier: ^1.2.0
version: 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@19.0.0-rc-935180c7e0-20240524(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot':
+ specifier: ^1.1.0
+ version: 1.1.0(@types/react@18.3.3)(react@18.3.1)
'@radix-ui/react-switch':
specifier: ^1.1.0
version: 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@19.0.0-rc-935180c7e0-20240524(react@18.3.1))(react@18.3.1)
'@radix-ui/react-tooltip':
specifier: ^1.1.2
version: 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@19.0.0-rc-935180c7e0-20240524(react@18.3.1))(react@18.3.1)
+ '@tailwindcss/forms':
+ specifier: ^0.5.9
+ version: 0.5.9(tailwindcss@3.4.13(ts-node@10.9.2))
+ '@tailwindcss/typography':
+ specifier: ^0.5.13
+ version: 0.5.13(tailwindcss@3.4.13(ts-node@10.9.2))
+ autoprefixer:
+ specifier: ^10.4.20
+ version: 10.4.20(postcss@8.4.41)
boring-avatars:
specifier: ^1.10.2
version: 1.10.2
@@ -1147,6 +1138,12 @@ importers:
react-use:
specifier: ^17.5.1
version: 17.5.1(react-dom@19.0.0-rc-935180c7e0-20240524(react@18.3.1))(react@18.3.1)
+ tailwind-merge:
+ specifier: ^2.5.2
+ version: 2.5.2
+ tailwindcss:
+ specifier: ^3.4.13
+ version: 3.4.13(ts-node@10.9.2)
devDependencies:
'@formbricks/config-typescript':
specifier: workspace:*
@@ -5546,21 +5543,16 @@ packages:
typescript:
optional: true
- '@tailwindcss/forms@0.5.7':
- resolution: {integrity: sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==}
+ '@tailwindcss/forms@0.5.9':
+ resolution: {integrity: sha512-tM4XVr2+UVTxXJzey9Twx48c1gcxFStqn1pQz0tRsX8o3DvxhN5oY5pvyAbUx7VTaZxpej4Zzvc6h+1RJBzpIg==}
peerDependencies:
- tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1'
+ tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20'
'@tailwindcss/typography@0.5.13':
resolution: {integrity: sha512-ADGcJ8dX21dVVHIwTRgzrcunY6YY9uSlAHHGVKvkA+vLc5qLwEszvKts40lx7z0qc4clpjclwLeK5rVCV2P/uw==}
peerDependencies:
tailwindcss: '>=3.0.0 || insiders'
- '@tailwindcss/typography@0.5.14':
- resolution: {integrity: sha512-ZvOCjUbsJBjL9CxQBn+VEnFpouzuKhxh2dH8xMIWHILL+HfOYtlAkWcyoon8LlzE53d2Yo6YO6pahKKNW3q1YQ==}
- peerDependencies:
- tailwindcss: '>=3.0.0 || insiders'
-
'@tanstack/react-table@8.20.1':
resolution: {integrity: sha512-PJK+07qbengObe5l7c8vCdtefXm8cyR4i078acWrHbdm8JKw1ES7YpmOtVt9ALUVEEFAHscdVpGRhRgikgFMbQ==}
engines: {node: '>=12'}
@@ -12356,6 +12348,11 @@ packages:
engines: {node: '>=14.0.0'}
hasBin: true
+ tailwindcss@3.4.13:
+ resolution: {integrity: sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+
tailwindcss@3.4.7:
resolution: {integrity: sha512-rxWZbe87YJb4OcSopb7up2Ba4U82BoiSGUdoDr3Ydrg9ckxFS/YWsvhN323GMcddgU65QRy7JndC7ahhInhvlQ==}
engines: {node: '>=14.0.0'}
@@ -14283,7 +14280,7 @@ snapshots:
dependencies:
'@babel/compat-data': 7.24.7
'@babel/helper-validator-option': 7.24.7
- browserslist: 4.23.1
+ browserslist: 4.23.3
lru-cache: 5.1.1
semver: 6.3.1
@@ -14291,7 +14288,7 @@ snapshots:
dependencies:
'@babel/compat-data': 7.25.2
'@babel/helper-validator-option': 7.24.8
- browserslist: 4.23.1
+ browserslist: 4.23.3
lru-cache: 5.1.1
semver: 6.3.1
@@ -19812,10 +19809,18 @@ snapshots:
optionalDependencies:
typescript: 5.5.4
- '@tailwindcss/forms@0.5.7(tailwindcss@3.4.10(ts-node@10.9.2))':
+ '@tailwindcss/forms@0.5.9(tailwindcss@3.4.13(ts-node@10.9.2))':
dependencies:
mini-svg-data-uri: 1.4.4
- tailwindcss: 3.4.10(ts-node@10.9.2(@types/node@22.3.0)(typescript@5.5.4))
+ tailwindcss: 3.4.13(ts-node@10.9.2)
+
+ '@tailwindcss/typography@0.5.13(tailwindcss@3.4.13(ts-node@10.9.2))':
+ dependencies:
+ lodash.castarray: 4.4.0
+ lodash.isplainobject: 4.0.6
+ lodash.merge: 4.6.2
+ postcss-selector-parser: 6.0.10
+ tailwindcss: 3.4.13(ts-node@10.9.2)
'@tailwindcss/typography@0.5.13(tailwindcss@3.4.7(ts-node@10.9.2(typescript@5.5.4)))':
dependencies:
@@ -19825,14 +19830,6 @@ snapshots:
postcss-selector-parser: 6.0.10
tailwindcss: 3.4.7(ts-node@10.9.2(typescript@5.5.4))
- '@tailwindcss/typography@0.5.14(tailwindcss@3.4.10(ts-node@10.9.2))':
- dependencies:
- lodash.castarray: 4.4.0
- lodash.isplainobject: 4.0.6
- lodash.merge: 4.6.2
- postcss-selector-parser: 6.0.10
- tailwindcss: 3.4.10(ts-node@10.9.2(@types/node@22.3.0)(typescript@5.5.4))
-
'@tanstack/react-table@8.20.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@tanstack/table-core': 8.20.1
@@ -21034,8 +21031,8 @@ snapshots:
autoprefixer@10.4.14(postcss@8.4.38):
dependencies:
- browserslist: 4.23.1
- caniuse-lite: 1.0.30001636
+ browserslist: 4.23.3
+ caniuse-lite: 1.0.30001651
fraction.js: 4.3.7
normalize-range: 0.1.2
picocolors: 1.0.1
@@ -21317,7 +21314,7 @@ snapshots:
browserslist@4.23.1:
dependencies:
- caniuse-lite: 1.0.30001636
+ caniuse-lite: 1.0.30001651
electron-to-chromium: 1.4.803
node-releases: 2.0.14
update-browserslist-db: 1.0.16(browserslist@4.23.1)
@@ -21820,7 +21817,7 @@ snapshots:
core-js-compat@3.37.1:
dependencies:
- browserslist: 4.23.1
+ browserslist: 4.23.3
core-util-is@1.0.3: {}
@@ -25794,7 +25791,7 @@ snapshots:
'@next/env': 14.1.4
'@swc/helpers': 0.5.2
busboy: 1.6.0
- caniuse-lite: 1.0.30001636
+ caniuse-lite: 1.0.30001651
graceful-fs: 4.2.11
postcss: 8.4.31
react: 18.3.1
@@ -28389,6 +28386,33 @@ snapshots:
transitivePeerDependencies:
- ts-node
+ tailwindcss@3.4.13(ts-node@10.9.2):
+ dependencies:
+ '@alloc/quick-lru': 5.2.0
+ arg: 5.0.2
+ chokidar: 3.6.0
+ didyoumean: 1.2.2
+ dlv: 1.1.3
+ fast-glob: 3.3.2
+ glob-parent: 6.0.2
+ is-glob: 4.0.3
+ jiti: 1.21.6
+ lilconfig: 2.1.0
+ micromatch: 4.0.7
+ normalize-path: 3.0.0
+ object-hash: 3.0.0
+ picocolors: 1.0.1
+ postcss: 8.4.41
+ postcss-import: 15.1.0(postcss@8.4.41)
+ postcss-js: 4.0.1(postcss@8.4.41)
+ postcss-load-config: 4.0.2(postcss@8.4.41)(ts-node@10.9.2(@types/node@22.3.0)(typescript@5.5.4))
+ postcss-nested: 6.0.1(postcss@8.4.41)
+ postcss-selector-parser: 6.1.0
+ resolve: 1.22.8
+ sucrase: 3.35.0
+ transitivePeerDependencies:
+ - ts-node
+
tailwindcss@3.4.7(ts-node@10.9.2(typescript@5.5.4)):
dependencies:
'@alloc/quick-lru': 5.2.0