diff --git a/apps/demo/globals.css b/apps/demo/globals.css new file mode 100644 index 0000000000..b5c61c9567 --- /dev/null +++ b/apps/demo/globals.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/apps/demo/package.json b/apps/demo/package.json index 394a65d7c1..c18b283e74 100644 --- a/apps/demo/package.json +++ b/apps/demo/package.json @@ -12,7 +12,6 @@ }, "dependencies": { "@formbricks/js": "workspace:*", - "@formbricks/ui": "workspace:*", "lucide-react": "0.452.0", "next": "15.0.3", "react": "19.0.0-rc-ed15d500-20241110", diff --git a/apps/demo/pages/_app.tsx b/apps/demo/pages/_app.tsx index c50c3c3c52..e21509444b 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 "@formbricks/ui/globals.css"; +import "../globals.css"; const App = ({ Component, pageProps }: AppProps) => { return ( diff --git a/apps/docs/app/best-practices/docs-feedback/page.mdx b/apps/docs/app/best-practices/docs-feedback/page.mdx index b39d262552..0a098545ba 100644 --- a/apps/docs/app/best-practices/docs-feedback/page.mdx +++ b/apps/docs/app/best-practices/docs-feedback/page.mdx @@ -127,10 +127,10 @@ Locate that file. We are using the [Tailwind Template “Syntax”](https://tail ```tsx +import { Button } from "@/modules/ui/components/Button"; +import { Popover, PopoverContent, PopoverTrigger } from "@/modules/ui/popover"; import { useRouter } from "next/router"; import { useState } from "react"; -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 deleted file mode 100644 index c78d18dd73..0000000000 --- a/apps/docs/app/developer-docs/contributing/get-started/components/FAQ.tsx +++ /dev/null @@ -1,83 +0,0 @@ -import { - Accordion, - AccordionContent, - AccordionItem, - AccordionTrigger, -} from "@formbricks/ui/components/Accordion"; -import { FaqJsonLdComponent } from "./FAQPageJsonLd"; - -const FAQ_DATA = [ - { - question: "What is an environment ID?", - answer: () => ( - <> - The environment ID is a unique identifier associated with each Environment in Formbricks, - distinguishing between different setups like production, development, etc. - - ), - }, - { - question: "How can I implement authentication for the Formbricks API?", - answer: () => ( - <> - Formbricks provides 2 types of API keys for each environment ie development and production. You can - generate, view, and manage these keys in the Settings section on the Admin dashboard. Include the API - key in your requests to authenticate and gain access to Formbricks functionalities. - - ), - }, - { - question: "Can I run the deployment shell script on any server?", - answer: () => ( - <> - You can run it on any machine you own as long as its running a Linux Ubuntu distribution. And - to forward the requests, make sure you have an A record setup for your domain pointing to the - server. - - ), - }, - { - question: "Can I self-host Formbricks?", - answer: () => ( - <> - Absolutely! We provide an option for users to host Formbricks on their own server, ensuring even more - control over data and compliance. And the best part? Self-hosting is available for free, always. For - documentation on self hosting, click{" "} - - here - - . - - ), - }, - { - question: "How can I change Button texts in my survey?", - answer: () => ( - <> - For the question that you want to change the button text, click on the Show Advanced Settings{" "} - toggle and change the button label in the Button Text field. - - ), - }, -]; - -export const faqJsonLdData = FAQ_DATA.map((faq) => ({ - questionName: faq.question, - acceptedAnswerText: faq.answer(), -})); - -export const FAQ = () => { - return ( - <> - - - {FAQ_DATA.map((faq, index) => ( - - {faq.question} - {faq.answer()} - - ))} - - - ); -}; diff --git a/apps/docs/app/developer-docs/contributing/get-started/components/FAQPageJsonLd.tsx b/apps/docs/app/developer-docs/contributing/get-started/components/FAQPageJsonLd.tsx deleted file mode 100644 index a2b948fc8d..0000000000 --- a/apps/docs/app/developer-docs/contributing/get-started/components/FAQPageJsonLd.tsx +++ /dev/null @@ -1,12 +0,0 @@ -"use client"; - -import { FAQPageJsonLd } from "next-seo"; - -export const FaqJsonLdComponent = ({ data }) => { - const faqEntities = data.map(({ question, answer }) => ({ - questionName: question, - acceptedAnswerText: answer, - })); - - return ; -}; diff --git a/apps/docs/next.config.mjs b/apps/docs/next.config.mjs index e3ee4cc31c..e9613b2e24 100644 --- a/apps/docs/next.config.mjs +++ b/apps/docs/next.config.mjs @@ -16,7 +16,7 @@ const withMDX = nextMDX({ const nextConfig = { basePath: "/docs", pageExtensions: ["js", "jsx", "ts", "tsx", "mdx"], - transpilePackages: ["@formbricks/ui", "@formbricks/lib"], + transpilePackages: ["@formbricks/lib"], images: { remotePatterns: [ { diff --git a/apps/docs/package.json b/apps/docs/package.json index 4555c42b41..6879f375ba 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -18,7 +18,6 @@ "@docsearch/react": "3.6.2", "@formbricks/lib": "workspace:*", "@formbricks/types": "workspace:*", - "@formbricks/ui": "workspace:*", "@headlessui/react": "2.1.9", "@headlessui/tailwindcss": "0.2.1", "@mapbox/rehype-prism": "0.9.0", diff --git a/apps/docs/tailwind.config.ts b/apps/docs/tailwind.config.ts index 8f67d576cf..9c2d63f55e 100644 --- a/apps/docs/tailwind.config.ts +++ b/apps/docs/tailwind.config.ts @@ -1,5 +1,4 @@ import headlessuiPlugin from "@headlessui/tailwindcss"; -import forms from "@tailwindcss/forms"; import typographyPlugin from "@tailwindcss/typography"; import { type Config } from "tailwindcss"; import defaultTheme from "tailwindcss/defaultTheme"; @@ -82,5 +81,5 @@ export default { }, }, }, - plugins: [typographyPlugin, headlessuiPlugin, forms], + plugins: [typographyPlugin, headlessuiPlugin], } satisfies Config; diff --git a/apps/storybook/.storybook/main.ts b/apps/storybook/.storybook/main.ts index be454cc2a5..68129e5354 100644 --- a/apps/storybook/.storybook/main.ts +++ b/apps/storybook/.storybook/main.ts @@ -10,11 +10,7 @@ const getAbsolutePath = (value: string) => { }; const config: StorybookConfig = { - stories: [ - "../src/**/*.mdx", - "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)", - "../../../packages/ui/**/stories.@(js|jsx|mjs|ts|tsx)", - ], + stories: ["../src/**/*.mdx", "../../web/modules/ui/**/stories.@(js|jsx|mjs|ts|tsx)"], addons: [ getAbsolutePath("@storybook/addon-onboarding"), getAbsolutePath("@storybook/addon-links"), diff --git a/apps/storybook/.storybook/preview.ts b/apps/storybook/.storybook/preview.ts index e6b72b8b6c..521cc2fc4c 100644 --- a/apps/storybook/.storybook/preview.ts +++ b/apps/storybook/.storybook/preview.ts @@ -1,5 +1,5 @@ import type { Preview } from "@storybook/react"; -import "../../../packages/ui/globals.css"; +import "@formbricks/web/modules/ui/globals.css"; const preview: Preview = { parameters: { diff --git a/apps/storybook/package.json b/apps/storybook/package.json index 246ac8a054..73adeb134d 100644 --- a/apps/storybook/package.json +++ b/apps/storybook/package.json @@ -11,7 +11,6 @@ "clean": "rimraf .turbo node_modules dist storybook-static" }, "dependencies": { - "@formbricks/ui": "workspace:*", "eslint-plugin-react-refresh": "0.4.12", "react": "19.0.0-rc-ed15d500-20241110", "react-dom": "19.0.0-rc-ed15d500-20241110" diff --git a/apps/storybook/tailwind.config.js b/apps/storybook/tailwind.config.js index 144cb36c30..574e3b7b54 100644 --- a/apps/storybook/tailwind.config.js +++ b/apps/storybook/tailwind.config.js @@ -1,7 +1,7 @@ /** @type {import('tailwindcss').Config} */ -import base from "../../packages/ui/tailwind.config"; +import base from "../web/tailwind.config"; export default { ...base, - content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}", "../../packages/ui/**/*.{js,ts,jsx,tsx}"], + content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}", "../web/modules/ui/**/*.{js,ts,jsx,tsx}"], }; diff --git a/apps/storybook/vite.config.ts b/apps/storybook/vite.config.ts index 208b2d1c7f..37337dae71 100644 --- a/apps/storybook/vite.config.ts +++ b/apps/storybook/vite.config.ts @@ -1,4 +1,5 @@ import react from "@vitejs/plugin-react"; +import path from "path"; import { defineConfig } from "vite"; // https://vitejs.dev/config/ @@ -7,4 +8,9 @@ export default defineConfig({ define: { "process.env": {}, }, + resolve: { + alias: { + "@": path.resolve(__dirname, "../web"), + }, + }, }); 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 7fc9ddffe0..5fe809a7e3 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 @@ -1,5 +1,6 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; import { ArrowRight } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; @@ -7,7 +8,6 @@ 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/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 5f6e8c8924..6a343e9183 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 @@ -1,6 +1,9 @@ "use client"; import { inviteOrganizationMemberAction } from "@/app/(app)/(onboarding)/organizations/actions"; +import { Button } from "@/modules/ui/components/button"; +import { FormControl, FormError, FormField, FormItem, FormLabel } from "@/modules/ui/components/form"; +import { Input } from "@/modules/ui/components/input"; import { zodResolver } from "@hookform/resolvers/zod"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; @@ -8,9 +11,6 @@ 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/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 f96cf5880d..e757a55deb 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 @@ -1,14 +1,14 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { CodeBlock } from "@/modules/ui/components/code-block"; +import { Html5Icon, NpmIcon } from "@/modules/ui/components/icons"; +import { TabBar } from "@/modules/ui/components/tab-bar"; import { useTranslations } from "next-intl"; 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/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 919fbf6967..dab38731c3 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 @@ -1,4 +1,6 @@ import { InviteOrganizationMember } from "@/app/(app)/(onboarding)/environments/[environmentId]/connect/components/InviteOrganizationMember"; +import { Button } from "@/modules/ui/components/button"; +import { Header } from "@/modules/ui/components/header"; import { XIcon } from "lucide-react"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; @@ -6,8 +8,6 @@ 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/components/Button"; -import { Header } from "@formbricks/ui/components/Header"; interface InvitePageProps { params: Promise<{ 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 2e4fa49b6f..ce56dc4a67 100644 --- a/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/page.tsx +++ b/apps/web/app/(app)/(onboarding)/environments/[environmentId]/connect/page.tsx @@ -1,11 +1,11 @@ import { ConnectWithFormbricks } from "@/app/(app)/(onboarding)/environments/[environmentId]/connect/components/ConnectWithFormbricks"; +import { Button } from "@/modules/ui/components/button"; +import { Header } from "@/modules/ui/components/header"; import { XIcon } from "lucide-react"; import { getTranslations } from "next-intl/server"; 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/components/Button"; -import { Header } from "@formbricks/ui/components/Header"; interface ConnectPageProps { params: Promise<{ 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 c126e8843d..a20d3e758d 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 @@ -1,5 +1,7 @@ import { XMTemplateList } from "@/app/(app)/(onboarding)/environments/[environmentId]/xm-templates/components/XMTemplateList"; import { getOrganizationIdFromEnvironmentId } from "@/lib/utils/helper"; +import { Button } from "@/modules/ui/components/button"; +import { Header } from "@/modules/ui/components/header"; import { XIcon } from "lucide-react"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; @@ -7,8 +9,6 @@ import { authOptions } from "@formbricks/lib/authOptions"; import { getEnvironment } from "@formbricks/lib/environment/service"; import { getProductByEnvironmentId, getUserProducts } from "@formbricks/lib/product/service"; import { getUser } from "@formbricks/lib/user/service"; -import { Button } from "@formbricks/ui/components/Button"; -import { Header } from "@formbricks/ui/components/Header"; interface XMTemplatePageProps { params: Promise<{ diff --git a/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/landing/components/landing-sidebar.tsx b/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/landing/components/landing-sidebar.tsx index 3d11bf735e..218c18b13d 100644 --- a/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/landing/components/landing-sidebar.tsx +++ b/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/landing/components/landing-sidebar.tsx @@ -3,19 +3,7 @@ import { formbricksLogout } from "@/app/lib/formbricks"; import FBLogo from "@/images/formbricks-wordmark.svg"; import { CreateOrganizationModal } from "@/modules/organization/components/CreateOrganizationModal"; -import { ArrowUpRightIcon, ChevronRightIcon, LogOutIcon, PlusIcon } from "lucide-react"; -import { signOut } from "next-auth/react"; -import { useTranslations } from "next-intl"; -import Image from "next/image"; -import Link from "next/link"; -import { useRouter } from "next/navigation"; -import { useMemo, useState } from "react"; -import { AiOutlineDiscord } from "react-icons/ai"; -import { cn } from "@formbricks/lib/cn"; -import { capitalizeFirstLetter } from "@formbricks/lib/utils/strings"; -import { TOrganization } from "@formbricks/types/organizations"; -import { TUser } from "@formbricks/types/user"; -import { ProfileAvatar } from "@formbricks/ui/components/Avatars"; +import { ProfileAvatar } from "@/modules/ui/components/avatars"; import { DropdownMenu, DropdownMenuContent, @@ -28,7 +16,19 @@ import { DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, -} from "@formbricks/ui/components/DropdownMenu"; +} from "@/modules/ui/components/dropdown-menu"; +import { ArrowUpRightIcon, ChevronRightIcon, LogOutIcon, PlusIcon } from "lucide-react"; +import { signOut } from "next-auth/react"; +import { useTranslations } from "next-intl"; +import Image from "next/image"; +import Link from "next/link"; +import { useRouter } from "next/navigation"; +import { useMemo, useState } from "react"; +import { AiOutlineDiscord } from "react-icons/ai"; +import { cn } from "@formbricks/lib/cn"; +import { capitalizeFirstLetter } from "@formbricks/lib/utils/strings"; +import { TOrganization } from "@formbricks/types/organizations"; +import { TUser } from "@formbricks/types/user"; interface LandingSidebarProps { isMultiOrgEnabled: boolean; diff --git a/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/landing/page.tsx b/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/landing/page.tsx index 52d595084a..68e2ded919 100644 --- a/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/landing/page.tsx +++ b/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/landing/page.tsx @@ -1,12 +1,12 @@ import { LandingSidebar } from "@/app/(app)/(onboarding)/organizations/[organizationId]/landing/components/landing-sidebar"; import { getEnterpriseLicense } from "@/modules/ee/license-check/lib/utils"; +import { Header } from "@/modules/ui/components/header"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { notFound, redirect } from "next/navigation"; import { authOptions } from "@formbricks/lib/authOptions"; import { getOrganization, getOrganizationsByUserId } from "@formbricks/lib/organization/service"; import { getUser } from "@formbricks/lib/user/service"; -import { Header } from "@formbricks/ui/components/Header"; const Page = async (props) => { const params = await props.params; diff --git a/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/layout.tsx b/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/layout.tsx index 7bdb880609..2640188717 100644 --- a/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/layout.tsx +++ b/apps/web/app/(app)/(onboarding)/organizations/[organizationId]/layout.tsx @@ -1,4 +1,5 @@ import { PosthogIdentify } from "@/app/(app)/environments/[environmentId]/components/PosthogIdentify"; +import { ToasterClient } from "@/modules/ui/components/toaster-client"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { redirect } from "next/navigation"; @@ -7,7 +8,6 @@ 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/components/ToasterClient"; const ProductOnboardingLayout = async (props) => { const params = await props.params; 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 895551e60f..af98c65ee9 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,12 +1,12 @@ import { OnboardingOptionsContainer } from "@/app/(app)/(onboarding)/organizations/components/OnboardingOptionsContainer"; +import { Button } from "@/modules/ui/components/button"; +import { Header } from "@/modules/ui/components/header"; import { GlobeIcon, GlobeLockIcon, LinkIcon, XIcon } from "lucide-react"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { redirect } from "next/navigation"; import { authOptions } from "@formbricks/lib/authOptions"; import { getUserProducts } from "@formbricks/lib/product/service"; -import { Button } from "@formbricks/ui/components/Button"; -import { Header } from "@formbricks/ui/components/Header"; interface ChannelPageProps { params: Promise<{ 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 b3b0032e99..4acc38e6db 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,12 +1,12 @@ import { OnboardingOptionsContainer } from "@/app/(app)/(onboarding)/organizations/components/OnboardingOptionsContainer"; +import { Button } from "@/modules/ui/components/button"; +import { Header } from "@/modules/ui/components/header"; import { HeartIcon, ListTodoIcon, XIcon } from "lucide-react"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { redirect } from "next/navigation"; import { authOptions } from "@formbricks/lib/authOptions"; import { getUserProducts } from "@formbricks/lib/product/service"; -import { Button } from "@formbricks/ui/components/Button"; -import { Header } from "@formbricks/ui/components/Header"; interface ModePageProps { params: Promise<{ 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 948cf8be14..37b8d0aaf5 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 @@ -4,6 +4,20 @@ import { createProductAction } from "@/app/(app)/environments/[environmentId]/ac import { getFormattedErrorMessage } from "@/lib/utils/helper"; import { TOrganizationTeam } from "@/modules/ee/teams/product-teams/types/teams"; import { CreateTeamModal } from "@/modules/ee/teams/team-list/components/create-team-modal"; +import { Button } from "@/modules/ui/components/button"; +import { ColorPicker } from "@/modules/ui/components/color-picker"; +import { + FormControl, + FormDescription, + FormError, + FormField, + FormItem, + FormLabel, + FormProvider, +} from "@/modules/ui/components/form"; +import { Input } from "@/modules/ui/components/input"; +import { MultiSelect } from "@/modules/ui/components/multi-select"; +import { SurveyInline } from "@/modules/ui/components/survey"; import { zodResolver } from "@hookform/resolvers/zod"; import { useTranslations } from "next-intl"; import Image from "next/image"; @@ -20,20 +34,6 @@ import { TProductUpdateInput, ZProductUpdateInput, } from "@formbricks/types/product"; -import { Button } from "@formbricks/ui/components/Button"; -import { ColorPicker } from "@formbricks/ui/components/ColorPicker"; -import { - FormControl, - FormDescription, - FormError, - FormField, - FormItem, - FormLabel, - FormProvider, -} from "@formbricks/ui/components/Form"; -import { Input } from "@formbricks/ui/components/Input"; -import { MultiSelect } from "@formbricks/ui/components/MultiSelect"; -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 3d0736f718..8da43e2490 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 @@ -2,6 +2,8 @@ import { getTeamsByOrganizationId } from "@/app/(app)/(onboarding)/lib/onboardin import { getCustomHeadline } from "@/app/(app)/(onboarding)/lib/utils"; import { ProductSettings } from "@/app/(app)/(onboarding)/organizations/[organizationId]/products/new/settings/components/ProductSettings"; import { getRoleManagementPermission } from "@/modules/ee/license-check/lib/utils"; +import { Button } from "@/modules/ui/components/button"; +import { Header } from "@/modules/ui/components/header"; import { XIcon } from "lucide-react"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; @@ -12,8 +14,6 @@ import { getOrganization } from "@formbricks/lib/organization/service"; import { getUserProducts } from "@formbricks/lib/product/service"; import { getUserLocale } from "@formbricks/lib/user/service"; import { TProductConfigChannel, TProductConfigIndustry, TProductMode } from "@formbricks/types/product"; -import { Button } from "@formbricks/ui/components/Button"; -import { Header } from "@formbricks/ui/components/Header"; interface ProductSettingsPageProps { params: Promise<{ diff --git a/apps/web/app/(app)/(onboarding)/organizations/components/OnboardingOptionsContainer.tsx b/apps/web/app/(app)/(onboarding)/organizations/components/OnboardingOptionsContainer.tsx index ce39289155..f68c33ebaf 100644 --- a/apps/web/app/(app)/(onboarding)/organizations/components/OnboardingOptionsContainer.tsx +++ b/apps/web/app/(app)/(onboarding)/organizations/components/OnboardingOptionsContainer.tsx @@ -1,7 +1,7 @@ +import { OptionCard } from "@/modules/ui/components/option-card"; import { LucideProps } from "lucide-react"; import Link from "next/link"; import { ForwardRefExoticComponent, RefAttributes } from "react"; -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 9ee22c57ca..b19da2f5fe 100644 --- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/layout.tsx +++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/layout.tsx @@ -1,6 +1,8 @@ import { FormbricksClient } from "@/app/(app)/components/FormbricksClient"; import { PosthogIdentify } from "@/app/(app)/environments/[environmentId]/components/PosthogIdentify"; import { ResponseFilterProvider } from "@/app/(app)/environments/[environmentId]/components/ResponseFilterContext"; +import { DevEnvironmentBanner } from "@/modules/ui/components/dev-environment-banner"; +import { ToasterClient } from "@/modules/ui/components/toaster-client"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { redirect } from "next/navigation"; @@ -10,8 +12,6 @@ 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/components/DevEnvironmentBanner"; -import { ToasterClient } from "@formbricks/ui/components/ToasterClient"; const SurveyEditorEnvironmentLayout = async (props) => { const params = await props.params; 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 fe04c7b3f9..dbe9a9d35f 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 @@ -1,9 +1,9 @@ "use client"; +import { ModalWithTabs } from "@/modules/ui/components/modal-with-tabs"; import { useTranslations } from "next-intl"; import { TActionClass } from "@formbricks/types/action-classes"; import { TSurvey } from "@formbricks/types/surveys/types"; -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 b83f134b02..09924bc5a1 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 @@ -1,6 +1,8 @@ "use client"; import { QuestionFormInput } from "@/modules/surveys/components/QuestionFormInput"; +import { Button } from "@/modules/ui/components/button"; +import { QuestionToggleTable } from "@/modules/ui/components/question-toggle-table"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import { PlusIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -9,8 +11,6 @@ import { createI18nString, extractLanguageCodes } from "@formbricks/lib/i18n/uti import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TSurvey, TSurveyAddressQuestion } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; -import { QuestionToggleTable } from "@formbricks/ui/components/QuestionToggleTable"; 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 be97951a72..ae5fa67b5c 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 @@ -1,5 +1,8 @@ "use client"; +import { Badge } from "@/modules/ui/components/badge"; +import { FormControl, FormDescription, FormField, FormItem, FormLabel } from "@/modules/ui/components/form"; +import { Slider } from "@/modules/ui/components/slider"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import * as Collapsible from "@radix-ui/react-collapsible"; import { CheckIcon } from "lucide-react"; @@ -8,9 +11,6 @@ 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/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 d8493d07eb..be49be9758 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 @@ -2,15 +2,15 @@ import { LocalizedEditor } from "@/modules/ee/multi-language-surveys/components/localized-editor"; import { QuestionFormInput } from "@/modules/surveys/components/QuestionFormInput"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; +import { OptionsSwitch } from "@/modules/ui/components/options-switch"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import { useTranslations } from "next-intl"; import { type JSX, useState } from "react"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TSurvey, TSurveyCTAQuestion } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { Input } from "@formbricks/ui/components/Input"; -import { Label } from "@formbricks/ui/components/Label"; -import { OptionsSwitch } from "@formbricks/ui/components/OptionsSwitch"; 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 cea5902633..f5c41a8b97 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 @@ -1,4 +1,8 @@ import { QuestionFormInput } from "@/modules/surveys/components/QuestionFormInput"; +import { AdvancedOptionToggle } from "@/modules/ui/components/advanced-option-toggle"; +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; import { PlusIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { type JSX, useEffect, useState } from "react"; @@ -6,10 +10,6 @@ import { createI18nString, extractLanguageCodes } from "@formbricks/lib/i18n/uti import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TSurvey, TSurveyCalQuestion } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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"; 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 868524815a..8c30bc221d 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 @@ -1,5 +1,11 @@ "use client"; +import { Badge } from "@/modules/ui/components/badge"; +import { CardArrangementTabs } from "@/modules/ui/components/card-arrangement-tabs"; +import { ColorPicker } from "@/modules/ui/components/color-picker"; +import { FormControl, FormDescription, FormField, FormItem, FormLabel } from "@/modules/ui/components/form"; +import { Slider } from "@/modules/ui/components/slider"; +import { Switch } from "@/modules/ui/components/switch"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import * as Collapsible from "@radix-ui/react-collapsible"; import { CheckIcon } from "lucide-react"; @@ -10,12 +16,6 @@ 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/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 7a8d2fdbe1..38730c0f1f 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 { ColorPicker } from "@/modules/ui/components/color-picker"; import { useState } from "react"; -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/ConditionalLogic.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ConditionalLogic.tsx index 7fe7f3db86..cd74032cc4 100644 --- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ConditionalLogic.tsx +++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ConditionalLogic.tsx @@ -3,6 +3,14 @@ import { getDefaultOperatorForQuestion, replaceEndingCardHeadlineRecall, } from "@/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/lib/utils"; +import { Button } from "@/modules/ui/components/button"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/modules/ui/components/dropdown-menu"; +import { Label } from "@/modules/ui/components/label"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import { createId } from "@paralleldrive/cuid2"; import { @@ -20,14 +28,6 @@ import { duplicateLogicItem } from "@formbricks/lib/surveyLogic/utils"; import { replaceHeadlineRecall } from "@formbricks/lib/utils/recall"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TSurvey, TSurveyLogic, TSurveyQuestion } from "@formbricks/types/surveys/types"; -import { Button } from "@formbricks/ui/components/Button"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuTrigger, -} from "@formbricks/ui/components/DropdownMenu"; -import { Label } from "@formbricks/ui/components/Label"; interface ConditionalLogicProps { localSurvey: TSurvey; 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 3f820e4101..cf28d7d3c1 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 @@ -2,12 +2,12 @@ import { LocalizedEditor } from "@/modules/ee/multi-language-surveys/components/localized-editor"; import { QuestionFormInput } from "@/modules/surveys/components/QuestionFormInput"; +import { Label } from "@/modules/ui/components/label"; import { useTranslations } from "next-intl"; import { type JSX, useState } from "react"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TSurvey, TSurveyConsentQuestion } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { Label } from "@formbricks/ui/components/Label"; interface ConsentQuestionFormProps { localSurvey: TSurvey; diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ContactInfoQuestionForm.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ContactInfoQuestionForm.tsx index 9762521998..0d3727d481 100644 --- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ContactInfoQuestionForm.tsx +++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/ContactInfoQuestionForm.tsx @@ -1,6 +1,8 @@ "use client"; import { QuestionFormInput } from "@/modules/surveys/components/QuestionFormInput"; +import { Button } from "@/modules/ui/components/button"; +import { QuestionToggleTable } from "@/modules/ui/components/question-toggle-table"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import { PlusIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -9,8 +11,6 @@ import { createI18nString, extractLanguageCodes } from "@formbricks/lib/i18n/uti import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TSurvey, TSurveyContactInfoQuestion } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; -import { QuestionToggleTable } from "@formbricks/ui/components/QuestionToggleTable"; interface ContactInfoQuestionFormProps { 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 2ed652adb6..7c44075ca1 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 @@ -1,4 +1,11 @@ import { isValidCssSelector } from "@/app/lib/actionClass/actionClass"; +import { Button } from "@/modules/ui/components/button"; +import { CodeActionForm } from "@/modules/ui/components/code-action-form"; +import { FormControl, FormError, FormField, FormItem, FormLabel } from "@/modules/ui/components/form"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; +import { NoCodeActionForm } from "@/modules/ui/components/no-code-action-form"; +import { TabToggle } from "@/modules/ui/components/tab-toggle"; import { zodResolver } from "@hookform/resolvers/zod"; import { useTranslations } from "next-intl"; import { useMemo } from "react"; @@ -12,13 +19,6 @@ import { ZActionClassInput, } from "@formbricks/types/action-classes"; import { TSurvey } from "@formbricks/types/surveys/types"; -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 fb280ed4cc..c694aab1e3 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 @@ -1,4 +1,7 @@ import { QuestionFormInput } from "@/modules/surveys/components/QuestionFormInput"; +import { Button } from "@/modules/ui/components/button"; +import { Label } from "@/modules/ui/components/label"; +import { OptionsSwitch } from "@/modules/ui/components/options-switch"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import { PlusIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -7,9 +10,6 @@ import { createI18nString, extractLanguageCodes } from "@formbricks/lib/i18n/uti import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TSurvey, TSurveyDateQuestion } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; -import { Label } from "@formbricks/ui/components/Label"; -import { OptionsSwitch } from "@formbricks/ui/components/OptionsSwitch"; 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 e11af4d30e..91af44d760 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 @@ -7,6 +7,9 @@ import { findEndingCardUsedInLogic, formatTextWithSlashes, } from "@/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/lib/utils"; +import { ConfirmationModal } from "@/modules/ui/components/confirmation-modal"; +import { OptionsSwitch } from "@/modules/ui/components/options-switch"; +import { TooltipRenderer } from "@/modules/ui/components/tooltip"; import { useSortable } from "@dnd-kit/sortable"; import { CSS } from "@dnd-kit/utilities"; import { createId } from "@paralleldrive/cuid2"; @@ -26,9 +29,6 @@ import { TSurveyRedirectUrlCard, } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { ConfirmationModal } from "@formbricks/ui/components/ConfirmationModal"; -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 6efa36edfe..ddcd9834ac 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 @@ -2,6 +2,9 @@ import { LocalizedEditor } from "@/modules/ee/multi-language-surveys/components/localized-editor"; import { QuestionFormInput } from "@/modules/surveys/components/QuestionFormInput"; +import { FileInput } from "@/modules/ui/components/file-input"; +import { Label } from "@/modules/ui/components/label"; +import { Switch } from "@/modules/ui/components/switch"; import * as Collapsible from "@radix-ui/react-collapsible"; import { Hand } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -11,9 +14,6 @@ import { cn } from "@formbricks/lib/cn"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TSurvey, TSurveyQuestionId, TSurveyWelcomeCard } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { FileInput } from "@formbricks/ui/components/FileInput"; -import { Label } from "@formbricks/ui/components/Label"; -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 93d4562594..f8b866a664 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 @@ -1,5 +1,15 @@ "use client"; +import { ConfirmationModal } from "@/modules/ui/components/confirmation-modal"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuSub, + DropdownMenuSubContent, + DropdownMenuSubTrigger, + DropdownMenuTrigger, +} from "@/modules/ui/components/dropdown-menu"; import { createId } from "@paralleldrive/cuid2"; import { ArrowDownIcon, ArrowUpIcon, CopyIcon, EllipsisIcon, TrashIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -19,16 +29,6 @@ import { TSurveyQuestionTypeEnum, TSurveyRedirectUrlCard, } from "@formbricks/types/surveys/types"; -import { ConfirmationModal } from "@formbricks/ui/components/ConfirmationModal"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuSub, - DropdownMenuSubContent, - DropdownMenuSubTrigger, - DropdownMenuTrigger, -} 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 9c42f77d32..8ef77a901f 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 @@ -1,15 +1,15 @@ "use client"; import { QuestionFormInput } from "@/modules/surveys/components/QuestionFormInput"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; +import { Switch } from "@/modules/ui/components/switch"; import { useTranslations } from "next-intl"; 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 { TUserLocale } from "@formbricks/types/user"; -import { Input } from "@formbricks/ui/components/Input"; -import { Label } from "@formbricks/ui/components/Label"; -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 28428a52ee..5d4d435c53 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 @@ -1,6 +1,9 @@ "use client"; import { QuestionFormInput } from "@/modules/surveys/components/QuestionFormInput"; +import { AdvancedOptionToggle } from "@/modules/ui/components/advanced-option-toggle"; +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; import { useGetBillingInfo } from "@/modules/utils/hooks/useGetBillingInfo"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import { PlusIcon, XCircleIcon } from "lucide-react"; @@ -15,9 +18,6 @@ import { TAllowedFileExtension, ZAllowedFileExtension } from "@formbricks/types/ import { TProduct } from "@formbricks/types/product"; import { TSurvey, TSurveyFileUploadQuestion } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { AdvancedOptionToggle } from "@formbricks/ui/components/AdvancedOptionToggle"; -import { Button } from "@formbricks/ui/components/Button"; -import { Input } from "@formbricks/ui/components/Input"; 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 ae3524762d..a55bdd115a 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 @@ -1,5 +1,8 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { ColorPicker } from "@/modules/ui/components/color-picker"; +import { FormControl, FormDescription, FormField, FormItem, FormLabel } from "@/modules/ui/components/form"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import * as Collapsible from "@radix-ui/react-collapsible"; import { CheckIcon, SparklesIcon } from "lucide-react"; @@ -11,9 +14,6 @@ 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/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 0decaed0af..07517992d8 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 @@ -1,6 +1,11 @@ "use client"; import { findHiddenFieldUsedInLogic } from "@/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/lib/utils"; +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; +import { Switch } from "@/modules/ui/components/switch"; +import { Tag } from "@/modules/ui/components/tag"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import * as Collapsible from "@radix-ui/react-collapsible"; import { EyeOff } from "lucide-react"; @@ -11,11 +16,6 @@ import { cn } from "@formbricks/lib/cn"; import { extractRecallInfo } from "@formbricks/lib/utils/recall"; import { TSurvey, TSurveyHiddenFields, TSurveyQuestionId } from "@formbricks/types/surveys/types"; import { validateId } from "@formbricks/types/surveys/validation"; -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 65b0921e36..5be04bcb5d 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 @@ -1,5 +1,8 @@ "use client"; +import { Badge } from "@/modules/ui/components/badge"; +import { Label } from "@/modules/ui/components/label"; +import { RadioGroup, RadioGroupItem } from "@/modules/ui/components/radio-group"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import * as Collapsible from "@radix-ui/react-collapsible"; import { AlertCircleIcon, CheckIcon, LinkIcon, MonitorIcon } from "lucide-react"; @@ -11,9 +14,6 @@ import { getDefaultEndingCard } from "@formbricks/lib/templates"; import { TEnvironment } from "@formbricks/types/environment"; import { TSegment } from "@formbricks/types/segment"; import { TSurvey, TSurveyType } from "@formbricks/types/surveys/types"; -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 9b2830d10f..001e0d1da6 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/components/FileInput"; +import { FileInput } from "@/modules/ui/components/file-input"; 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 1eada397f7..7167d1d685 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 @@ -1,18 +1,18 @@ import { LogicEditorActions } from "@/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/LogicEditorActions"; import { LogicEditorConditions } from "@/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/LogicEditorConditions"; -import { ArrowRightIcon } from "lucide-react"; -import { useTranslations } from "next-intl"; -import { ReactElement, useMemo } from "react"; -import { getLocalizedValue } from "@formbricks/lib/i18n/utils"; -import { QUESTIONS_ICON_MAP } from "@formbricks/lib/utils/questions"; -import { TSurvey, TSurveyLogic, TSurveyQuestion } from "@formbricks/types/surveys/types"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, -} from "@formbricks/ui/components/Select"; +} from "@/modules/ui/components/select"; +import { ArrowRightIcon } from "lucide-react"; +import { useTranslations } from "next-intl"; +import { ReactElement, useMemo } from "react"; +import { getLocalizedValue } from "@formbricks/lib/i18n/utils"; +import { QUESTIONS_ICON_MAP } from "@formbricks/lib/utils/questions"; +import { TSurvey, TSurveyLogic, TSurveyQuestion } from "@formbricks/types/surveys/types"; interface LogicEditorProps { localSurvey: TSurvey; diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/LogicEditorActions.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/LogicEditorActions.tsx index 5705cf2144..a3ecfd6f3e 100644 --- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/LogicEditorActions.tsx +++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/LogicEditorActions.tsx @@ -6,6 +6,13 @@ import { getActionVariableOptions, hasJumpToQuestionAction, } from "@/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/lib/utils"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/modules/ui/components/dropdown-menu"; +import { InputCombobox } from "@/modules/ui/components/input-combo-box"; import { createId } from "@paralleldrive/cuid2"; import { CopyIcon, CornerDownRightIcon, EllipsisVerticalIcon, PlusIcon, TrashIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -20,13 +27,6 @@ import { TSurveyLogicAction, TSurveyQuestion, } from "@formbricks/types/surveys/types"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuTrigger, -} from "@formbricks/ui/components/DropdownMenu"; -import { InputCombobox } from "@formbricks/ui/components/InputCombobox"; interface LogicEditorActions { localSurvey: TSurvey; diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/LogicEditorConditions.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/LogicEditorConditions.tsx index 17e0afb755..9a529919e0 100644 --- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/LogicEditorConditions.tsx +++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/LogicEditorConditions.tsx @@ -4,6 +4,13 @@ import { getDefaultOperatorForQuestion, getMatchValueProps, } from "@/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/lib/utils"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/modules/ui/components/dropdown-menu"; +import { InputCombobox, TComboboxOption } from "@/modules/ui/components/input-combo-box"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import { createId } from "@paralleldrive/cuid2"; import { CopyIcon, EllipsisVerticalIcon, PlusIcon, TrashIcon, WorkflowIcon } from "lucide-react"; @@ -27,13 +34,6 @@ import { TSurveyLogicConditionsOperator, TSurveyQuestion, } from "@formbricks/types/surveys/types"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuTrigger, -} from "@formbricks/ui/components/DropdownMenu"; -import { InputCombobox, TComboboxOption } from "@formbricks/ui/components/InputCombobox"; interface LogicEditorConditionsProps { conditions: TConditionGroup; 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 f42b5ede81..84a8637a28 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 @@ -1,6 +1,9 @@ "use client"; import { QuestionFormInput } from "@/modules/surveys/components/QuestionFormInput"; +import { Button } from "@/modules/ui/components/button"; +import { Label } from "@/modules/ui/components/label"; +import { ShuffleOptionSelect } from "@/modules/ui/components/shuffle-option-select"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import { PlusIcon, TrashIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -9,9 +12,6 @@ import { createI18nString, extractLanguageCodes } from "@formbricks/lib/i18n/uti import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TI18nString, TSurvey, TSurveyMatrixQuestion } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; -import { Label } from "@formbricks/ui/components/Label"; -import { ShuffleOptionSelect } from "@formbricks/ui/components/ShuffleOptionSelect"; 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 f0a19a19cd..fc27fb8a41 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 @@ -2,6 +2,9 @@ import { findOptionUsedInLogic } from "@/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/lib/utils"; import { QuestionFormInput } from "@/modules/surveys/components/QuestionFormInput"; +import { Button } from "@/modules/ui/components/button"; +import { Label } from "@/modules/ui/components/label"; +import { ShuffleOptionSelect } from "@/modules/ui/components/shuffle-option-select"; import { DndContext } from "@dnd-kit/core"; import { SortableContext, verticalListSortingStrategy } from "@dnd-kit/sortable"; import { useAutoAnimate } from "@formkit/auto-animate/react"; @@ -20,9 +23,6 @@ import { TSurveyQuestionTypeEnum, } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; -import { Label } from "@formbricks/ui/components/Label"; -import { ShuffleOptionSelect } from "@formbricks/ui/components/ShuffleOptionSelect"; import { QuestionOptionChoice } from "./QuestionOptionChoice"; interface MultipleChoiceQuestionFormProps { 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 8a7cb546b5..afcf9d0756 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 @@ -1,6 +1,8 @@ "use client"; import { QuestionFormInput } from "@/modules/surveys/components/QuestionFormInput"; +import { AdvancedOptionToggle } from "@/modules/ui/components/advanced-option-toggle"; +import { Button } from "@/modules/ui/components/button"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import { PlusIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -9,8 +11,6 @@ import { createI18nString, extractLanguageCodes } from "@formbricks/lib/i18n/uti import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TSurvey, TSurveyNPSQuestion } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { AdvancedOptionToggle } from "@formbricks/ui/components/AdvancedOptionToggle"; -import { Button } from "@formbricks/ui/components/Button"; 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 3e1f152dfd..742b8c4f7f 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 @@ -1,6 +1,9 @@ "use client"; import { QuestionFormInput } from "@/modules/surveys/components/QuestionFormInput"; +import { Button } from "@/modules/ui/components/button"; +import { Label } from "@/modules/ui/components/label"; +import { OptionsSwitch } from "@/modules/ui/components/options-switch"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import { HashIcon, LinkIcon, MailIcon, MessageSquareTextIcon, PhoneIcon, PlusIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -13,9 +16,6 @@ import { TSurveyOpenTextQuestionInputType, } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; -import { Label } from "@formbricks/ui/components/Label"; -import { OptionsSwitch } from "@formbricks/ui/components/OptionsSwitch"; const questionTypes = [ { value: "text", label: "common.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 d9bc3daf90..3f918cf566 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 @@ -1,4 +1,8 @@ import { QuestionFormInput } from "@/modules/surveys/components/QuestionFormInput"; +import { Button } from "@/modules/ui/components/button"; +import { FileInput } from "@/modules/ui/components/file-input"; +import { Label } from "@/modules/ui/components/label"; +import { Switch } from "@/modules/ui/components/switch"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import { createId } from "@paralleldrive/cuid2"; import { PlusIcon } from "lucide-react"; @@ -9,10 +13,6 @@ import { createI18nString, extractLanguageCodes } from "@formbricks/lib/i18n/uti import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TSurvey, TSurveyPictureSelectionQuestion } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; -import { FileInput } from "@formbricks/ui/components/FileInput"; -import { Label } from "@formbricks/ui/components/Label"; -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 bd4a9baa95..89785ec5d7 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 @@ -1,11 +1,11 @@ "use client"; +import { Label } from "@/modules/ui/components/label"; +import { getPlacementStyle } from "@/modules/ui/components/preview-survey/lib/utils"; +import { RadioGroup, RadioGroupItem } from "@/modules/ui/components/radio-group"; import { useTranslations } from "next-intl"; import { cn } from "@formbricks/lib/cn"; import { TPlacement } from "@formbricks/types/common"; -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: "common.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 c358fc95b1..e5d2dfcc71 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 @@ -4,6 +4,8 @@ import { ContactInfoQuestionForm } from "@/app/(app)/(survey-editor)/environment import { RankingQuestionForm } from "@/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/RankingQuestionForm"; import { formatTextWithSlashes } from "@/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/lib/utils"; import { QuestionFormInput } from "@/modules/surveys/components/QuestionFormInput"; +import { Label } from "@/modules/ui/components/label"; +import { Switch } from "@/modules/ui/components/switch"; import { useSortable } from "@dnd-kit/sortable"; import { CSS } from "@dnd-kit/utilities"; import { useAutoAnimate } from "@formkit/auto-animate/react"; @@ -24,8 +26,6 @@ import { TSurveyQuestionTypeEnum, } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { Label } from "@formbricks/ui/components/Label"; -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/QuestionsStylingSettingsTabs.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/QuestionsStylingSettingsTabs.tsx index 1e5cd6f81a..aa850680ab 100644 --- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/QuestionsStylingSettingsTabs.tsx +++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/QuestionsStylingSettingsTabs.tsx @@ -1,9 +1,9 @@ +import { ProBadge } from "@/modules/ui/components/pro-badge"; import { MailIcon, PaintbrushIcon, Rows3Icon, SettingsIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { type JSX, useMemo } from "react"; import { cn } from "@formbricks/lib/cn"; import { TSurveyEditorTabs } from "@formbricks/types/surveys/types"; -import { ProBadge } from "@formbricks/ui/components/ProBadge"; interface Tab { id: TSurveyEditorTabs; 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 54d6495eda..91ff46b5dd 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 @@ -1,6 +1,9 @@ "use client"; import { QuestionFormInput } from "@/modules/surveys/components/QuestionFormInput"; +import { Button } from "@/modules/ui/components/button"; +import { Label } from "@/modules/ui/components/label"; +import { ShuffleOptionSelect } from "@/modules/ui/components/shuffle-option-select"; import { DndContext } from "@dnd-kit/core"; import { SortableContext, verticalListSortingStrategy } from "@dnd-kit/sortable"; import { useAutoAnimate } from "@formkit/auto-animate/react"; @@ -12,9 +15,6 @@ import { createI18nString, extractLanguageCodes } from "@formbricks/lib/i18n/uti import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TI18nString, TSurvey, TSurveyRankingQuestion } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; -import { Label } from "@formbricks/ui/components/Label"; -import { ShuffleOptionSelect } from "@formbricks/ui/components/ShuffleOptionSelect"; 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 5d69a93a91..e82801779e 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 @@ -1,4 +1,7 @@ import { QuestionFormInput } from "@/modules/surveys/components/QuestionFormInput"; +import { AdvancedOptionToggle } from "@/modules/ui/components/advanced-option-toggle"; +import { Button } from "@/modules/ui/components/button"; +import { Label } from "@/modules/ui/components/label"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import { HashIcon, PlusIcon, SmileIcon, StarIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -6,9 +9,6 @@ import { createI18nString, extractLanguageCodes } from "@formbricks/lib/i18n/uti import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TSurvey, TSurveyRatingQuestion } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { AdvancedOptionToggle } from "@formbricks/ui/components/AdvancedOptionToggle"; -import { Button } from "@formbricks/ui/components/Button"; -import { Label } from "@formbricks/ui/components/Label"; 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 b975451824..ad168c3257 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 @@ -1,5 +1,9 @@ "use client"; +import { AdvancedOptionToggle } from "@/modules/ui/components/advanced-option-toggle"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; +import { RadioGroup, RadioGroupItem } from "@/modules/ui/components/radio-group"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import * as Collapsible from "@radix-ui/react-collapsible"; import { CheckIcon } from "lucide-react"; @@ -7,10 +11,6 @@ import { useTranslations } from "next-intl"; import Link from "next/link"; import { useEffect, useState } from "react"; import { TSurvey } from "@formbricks/types/surveys/types"; -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 221c1665c3..695a3f51e9 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,7 +1,7 @@ +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; import { useTranslations } from "next-intl"; import { TSurveyRedirectUrlCard } from "@formbricks/types/surveys/types"; -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 b29cc7992a..2353268978 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 @@ -1,5 +1,10 @@ "use client"; +import { AdvancedOptionToggle } from "@/modules/ui/components/advanced-option-toggle"; +import { DatePicker } from "@/modules/ui/components/date-picker"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; +import { Switch } from "@/modules/ui/components/switch"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import * as Collapsible from "@radix-ui/react-collapsible"; import { ArrowUpRight, CheckIcon } from "lucide-react"; @@ -9,11 +14,6 @@ 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/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 eca53ae9e4..832938f070 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 @@ -1,9 +1,9 @@ +import { Input } from "@/modules/ui/components/input"; import { Code2Icon, MousePointerClickIcon, SparklesIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useState } from "react"; import { TActionClass } from "@formbricks/types/action-classes"; import { TSurvey } from "@formbricks/types/surveys/types"; -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 651c8dfc9a..56b860842b 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 @@ -1,3 +1,14 @@ +import { AlertDialog } from "@/modules/ui/components/alert-dialog"; +import { Button } from "@/modules/ui/components/button"; +import { + FormControl, + FormDescription, + FormField, + FormItem, + FormLabel, + FormProvider, +} from "@/modules/ui/components/form"; +import { Switch } from "@/modules/ui/components/switch"; import { RotateCcwIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import Link from "next/link"; @@ -7,17 +18,6 @@ import toast from "react-hot-toast"; import { TEnvironment } from "@formbricks/types/environment"; import { TProduct, TProductStyling } from "@formbricks/types/product"; import { TSurvey, TSurveyStyling } from "@formbricks/types/surveys/types"; -import { AlertDialog } from "@formbricks/ui/components/AlertDialog"; -import { Button } from "@formbricks/ui/components/Button"; -import { - FormControl, - FormDescription, - FormField, - FormItem, - FormLabel, - FormProvider, -} 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 9c1f74a046..7b106c852e 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,7 +1,7 @@ +import { TabBar } from "@/modules/ui/components/tab-bar"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import { useTranslations } from "next-intl"; import { useEffect, useState } from "react"; -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 f68fb28a8a..1b08429960 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 @@ -2,6 +2,7 @@ import { FollowUpsView } from "@/modules/ee/survey-follow-ups/components/follow-ups-view"; import { TTeamPermission } from "@/modules/ee/teams/product-teams/types/teams"; +import { PreviewSurvey } from "@/modules/ui/components/preview-survey"; import { useCallback, useEffect, useRef, useState } from "react"; import { extractLanguageCodes, getEnabledLanguages } from "@formbricks/lib/i18n/utils"; import { structuredClone } from "@formbricks/lib/pollyfills/structuredClone"; @@ -15,7 +16,6 @@ import { TProduct } from "@formbricks/types/product"; import { TSegment } from "@formbricks/types/segment"; import { TSurvey, TSurveyEditorTabs, TSurveyStyling } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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 29ceaa9e3c..c98c031d70 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 @@ -3,6 +3,10 @@ import { SurveyStatusDropdown } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/SurveyStatusDropdown"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; import { createSegmentAction } from "@/modules/ee/advanced-targeting/lib/actions"; +import { AlertDialog } from "@/modules/ui/components/alert-dialog"; +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/modules/ui/components/tooltip"; import { isEqual } from "lodash"; import { AlertTriangleIcon, ArrowLeftIcon, SettingsIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -21,10 +25,6 @@ import { ZSurveyEndScreenCard, ZSurveyRedirectUrlCard, } from "@formbricks/types/surveys/types"; -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 2cc8ab3a74..9915bbf3ad 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 @@ -1,5 +1,7 @@ "use client"; +import { Label } from "@/modules/ui/components/label"; +import { Switch } from "@/modules/ui/components/switch"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import * as Collapsible from "@radix-ui/react-collapsible"; import { CheckIcon } from "lucide-react"; @@ -8,8 +10,6 @@ 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/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 f875fd1496..1c4128db12 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 @@ -1,6 +1,17 @@ "use client"; import { findVariableUsedInLogic } from "@/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/lib/utils"; +import { Button } from "@/modules/ui/components/button"; +import { FormControl, FormField, FormItem, FormProvider } from "@/modules/ui/components/form"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/modules/ui/components/select"; import { createId } from "@paralleldrive/cuid2"; import { TrashIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -9,17 +20,6 @@ import { useForm } from "react-hook-form"; import toast from "react-hot-toast"; import { extractRecallInfo } from "@formbricks/lib/utils/recall"; import { TSurvey, TSurveyVariable } from "@formbricks/types/surveys/types"; -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 a2cce7e507..102d02f9e2 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 @@ -1,6 +1,16 @@ "use client"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Alert, AlertDescription } from "@/modules/ui/components/alert"; +import { AlertDialog } from "@/modules/ui/components/alert-dialog"; +import { BasicAddFilterModal } from "@/modules/ui/components/basic-add-filter-modal"; +import { BasicSegmentEditor } from "@/modules/ui/components/basic-segment-editor"; +import { Button } from "@/modules/ui/components/button"; +import { LoadSegmentModal } from "@/modules/ui/components/load-segment-modal"; +import { SaveAsNewSegmentModal } from "@/modules/ui/components/save-as-new-segment-modal"; +import { SegmentTitle } from "@/modules/ui/components/segment-title"; +import { TargetingIndicator } from "@/modules/ui/components/targeting-indicator"; +import { UpgradePlanNotice } from "@/modules/ui/components/upgrade-plan-notice"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import * as Collapsible from "@radix-ui/react-collapsible"; import { AlertCircle, CheckIcon, ChevronDownIcon, ChevronUpIcon, PencilIcon } from "lucide-react"; @@ -15,16 +25,6 @@ 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 { Alert, AlertDescription } from "@formbricks/ui/components/Alert"; -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 39faf38292..26e85376ce 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 @@ -1,5 +1,8 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; +import { LoadingSpinner } from "@/modules/ui/components/loading-spinner"; import { debounce } from "lodash"; import { SearchIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -7,9 +10,6 @@ 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/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 f109b9023f..186d8d90b6 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 @@ -1,13 +1,13 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; import { useTranslations } from "next-intl"; 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/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 0a69c4944d..cacbd3b705 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 @@ -2,6 +2,9 @@ import { TTeamPermission } from "@/modules/ee/teams/product-teams/types/teams"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { AdvancedOptionToggle } from "@/modules/ui/components/advanced-option-toggle"; +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import * as Collapsible from "@radix-ui/react-collapsible"; import { @@ -18,9 +21,6 @@ import { getAccessFlags } from "@formbricks/lib/membership/utils"; import { TActionClass } from "@formbricks/types/action-classes"; import { TOrganizationRole } from "@formbricks/types/memberships"; import { TSurvey } from "@formbricks/types/surveys/types"; -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/lib/utils.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/lib/utils.tsx index 300646f68f..3c42d3a6f3 100644 --- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/lib/utils.tsx +++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/lib/utils.tsx @@ -1,3 +1,4 @@ +import { TComboboxGroupedOption, TComboboxOption } from "@/modules/ui/components/input-combo-box"; import { EyeOffIcon, FileDigitIcon, FileType2Icon } from "lucide-react"; import { HTMLInputTypeAttribute } from "react"; import { getLocalizedValue } from "@formbricks/lib/i18n/utils"; @@ -22,7 +23,6 @@ import { TSurveyVariable, } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { TComboboxGroupedOption, TComboboxOption } from "@formbricks/ui/components/InputCombobox"; import { TLogicRuleOption, logicRules } from "./logicRuleEngine"; // formats the text to highlight specific parts of the text with slashes 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 c8666dc492..d57e2f0272 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 @@ -6,6 +6,7 @@ import { } from "@/modules/ee/license-check/lib/utils"; import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { ErrorComponent } from "@/modules/ui/components/error-component"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { getActionClasses } from "@formbricks/lib/actionClass/service"; @@ -27,7 +28,6 @@ import { getResponseCountBySurveyId } from "@formbricks/lib/response/service"; import { getSegments } from "@formbricks/lib/segment/service"; import { getSurvey } from "@formbricks/lib/survey/service"; import { getUserLocale } from "@formbricks/lib/user/service"; -import { ErrorComponent } from "@formbricks/ui/components/ErrorComponent"; import { SurveyEditor } from "./components/SurveyEditor"; export const generateMetadata = async (props) => { 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 79cf3db07e..df603cc742 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 @@ -1,9 +1,9 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; import { ArrowLeftIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; -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/FormbricksAICard.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/templates/components/FormbricksAICard.tsx index 3e0747898a..346287be9e 100644 --- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/templates/components/FormbricksAICard.tsx +++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/templates/components/FormbricksAICard.tsx @@ -2,12 +2,7 @@ import { createAISurveyAction } from "@/app/(app)/(survey-editor)/environments/[environmentId]/surveys/templates/actions"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; -import { Sparkles } from "lucide-react"; -import { useTranslations } from "next-intl"; -import { useRouter } from "next/navigation"; -import { useState } from "react"; -import toast from "react-hot-toast"; -import { Button } from "@formbricks/ui/components/Button"; +import { Button } from "@/modules/ui/components/button"; import { Card, CardContent, @@ -15,8 +10,13 @@ import { CardFooter, CardHeader, CardTitle, -} from "@formbricks/ui/components/Card"; -import { Textarea } from "@formbricks/ui/components/Textarea"; +} from "@/modules/ui/components/card"; +import { Textarea } from "@/modules/ui/components/textarea"; +import { Sparkles } from "lucide-react"; +import { useTranslations } from "next-intl"; +import { useRouter } from "next/navigation"; +import { useState } from "react"; +import toast from "react-hot-toast"; interface FormbricksAICardProps { environmentId: string; 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 17d4118cca..4f2c7ecdee 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 @@ -3,6 +3,9 @@ import { FormbricksAICard } from "@/app/(app)/(survey-editor)/environments/[environmentId]/surveys/templates/components/FormbricksAICard"; import { MenuBar } from "@/app/(app)/(survey-editor)/environments/[environmentId]/surveys/templates/components/MenuBar"; import { TemplateList } from "@/modules/surveys/components/TemplateList"; +import { PreviewSurvey } from "@/modules/ui/components/preview-survey"; +import { SearchBar } from "@/modules/ui/components/search-bar"; +import { Separator } from "@/modules/ui/components/separator"; import { useTranslations } from "next-intl"; import { useState } from "react"; import { getCustomSurveyTemplate } from "@formbricks/lib/templates"; @@ -10,9 +13,6 @@ 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/components/PreviewSurvey"; -import { SearchBar } from "@formbricks/ui/components/SearchBar"; -import { Separator } from "@formbricks/ui/components/Separator"; import { getMinimalSurvey } 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 a5f403fc75..db63a377b1 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/components/LoadingSpinner"; +import { LoadingSpinner } from "@/modules/ui/components/loading-spinner"; 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 b227b3a35d..3ebf142316 100644 --- a/apps/web/app/(app)/billing-confirmation/components/ConfirmationPage.tsx +++ b/apps/web/app/(app)/billing-confirmation/components/ConfirmationPage.tsx @@ -1,9 +1,9 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { Confetti } from "@/modules/ui/components/confetti"; import { useTranslations } from "next-intl"; import { useEffect, useState } from "react"; -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 1a67608c84..9b3add45e2 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/components/PageContentWrapper"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; 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 d76e6be6a9..81533367de 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 @@ -1,15 +1,15 @@ "use client"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { ErrorComponent } from "@/modules/ui/components/error-component"; +import { Label } from "@/modules/ui/components/label"; +import { LoadingSpinner } from "@/modules/ui/components/loading-spinner"; import { TagIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useEffect, useState } from "react"; 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/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 bf8e175189..bb1b18674c 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 @@ -1,11 +1,11 @@ "use client"; +import { Label } from "@/modules/ui/components/label"; +import { Switch } from "@/modules/ui/components/switch"; import { useTranslations } from "next-intl"; import { useMemo, useState } from "react"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TUserLocale } from "@formbricks/types/user"; -import { Label } from "@formbricks/ui/components/Label"; -import { Switch } from "@formbricks/ui/components/Switch"; import { AttributeDetailModal } from "./AttributeDetailModal"; import { AttributeClassDataRow } from "./AttributeRowData"; 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 450c4ad4f3..0ba3e28dbf 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,9 +1,9 @@ "use client"; +import { ModalWithTabs } from "@/modules/ui/components/modal-with-tabs"; import { TagIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; -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 7543a21a16..80e06696b2 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 { Badge } from "@/modules/ui/components/badge"; import { TagIcon } from "lucide-react"; import { timeSince } from "@formbricks/lib/time"; -import { Badge } from "@formbricks/ui/components/Badge"; export const AttributeClassDataRow = ({ attributeClass, locale }) => { 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 3e6d6eb02f..9ed9d1ea9f 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 @@ -1,5 +1,8 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; import type { AttributeClass } from "@prisma/client"; import { ArchiveIcon, ArchiveXIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -7,9 +10,6 @@ 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/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/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/loading.tsx index 397faa8ebe..0d37635bbf 100644 --- a/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/loading.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/loading.tsx @@ -1,8 +1,8 @@ import { PersonSecondaryNavigation } from "@/app/(app)/environments/[environmentId]/(people)/people/components/PersonSecondaryNavigation"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { TagIcon } from "lucide-react"; import { getTranslations } from "next-intl/server"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Loading = async () => { const t = await getTranslations(); 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 a8106e3a8c..dc9283d35e 100644 --- a/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/page.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/(people)/attributes/page.tsx @@ -1,6 +1,9 @@ import { PersonSecondaryNavigation } from "@/app/(app)/environments/[environmentId]/(people)/people/components/PersonSecondaryNavigation"; import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { Button } from "@/modules/ui/components/button"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { CircleHelpIcon } from "lucide-react"; import { Metadata } from "next"; import { getServerSession } from "next-auth"; @@ -12,9 +15,6 @@ import { getAccessFlags } from "@formbricks/lib/membership/utils"; import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service"; import { getProductByEnvironmentId } from "@formbricks/lib/product/service"; import { findMatchingLocale } from "@formbricks/lib/utils/locale"; -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 9b6b5ce80c..32666c9714 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 @@ -2,12 +2,12 @@ import { deletePersonAction } from "@/app/(app)/environments/[environmentId]/(people)/people/actions"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { DeleteDialog } from "@/modules/ui/components/delete-dialog"; import { TrashIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; import { useState } from "react"; import toast from "react-hot-toast"; -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 34ac03a7b7..b32991a66b 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 @@ -3,6 +3,7 @@ import { SingleResponseCard } from "@/modules/analysis/components/SingleResponseCard"; import { TTeamPermission } from "@/modules/ee/teams/product-teams/types/teams"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { EmptySpaceFiller } from "@/modules/ui/components/empty-space-filler"; import { useEffect, useState } from "react"; import { useMembershipRole } from "@formbricks/lib/membership/hooks/useMembershipRole"; import { getAccessFlags } from "@formbricks/lib/membership/utils"; @@ -13,7 +14,6 @@ import { TResponse } from "@formbricks/types/responses"; import { TSurvey } from "@formbricks/types/surveys/types"; import { TTag } from "@formbricks/types/tags"; import { TUser, TUserLocale } from "@formbricks/types/user"; -import { EmptySpaceFiller } from "@formbricks/ui/components/EmptySpaceFiller"; 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 d3c84c82f0..7c9a557356 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,6 +1,6 @@ +import { BackIcon } from "@/modules/ui/components/icons"; import { ArrowDownUpIcon, TrashIcon } from "lucide-react"; import { useTranslations } from "next-intl"; -import { BackIcon } from "@formbricks/ui/components/icons"; const Loading = () => { const t = useTranslations(); 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 814cdaed02..7a2ff8911f 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 @@ -3,6 +3,8 @@ import { DeletePersonButton } from "@/app/(app)/environments/[environmentId]/(pe import { ResponseSection } from "@/app/(app)/environments/[environmentId]/(people)/people/[personId]/components/ResponseSection"; import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { getAttributes } from "@formbricks/lib/attribute/service"; @@ -16,8 +18,6 @@ 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/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Page = async (props) => { const params = await props.params; 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 f9a0d8086c..d37e6164f6 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,7 +1,7 @@ +import { SecondaryNavigation } from "@/modules/ui/components/secondary-navigation"; import { getTranslations } from "next-intl/server"; import { getProductByEnvironmentId } from "@formbricks/lib/product/service"; import { TProduct } from "@formbricks/types/product"; -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 bbab240ade..919e80bbd7 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 @@ -2,6 +2,16 @@ import { deletePersonAction } from "@/app/(app)/environments/[environmentId]/(people)/people/actions"; import { generatePersonTableColumns } from "@/app/(app)/environments/[environmentId]/(people)/people/components/PersonTableColumn"; +import { Button } from "@/modules/ui/components/button"; +import { + DataTableHeader, + DataTableSettingsModal, + DataTableToolbar, +} from "@/modules/ui/components/data-table"; +import { getCommonPinningStyles } from "@/modules/ui/components/data-table/lib/utils"; +import { SearchBar } from "@/modules/ui/components/search-bar"; +import { Skeleton } from "@/modules/ui/components/skeleton"; +import { Table, TableBody, TableCell, TableHeader, TableRow } from "@/modules/ui/components/table"; import { DndContext, type DragEndEvent, @@ -21,16 +31,6 @@ 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/components/Button"; -import { - DataTableHeader, - DataTableSettingsModal, - DataTableToolbar, -} from "@formbricks/ui/components/DataTable"; -import { getCommonPinningStyles } from "@formbricks/ui/components/DataTable/lib/utils"; -import { SearchBar } from "@formbricks/ui/components/SearchBar"; -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 59a244439e..562c2c8c53 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 @@ -1,10 +1,10 @@ "use client"; +import { getSelectionColumn } from "@/modules/ui/components/data-table"; +import { HighlightedText } from "@/modules/ui/components/highlighted-text"; import { ColumnDef } from "@tanstack/react-table"; import { cn } from "@formbricks/lib/cn"; import { TPersonTableData } from "@formbricks/types/people"; -import { getSelectionColumn } from "@formbricks/ui/components/DataTable"; -import { HighlightedText } from "@formbricks/ui/components/HighlightedText"; export const generatePersonTableColumns = ( isExpanded: boolean, 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 d3d3addc30..1ef29310a8 100644 --- a/apps/web/app/(app)/environments/[environmentId]/(people)/people/loading.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/(people)/people/loading.tsx @@ -1,7 +1,7 @@ import { PersonSecondaryNavigation } from "@/app/(app)/environments/[environmentId]/(people)/people/components/PersonSecondaryNavigation"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getTranslations } from "next-intl/server"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Loading = async () => { const t = await getTranslations(); 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 3a3c7e14f9..73c468f26e 100644 --- a/apps/web/app/(app)/environments/[environmentId]/(people)/people/page.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/(people)/people/page.tsx @@ -2,6 +2,9 @@ import { PersonDataView } from "@/app/(app)/environments/[environmentId]/(people import { PersonSecondaryNavigation } from "@/app/(app)/environments/[environmentId]/(people)/people/components/PersonSecondaryNavigation"; import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { Button } from "@/modules/ui/components/button"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { CircleHelpIcon } from "lucide-react"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; @@ -12,9 +15,6 @@ 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 { Button } from "@formbricks/ui/components/Button"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Page = async (props: { params: Promise<{ environmentId: string }> }) => { const params = await props.params; 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 da636c1937..7ec4f10c00 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 @@ -1,6 +1,12 @@ "use client"; import { createSegmentAction } from "@/modules/ee/advanced-targeting/lib/actions"; +import { BasicAddFilterModal } from "@/modules/ui/components/basic-add-filter-modal"; +import { BasicSegmentEditor } from "@/modules/ui/components/basic-segment-editor"; +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; +import { Modal } from "@/modules/ui/components/modal"; +import { UpgradePlanNotice } from "@/modules/ui/components/upgrade-plan-notice"; import { FilterIcon, PlusIcon, UsersIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; @@ -9,12 +15,6 @@ import toast from "react-hot-toast"; 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/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 13aafeb32a..f02ce4e004 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 @@ -1,5 +1,11 @@ "use client"; +import { BasicAddFilterModal } from "@/modules/ui/components/basic-add-filter-modal"; +import { BasicSegmentEditor } from "@/modules/ui/components/basic-segment-editor"; +import { Button } from "@/modules/ui/components/button"; +import { ConfirmDeleteSegmentModal } from "@/modules/ui/components/confirm-delete-segment-modal"; +import { Input } from "@/modules/ui/components/input"; +import { UpgradePlanNotice } from "@/modules/ui/components/upgrade-plan-notice"; import { FilterIcon, Trash2 } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; @@ -9,12 +15,6 @@ 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/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 b79af0dc66..2b62d1ccd8 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 @@ -1,11 +1,11 @@ "use client"; import { SegmentSettings } from "@/modules/ee/advanced-targeting/components/segment-settings"; +import { ModalWithTabs } from "@/modules/ui/components/modal-with-tabs"; import { UsersIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TSegment, TSegmentWithSurveyNames } from "@formbricks/types/segment"; -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 530f43cec5..ac5092a8b1 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 @@ -1,9 +1,9 @@ "use client"; +import { Label } from "@/modules/ui/components/label"; import { useTranslations } from "next-intl"; import { convertDateTimeStringShort } from "@formbricks/lib/time"; import { TSegment } from "@formbricks/types/segment"; -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 0b69d9ac45..5a0b2064d8 100644 --- a/apps/web/app/(app)/environments/[environmentId]/(people)/segments/loading.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/(people)/segments/loading.tsx @@ -1,8 +1,8 @@ import { PersonSecondaryNavigation } from "@/app/(app)/environments/[environmentId]/(people)/people/components/PersonSecondaryNavigation"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { UsersIcon } from "lucide-react"; import { getTranslations } from "next-intl/server"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Loading = async () => { const t = await getTranslations(); 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 9295859c55..3f23976b31 100644 --- a/apps/web/app/(app)/environments/[environmentId]/(people)/segments/page.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/(people)/segments/page.tsx @@ -5,6 +5,8 @@ import { CreateSegmentModal } from "@/modules/ee/advanced-targeting/components/c import { getAdvancedTargetingPermission } from "@/modules/ee/license-check/lib/utils"; import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { getAttributeClasses } from "@formbricks/lib/attributeClass/service"; @@ -16,8 +18,6 @@ import { getAccessFlags } from "@formbricks/lib/membership/utils"; import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service"; import { getProductByEnvironmentId } from "@formbricks/lib/product/service"; import { getSegments } from "@formbricks/lib/segment/service"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Page = async (props) => { const params = await props.params; 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 5220884855..fc12569702 100644 --- a/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionActivityTab.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionActivityTab.tsx @@ -2,6 +2,10 @@ import { createActionClassAction } from "@/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/actions"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Button } from "@/modules/ui/components/button"; +import { ErrorComponent } from "@/modules/ui/components/error-component"; +import { Label } from "@/modules/ui/components/label"; +import { LoadingSpinner } from "@/modules/ui/components/loading-spinner"; import { Code2Icon, MousePointerClickIcon, SparklesIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useEffect, useMemo, useState } from "react"; @@ -10,10 +14,6 @@ import { convertDateTimeStringShort } from "@formbricks/lib/time"; import { capitalizeFirstLetter } from "@formbricks/lib/utils/strings"; import { TActionClass, TActionClassInput, TActionClassInputCode } from "@formbricks/types/action-classes"; import { TEnvironment } from "@formbricks/types/environment"; -import { Button } from "@formbricks/ui/components/Button"; -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/ActionDetailModal.tsx b/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionDetailModal.tsx index 7a220d97bd..0ce64db78a 100644 --- a/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionDetailModal.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionDetailModal.tsx @@ -1,8 +1,8 @@ +import { ModalWithTabs } from "@/modules/ui/components/modal-with-tabs"; import { Code2Icon, MousePointerClickIcon, SparklesIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { TActionClass } from "@formbricks/types/action-classes"; import { TEnvironment } from "@formbricks/types/environment"; -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 536c4e022f..5c163231ee 100644 --- a/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionSettingsTab.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/actions/components/ActionSettingsTab.tsx @@ -5,6 +5,12 @@ import { updateActionClassAction, } from "@/app/(app)/environments/[environmentId]/actions/actions"; import { isValidCssSelector } from "@/app/lib/actionClass/actionClass"; +import { Button } from "@/modules/ui/components/button"; +import { CodeActionForm } from "@/modules/ui/components/code-action-form"; +import { DeleteDialog } from "@/modules/ui/components/delete-dialog"; +import { FormControl, FormError, FormField, FormItem, FormLabel } from "@/modules/ui/components/form"; +import { Input } from "@/modules/ui/components/input"; +import { NoCodeActionForm } from "@/modules/ui/components/no-code-action-form"; import { zodResolver } from "@hookform/resolvers/zod"; import { TrashIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -14,12 +20,6 @@ import { FormProvider, useForm } from "react-hook-form"; import { toast } from "react-hot-toast"; import { z } from "zod"; import { TActionClass, TActionClassInput, ZActionClassInput } from "@formbricks/types/action-classes"; -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 e31fd55461..8b3d491493 100644 --- a/apps/web/app/(app)/environments/[environmentId]/actions/components/AddActionModal.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/actions/components/AddActionModal.tsx @@ -1,12 +1,12 @@ "use client"; import { CreateNewActionTab } from "@/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/CreateNewActionTab"; +import { Button } from "@/modules/ui/components/button"; +import { Modal } from "@/modules/ui/components/modal"; import { MousePointerClickIcon, PlusIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useState } from "react"; import { TActionClass } from "@formbricks/types/action-classes"; -import { Button } from "@formbricks/ui/components/Button"; -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 507af62ea0..989446c150 100644 --- a/apps/web/app/(app)/environments/[environmentId]/actions/loading.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/actions/loading.tsx @@ -1,6 +1,6 @@ +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { useTranslations } from "next-intl"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Loading = () => { const t = useTranslations(); diff --git a/apps/web/app/(app)/environments/[environmentId]/actions/page.tsx b/apps/web/app/(app)/environments/[environmentId]/actions/page.tsx index f2dd574296..48e387ad61 100644 --- a/apps/web/app/(app)/environments/[environmentId]/actions/page.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/actions/page.tsx @@ -4,6 +4,8 @@ import { ActionTableHeading } from "@/app/(app)/environments/[environmentId]/act import { AddActionModal } from "@/app/(app)/environments/[environmentId]/actions/components/AddActionModal"; import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { Metadata } from "next"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; @@ -16,8 +18,6 @@ import { getAccessFlags } from "@formbricks/lib/membership/utils"; import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service"; import { getProductByEnvironmentId } from "@formbricks/lib/product/service"; import { findMatchingLocale } from "@formbricks/lib/utils/locale"; -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/EnvironmentLayout.tsx b/apps/web/app/(app)/environments/[environmentId]/components/EnvironmentLayout.tsx index bc3e8299f1..b876e79a54 100644 --- a/apps/web/app/(app)/environments/[environmentId]/components/EnvironmentLayout.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/components/EnvironmentLayout.tsx @@ -2,6 +2,9 @@ import { MainNavigation } from "@/app/(app)/environments/[environmentId]/compone import { TopControlBar } from "@/app/(app)/environments/[environmentId]/components/TopControlBar"; import { getEnterpriseLicense } from "@/modules/ee/license-check/lib/utils"; import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; +import { DevEnvironmentBanner } from "@/modules/ui/components/dev-environment-banner"; +import { LimitsReachedBanner } from "@/modules/ui/components/limits-reached-banner"; +import { PendingDowngradeBanner } from "@/modules/ui/components/pending-downgrade-banner"; import type { Session } from "next-auth"; import { getTranslations } from "next-intl/server"; import { IS_FORMBRICKS_CLOUD } from "@formbricks/lib/constants"; @@ -16,9 +19,6 @@ import { } from "@formbricks/lib/organization/service"; import { getUserProducts } from "@formbricks/lib/product/service"; import { getUser } from "@formbricks/lib/user/service"; -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 c247430aba..c65cd0d414 100644 --- a/apps/web/app/(app)/environments/[environmentId]/components/EnvironmentSwitch.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/components/EnvironmentSwitch.tsx @@ -1,12 +1,12 @@ "use client"; +import { Label } from "@/modules/ui/components/label"; +import { Switch } from "@/modules/ui/components/switch"; import { useTranslations } from "next-intl"; 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/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 688b9af3b1..c120350fb3 100644 --- a/apps/web/app/(app)/environments/[environmentId]/components/MainNavigation.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/components/MainNavigation.tsx @@ -5,6 +5,21 @@ import { NavigationLink } from "@/app/(app)/environments/[environmentId]/compone import { formbricksLogout } from "@/app/lib/formbricks"; import FBLogo from "@/images/formbricks-wordmark.svg"; import { CreateOrganizationModal } from "@/modules/organization/components/CreateOrganizationModal"; +import { ProfileAvatar } from "@/modules/ui/components/avatars"; +import { Button } from "@/modules/ui/components/button"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuPortal, + DropdownMenuRadioGroup, + DropdownMenuRadioItem, + DropdownMenuSeparator, + DropdownMenuSub, + DropdownMenuSubContent, + DropdownMenuSubTrigger, + DropdownMenuTrigger, +} from "@/modules/ui/components/dropdown-menu"; import { ArrowUpRightIcon, BlendIcon, @@ -42,21 +57,6 @@ import { TOrganizationRole } 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/components/Avatars"; -import { Button } from "@formbricks/ui/components/Button"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuPortal, - DropdownMenuRadioGroup, - DropdownMenuRadioItem, - DropdownMenuSeparator, - DropdownMenuSub, - DropdownMenuSubContent, - DropdownMenuSubTrigger, - DropdownMenuTrigger, -} from "@formbricks/ui/components/DropdownMenu"; import packageJson 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 384af35078..e9c418e473 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 { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/modules/ui/components/tooltip"; import Link from "next/link"; import React from "react"; import { cn } from "@formbricks/lib/cn"; -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 54f600a9f4..a5c35e7ded 100644 --- a/apps/web/app/(app)/environments/[environmentId]/components/TopControlButtons.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/components/TopControlButtons.tsx @@ -3,6 +3,7 @@ import { EnvironmentSwitch } from "@/app/(app)/environments/[environmentId]/components/EnvironmentSwitch"; import { TTeamPermission } from "@/modules/ee/teams/product-teams/types/teams"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { Button } from "@/modules/ui/components/button"; import { CircleUserIcon, MessageCircleQuestionIcon, PlusIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; @@ -10,7 +11,6 @@ import formbricks from "@formbricks/js"; import { getAccessFlags } from "@formbricks/lib/membership/utils"; import { TEnvironment } from "@formbricks/types/environment"; import { TOrganizationRole } from "@formbricks/types/memberships"; -import { Button } from "@formbricks/ui/components/Button"; interface TopControlButtonsProps { 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 047a78cee1..28c83dca58 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 @@ -4,6 +4,19 @@ import { createOrUpdateIntegrationAction } from "@/app/(app)/environments/[envir import { BaseSelectDropdown } from "@/app/(app)/environments/[environmentId]/integrations/airtable/components/BaseSelectDropdown"; import { fetchTables } from "@/app/(app)/environments/[environmentId]/integrations/airtable/lib/airtable"; import AirtableLogo from "@/images/airtableLogo.svg"; +import { AdditionalIntegrationSettings } from "@/modules/ui/components/additional-integration-settings"; +import { Alert, AlertDescription, AlertTitle } from "@/modules/ui/components/alert"; +import { Button } from "@/modules/ui/components/button"; +import { Checkbox } from "@/modules/ui/components/checkbox"; +import { Label } from "@/modules/ui/components/label"; +import { Modal } from "@/modules/ui/components/modal"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/modules/ui/components/select"; import { useTranslations } from "next-intl"; import Image from "next/image"; import { useRouter } from "next/navigation"; @@ -21,19 +34,6 @@ import { TIntegrationAirtableTables, } from "@formbricks/types/integration/airtable"; import { TSurvey } from "@formbricks/types/surveys/types"; -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 864d6db849..40ec47b6e4 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 @@ -3,6 +3,7 @@ import { ManageIntegration } from "@/app/(app)/environments/[environmentId]/integrations/airtable/components/ManageIntegration"; import { authorize } from "@/app/(app)/environments/[environmentId]/integrations/airtable/lib/airtable"; import airtableLogo from "@/images/airtableLogo.svg"; +import { ConnectIntegration } from "@/modules/ui/components/connect-integration"; import { useState } from "react"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TEnvironment } from "@formbricks/types/environment"; @@ -10,7 +11,6 @@ import { TIntegrationItem } from "@formbricks/types/integration"; import { TIntegrationAirtable } from "@formbricks/types/integration/airtable"; import { TSurvey } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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 5732dfb10b..6310371e0f 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,14 +1,14 @@ -import { useTranslations } from "next-intl"; -import { Control, Controller, UseFormSetValue } from "react-hook-form"; -import { TIntegrationItem } from "@formbricks/types/integration"; -import { Label } from "@formbricks/ui/components/Label"; +import { Label } from "@/modules/ui/components/label"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, -} from "@formbricks/ui/components/Select"; +} from "@/modules/ui/components/select"; +import { useTranslations } from "next-intl"; +import { Control, Controller, UseFormSetValue } from "react-hook-form"; +import { TIntegrationItem } from "@formbricks/types/integration"; 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 cd6c5a2bf3..77342f2524 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 @@ -6,6 +6,9 @@ import { IntegrationModalInputs, } from "@/app/(app)/environments/[environmentId]/integrations/airtable/components/AddIntegrationModal"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Button } from "@/modules/ui/components/button"; +import { DeleteDialog } from "@/modules/ui/components/delete-dialog"; +import { EmptySpaceFiller } from "@/modules/ui/components/empty-space-filler"; import { Trash2Icon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useState } from "react"; @@ -17,9 +20,6 @@ import { TIntegrationItem } from "@formbricks/types/integration"; import { TIntegrationAirtable } from "@formbricks/types/integration/airtable"; import { TSurvey } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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 bad8e03fb7..e1905f6744 100644 --- a/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/page.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/integrations/airtable/page.tsx @@ -1,6 +1,9 @@ import { AirtableWrapper } from "@/app/(app)/environments/[environmentId]/integrations/airtable/components/AirtableWrapper"; import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { GoBackButton } from "@/modules/ui/components/go-back-button"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { redirect } from "next/navigation"; @@ -17,9 +20,6 @@ import { getSurveys } from "@formbricks/lib/survey/service"; import { findMatchingLocale } from "@formbricks/lib/utils/locale"; import { TIntegrationItem } from "@formbricks/types/integration"; import { TIntegrationAirtable } from "@formbricks/types/integration/airtable"; -import { GoBackButton } from "@formbricks/ui/components/GoBackButton"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Page = async (props) => { const params = await props.params; 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 14bbff603f..0fddc9cc16 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 @@ -6,6 +6,13 @@ import { isValidGoogleSheetsUrl, } from "@/app/(app)/environments/[environmentId]/integrations/google-sheets/lib/util"; import GoogleSheetLogo from "@/images/googleSheetsLogo.png"; +import { AdditionalIntegrationSettings } from "@/modules/ui/components/additional-integration-settings"; +import { Button } from "@/modules/ui/components/button"; +import { Checkbox } from "@/modules/ui/components/checkbox"; +import { DropdownSelector } from "@/modules/ui/components/dropdown-selector"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; +import { Modal } from "@/modules/ui/components/modal"; import { useTranslations } from "next-intl"; import Image from "next/image"; import { useEffect, useState } from "react"; @@ -20,13 +27,6 @@ import { TIntegrationGoogleSheetsInput, } from "@formbricks/types/integration/google-sheet"; import { TSurvey, TSurveyQuestionId } from "@formbricks/types/surveys/types"; -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 26dbd4eb4e..e0a215a93e 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 @@ -3,6 +3,7 @@ import { ManageIntegration } from "@/app/(app)/environments/[environmentId]/integrations/google-sheets/components/ManageIntegration"; import { authorize } from "@/app/(app)/environments/[environmentId]/integrations/google-sheets/lib/google"; import googleSheetLogo from "@/images/googleSheetsLogo.png"; +import { ConnectIntegration } from "@/modules/ui/components/connect-integration"; import { useState } from "react"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TEnvironment } from "@formbricks/types/environment"; @@ -12,7 +13,6 @@ import { } from "@formbricks/types/integration/google-sheet"; import { TSurvey } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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 a45a97b920..c48affcfd9 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 @@ -2,6 +2,9 @@ import { deleteIntegrationAction } from "@/app/(app)/environments/[environmentId]/integrations/actions"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Button } from "@/modules/ui/components/button"; +import { DeleteDialog } from "@/modules/ui/components/delete-dialog"; +import { EmptySpaceFiller } from "@/modules/ui/components/empty-space-filler"; import { Trash2Icon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useState } from "react"; @@ -13,9 +16,6 @@ import { TIntegrationGoogleSheetsConfigData, } from "@formbricks/types/integration/google-sheet"; import { TUserLocale } from "@formbricks/types/user"; -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 5c4f64a7b3..c638440052 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,6 +1,6 @@ +import { Button } from "@/modules/ui/components/button"; +import { GoBackButton } from "@/modules/ui/components/go-back-button"; import { useTranslations } from "next-intl"; -import { Button } from "@formbricks/ui/components/Button"; -import { GoBackButton } from "@formbricks/ui/components/GoBackButton"; const Loading = () => { const t = useTranslations(); 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 8cc689eed6..6d6c3c36ea 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 @@ -1,6 +1,9 @@ import { GoogleSheetWrapper } from "@/app/(app)/environments/[environmentId]/integrations/google-sheets/components/GoogleSheetWrapper"; import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { GoBackButton } from "@/modules/ui/components/go-back-button"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { redirect } from "next/navigation"; @@ -20,9 +23,6 @@ import { getProductByEnvironmentId } from "@formbricks/lib/product/service"; import { getSurveys } from "@formbricks/lib/survey/service"; import { findMatchingLocale } from "@formbricks/lib/utils/locale"; import { TIntegrationGoogleSheets } from "@formbricks/types/integration/google-sheet"; -import { GoBackButton } from "@formbricks/ui/components/GoBackButton"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Page = async (props) => { const params = await props.params; 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 10339009b2..f47b5c8026 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 @@ -5,6 +5,10 @@ import { UNSUPPORTED_TYPES_BY_NOTION, } from "@/app/(app)/environments/[environmentId]/integrations/notion/constants"; import NotionLogo from "@/images/notion.png"; +import { Button } from "@/modules/ui/components/button"; +import { DropdownSelector } from "@/modules/ui/components/dropdown-selector"; +import { Label } from "@/modules/ui/components/label"; +import { Modal } from "@/modules/ui/components/modal"; import { PlusIcon, XIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import Image from "next/image"; @@ -24,10 +28,6 @@ import { } from "@formbricks/types/integration/notion"; import { TSurvey, TSurveyQuestionTypeEnum } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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 4ee8c106b4..1821ae708e 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 @@ -1,5 +1,8 @@ import { deleteIntegrationAction } from "@/app/(app)/environments/[environmentId]/integrations/actions"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Button } from "@/modules/ui/components/button"; +import { DeleteDialog } from "@/modules/ui/components/delete-dialog"; +import { EmptySpaceFiller } from "@/modules/ui/components/empty-space-filler"; import { Trash2Icon } from "lucide-react"; import { useTranslations } from "next-intl"; import React, { useState } from "react"; @@ -8,9 +11,6 @@ import { timeSince } from "@formbricks/lib/time"; import { TEnvironment } from "@formbricks/types/environment"; import { TIntegrationNotion, TIntegrationNotionConfigData } from "@formbricks/types/integration/notion"; import { TUserLocale } from "@formbricks/types/user"; -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 f836214b6f..5d756a70e3 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 @@ -3,6 +3,7 @@ import { AddIntegrationModal } from "@/app/(app)/environments/[environmentId]/integrations/notion/components/AddIntegrationModal"; import { ManageIntegration } from "@/app/(app)/environments/[environmentId]/integrations/notion/components/ManageIntegration"; import notionLogo from "@/images/notion.png"; +import { ConnectIntegration } from "@/modules/ui/components/connect-integration"; import { useState } from "react"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TEnvironment } from "@formbricks/types/environment"; @@ -13,7 +14,6 @@ import { } from "@formbricks/types/integration/notion"; import { TSurvey } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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 295069e164..a3f2faed41 100644 --- a/apps/web/app/(app)/environments/[environmentId]/integrations/notion/loading.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/integrations/notion/loading.tsx @@ -1,6 +1,6 @@ +import { Button } from "@/modules/ui/components/button"; +import { GoBackButton } from "@/modules/ui/components/go-back-button"; import { useTranslations } from "next-intl"; -import { Button } from "@formbricks/ui/components/Button"; -import { GoBackButton } from "@formbricks/ui/components/GoBackButton"; const Loading = () => { const t = useTranslations(); 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 117d46cb71..f96a9b9eb6 100644 --- a/apps/web/app/(app)/environments/[environmentId]/integrations/notion/page.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/integrations/notion/page.tsx @@ -1,6 +1,9 @@ import { NotionWrapper } from "@/app/(app)/environments/[environmentId]/integrations/notion/components/NotionWrapper"; import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { GoBackButton } from "@/modules/ui/components/go-back-button"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { redirect } from "next/navigation"; @@ -22,9 +25,6 @@ import { getProductByEnvironmentId } from "@formbricks/lib/product/service"; import { getSurveys } from "@formbricks/lib/survey/service"; import { findMatchingLocale } from "@formbricks/lib/utils/locale"; import { TIntegrationNotion, TIntegrationNotionDatabase } from "@formbricks/types/integration/notion"; -import { GoBackButton } from "@formbricks/ui/components/GoBackButton"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Page = async (props) => { const params = await props.params; diff --git a/apps/web/app/(app)/environments/[environmentId]/integrations/page.tsx b/apps/web/app/(app)/environments/[environmentId]/integrations/page.tsx index 37c60d6c93..98e265882f 100644 --- a/apps/web/app/(app)/environments/[environmentId]/integrations/page.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/integrations/page.tsx @@ -9,6 +9,9 @@ import WebhookLogo from "@/images/webhook.png"; import ZapierLogo from "@/images/zapier-small.png"; import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { Card } from "@/modules/ui/components/integration-card"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import Image from "next/image"; @@ -21,9 +24,6 @@ import { getAccessFlags } from "@formbricks/lib/membership/utils"; import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service"; import { getWebhookCountBySource } from "@formbricks/lib/webhook/service"; import { TIntegrationType } from "@formbricks/types/integration"; -import { Card } from "@formbricks/ui/components/IntegrationCard"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Page = async (props) => { const params = await props.params; 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 2243368bf9..593f3b42a8 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 @@ -1,5 +1,11 @@ import { createOrUpdateIntegrationAction } from "@/app/(app)/environments/[environmentId]/integrations/actions"; import SlackLogo from "@/images/slacklogo.png"; +import { AdditionalIntegrationSettings } from "@/modules/ui/components/additional-integration-settings"; +import { Button } from "@/modules/ui/components/button"; +import { Checkbox } from "@/modules/ui/components/checkbox"; +import { DropdownSelector } from "@/modules/ui/components/dropdown-selector"; +import { Label } from "@/modules/ui/components/label"; +import { Modal } from "@/modules/ui/components/modal"; import { useTranslations } from "next-intl"; import Image from "next/image"; import { useEffect, useMemo, useState } from "react"; @@ -15,12 +21,6 @@ import { TIntegrationSlackInput, } from "@formbricks/types/integration/slack"; import { TSurvey, TSurveyQuestionId } from "@formbricks/types/surveys/types"; -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 776b753a43..4ccfb54038 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 @@ -2,6 +2,9 @@ import { deleteIntegrationAction } from "@/app/(app)/environments/[environmentId]/integrations/actions"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Button } from "@/modules/ui/components/button"; +import { DeleteDialog } from "@/modules/ui/components/delete-dialog"; +import { EmptySpaceFiller } from "@/modules/ui/components/empty-space-filler"; import { Trash2Icon } from "lucide-react"; import { useTranslations } from "next-intl"; import React, { useState } from "react"; @@ -10,9 +13,6 @@ import { timeSince } from "@formbricks/lib/time"; import { TEnvironment } from "@formbricks/types/environment"; import { TIntegrationSlack, TIntegrationSlackConfigData } from "@formbricks/types/integration/slack"; import { TUserLocale } from "@formbricks/types/user"; -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 1e6ac7f4db..b4f82536cc 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 @@ -5,6 +5,7 @@ import { AddChannelMappingModal } from "@/app/(app)/environments/[environmentId] import { ManageIntegration } from "@/app/(app)/environments/[environmentId]/integrations/slack/components/ManageIntegration"; import { authorize } from "@/app/(app)/environments/[environmentId]/integrations/slack/lib/slack"; import slackLogo from "@/images/slacklogo.png"; +import { ConnectIntegration } from "@/modules/ui/components/connect-integration"; import { useEffect, useState } from "react"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TEnvironment } from "@formbricks/types/environment"; @@ -12,7 +13,6 @@ import { TIntegrationItem } from "@formbricks/types/integration"; import { TIntegrationSlack, TIntegrationSlackConfigData } from "@formbricks/types/integration/slack"; import { TSurvey } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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 9db09aee2b..39b638deed 100644 --- a/apps/web/app/(app)/environments/[environmentId]/integrations/slack/page.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/integrations/slack/page.tsx @@ -1,6 +1,9 @@ import { SlackWrapper } from "@/app/(app)/environments/[environmentId]/integrations/slack/components/SlackWrapper"; import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { GoBackButton } from "@/modules/ui/components/go-back-button"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { redirect } from "next/navigation"; @@ -15,9 +18,6 @@ import { getProductByEnvironmentId } from "@formbricks/lib/product/service"; import { getSurveys } from "@formbricks/lib/survey/service"; import { findMatchingLocale } from "@formbricks/lib/utils/locale"; import { TIntegrationSlack } from "@formbricks/types/integration/slack"; -import { GoBackButton } from "@formbricks/ui/components/GoBackButton"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Page = async (props) => { const params = await props.params; 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 3faf668ebb..b76f7a4d7b 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 @@ -1,11 +1,11 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; import { Webhook } from "lucide-react"; import { useTranslations } from "next-intl"; import { useState } from "react"; import { TEnvironment } from "@formbricks/types/environment"; import { TSurvey } from "@formbricks/types/surveys/types"; -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 3313135b2c..71533e55c8 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 @@ -2,6 +2,10 @@ import { SurveyCheckboxGroup } from "@/app/(app)/environments/[environmentId]/in import { TriggerCheckboxGroup } from "@/app/(app)/environments/[environmentId]/integrations/webhooks/components/TriggerCheckboxGroup"; import { validWebHookURL } from "@/app/(app)/environments/[environmentId]/integrations/webhooks/lib/utils"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; +import { Modal } from "@/modules/ui/components/modal"; import clsx from "clsx"; import { Webhook } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -12,10 +16,6 @@ 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/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 4254cd205d..de3421445e 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,7 +1,7 @@ +import { Checkbox } from "@/modules/ui/components/checkbox"; import { useTranslations } from "next-intl"; import React from "react"; import { TSurvey } from "@formbricks/types/surveys/types"; -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 5d4b5a6de8..21e5f228e2 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,7 +1,7 @@ +import { Checkbox } from "@/modules/ui/components/checkbox"; import { useTranslations } from "next-intl"; import React from "react"; import { TPipelineTrigger } from "@formbricks/types/pipelines"; -import { Checkbox } from "@formbricks/ui/components/Checkbox"; interface TriggerCheckboxGroupProps { selectedTriggers: 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 4bbcc66527..a92274293f 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 @@ -1,10 +1,10 @@ import { WebhookOverviewTab } from "@/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookOverviewTab"; import { WebhookSettingsTab } from "@/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookSettingsTab"; +import { ModalWithTabs } from "@/modules/ui/components/modal-with-tabs"; import { Webhook } from "lucide-react"; import { useTranslations } from "next-intl"; import { TSurvey } from "@formbricks/types/surveys/types"; import { TWebhook } from "@formbricks/types/webhooks"; -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 e8d16269ee..47151a6259 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 @@ -1,9 +1,9 @@ +import { Label } from "@/modules/ui/components/label"; import { useTranslations } from "next-intl"; 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/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 d6794f6452..e95bcf5eea 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 @@ -1,10 +1,10 @@ +import { Badge } from "@/modules/ui/components/badge"; import { useTranslations } from "next-intl"; import { timeSince } from "@formbricks/lib/time"; import { capitalizeFirstLetter } from "@formbricks/lib/utils/strings"; import { TSurvey } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; import { TWebhook } from "@formbricks/types/webhooks"; -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 c2c210b7cc..a88e870dcf 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 @@ -4,6 +4,10 @@ import { SurveyCheckboxGroup } from "@/app/(app)/environments/[environmentId]/in import { TriggerCheckboxGroup } from "@/app/(app)/environments/[environmentId]/integrations/webhooks/components/TriggerCheckboxGroup"; import { validWebHookURL } from "@/app/(app)/environments/[environmentId]/integrations/webhooks/lib/utils"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Button } from "@/modules/ui/components/button"; +import { DeleteDialog } from "@/modules/ui/components/delete-dialog"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; import clsx from "clsx"; import { TrashIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -14,10 +18,6 @@ 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/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 ceabdf6df6..2306692220 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 @@ -1,12 +1,12 @@ "use client"; import { WebhookModal } from "@/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookDetailModal"; +import { EmptySpaceFiller } from "@/modules/ui/components/empty-space-filler"; import { useTranslations } from "next-intl"; import { type JSX, 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/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 dcc6ae0b7e..c3dc77c1b7 100644 --- a/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/page.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/integrations/webhooks/page.tsx @@ -4,6 +4,9 @@ import { WebhookTable } from "@/app/(app)/environments/[environmentId]/integrati import { WebhookTableHeading } from "@/app/(app)/environments/[environmentId]/integrations/webhooks/components/WebhookTableHeading"; import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { GoBackButton } from "@/modules/ui/components/go-back-button"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { authOptions } from "@formbricks/lib/authOptions"; @@ -14,9 +17,6 @@ import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/ser import { getSurveys } from "@formbricks/lib/survey/service"; import { findMatchingLocale } from "@formbricks/lib/utils/locale"; import { getWebhooks } from "@formbricks/lib/webhook/service"; -import { GoBackButton } from "@formbricks/ui/components/GoBackButton"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Page = async (props) => { const params = await props.params; diff --git a/apps/web/app/(app)/environments/[environmentId]/layout.tsx b/apps/web/app/(app)/environments/[environmentId]/layout.tsx index aef5f54e69..30b7c0d933 100644 --- a/apps/web/app/(app)/environments/[environmentId]/layout.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/layout.tsx @@ -1,5 +1,6 @@ import { EnvironmentLayout } from "@/app/(app)/environments/[environmentId]/components/EnvironmentLayout"; import { ResponseFilterProvider } from "@/app/(app)/environments/[environmentId]/components/ResponseFilterContext"; +import { ToasterClient } from "@/modules/ui/components/toaster-client"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { notFound, redirect } from "next/navigation"; @@ -10,7 +11,6 @@ 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/components/ToasterClient"; import { FormbricksClient } from "../../components/FormbricksClient"; import EnvironmentStorageHandler from "./components/EnvironmentStorageHandler"; 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 fb59687a1a..6ca82b43d2 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 @@ -2,9 +2,9 @@ import { LoadingCard } from "@/app/(app)/components/LoadingCard"; import { ProductConfigNavigation } from "@/app/(app)/environments/[environmentId]/product/components/ProductConfigNavigation"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { useTranslations } from "next-intl"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Loading = async () => { const t = useTranslations(); 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 f74ef9cdc4..bc4ef92234 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 @@ -6,13 +6,13 @@ import { getMultiLanguagePermission, getRoleManagementPermission, } from "@/modules/ee/license-check/lib/utils"; +import { EnvironmentNotice } from "@/modules/ui/components/environment-notice"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getTranslations } from "next-intl/server"; import { WEBAPP_URL } from "@formbricks/lib/constants"; import { getEnvironment } from "@formbricks/lib/environment/service"; import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service"; -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 (props) => { 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 c327f351b9..70bb61777f 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/components/CodeBlock"; +import { CodeBlock } from "@/modules/ui/components/code-block"; 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 18189bf2d3..7fe2b0275f 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 @@ -1,12 +1,12 @@ "use client"; +import { CodeBlock } from "@/modules/ui/components/code-block"; +import { Html5Icon, NpmIcon } from "@/modules/ui/components/icons"; +import { TabBar } from "@/modules/ui/components/tab-bar"; import { useTranslations } from "next-intl"; import Link from "next/link"; import "prismjs/themes/prism.css"; import { useState } from "react"; -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/api-keys/components/AddApiKeyModal.tsx b/apps/web/app/(app)/environments/[environmentId]/product/api-keys/components/AddApiKeyModal.tsx index 30c0f48cf5..d221cdb7f4 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 @@ -1,12 +1,12 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; +import { Modal } from "@/modules/ui/components/modal"; import { AlertTriangleIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useForm } from "react-hook-form"; -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 a766600850..1eece78eda 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 @@ -1,6 +1,8 @@ "use client"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Button } from "@/modules/ui/components/button"; +import { DeleteDialog } from "@/modules/ui/components/delete-dialog"; import { FilesIcon, TrashIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useState } from "react"; @@ -9,8 +11,6 @@ import { cn } from "@formbricks/lib/cn"; import { timeSince } from "@formbricks/lib/time"; import { TApiKey } from "@formbricks/types/api-keys"; import { TUserLocale } from "@formbricks/types/user"; -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 d8492f2a7f..63afce5aaa 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 @@ -1,9 +1,9 @@ "use client"; import { ProductConfigNavigation } from "@/app/(app)/environments/[environmentId]/product/components/ProductConfigNavigation"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { useTranslations } from "next-intl"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const LoadingCard = () => { const t = useTranslations(); 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 f30dc1449d..58ec8e3bc9 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 @@ -5,6 +5,9 @@ import { } from "@/modules/ee/license-check/lib/utils"; import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { EnvironmentNotice } from "@/modules/ui/components/environment-notice"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { authOptions } from "@formbricks/lib/authOptions"; @@ -14,9 +17,6 @@ import { getAccessFlags } from "@formbricks/lib/membership/utils"; import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service"; import { getProductByEnvironmentId } from "@formbricks/lib/product/service"; import { findMatchingLocale } from "@formbricks/lib/utils/locale"; -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"; 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 ad7f7f1375..7b565887cd 100644 --- a/apps/web/app/(app)/environments/[environmentId]/product/components/ProductConfigNavigation.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/product/components/ProductConfigNavigation.tsx @@ -1,9 +1,9 @@ "use client"; +import { SecondaryNavigation } from "@/modules/ui/components/secondary-navigation"; import { BrushIcon, KeyIcon, LanguagesIcon, ListChecksIcon, TagIcon, UsersIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { usePathname } from "next/navigation"; -import { SecondaryNavigation } from "@formbricks/ui/components/SecondaryNavigation"; interface ProductConfigNavigationProps { activeId: 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 19a0995651..6f86c99d82 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 @@ -2,15 +2,15 @@ import { deleteProductAction } from "@/app/(app)/environments/[environmentId]/product/general/actions"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Alert, AlertDescription } from "@/modules/ui/components/alert"; +import { Button } from "@/modules/ui/components/button"; +import { DeleteDialog } from "@/modules/ui/components/delete-dialog"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; import React, { useState } from "react"; import toast from "react-hot-toast"; import { truncate } from "@formbricks/lib/utils/strings"; import { TProduct } from "@formbricks/types/product"; -import { Alert, AlertDescription } from "@formbricks/ui/components/Alert"; -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 327bc0c0d8..0dacc09ecf 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 @@ -1,14 +1,8 @@ "use client"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; -import { zodResolver } from "@hookform/resolvers/zod"; -import { useTranslations } from "next-intl"; -import { SubmitHandler, useForm } from "react-hook-form"; -import toast from "react-hot-toast"; -import { z } from "zod"; -import { TProduct, ZProduct } from "@formbricks/types/product"; -import { Alert, AlertDescription } from "@formbricks/ui/components/Alert"; -import { Button } from "@formbricks/ui/components/Button"; +import { Alert, AlertDescription } from "@/modules/ui/components/alert"; +import { Button } from "@/modules/ui/components/button"; import { FormControl, FormError, @@ -16,8 +10,14 @@ import { FormItem, FormLabel, FormProvider, -} from "@formbricks/ui/components/Form"; -import { Input } from "@formbricks/ui/components/Input"; +} from "@/modules/ui/components/form"; +import { Input } from "@/modules/ui/components/input"; +import { zodResolver } from "@hookform/resolvers/zod"; +import { useTranslations } from "next-intl"; +import { SubmitHandler, useForm } from "react-hook-form"; +import toast from "react-hot-toast"; +import { z } from "zod"; +import { TProduct, ZProduct } from "@formbricks/types/product"; 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 a9905bdd2d..25ee1c949f 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 @@ -1,14 +1,8 @@ "use client"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; -import { zodResolver } from "@hookform/resolvers/zod"; -import { useTranslations } from "next-intl"; -import { SubmitHandler, useForm } from "react-hook-form"; -import toast from "react-hot-toast"; -import { z } from "zod"; -import { TProduct, ZProduct } from "@formbricks/types/product"; -import { Alert, AlertDescription } from "@formbricks/ui/components/Alert"; -import { Button } from "@formbricks/ui/components/Button"; +import { Alert, AlertDescription } from "@/modules/ui/components/alert"; +import { Button } from "@/modules/ui/components/button"; import { FormControl, FormError, @@ -16,8 +10,14 @@ import { FormItem, FormLabel, FormProvider, -} from "@formbricks/ui/components/Form"; -import { Input } from "@formbricks/ui/components/Input"; +} from "@/modules/ui/components/form"; +import { Input } from "@/modules/ui/components/input"; +import { zodResolver } from "@hookform/resolvers/zod"; +import { useTranslations } from "next-intl"; +import { SubmitHandler, useForm } from "react-hook-form"; +import toast from "react-hot-toast"; +import { z } from "zod"; +import { TProduct, ZProduct } from "@formbricks/types/product"; 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 4b4d98b869..bed7ab6bbd 100644 --- a/apps/web/app/(app)/environments/[environmentId]/product/general/loading.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/product/general/loading.tsx @@ -2,9 +2,9 @@ import { LoadingCard } from "@/app/(app)/components/LoadingCard"; import { ProductConfigNavigation } from "@/app/(app)/environments/[environmentId]/product/components/ProductConfigNavigation"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { useTranslations } from "next-intl"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Loading = () => { const t = useTranslations(); 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 ba2c2871ca..54c45ca1b6 100644 --- a/apps/web/app/(app)/environments/[environmentId]/product/general/page.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/product/general/page.tsx @@ -5,6 +5,9 @@ import { } from "@/modules/ee/license-check/lib/utils"; import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; +import { SettingsId } from "@/modules/ui/components/settings-id"; import packageJson from "@/package.json"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; @@ -14,9 +17,6 @@ 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 { 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/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/product/languages/loading.tsx index a902d94952..4688bef4f5 100644 --- a/apps/web/app/(app)/environments/[environmentId]/product/languages/loading.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/product/languages/loading.tsx @@ -3,9 +3,9 @@ import { ProductConfigNavigation } from "@/app/(app)/environments/[environmentId]/product/components/ProductConfigNavigation"; import { SettingsCard } from "@/app/(app)/environments/[environmentId]/settings/components/SettingsCard"; import { LanguageLabels } from "@/modules/ee/multi-language-surveys/components/language-labels"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { useTranslations } from "next-intl"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Loading = () => { const t = useTranslations(); 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 8ede7b81a1..8b9561e5d0 100644 --- a/apps/web/app/(app)/environments/[environmentId]/product/languages/page.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/product/languages/page.tsx @@ -7,6 +7,8 @@ import { import { EditLanguage } from "@/modules/ee/multi-language-surveys/components/edit-language"; import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { notFound } from "next/navigation"; @@ -16,8 +18,6 @@ import { getAccessFlags } from "@formbricks/lib/membership/utils"; import { getOrganization } from "@formbricks/lib/organization/service"; import { getProductByEnvironmentId } from "@formbricks/lib/product/service"; import { getUser } from "@formbricks/lib/user/service"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Page = async (props: { params: Promise<{ environmentId: string }> }) => { const params = await props.params; 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 977a6035ee..b3980fe78a 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 @@ -1,12 +1,12 @@ "use client"; +import { Label } from "@/modules/ui/components/label"; +import { Switch } from "@/modules/ui/components/switch"; +import { UpgradePlanNotice } from "@/modules/ui/components/upgrade-plan-notice"; import { useTranslations } from "next-intl"; import { useState } from "react"; import toast from "react-hot-toast"; import { TProduct, TProductUpdateInput } from "@formbricks/types/product"; -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 ce5875ca47..6c0f7b7658 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 @@ -1,18 +1,18 @@ "use client"; import { handleFileUpload } from "@/app/lib/fileUpload"; +import { AdvancedOptionToggle } from "@/modules/ui/components/advanced-option-toggle"; +import { Alert, AlertDescription } from "@/modules/ui/components/alert"; +import { Button } from "@/modules/ui/components/button"; +import { ColorPicker } from "@/modules/ui/components/color-picker"; +import { DeleteDialog } from "@/modules/ui/components/delete-dialog"; +import { FileInput } from "@/modules/ui/components/file-input"; +import { Input } from "@/modules/ui/components/input"; import { useTranslations } from "next-intl"; 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/components/AdvancedOptionToggle"; -import { Alert, AlertDescription } from "@formbricks/ui/components/Alert"; -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 8234429b9c..a6c681ebd2 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 @@ -1,5 +1,11 @@ "use client"; +import { Alert, AlertDescription } from "@/modules/ui/components/alert"; +import { Button } from "@/modules/ui/components/button"; +import { FormControl, FormField, FormItem, FormLabel, FormProvider } from "@/modules/ui/components/form"; +import { Label } from "@/modules/ui/components/label"; +import { getPlacementStyle } from "@/modules/ui/components/preview-survey/lib/utils"; +import { RadioGroup, RadioGroupItem } from "@/modules/ui/components/radio-group"; import { zodResolver } from "@hookform/resolvers/zod"; import { useTranslations } from "next-intl"; import { SubmitHandler, useForm } from "react-hook-form"; @@ -7,12 +13,6 @@ import toast from "react-hot-toast"; import { z } from "zod"; import { cn } from "@formbricks/lib/cn"; import { TProduct } from "@formbricks/types/product"; -import { Alert, AlertDescription } from "@formbricks/ui/components/Alert"; -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 99f329b494..860d6b93e1 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 @@ -5,6 +5,18 @@ import { CardStylingSettings } from "@/app/(app)/(survey-editor)/environments/[e import { FormStylingSettings } from "@/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/FormStylingSettings"; import { ThemeStylingPreviewSurvey } from "@/app/(app)/environments/[environmentId]/product/look/components/ThemeStylingPreviewSurvey"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Alert, AlertDescription } from "@/modules/ui/components/alert"; +import { AlertDialog } from "@/modules/ui/components/alert-dialog"; +import { Button } from "@/modules/ui/components/button"; +import { + FormControl, + FormDescription, + FormField, + FormItem, + FormLabel, + FormProvider, +} from "@/modules/ui/components/form"; +import { Switch } from "@/modules/ui/components/switch"; import { zodResolver } from "@hookform/resolvers/zod"; import { RotateCcwIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -15,18 +27,6 @@ import toast from "react-hot-toast"; import { COLOR_DEFAULTS, getPreviewSurvey } from "@formbricks/lib/styling/constants"; import { TProduct, TProductStyling, ZProductStyling } from "@formbricks/types/product"; import { TSurvey, TSurveyStyling, TSurveyType } from "@formbricks/types/surveys/types"; -import { Alert, AlertDescription } from "@formbricks/ui/components/Alert"; -import { AlertDialog } from "@formbricks/ui/components/AlertDialog"; -import { Button } from "@formbricks/ui/components/Button"; -import { - FormControl, - FormDescription, - FormField, - FormItem, - FormLabel, - FormProvider, -} 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 4502a4acc0..5637c6b7d2 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 @@ -1,15 +1,15 @@ "use client"; +import { ClientLogo } from "@/modules/ui/components/client-logo"; +import { MediaBackground } from "@/modules/ui/components/media-background"; +import { Modal } from "@/modules/ui/components/preview-survey/components/modal"; +import { ResetProgressButton } from "@/modules/ui/components/reset-progress-button"; +import { SurveyInline } from "@/modules/ui/components/survey"; import { Variants, motion } from "framer-motion"; import { useTranslations } from "next-intl"; import { Fragment, useRef, useState } from "react"; import type { TProduct } from "@formbricks/types/product"; import { TSurvey, TSurveyType } from "@formbricks/types/surveys/types"; -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 5bc5f85e30..88445bfa29 100644 --- a/apps/web/app/(app)/environments/[environmentId]/product/look/loading.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/product/look/loading.tsx @@ -2,15 +2,15 @@ import { ProductConfigNavigation } from "@/app/(app)/environments/[environmentId]/product/components/ProductConfigNavigation"; import { SettingsCard } from "@/app/(app)/environments/[environmentId]/settings/components/SettingsCard"; +import { Badge } from "@/modules/ui/components/badge"; +import { Button } from "@/modules/ui/components/button"; +import { Label } from "@/modules/ui/components/label"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; +import { RadioGroup, RadioGroupItem } from "@/modules/ui/components/radio-group"; +import { Switch } from "@/modules/ui/components/switch"; import { useTranslations } from "next-intl"; import { cn } from "@formbricks/lib/cn"; -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: "common.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 f614163ddf..34de6e815f 100644 --- a/apps/web/app/(app)/environments/[environmentId]/product/look/page.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/product/look/page.tsx @@ -8,6 +8,9 @@ import { } from "@/modules/ee/license-check/lib/utils"; import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { Alert, AlertDescription } from "@/modules/ui/components/alert"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { authOptions } from "@formbricks/lib/authOptions"; @@ -18,9 +21,6 @@ import { getAccessFlags } from "@formbricks/lib/membership/utils"; import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service"; import { getProductByEnvironmentId } from "@formbricks/lib/product/service"; import { getUserLocale } from "@formbricks/lib/user/service"; -import { Alert, AlertDescription } from "@formbricks/ui/components/Alert"; -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 5f7633fbb5..903cd2a033 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 @@ -7,6 +7,11 @@ import { } from "@/app/(app)/environments/[environmentId]/product/tags/actions"; import { MergeTagsCombobox } from "@/app/(app)/environments/[environmentId]/product/tags/components/MergeTagsCombobox"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Button } from "@/modules/ui/components/button"; +import { DeleteDialog } from "@/modules/ui/components/delete-dialog"; +import { EmptySpaceFiller } from "@/modules/ui/components/empty-space-filler"; +import { Input } from "@/modules/ui/components/input"; +import { LoadingSpinner } from "@/modules/ui/components/loading-spinner"; import { AlertCircleIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; @@ -15,11 +20,6 @@ import { toast } from "react-hot-toast"; import { cn } from "@formbricks/lib/cn"; import { TEnvironment } from "@formbricks/types/environment"; import { TTag, TTagsCount } from "@formbricks/types/tags"; -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 9c99179e95..27e6edd3e3 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,6 +1,4 @@ -import { useTranslations } from "next-intl"; -import { useState } from "react"; -import { Button } from "@formbricks/ui/components/Button"; +import { Button } from "@/modules/ui/components/button"; import { Command, CommandEmpty, @@ -8,8 +6,10 @@ import { CommandInput, CommandItem, CommandList, -} from "@formbricks/ui/components/Command"; -import { Popover, PopoverContent, PopoverTrigger } from "@formbricks/ui/components/Popover"; +} from "@/modules/ui/components/command"; +import { Popover, PopoverContent, PopoverTrigger } from "@/modules/ui/components/popover"; +import { useTranslations } from "next-intl"; +import { useState } from "react"; interface IMergeTagsComboboxProps { tags: Tag[]; diff --git a/apps/web/app/(app)/environments/[environmentId]/product/tags/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/product/tags/loading.tsx index 239c7eae37..2ff5ee9bbc 100644 --- a/apps/web/app/(app)/environments/[environmentId]/product/tags/loading.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/product/tags/loading.tsx @@ -2,9 +2,9 @@ import { ProductConfigNavigation } from "@/app/(app)/environments/[environmentId]/product/components/ProductConfigNavigation"; import { SettingsCard } from "@/app/(app)/environments/[environmentId]/settings/components/SettingsCard"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { useTranslations } from "next-intl"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Loading = () => { const t = useTranslations(); 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 d273c5dfe7..07c5b7f62c 100644 --- a/apps/web/app/(app)/environments/[environmentId]/product/tags/page.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/product/tags/page.tsx @@ -6,6 +6,8 @@ import { } from "@/modules/ee/license-check/lib/utils"; import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { authOptions } from "@formbricks/lib/authOptions"; @@ -16,8 +18,6 @@ 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 { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; import { EditTagsWrapper } from "./components/EditTagsWrapper"; const Page = async (props) => { 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 ee2b40185b..8926cdcb00 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 @@ -1,8 +1,8 @@ "use client"; +import { SecondaryNavigation } from "@/modules/ui/components/secondary-navigation"; import { useTranslations } from "next-intl"; import { usePathname } from "next/navigation"; -import { SecondaryNavigation } from "@formbricks/ui/components/SecondaryNavigation"; interface AccountSettingsNavbarProps { environmentId?: string; 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 73f32cadad..66cc21a6eb 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,8 +1,8 @@ +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/modules/ui/components/tooltip"; import { HelpCircleIcon, UsersIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import Link from "next/link"; import { TUser } from "@formbricks/types/user"; -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 4a19d687b5..bc8e7af341 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,5 +1,5 @@ +import { SlackIcon } from "@/modules/ui/components/icons"; import { useTranslations } from "next-intl"; -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 c7c7e6d433..fe962d0b57 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 @@ -1,10 +1,10 @@ "use client"; +import { Switch } from "@/modules/ui/components/switch"; import { useTranslations } from "next-intl"; import { useEffect, useState } from "react"; import toast from "react-hot-toast"; import { TUserNotificationSettings } from "@formbricks/types/user"; -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/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/notifications/loading.tsx index 248e14934a..fe53c08d81 100644 --- a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/notifications/loading.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/notifications/loading.tsx @@ -1,8 +1,8 @@ import { LoadingCard } from "@/app/(app)/components/LoadingCard"; import { AccountSettingsNavbar } from "@/app/(app)/environments/[environmentId]/settings/(account)/components/AccountSettingsNavbar"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { useTranslations } from "next-intl"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Loading = () => { const t = useTranslations(); 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 bc2052c5cb..c548aeb3d4 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 @@ -1,13 +1,13 @@ import { AccountSettingsNavbar } from "@/app/(app)/environments/[environmentId]/settings/(account)/components/AccountSettingsNavbar"; import { SettingsCard } from "@/app/(app)/environments/[environmentId]/settings/components/SettingsCard"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; 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/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 08295432ce..4f9d039525 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 @@ -2,10 +2,10 @@ import { DisableTwoFactorModal } from "@/app/(app)/environments/[environmentId]/settings/(account)/profile/components/DisableTwoFactorModal"; import { EnableTwoFactorModal } from "@/app/(app)/environments/[environmentId]/settings/(account)/profile/components/EnableTwoFactorModal"; +import { Switch } from "@/modules/ui/components/switch"; import { useTranslations } from "next-intl"; import { useState } from "react"; import { TUser } from "@formbricks/types/user"; -import { Switch } from "@formbricks/ui/components/Switch"; export const AccountSecurity = ({ user }: { user: TUser }) => { const t = useTranslations(); 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 5a76908505..7356169e5d 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 @@ -2,11 +2,11 @@ import { formbricksLogout } from "@/app/lib/formbricks"; import { DeleteAccountModal } from "@/modules/account/components/DeleteAccountModal"; +import { Button } from "@/modules/ui/components/button"; import type { Session } from "next-auth"; import { useTranslations } from "next-intl"; import { useState } from "react"; import { TUser } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; 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 e0e484ad3a..35fabf8ddd 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 @@ -2,16 +2,16 @@ import { disableTwoFactorAuthAction } from "@/app/(app)/environments/[environmentId]/settings/(account)/profile/actions"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; +import { Modal } from "@/modules/ui/components/modal"; +import { OTPInput } from "@/modules/ui/components/otp-input"; +import { PasswordInput } from "@/modules/ui/components/password-input"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; import React, { useEffect, useState } from "react"; import { Controller, SubmitHandler, useForm } from "react-hook-form"; import toast from "react-hot-toast"; -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 a7e9d72376..4293edf749 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 @@ -5,6 +5,9 @@ import { updateAvatarAction, } from "@/app/(app)/environments/[environmentId]/settings/(account)/profile/actions"; import { handleFileUpload } from "@/app/lib/fileUpload"; +import { ProfileAvatar } from "@/modules/ui/components/avatars"; +import { Button } from "@/modules/ui/components/button"; +import { FormError, FormField, FormItem, FormProvider } from "@/modules/ui/components/form"; import { zodResolver } from "@hookform/resolvers/zod"; import { Session } from "next-auth"; import { useTranslations } from "next-intl"; @@ -13,9 +16,6 @@ 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/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 b1bba8ea77..5d3aa7bbcb 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 @@ -1,5 +1,22 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/modules/ui/components/dropdown-menu"; +import { + FormControl, + FormError, + FormField, + FormItem, + FormLabel, + FormProvider, +} from "@/modules/ui/components/form"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; import { zodResolver } from "@hookform/resolvers/zod"; import { ChevronDownIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -8,23 +25,6 @@ import toast from "react-hot-toast"; import { z } from "zod"; import { appLanguages } from "@formbricks/lib/i18n/utils"; import { TUser, ZUser } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuTrigger, -} from "@formbricks/ui/components/DropdownMenu"; -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, locale: 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 428d5f5bac..2bd77d0bfe 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 @@ -5,16 +5,16 @@ import { setupTwoFactorAuthAction, } from "@/app/(app)/environments/[environmentId]/settings/(account)/profile/actions"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Button } from "@/modules/ui/components/button"; +import { Modal } from "@/modules/ui/components/modal"; +import { OTPInput } from "@/modules/ui/components/otp-input"; +import { PasswordInput } from "@/modules/ui/components/password-input"; import { useTranslations } from "next-intl"; import Image from "next/image"; import { useRouter } from "next/navigation"; import React, { useState } from "react"; import { Controller, SubmitHandler, useForm } from "react-hook-form"; import toast from "react-hot-toast"; -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/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/loading.tsx index bdbe1ea3cc..35f5eac02a 100644 --- a/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/loading.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/settings/(account)/profile/loading.tsx @@ -1,8 +1,8 @@ import { LoadingCard } from "@/app/(app)/components/LoadingCard"; import { AccountSettingsNavbar } from "@/app/(app)/environments/[environmentId]/settings/(account)/components/AccountSettingsNavbar"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { useTranslations } from "next-intl"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Loading = () => { const t = useTranslations(); 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 476c6ae048..c77a9cd568 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 @@ -1,5 +1,8 @@ import { AccountSettingsNavbar } from "@/app/(app)/environments/[environmentId]/settings/(account)/components/AccountSettingsNavbar"; import { AccountSecurity } from "@/app/(app)/environments/[environmentId]/settings/(account)/profile/components/AccountSecurity"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; +import { SettingsId } from "@/modules/ui/components/settings-id"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { authOptions } from "@formbricks/lib/authOptions"; @@ -7,9 +10,6 @@ import { IS_FORMBRICKS_CLOUD } from "@formbricks/lib/constants"; import { getMembershipByUserIdOrganizationId } from "@formbricks/lib/membership/service"; import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service"; import { getUser } from "@formbricks/lib/user/service"; -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/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/billing/loading.tsx index 1cf18e9caa..b190467c23 100644 --- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/billing/loading.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/billing/loading.tsx @@ -1,8 +1,8 @@ import { OrganizationSettingsNavbar } from "@/app/(app)/environments/[environmentId]/settings/(organization)/components/OrganizationSettingsNavbar"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getTranslations } from "next-intl/server"; import { IS_FORMBRICKS_CLOUD } from "@formbricks/lib/constants"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Loading = async () => { const t = await getTranslations(); 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 c0878c6047..e8c3301e89 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 @@ -1,10 +1,10 @@ "use client"; +import { SecondaryNavigation } from "@/modules/ui/components/secondary-navigation"; import { useTranslations } from "next-intl"; import { usePathname } from "next/navigation"; import { getAccessFlags } from "@formbricks/lib/membership/utils"; import { TOrganizationRole } from "@formbricks/types/memberships"; -import { SecondaryNavigation } from "@formbricks/ui/components/SecondaryNavigation"; interface OrganizationSettingsNavbarProps { environmentId?: string; diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/enterprise/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/enterprise/loading.tsx index 59cb61ad98..69d9511e15 100644 --- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/enterprise/loading.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/enterprise/loading.tsx @@ -1,8 +1,8 @@ import { OrganizationSettingsNavbar } from "@/app/(app)/environments/[environmentId]/settings/(organization)/components/OrganizationSettingsNavbar"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { useTranslations } from "next-intl"; import { IS_FORMBRICKS_CLOUD } from "@formbricks/lib/constants"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Loading = () => { const t = useTranslations(); 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 03987c52da..e4a032de3d 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 @@ -1,5 +1,8 @@ import { OrganizationSettingsNavbar } from "@/app/(app)/environments/[environmentId]/settings/(organization)/components/OrganizationSettingsNavbar"; import { getEnterpriseLicense, getRoleManagementPermission } from "@/modules/ee/license-check/lib/utils"; +import { Button } from "@/modules/ui/components/button"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { CheckIcon } from "lucide-react"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; @@ -9,9 +12,6 @@ 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/components/Button"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Page = async (props) => { const params = await props.params; diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/AIToggle.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/AIToggle.tsx index 8394796484..76ffa8f88e 100644 --- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/AIToggle.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/AIToggle.tsx @@ -2,14 +2,14 @@ import { updateOrganizationAIEnabledAction } from "@/app/(app)/environments/[environmentId]/settings/(organization)/general/actions"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Alert, AlertDescription } from "@/modules/ui/components/alert"; +import { Label } from "@/modules/ui/components/label"; +import { Switch } from "@/modules/ui/components/switch"; import { useTranslations } from "next-intl"; import Link from "next/link"; import { useState } from "react"; import toast from "react-hot-toast"; import { TOrganization } from "@formbricks/types/organizations"; -import { Alert, AlertDescription } from "@formbricks/ui/components/Alert"; -import { Label } from "@formbricks/ui/components/Label"; -import { Switch } from "@formbricks/ui/components/Switch"; interface AIToggleProps { environmentId: string; diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/AddMemberModal.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/AddMemberModal.tsx index 60d22b98c6..02a2e883cc 100644 --- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/AddMemberModal.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/AddMemberModal.tsx @@ -1,8 +1,8 @@ "use client"; +import { ModalWithTabs } from "@/modules/ui/components/modal-with-tabs"; import { useTranslations } from "next-intl"; import { TOrganizationRole } from "@formbricks/types/memberships"; -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)/general/components/BulkInviteTab.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/BulkInviteTab.tsx index 421a9fcfa4..777ac62f34 100644 --- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/BulkInviteTab.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/BulkInviteTab.tsx @@ -1,5 +1,7 @@ "use client"; +import { Alert, AlertDescription } from "@/modules/ui/components/alert"; +import { Button } from "@/modules/ui/components/button"; import { UploadIcon, XIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import Link from "next/link"; @@ -8,8 +10,6 @@ import { useRef, useState } from "react"; import toast from "react-hot-toast"; import { ZInvitees } from "@formbricks/types/invites"; import { TOrganizationRole } from "@formbricks/types/memberships"; -import { Alert, AlertDescription } from "@formbricks/ui/components/Alert"; -import { Button } from "@formbricks/ui/components/Button"; interface BulkInviteTabProps { setOpen: (v: boolean) => void; diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/DeleteOrganization.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/DeleteOrganization.tsx index a1320b8a96..6614c20aef 100644 --- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/DeleteOrganization.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/DeleteOrganization.tsx @@ -1,15 +1,15 @@ "use client"; import { deleteOrganizationAction } from "@/app/(app)/environments/[environmentId]/settings/(organization)/general/actions"; +import { Alert, AlertDescription } from "@/modules/ui/components/alert"; +import { Button } from "@/modules/ui/components/button"; +import { DeleteDialog } from "@/modules/ui/components/delete-dialog"; +import { Input } from "@/modules/ui/components/input"; import { useTranslations } from "next-intl"; 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 { Alert, AlertDescription } from "@formbricks/ui/components/Alert"; -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)/general/components/EditMemberships/MemberActions.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/EditMemberships/MemberActions.tsx index 7ca0e05c83..e663d6b51a 100644 --- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/EditMemberships/MemberActions.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/EditMemberships/MemberActions.tsx @@ -8,6 +8,8 @@ import { } from "@/app/(app)/environments/[environmentId]/settings/(organization)/general/actions"; import { ShareInviteModal } from "@/app/(app)/environments/[environmentId]/settings/(organization)/general/components/ShareInviteModal"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { DeleteDialog } from "@/modules/ui/components/delete-dialog"; +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/modules/ui/components/tooltip"; import { SendHorizonalIcon, ShareIcon, TrashIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; @@ -16,8 +18,6 @@ import toast from "react-hot-toast"; import { TInvite } from "@formbricks/types/invites"; import { TMember } from "@formbricks/types/memberships"; import { TOrganization } from "@formbricks/types/organizations"; -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)/general/components/EditMemberships/MembersInfo.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/EditMemberships/MembersInfo.tsx index 375262d902..f4590a9278 100644 --- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/EditMemberships/MembersInfo.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/EditMemberships/MembersInfo.tsx @@ -1,10 +1,10 @@ import { MemberActions } from "@/app/(app)/environments/[environmentId]/settings/(organization)/general/components/EditMemberships/MemberActions"; import { isInviteExpired } from "@/app/lib/utils"; import { EditMembershipRole } from "@/modules/ee/role-management/components/edit-membership-role"; +import { Badge } from "@/modules/ui/components/badge"; import { TInvite } from "@formbricks/types/invites"; import { TMember } from "@formbricks/types/memberships"; import { TOrganization } from "@formbricks/types/organizations"; -import { Badge } from "@formbricks/ui/components/Badge"; type MembersInfoProps = { organization: TOrganization; diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/EditMemberships/OrganizationActions.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/EditMemberships/OrganizationActions.tsx index 3a9248953c..10c67f99d8 100644 --- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/EditMemberships/OrganizationActions.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/EditMemberships/OrganizationActions.tsx @@ -6,6 +6,8 @@ import { } from "@/app/(app)/environments/[environmentId]/settings/(organization)/general/actions"; import { AddMemberModal } from "@/app/(app)/environments/[environmentId]/settings/(organization)/general/components/AddMemberModal"; import { CreateOrganizationModal } from "@/modules/organization/components/CreateOrganizationModal"; +import { Button } from "@/modules/ui/components/button"; +import { CustomDialog } from "@/modules/ui/components/custom-dialog"; import { XIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; @@ -13,8 +15,6 @@ 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/components/Button"; -import { CustomDialog } from "@formbricks/ui/components/CustomDialog"; type OrganizationActionsProps = { role: string; diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/EditOrganizationNameForm.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/EditOrganizationNameForm.tsx index 84878e85b9..57cce4ab50 100644 --- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/EditOrganizationNameForm.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/EditOrganizationNameForm.tsx @@ -2,6 +2,17 @@ import { updateOrganizationNameAction } from "@/app/(app)/environments/[environmentId]/settings/(organization)/general/actions"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Alert, AlertDescription } from "@/modules/ui/components/alert"; +import { Button } from "@/modules/ui/components/button"; +import { + FormControl, + FormError, + FormField, + FormItem, + FormLabel, + FormProvider, +} from "@/modules/ui/components/form"; +import { Input } from "@/modules/ui/components/input"; import { zodResolver } from "@hookform/resolvers/zod"; import { useTranslations } from "next-intl"; import { SubmitHandler, useForm } from "react-hook-form"; @@ -10,17 +21,6 @@ import { z } from "zod"; import { getAccessFlags } from "@formbricks/lib/membership/utils"; import { TOrganizationRole } from "@formbricks/types/memberships"; import { TOrganization, ZOrganization } from "@formbricks/types/organizations"; -import { Alert, AlertDescription } from "@formbricks/ui/components/Alert"; -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)/general/components/IndividualInviteTab.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/IndividualInviteTab.tsx index aa8de6e715..7191010ab8 100644 --- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/IndividualInviteTab.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/IndividualInviteTab.tsx @@ -1,6 +1,11 @@ "use client"; import { AddMemberRole } from "@/modules/ee/role-management/components/add-member-role"; +import { Alert, AlertDescription } from "@/modules/ui/components/alert"; +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; +import { UpgradePlanNotice } from "@/modules/ui/components/upgrade-plan-notice"; import { zodResolver } from "@hookform/resolvers/zod"; import { OrganizationRole } from "@prisma/client"; import { useTranslations } from "next-intl"; @@ -8,11 +13,6 @@ import { useForm } from "react-hook-form"; import { z } from "zod"; import { TOrganizationRole, ZOrganizationRole } from "@formbricks/types/memberships"; import { ZUserName } from "@formbricks/types/user"; -import { Alert, AlertDescription } from "@formbricks/ui/components/Alert"; -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"; interface IndividualInviteTabProps { setOpen: (v: boolean) => void; diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/ShareInviteModal.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/ShareInviteModal.tsx index 38599610c8..4ec2497220 100644 --- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/ShareInviteModal.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/components/ShareInviteModal.tsx @@ -1,11 +1,11 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { Modal } from "@/modules/ui/components/modal"; import { CheckIcon, CopyIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRef } from "react"; import toast from "react-hot-toast"; -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)/general/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/loading.tsx index 5d780c2327..bb86736860 100644 --- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/loading.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/loading.tsx @@ -1,9 +1,9 @@ import { LoadingCard } from "@/app/(app)/components/LoadingCard"; import { OrganizationSettingsNavbar } from "@/app/(app)/environments/[environmentId]/settings/(organization)/components/OrganizationSettingsNavbar"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { useTranslations } from "next-intl"; import { IS_FORMBRICKS_CLOUD } from "@formbricks/lib/constants"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Loading = () => { const t = useTranslations(); diff --git a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/page.tsx b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/page.tsx index a80594cbef..ce58577126 100644 --- a/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/page.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/settings/(organization)/general/page.tsx @@ -4,6 +4,9 @@ import { OrganizationActions } from "@/app/(app)/environments/[environmentId]/se import { getMembershipsByUserId } from "@/app/(app)/environments/[environmentId]/settings/(organization)/general/lib/membership"; import { getIsOrganizationAIReady } from "@/app/lib/utils"; import { getIsMultiOrgEnabled, getRoleManagementPermission } from "@/modules/ee/license-check/lib/utils"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; +import { SettingsId } from "@/modules/ui/components/settings-id"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { Suspense } from "react"; @@ -12,9 +15,6 @@ import { INVITE_DISABLED, 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 { 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 245b2b28f9..261cb4c621 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 { Badge } from "@/modules/ui/components/badge"; import { cn } from "@formbricks/lib/cn"; -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 4185cb65dd..49acaa3878 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,8 +1,8 @@ +import { Button } from "@/modules/ui/components/button"; import { Unplug } from "lucide-react"; import { useTranslations } from "next-intl"; import Link from "next/link"; import { TEnvironment } from "@formbricks/types/environment"; -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 79ac8a96ea..91cc527133 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 @@ -7,13 +7,13 @@ import { } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/actions"; import { getFormattedFilters } from "@/app/lib/surveys/surveys"; import { getResponseCountBySurveySharingKeyAction } from "@/app/share/[sharingKey]/actions"; +import { SecondaryNavigation } from "@/modules/ui/components/secondary-navigation"; import { InboxIcon, PresentationIcon } from "lucide-react"; import { useTranslations } from "next-intl"; 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/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 78802e13b3..2b12067e85 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 @@ -1,4 +1,6 @@ import { SingleResponseCard } from "@/modules/analysis/components/SingleResponseCard"; +import { Button } from "@/modules/ui/components/button"; +import { Modal } from "@/modules/ui/components/modal"; import { ChevronLeft, ChevronRight, XIcon } from "lucide-react"; import { useEffect, useState } from "react"; import { TEnvironment } from "@formbricks/types/environment"; @@ -6,8 +8,6 @@ import { TResponse } from "@formbricks/types/responses"; import { TSurvey } from "@formbricks/types/surveys/types"; import { TTag } from "@formbricks/types/tags"; import { TUser, TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; -import { Modal } from "@formbricks/ui/components/Modal"; 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 c0269cc446..5f873aa209 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 @@ -2,6 +2,14 @@ import { ResponseCardModal } from "@/app/(app)/environments/[environmentId]/surv import { ResponseTableCell } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponseTableCell"; import { generateResponseTableColumns } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponseTableColumns"; import { deleteResponseAction } from "@/modules/analysis/components/SingleResponseCard/actions"; +import { Button } from "@/modules/ui/components/button"; +import { + DataTableHeader, + DataTableSettingsModal, + DataTableToolbar, +} from "@/modules/ui/components/data-table"; +import { Skeleton } from "@/modules/ui/components/skeleton"; +import { Table, TableBody, TableCell, TableHeader, TableRow } from "@/modules/ui/components/table"; import { DndContext, type DragEndEvent, @@ -24,14 +32,6 @@ import { TSurvey } from "@formbricks/types/surveys/types"; import { TTag } from "@formbricks/types/tags"; import { TUser } from "@formbricks/types/user"; import { TUserLocale } from "@formbricks/types/user"; -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 1f9fc2531a..bc7a15c784 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 @@ -1,9 +1,9 @@ +import { getCommonPinningStyles } from "@/modules/ui/components/data-table/lib/utils"; +import { TableCell } from "@/modules/ui/components/table"; 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/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 1874fa22f0..2791b32461 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 @@ -1,6 +1,9 @@ "use client"; import { RenderResponse } from "@/modules/analysis/components/SingleResponseCard/components/RenderResponse"; +import { getSelectionColumn } from "@/modules/ui/components/data-table"; +import { ResponseBadges } from "@/modules/ui/components/response-badges"; +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/modules/ui/components/tooltip"; import { ColumnDef } from "@tanstack/react-table"; import { CircleHelpIcon, EyeOffIcon, MailIcon, TagIcon } from "lucide-react"; import Link from "next/link"; @@ -11,9 +14,6 @@ import { QUESTIONS_ICON_MAP, VARIABLES_ICON_MAP } from "@formbricks/lib/utils/qu 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/components/DataTable"; -import { ResponseBadges } from "@formbricks/ui/components/ResponseBadges"; -import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/components/Tooltip"; const getAddressFieldLabel = (field: string, t: (key: string) => 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 4a7588de48..83538fac80 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 @@ -6,6 +6,8 @@ import { needsInsightsGeneration } from "@/app/(app)/environments/[environmentId import { getIsAIEnabled } from "@/app/lib/utils"; import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { authOptions } from "@formbricks/lib/authOptions"; @@ -24,8 +26,6 @@ import { getSurvey } from "@formbricks/lib/survey/service"; import { getTagsByEnvironmentId } from "@formbricks/lib/tag/service"; import { getUser } from "@formbricks/lib/user/service"; import { findMatchingLocale } from "@formbricks/lib/utils/locale"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Page = async (props) => { const params = await props.params; 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 a381edc561..3ee7292508 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 @@ -1,3 +1,5 @@ +import { ArrayResponse } from "@/modules/ui/components/array-response"; +import { PersonAvatar } from "@/modules/ui/components/avatars"; import { useTranslations } from "next-intl"; import Link from "next/link"; import { getPersonIdentifier } from "@formbricks/lib/person/utils"; @@ -5,8 +7,6 @@ import { timeSince } from "@formbricks/lib/time"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TSurvey, TSurveyQuestionSummaryAddress } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { ArrayResponse } from "@formbricks/ui/components/ArrayResponse"; -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 fb7c7426cc..ee67aa5318 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,9 +1,9 @@ +import { ProgressBar } from "@/modules/ui/components/progress-bar"; import { InboxIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TSurvey, TSurveyQuestionSummaryCta } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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 f6ac1a530c..96654c05cb 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,9 +1,9 @@ import { convertFloatToNDecimal } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/lib/utils"; +import { ProgressBar } from "@/modules/ui/components/progress-bar"; import { useTranslations } from "next-intl"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TSurvey, TSurveyQuestionSummaryCal } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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 1ad598baa5..0435bddbec 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 @@ -1,3 +1,4 @@ +import { ProgressBar } from "@/modules/ui/components/progress-bar"; import { useTranslations } from "next-intl"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { @@ -8,7 +9,6 @@ import { TSurveyQuestionTypeEnum, } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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/ContactInfoSummary.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/ContactInfoSummary.tsx index f931d03e36..b07175adef 100644 --- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/ContactInfoSummary.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/ContactInfoSummary.tsx @@ -1,3 +1,5 @@ +import { ArrayResponse } from "@/modules/ui/components/array-response"; +import { PersonAvatar } from "@/modules/ui/components/avatars"; import { useTranslations } from "next-intl"; import Link from "next/link"; import { getPersonIdentifier } from "@formbricks/lib/person/utils"; @@ -5,8 +7,6 @@ import { timeSince } from "@formbricks/lib/time"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TSurvey, TSurveyQuestionSummaryContactInfo } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { ArrayResponse } from "@formbricks/ui/components/ArrayResponse"; -import { PersonAvatar } from "@formbricks/ui/components/Avatars"; import { QuestionSummaryHeader } from "./QuestionSummaryHeader"; interface ContactInfoSummaryProps { 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 e72775cea5..c6c99b6728 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 @@ -1,3 +1,5 @@ +import { PersonAvatar } from "@/modules/ui/components/avatars"; +import { Button } from "@/modules/ui/components/button"; import { useTranslations } from "next-intl"; import Link from "next/link"; import { useState } from "react"; @@ -7,8 +9,6 @@ import { formatDateWithOrdinal } from "@formbricks/lib/utils/datetime"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TSurvey, TSurveyQuestionSummaryDate } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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/EnableInsightsBanner.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/EnableInsightsBanner.tsx index d07c92588e..a55933e0bb 100644 --- a/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/EnableInsightsBanner.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/EnableInsightsBanner.tsx @@ -1,13 +1,13 @@ "use client"; import { generateInsightsForSurveyAction } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/actions"; +import { Alert, AlertDescription, AlertTitle } from "@/modules/ui/components/alert"; +import { Badge } from "@/modules/ui/components/badge"; +import { Button } from "@/modules/ui/components/button"; import { SparklesIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useState } from "react"; import toast from "react-hot-toast"; -import { Alert, AlertDescription, AlertTitle } from "@formbricks/ui/components/Alert"; -import { Badge } from "@formbricks/ui/components/Badge"; -import { Button } from "@formbricks/ui/components/Button"; interface EnableInsightsBannerProps { surveyId: string; 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 70b64687ce..2e41deada0 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 @@ -1,3 +1,5 @@ +import { PersonAvatar } from "@/modules/ui/components/avatars"; +import { Button } from "@/modules/ui/components/button"; import { DownloadIcon, FileIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import Link from "next/link"; @@ -8,8 +10,6 @@ import { timeSince } from "@formbricks/lib/time"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TSurvey, TSurveyQuestionSummaryFileUpload } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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 055e470c8f..db4c01a934 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 @@ -1,3 +1,5 @@ +import { PersonAvatar } from "@/modules/ui/components/avatars"; +import { Button } from "@/modules/ui/components/button"; import { InboxIcon, Link, MessageSquareTextIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useState } from "react"; @@ -6,8 +8,6 @@ import { timeSince } from "@formbricks/lib/time"; import { TEnvironment } from "@formbricks/types/environment"; import { TSurveyQuestionSummaryHiddenFields } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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 aefd522aef..25e7206b69 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 @@ -1,3 +1,4 @@ +import { TooltipRenderer } from "@/modules/ui/components/tooltip"; import { useTranslations } from "next-intl"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { @@ -8,7 +9,6 @@ import { TSurveyQuestionTypeEnum, } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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 c46c9114cf..7cb54fb76c 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 @@ -1,3 +1,6 @@ +import { PersonAvatar } from "@/modules/ui/components/avatars"; +import { Button } from "@/modules/ui/components/button"; +import { ProgressBar } from "@/modules/ui/components/progress-bar"; import { InboxIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import Link from "next/link"; @@ -13,9 +16,6 @@ import { TSurveyType, } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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 fec9a00614..173bf5855f 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 @@ -1,3 +1,4 @@ +import { HalfCircle, ProgressBar } from "@/modules/ui/components/progress-bar"; import { useTranslations } from "next-intl"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { @@ -8,7 +9,6 @@ import { TSurveyQuestionTypeEnum, } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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 f9be476389..2dbd26761c 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 @@ -1,4 +1,8 @@ import { InsightView } from "@/modules/ee/insights/components/insights-view"; +import { PersonAvatar } from "@/modules/ui/components/avatars"; +import { Button } from "@/modules/ui/components/button"; +import { SecondaryNavigation } from "@/modules/ui/components/secondary-navigation"; +import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/modules/ui/components/table"; import { useTranslations } from "next-intl"; import Link from "next/link"; import { useState } from "react"; @@ -7,17 +11,6 @@ import { timeSince } from "@formbricks/lib/time"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TSurvey, TSurveyQuestionSummaryOpenText } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { PersonAvatar } from "@formbricks/ui/components/Avatars"; -import { Button } from "@formbricks/ui/components/Button"; -import { SecondaryNavigation } from "@formbricks/ui/components/SecondaryNavigation"; -import { - Table, - TableBody, - TableCell, - TableHead, - TableHeader, - TableRow, -} from "@formbricks/ui/components/Table"; 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 b91e37c0c2..a26a14e282 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 @@ -1,3 +1,4 @@ +import { ProgressBar } from "@/modules/ui/components/progress-bar"; import { InboxIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import Image from "next/image"; @@ -10,7 +11,6 @@ import { TSurveyQuestionTypeEnum, } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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 cf5d55ad23..3a898b6154 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 @@ -1,4 +1,6 @@ import { convertFloatToNDecimal } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/lib/utils"; +import { ProgressBar } from "@/modules/ui/components/progress-bar"; +import { RatingResponse } from "@/modules/ui/components/rating-response"; import { CircleSlash2, SmileIcon, StarIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useMemo } from "react"; @@ -11,8 +13,6 @@ import { TSurveyQuestionTypeEnum, } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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 f1a7e8c425..ef71aa5fdf 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 @@ -1,6 +1,8 @@ "use client"; import { ShareSurveyLink } from "@/modules/analysis/components/ShareSurveyLink"; +import { Badge } from "@/modules/ui/components/badge"; +import { Dialog, DialogContent, DialogDescription, DialogTitle } from "@/modules/ui/components/dialog"; import { BellRing, BlocksIcon, @@ -16,8 +18,6 @@ import { useRouter } from "next/navigation"; import { useEffect, useState } from "react"; import { TSurvey } from "@formbricks/types/surveys/types"; import { TUser } from "@formbricks/types/user"; -import { Badge } from "@formbricks/ui/components/Badge"; -import { Dialog, DialogContent, DialogDescription, DialogTitle } from "@formbricks/ui/components/Dialog"; 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 85c8462bec..d29bc1a4fa 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,9 +1,9 @@ +import { Button } from "@/modules/ui/components/button"; +import { Modal } from "@/modules/ui/components/modal"; import { AlertCircleIcon, CheckCircle2Icon } from "lucide-react"; import { Clipboard } from "lucide-react"; import { useTranslations } from "next-intl"; import { toast } from "react-hot-toast"; -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 63ebe80ee7..be5b4f4a7e 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 @@ -1,12 +1,12 @@ "use client"; +import { Confetti } from "@/modules/ui/components/confetti"; import { useTranslations } from "next-intl"; import { useSearchParams } from "next/navigation"; 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/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 c352bb1132..bb0f80f8e2 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,8 +1,8 @@ +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/modules/ui/components/tooltip"; import { TimerIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { getQuestionIcon } from "@formbricks/lib/utils/questions"; import { TSurveyQuestionType, TSurveySummary } from "@formbricks/types/surveys/types"; -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 2a06d228e1..3b59c65889 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 @@ -21,6 +21,8 @@ import { RankingSummary } from "@/app/(app)/environments/[environmentId]/surveys import { RatingSummary } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/RatingSummary"; import { constructToastMessage } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/lib/utils"; import { OptionsType } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/QuestionsComboBox"; +import { EmptySpaceFiller } from "@/modules/ui/components/empty-space-filler"; +import { SkeletonLoader } from "@/modules/ui/components/skeleton-loader"; import { useTranslations } from "next-intl"; import { toast } from "react-hot-toast"; import { getLocalizedValue } from "@formbricks/lib/i18n/utils"; @@ -30,8 +32,6 @@ import { TI18nString, TSurveyQuestionId, TSurveySummary } from "@formbricks/type import { TSurveyQuestionTypeEnum } from "@formbricks/types/surveys/types"; import { TSurvey } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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 4cb9d77a2f..e7fc983e20 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,7 +1,7 @@ +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/modules/ui/components/tooltip"; import { ChevronDownIcon, ChevronUpIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { TSurveySummary } from "@formbricks/types/surveys/types"; -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 9516e96f05..268f5cc9ec 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 @@ -3,6 +3,15 @@ import { ShareEmbedSurvey } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/ShareEmbedSurvey"; import { SuccessMessage } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SuccessMessage"; import { SurveyStatusDropdown } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/SurveyStatusDropdown"; +import { Badge } from "@/modules/ui/components/badge"; +import { Button } from "@/modules/ui/components/button"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuGroup, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/modules/ui/components/dropdown-menu"; import { BellRing, Code2Icon, @@ -20,15 +29,6 @@ import toast from "react-hot-toast"; import { TEnvironment } from "@formbricks/types/environment"; import { TSurvey } from "@formbricks/types/surveys/types"; import { TUser } from "@formbricks/types/user"; -import { Badge } from "@formbricks/ui/components/Badge"; -import { Button } from "@formbricks/ui/components/Button"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuGroup, - DropdownMenuItem, - DropdownMenuTrigger, -} from "@formbricks/ui/components/DropdownMenu"; interface SurveyAnalysisCTAProps { survey: TSurvey; 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 322c8b6fef..bf3c93ff18 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 @@ -1,9 +1,9 @@ "use client"; +import { OptionsSwitch } from "@/modules/ui/components/options-switch"; import { useTranslations } from "next-intl"; import Link from "next/link"; import { useState } from "react"; -import { OptionsSwitch } from "@formbricks/ui/components/OptionsSwitch"; export const AppTab = ({ environmentId }) => { const t = useTranslations(); 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 de9f1b09ac..7aecac3360 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 @@ -1,13 +1,13 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { CodeBlock } from "@/modules/ui/components/code-block"; +import { LoadingSpinner } from "@/modules/ui/components/loading-spinner"; import { Code2Icon, CopyIcon, MailIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useEffect, useMemo, useState } from "react"; import toast from "react-hot-toast"; import { AuthenticationError } from "@formbricks/types/errors"; -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 846dee647c..e30db72d2c 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 @@ -1,10 +1,10 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; import { ArrowLeftIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { cn } from "@formbricks/lib/cn"; import { TUserLocale } from "@formbricks/types/user"; -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/PanelInfoView.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/shareEmbedModal/PanelInfoView.tsx index 242542307f..1466f200a2 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 @@ -2,10 +2,10 @@ import ProlificLogo from "@/images/prolific-logo.webp"; import ProlificUI from "@/images/prolific-screenshot.webp"; +import { Button } from "@/modules/ui/components/button"; import { ArrowLeftIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import Image from "next/image"; -import { Button } from "@formbricks/ui/components/Button"; interface PanelInfoViewProps { disableBack: boolean; 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 9a879f7b33..0b825fbbd8 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 @@ -1,14 +1,14 @@ "use client"; +import { AdvancedOptionToggle } from "@/modules/ui/components/advanced-option-toggle"; +import { Button } from "@/modules/ui/components/button"; +import { CodeBlock } from "@/modules/ui/components/code-block"; +import { OptionsSwitch } from "@/modules/ui/components/options-switch"; import { CopyIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import Link from "next/link"; import { useState } from "react"; import toast from "react-hot-toast"; -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 e89f474dbb..816651ca7b 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,7 +1,7 @@ +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; +import { SkeletonLoader } from "@/modules/ui/components/skeleton-loader"; import { useTranslations } from "next-intl"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; -import { SkeletonLoader } from "@formbricks/ui/components/SkeletonLoader"; const Loading = () => { const t = useTranslations(); 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 d38f9294d5..357adb72c6 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 @@ -6,6 +6,8 @@ import { needsInsightsGeneration } from "@/app/(app)/environments/[environmentId import { getIsAIEnabled } from "@/app/lib/utils"; import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { notFound } from "next/navigation"; @@ -25,8 +27,6 @@ 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/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Page = async (props) => { const params = await props.params; 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 76fcb1eb75..9c1582817a 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 @@ -7,6 +7,13 @@ import { import { getResponsesDownloadUrlAction } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/actions"; import { getFormattedFilters, getTodayDate } from "@/app/lib/surveys/surveys"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Calendar } from "@/modules/ui/components/calendar"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/modules/ui/components/dropdown-menu"; import { differenceInDays, endOfMonth, @@ -29,13 +36,6 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react"; import toast from "react-hot-toast"; import { useClickOutside } from "@formbricks/lib/utils/hooks/useClickOutside"; import { TSurvey } from "@formbricks/types/surveys/types"; -import { Calendar } from "@formbricks/ui/components/Calendar"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuTrigger, -} 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 b05aa25e60..76c11f3218 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 @@ -1,6 +1,19 @@ "use client"; import { OptionsType } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/QuestionsComboBox"; +import { + Command, + CommandEmpty, + CommandGroup, + CommandItem, + CommandList, +} from "@/modules/ui/components/command"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/modules/ui/components/dropdown-menu"; import clsx from "clsx"; import { ChevronDown, ChevronUp, X } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -8,19 +21,6 @@ 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/components/Command"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuTrigger, -} 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 e73dadea08..cc91d80449 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 @@ -1,5 +1,14 @@ "use client"; +import { + Command, + CommandEmpty, + CommandGroup, + CommandInput, + CommandItem, + CommandList, +} from "@/modules/ui/components/command"; +import { NetPromoterScoreIcon } from "@/modules/ui/components/icons"; import clsx from "clsx"; import { AirplayIcon, @@ -27,15 +36,6 @@ 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, - CommandInput, - CommandItem, - CommandList, -} 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 f9a6ae758b..5de2cb8238 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 @@ -8,6 +8,9 @@ import { getSurveyFilterDataAction } from "@/app/(app)/environments/[environment import { QuestionFilterComboBox } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/components/QuestionFilterComboBox"; import { generateQuestionAndFilterOptions } from "@/app/lib/surveys/surveys"; import { getSurveyFilterDataBySurveySharingKeyAction } from "@/app/share/[sharingKey]/actions"; +import { Button } from "@/modules/ui/components/button"; +import { Checkbox } from "@/modules/ui/components/checkbox"; +import { Popover, PopoverContent, PopoverTrigger } from "@/modules/ui/components/popover"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import clsx from "clsx"; import { ChevronDown, ChevronUp, Plus, TrashIcon } from "lucide-react"; @@ -15,9 +18,6 @@ import { useTranslations } from "next-intl"; import { useParams } from "next/navigation"; import React, { useEffect, useState } from "react"; import { TSurvey, TSurveyQuestionTypeEnum } from "@formbricks/types/surveys/types"; -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 bb4c6e7b2a..3984e6c906 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 @@ -6,17 +6,17 @@ import { getResultShareUrlAction, } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/actions"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; -import { CopyIcon, DownloadIcon, GlobeIcon, LinkIcon } from "lucide-react"; -import { useTranslations } from "next-intl"; -import { useEffect, useState } from "react"; -import toast from "react-hot-toast"; -import { TSurvey } from "@formbricks/types/surveys/types"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, -} from "@formbricks/ui/components/DropdownMenu"; +} from "@/modules/ui/components/dropdown-menu"; +import { CopyIcon, DownloadIcon, GlobeIcon, LinkIcon } from "lucide-react"; +import { useTranslations } from "next-intl"; +import { useEffect, useState } from "react"; +import toast from "react-hot-toast"; +import { TSurvey } from "@formbricks/types/surveys/types"; 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 c0369f4d2c..52870c5af5 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 @@ -1,17 +1,17 @@ import { getFormattedErrorMessage } from "@/lib/utils/helper"; -import { useTranslations } from "next-intl"; -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/components/Select"; -import { SurveyStatusIndicator } from "@formbricks/ui/components/SurveyStatusIndicator"; -import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/components/Tooltip"; +} from "@/modules/ui/components/select"; +import { SurveyStatusIndicator } from "@/modules/ui/components/survey-status-indicator"; +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/modules/ui/components/tooltip"; +import { useTranslations } from "next-intl"; +import toast from "react-hot-toast"; +import { TEnvironment } from "@formbricks/types/environment"; +import { TSurvey } from "@formbricks/types/surveys/types"; import { updateSurveyAction } from "../actions"; interface SurveyStatusDropdownProps { diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/components/CopySurveyForm.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/components/CopySurveyForm.tsx index 6e3cbe6ab9..2ee6984a7d 100644 --- a/apps/web/app/(app)/environments/[environmentId]/surveys/components/CopySurveyForm.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/surveys/components/CopySurveyForm.tsx @@ -6,15 +6,15 @@ import { TSurveyCopyFormData, ZSurveyCopyFormValidation, } from "@/app/(app)/environments/[environmentId]/surveys/types/surveys"; +import { Button } from "@/modules/ui/components/button"; +import { Checkbox } from "@/modules/ui/components/checkbox"; +import { FormControl, FormField, FormItem, FormProvider } from "@/modules/ui/components/form"; +import { Label } from "@/modules/ui/components/label"; import { zodResolver } from "@hookform/resolvers/zod"; import { useTranslations } from "next-intl"; import { useFieldArray, useForm } from "react-hook-form"; import toast from "react-hot-toast"; import { TProduct } from "@formbricks/types/product"; -import { Button } from "@formbricks/ui/components/Button"; -import { Checkbox } from "@formbricks/ui/components/Checkbox"; -import { FormControl, FormField, FormItem, FormProvider } from "@formbricks/ui/components/Form"; -import { Label } from "@formbricks/ui/components/Label"; export const CopySurveyForm = ({ defaultProducts, diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/components/CopySurveyModal.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/components/CopySurveyModal.tsx index 69976d9cf9..edc07b32b3 100644 --- a/apps/web/app/(app)/environments/[environmentId]/surveys/components/CopySurveyModal.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/surveys/components/CopySurveyModal.tsx @@ -1,9 +1,9 @@ "use client"; import { TSurvey } from "@/app/(app)/environments/[environmentId]/surveys/types/surveys"; +import { Modal } from "@/modules/ui/components/modal"; import { MousePointerClickIcon } from "lucide-react"; import { useTranslations } from "next-intl"; -import { Modal } from "@formbricks/ui/components/Modal"; import SurveyCopyOptions from "./SurveyCopyOptions"; interface CopySurveyModalProps { diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/components/SortOption.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/components/SortOption.tsx index f414fa47b2..18e084f540 100644 --- a/apps/web/app/(app)/environments/[environmentId]/surveys/components/SortOption.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/surveys/components/SortOption.tsx @@ -1,8 +1,8 @@ "use client"; +import { DropdownMenuItem } from "@/modules/ui/components/dropdown-menu"; import { useTranslations } from "next-intl"; import { TSortOption, TSurveyFilters } from "@formbricks/types/surveys/types"; -import { DropdownMenuItem } from "@formbricks/ui/components/DropdownMenu"; interface SortOptionProps { option: TSortOption; diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/components/SurveyCard.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/components/SurveyCard.tsx index 54b3028d9c..e2405c8b9c 100644 --- a/apps/web/app/(app)/environments/[environmentId]/surveys/components/SurveyCard.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/surveys/components/SurveyCard.tsx @@ -4,6 +4,7 @@ import { generateSingleUseIdAction } from "@/app/(app)/environments/[environment import { SurveyTypeIndicator } from "@/app/(app)/environments/[environmentId]/surveys/components/SurveyTypeIndicator"; import { TSurvey } from "@/app/(app)/environments/[environmentId]/surveys/types/surveys"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { SurveyStatusIndicator } from "@/modules/ui/components/survey-status-indicator"; import { useTranslations } from "next-intl"; import Link from "next/link"; import { useEffect, useMemo, useState } from "react"; @@ -12,7 +13,6 @@ import { cn } from "@formbricks/lib/cn"; import { convertDateString, timeSince } from "@formbricks/lib/time"; import { TEnvironment } from "@formbricks/types/environment"; import { TUserLocale } from "@formbricks/types/user"; -import { SurveyStatusIndicator } from "@formbricks/ui/components/SurveyStatusIndicator"; import { SurveyDropDownMenu } from "./SurveyDropdownMenu"; interface SurveyCardProps { diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/components/SurveyDropdownMenu.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/components/SurveyDropdownMenu.tsx index 481d8b8ac4..f10f3398d8 100644 --- a/apps/web/app/(app)/environments/[environmentId]/surveys/components/SurveyDropdownMenu.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/surveys/components/SurveyDropdownMenu.tsx @@ -7,6 +7,14 @@ import { } from "@/app/(app)/environments/[environmentId]/surveys/actions"; import { TSurvey } from "@/app/(app)/environments/[environmentId]/surveys/types/surveys"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { DeleteDialog } from "@/modules/ui/components/delete-dialog"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuGroup, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/modules/ui/components/dropdown-menu"; import { ArrowUpFromLineIcon, CopyIcon, @@ -22,14 +30,6 @@ import { useRouter } from "next/navigation"; import { useMemo, useState } from "react"; import toast from "react-hot-toast"; import type { TEnvironment } from "@formbricks/types/environment"; -import { DeleteDialog } from "@formbricks/ui/components/DeleteDialog"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuGroup, - DropdownMenuItem, - DropdownMenuTrigger, -} from "@formbricks/ui/components/DropdownMenu"; import { CopySurveyModal } from "./CopySurveyModal"; interface SurveyDropDownMenuProps { diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/components/SurveyFilterDropdown.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/components/SurveyFilterDropdown.tsx index 4d893a1740..2d05718474 100644 --- a/apps/web/app/(app)/environments/[environmentId]/surveys/components/SurveyFilterDropdown.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/surveys/components/SurveyFilterDropdown.tsx @@ -1,15 +1,15 @@ "use client"; -import { ChevronDownIcon } from "lucide-react"; -import { useTranslations } from "next-intl"; -import { TFilterOption } from "@formbricks/types/surveys/types"; -import { Checkbox } from "@formbricks/ui/components/Checkbox"; +import { Checkbox } from "@/modules/ui/components/checkbox"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, -} from "@formbricks/ui/components/DropdownMenu"; +} from "@/modules/ui/components/dropdown-menu"; +import { ChevronDownIcon } from "lucide-react"; +import { useTranslations } from "next-intl"; +import { TFilterOption } from "@formbricks/types/surveys/types"; interface SurveyFilterDropdownProps { title: string; diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/components/SurveyFilters.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/components/SurveyFilters.tsx index 112f514008..23872d7265 100644 --- a/apps/web/app/(app)/environments/[environmentId]/surveys/components/SurveyFilters.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/surveys/components/SurveyFilters.tsx @@ -2,19 +2,19 @@ import { SortOption } from "@/app/(app)/environments/[environmentId]/surveys/components/SortOption"; import { initialFilters } from "@/app/(app)/environments/[environmentId]/surveys/components/SurveyList"; +import { Button } from "@/modules/ui/components/button"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuTrigger, +} from "@/modules/ui/components/dropdown-menu"; +import { SearchBar } from "@/modules/ui/components/search-bar"; import { ChevronDownIcon, X } from "lucide-react"; import { useTranslations } from "next-intl"; import { useState } from "react"; import { useDebounce } from "react-use"; import { TProductConfigChannel } from "@formbricks/types/product"; import { TFilterOption, TSortOption, TSurveyFilters } from "@formbricks/types/surveys/types"; -import { Button } from "@formbricks/ui/components/Button"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuTrigger, -} from "@formbricks/ui/components/DropdownMenu"; -import { SearchBar } from "@formbricks/ui/components/SearchBar"; import { SurveyFilterDropdown } from "./SurveyFilterDropdown"; interface SurveyFilterProps { diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/components/SurveyList.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/components/SurveyList.tsx index ae40058a1b..6e8a362a74 100644 --- a/apps/web/app/(app)/environments/[environmentId]/surveys/components/SurveyList.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/surveys/components/SurveyList.tsx @@ -3,6 +3,7 @@ import { getSurveysAction } from "@/app/(app)/environments/[environmentId]/surveys/actions"; import { getFormattedFilters } from "@/app/(app)/environments/[environmentId]/surveys/lib/utils"; import { TSurvey } from "@/app/(app)/environments/[environmentId]/surveys/types/surveys"; +import { Button } from "@/modules/ui/components/button"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import { useTranslations } from "next-intl"; import { useCallback, useEffect, useMemo, useState } from "react"; @@ -12,7 +13,6 @@ import { wrapThrows } from "@formbricks/types/error-handlers"; import { TProductConfigChannel } from "@formbricks/types/product"; import { TSurveyFilters } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; import { SurveyCard } from "./SurveyCard"; import { SurveyFilters } from "./SurveyFilters"; import { SurveyLoading } from "./SurveyLoading"; diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/loading.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/loading.tsx index cb2d1e0ff6..595f836dfa 100644 --- a/apps/web/app/(app)/environments/[environmentId]/surveys/loading.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/surveys/loading.tsx @@ -1,7 +1,7 @@ import { SurveyLoading } from "@/app/(app)/environments/[environmentId]/surveys/components/SurveyLoading"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { useTranslations } from "next-intl"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Loading = () => { const t = useTranslations(); diff --git a/apps/web/app/(app)/environments/[environmentId]/surveys/page.tsx b/apps/web/app/(app)/environments/[environmentId]/surveys/page.tsx index b7b802cb5d..38163868b2 100644 --- a/apps/web/app/(app)/environments/[environmentId]/surveys/page.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/surveys/page.tsx @@ -2,6 +2,9 @@ import { SurveysList } from "@/app/(app)/environments/[environmentId]/surveys/co import { getProductPermissionByUserId } from "@/modules/ee/teams/lib/roles"; import { getTeamPermissionFlags } from "@/modules/ee/teams/utils/teams"; import { TemplateList } from "@/modules/surveys/components/TemplateList"; +import { Button } from "@/modules/ui/components/button"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { PlusIcon } from "lucide-react"; import { Metadata } from "next"; import { getServerSession } from "next-auth"; @@ -18,9 +21,6 @@ import { getSurveyCount } from "@formbricks/lib/survey/service"; import { getUser } from "@formbricks/lib/user/service"; import { findMatchingLocale } from "@formbricks/lib/utils/locale"; import { TTemplateRole } from "@formbricks/types/templates"; -import { Button } from "@formbricks/ui/components/Button"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; export const metadata: Metadata = { title: "Your Surveys", diff --git a/apps/web/app/(app)/layout.tsx b/apps/web/app/(app)/layout.tsx index 3d2b0afb0e..31c24cef91 100644 --- a/apps/web/app/(app)/layout.tsx +++ b/apps/web/app/(app)/layout.tsx @@ -1,11 +1,11 @@ import { FormbricksClient } from "@/app/(app)/components/FormbricksClient"; +import { NoMobileOverlay } from "@/modules/ui/components/no-mobile-overlay"; +import { PHProvider, PostHogPageview } from "@/modules/ui/components/post-hog-client"; +import { ToasterClient } from "@/modules/ui/components/toaster-client"; 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/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 e74b93a154..4a1fdd4833 100644 --- a/apps/web/app/(auth)/auth/components/BackToLoginButton.tsx +++ b/apps/web/app/(auth)/auth/components/BackToLoginButton.tsx @@ -1,5 +1,5 @@ +import { Button } from "@/modules/ui/components/button"; import { getTranslations } from "next-intl/server"; -import { Button } from "@formbricks/ui/components/Button"; export const BackToLoginButton = async () => { const t = await getTranslations(); diff --git a/apps/web/app/(auth)/auth/components/FormWrapper.tsx b/apps/web/app/(auth)/auth/components/FormWrapper.tsx index c81bc876a7..e1ab8f82e0 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/components/Logo"; +import { Logo } from "@/modules/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 67b7b33353..c9c92b74f3 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 @@ -1,11 +1,11 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; import { XCircleIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; import { useState } from "react"; import { forgotPassword } from "@formbricks/lib/utils/users"; -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 e98f98da13..bdfd4f3b57 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 @@ -1,14 +1,14 @@ "use client"; import { IsPasswordValid } from "@/modules/auth/components/SignupOptions/components/IsPasswordValid"; +import { Button } from "@/modules/ui/components/button"; +import { PasswordInput } from "@/modules/ui/components/password-input"; import { XCircleIcon } from "lucide-react"; import { useTranslations } from "next-intl"; 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/components/Button"; -import { PasswordInput } from "@formbricks/ui/components/PasswordInput"; export const ResetPasswordForm = () => { const t = useTranslations(); 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 3db16c136b..d293cdfcfa 100644 --- a/apps/web/app/(auth)/auth/verification-requested/components/RequestVerificationEmail.tsx +++ b/apps/web/app/(auth)/auth/verification-requested/components/RequestVerificationEmail.tsx @@ -1,10 +1,10 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; import { useTranslations } from "next-intl"; import { useEffect } from "react"; import toast from "react-hot-toast"; import { resendVerificationEmail } from "@formbricks/lib/utils/users"; -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 72efa75c04..f7a20cec62 100644 --- a/apps/web/app/(auth)/invite/page.tsx +++ b/apps/web/app/(auth)/invite/page.tsx @@ -1,4 +1,5 @@ import { sendInviteAcceptedEmail } from "@/modules/email"; +import { Button } from "@/modules/ui/components/button"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { authOptions } from "@formbricks/lib/authOptions"; @@ -7,7 +8,6 @@ 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/components/Button"; import { ContentLayout } from "./components/ContentLayout"; const Page = async (props) => { diff --git a/apps/web/app/(auth)/layout.tsx b/apps/web/app/(auth)/layout.tsx index f241e7bf80..fe322623f6 100644 --- a/apps/web/app/(auth)/layout.tsx +++ b/apps/web/app/(auth)/layout.tsx @@ -1,4 +1,4 @@ -import { NoMobileOverlay } from "@formbricks/ui/components/NoMobileOverlay"; +import { NoMobileOverlay } from "@/modules/ui/components/no-mobile-overlay"; const AppLayout = async ({ children }) => { return ( diff --git a/apps/web/app/error.tsx b/apps/web/app/error.tsx index f1ca4918cb..a3c77508ae 100644 --- a/apps/web/app/error.tsx +++ b/apps/web/app/error.tsx @@ -1,9 +1,9 @@ "use client"; // Error components must be Client components +import { Button } from "@/modules/ui/components/button"; +import { ErrorComponent } from "@/modules/ui/components/error-component"; import { useTranslations } from "next-intl"; -import { Button } from "@formbricks/ui/components/Button"; -import { ErrorComponent } from "@formbricks/ui/components/ErrorComponent"; const Error = ({ error, reset }: { error: Error; reset: () => void }) => { const t = useTranslations(); diff --git a/apps/web/app/layout.tsx b/apps/web/app/layout.tsx index 9bf5d688f5..152cd1488c 100644 --- a/apps/web/app/layout.tsx +++ b/apps/web/app/layout.tsx @@ -2,7 +2,7 @@ import { SpeedInsights } from "@vercel/speed-insights/next"; import { Metadata } from "next"; import { NextIntlClientProvider } from "next-intl"; import { getLocale, getMessages } from "next-intl/server"; -import "@formbricks/ui/globals.css"; +import "../modules/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 d0e2d1fbd4..c3e38a0ef7 100644 --- a/apps/web/app/not-found.tsx +++ b/apps/web/app/not-found.tsx @@ -1,5 +1,5 @@ +import { Button } from "@/modules/ui/components/button"; import Link from "next/link"; -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 b4e8886bde..08e3390f16 100644 --- a/apps/web/app/page.tsx +++ b/apps/web/app/page.tsx @@ -1,4 +1,5 @@ import ClientEnvironmentRedirect from "@/app/ClientEnvironmentRedirect"; +import { ClientLogout } from "@/modules/ui/components/client-logout"; import type { Session } from "next-auth"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; @@ -9,7 +10,6 @@ import { getIsFreshInstance } from "@formbricks/lib/instance/service"; import { getMembershipByUserIdOrganizationId } from "@formbricks/lib/membership/service"; import { getAccessFlags } from "@formbricks/lib/membership/utils"; import { getOrganizationsByUserId } from "@formbricks/lib/organization/service"; -import { ClientLogout } from "@formbricks/ui/components/ClientLogout"; const Page = async () => { const t = await getTranslations(); diff --git a/apps/web/app/s/[surveyId]/components/LinkSurvey.tsx b/apps/web/app/s/[surveyId]/components/LinkSurvey.tsx index 3f8c9d09ae..3369a72f54 100644 --- a/apps/web/app/s/[surveyId]/components/LinkSurvey.tsx +++ b/apps/web/app/s/[surveyId]/components/LinkSurvey.tsx @@ -4,6 +4,7 @@ import { LinkSurveyWrapper } from "@/app/s/[surveyId]/components/LinkSurveyWrapp import { SurveyLinkUsed } from "@/app/s/[surveyId]/components/SurveyLinkUsed"; import { VerifyEmail } from "@/app/s/[surveyId]/components/VerifyEmail"; import { getPrefillValue } from "@/app/s/[surveyId]/lib/prefilling"; +import { SurveyInline } from "@/modules/ui/components/survey"; import { useTranslations } from "next-intl"; import { useSearchParams } from "next/navigation"; import { useEffect, useMemo, useState } from "react"; @@ -21,7 +22,6 @@ import { } from "@formbricks/types/responses"; import { TUploadFileConfig } from "@formbricks/types/storage"; import { TSurvey } from "@formbricks/types/surveys/types"; -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 bbaedb58e7..0966b8b435 100644 --- a/apps/web/app/s/[surveyId]/components/LinkSurveyWrapper.tsx +++ b/apps/web/app/s/[surveyId]/components/LinkSurveyWrapper.tsx @@ -1,12 +1,12 @@ import { LegalFooter } from "@/app/s/[surveyId]/components/LegalFooter"; import { SurveyLoadingAnimation } from "@/app/s/[surveyId]/components/SurveyLoadingAnimation"; +import { ClientLogo } from "@/modules/ui/components/client-logo"; +import { MediaBackground } from "@/modules/ui/components/media-background"; +import { ResetProgressButton } from "@/modules/ui/components/reset-progress-button"; import { type JSX, 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/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 03d7ace693..144bcb41d6 100644 --- a/apps/web/app/s/[surveyId]/components/PinScreen.tsx +++ b/apps/web/app/s/[surveyId]/components/PinScreen.tsx @@ -4,6 +4,7 @@ import { validateSurveyPinAction } from "@/app/s/[surveyId]/actions"; import { LinkSurvey } from "@/app/s/[surveyId]/components/LinkSurvey"; import { TSurveyPinValidationResponseError } from "@/app/s/[surveyId]/types"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { OTPInput } from "@/modules/ui/components/otp-input"; import { useTranslations } from "next-intl"; import { useCallback, useEffect, useState } from "react"; import { cn } from "@formbricks/lib/cn"; @@ -11,7 +12,6 @@ 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/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 4b8137661a..82ca7feac6 100644 --- a/apps/web/app/s/[surveyId]/components/SurveyInactive.tsx +++ b/apps/web/app/s/[surveyId]/components/SurveyInactive.tsx @@ -1,9 +1,9 @@ +import { Button } from "@/modules/ui/components/button"; import { CheckCircle2Icon, HelpCircleIcon, PauseCircleIcon } from "lucide-react"; import { getTranslations } from "next-intl/server"; import Image from "next/image"; import Link from "next/link"; import { TSurveyClosedMessage } from "@formbricks/types/surveys/types"; -import { Button } from "@formbricks/ui/components/Button"; import footerLogo from "../lib/footerlogo.svg"; export const SurveyInactive = async ({ diff --git a/apps/web/app/s/[surveyId]/components/SurveyLoadingAnimation.tsx b/apps/web/app/s/[surveyId]/components/SurveyLoadingAnimation.tsx index 3d362a143f..106ac573f2 100644 --- a/apps/web/app/s/[surveyId]/components/SurveyLoadingAnimation.tsx +++ b/apps/web/app/s/[surveyId]/components/SurveyLoadingAnimation.tsx @@ -1,9 +1,9 @@ import Logo from "@/images/powered-by-formbricks.svg"; +import { LoadingSpinner } from "@/modules/ui/components/loading-spinner"; 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/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 628805489b..f6e33deb1c 100644 --- a/apps/web/app/s/[surveyId]/components/VerifyEmail.tsx +++ b/apps/web/app/s/[surveyId]/components/VerifyEmail.tsx @@ -4,6 +4,10 @@ import { getIfResponseWithSurveyIdAndEmailExistAction, sendLinkSurveyEmailAction, } from "@/app/s/[surveyId]/actions"; +import { Button } from "@/modules/ui/components/button"; +import { FormControl, FormError, FormField, FormItem } from "@/modules/ui/components/form"; +import { Input } from "@/modules/ui/components/input"; +import { StackedCardsContainer } from "@/modules/ui/components/stacked-cards-container"; import { zodResolver } from "@hookform/resolvers/zod"; import { ArrowLeft, MailIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -16,10 +20,6 @@ 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/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 d64b4b29f3..bd466caa81 100644 --- a/apps/web/app/s/[surveyId]/not-found.tsx +++ b/apps/web/app/s/[surveyId]/not-found.tsx @@ -1,7 +1,7 @@ +import { Button } from "@/modules/ui/components/button"; import { HelpCircleIcon } from "lucide-react"; import Image from "next/image"; import Link from "next/link"; -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 493c530d03..1f688267bc 100644 --- a/apps/web/app/setup/(fresh-instance)/intro/page.tsx +++ b/apps/web/app/setup/(fresh-instance)/intro/page.tsx @@ -1,6 +1,6 @@ +import { Button } from "@/modules/ui/components/button"; import { Metadata } from "next"; import { getTranslations } from "next-intl/server"; -import { Button } from "@formbricks/ui/components/Button"; export const metadata: Metadata = { title: "Intro", diff --git a/apps/web/app/setup/layout.tsx b/apps/web/app/setup/layout.tsx index 34b87c7f2a..fdea39aa02 100644 --- a/apps/web/app/setup/layout.tsx +++ b/apps/web/app/setup/layout.tsx @@ -1,5 +1,5 @@ +import { FormbricksLogo } from "@/modules/ui/components/formbricks-logo"; import { Toaster } from "react-hot-toast"; -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 2e812a7fac..abd154c271 100644 --- a/apps/web/app/setup/organization/[organizationId]/invite/components/InviteMembers.tsx +++ b/apps/web/app/setup/organization/[organizationId]/invite/components/InviteMembers.tsx @@ -1,6 +1,10 @@ "use client"; import { inviteOrganizationMemberAction } from "@/app/setup/organization/[organizationId]/invite/actions"; +import { Alert, AlertDescription, AlertTitle } from "@/modules/ui/components/alert"; +import { Button } from "@/modules/ui/components/button"; +import { FormControl, FormError, FormField, FormItem, FormProvider } from "@/modules/ui/components/form"; +import { Input } from "@/modules/ui/components/input"; import { zodResolver } from "@hookform/resolvers/zod"; import { PlusIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -9,10 +13,6 @@ 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/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 97526a39bd..62c8122758 100644 --- a/apps/web/app/setup/organization/create/components/CreateOrganization.tsx +++ b/apps/web/app/setup/organization/create/components/CreateOrganization.tsx @@ -1,6 +1,9 @@ "use client"; import { createOrganizationAction } from "@/app/setup/organization/create/actions"; +import { Button } from "@/modules/ui/components/button"; +import { FormControl, FormError, FormField, FormItem, FormProvider } from "@/modules/ui/components/form"; +import { Input } from "@/modules/ui/components/input"; import { zodResolver } from "@hookform/resolvers/zod"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; @@ -9,9 +12,6 @@ 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/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 5195fc8f46..16ff542245 100644 --- a/apps/web/app/setup/organization/create/components/RemovedFromOrganization.tsx +++ b/apps/web/app/setup/organization/create/components/RemovedFromOrganization.tsx @@ -2,11 +2,11 @@ import { formbricksLogout } from "@/app/lib/formbricks"; import { DeleteAccountModal } from "@/modules/account/components/DeleteAccountModal"; +import { Alert, AlertDescription, AlertTitle } from "@/modules/ui/components/alert"; +import { Button } from "@/modules/ui/components/button"; import { useTranslations } from "next-intl"; import React, { useState } from "react"; import { TUser } from "@formbricks/types/user"; -import { Alert, AlertDescription, AlertTitle } from "@formbricks/ui/components/Alert"; -import { Button } from "@formbricks/ui/components/Button"; interface RemovedFromOrganizationProps { isFormbricksCloud: boolean; diff --git a/apps/web/app/setup/organization/create/page.tsx b/apps/web/app/setup/organization/create/page.tsx index e046a9e103..4294e2958f 100644 --- a/apps/web/app/setup/organization/create/page.tsx +++ b/apps/web/app/setup/organization/create/page.tsx @@ -1,5 +1,6 @@ import { RemovedFromOrganization } from "@/app/setup/organization/create/components/RemovedFromOrganization"; import { getIsMultiOrgEnabled } from "@/modules/ee/license-check/lib/utils"; +import { ClientLogout } from "@/modules/ui/components/client-logout"; import { Metadata } from "next"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; @@ -10,7 +11,6 @@ import { gethasNoOrganizations } from "@formbricks/lib/instance/service"; import { getOrganizationsByUserId } from "@formbricks/lib/organization/service"; import { getUser } from "@formbricks/lib/user/service"; import { AuthenticationError } from "@formbricks/types/errors"; -import { ClientLogout } from "@formbricks/ui/components/ClientLogout"; import { CreateOrganization } from "./components/CreateOrganization"; export const metadata: Metadata = { diff --git a/apps/web/app/share/[sharingKey]/(analysis)/responses/page.tsx b/apps/web/app/share/[sharingKey]/(analysis)/responses/page.tsx index fc9aaa88ff..206f4c1896 100644 --- a/apps/web/app/share/[sharingKey]/(analysis)/responses/page.tsx +++ b/apps/web/app/share/[sharingKey]/(analysis)/responses/page.tsx @@ -1,5 +1,7 @@ import { SurveyAnalysisNavigation } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/components/SurveyAnalysisNavigation"; import { ResponsePage } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/responses/components/ResponsePage"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getTranslations } from "next-intl/server"; import { notFound } from "next/navigation"; import { RESPONSES_PER_PAGE, WEBAPP_URL } from "@formbricks/lib/constants"; @@ -9,8 +11,6 @@ import { getResponseCountBySurveyId } from "@formbricks/lib/response/service"; import { getSurvey, getSurveyIdByResultShareKey } from "@formbricks/lib/survey/service"; import { getTagsByEnvironmentId } from "@formbricks/lib/tag/service"; import { findMatchingLocale } from "@formbricks/lib/utils/locale"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Page = async (props) => { const params = await props.params; diff --git a/apps/web/app/share/[sharingKey]/(analysis)/summary/page.tsx b/apps/web/app/share/[sharingKey]/(analysis)/summary/page.tsx index 106db3a36a..c68c65c48a 100644 --- a/apps/web/app/share/[sharingKey]/(analysis)/summary/page.tsx +++ b/apps/web/app/share/[sharingKey]/(analysis)/summary/page.tsx @@ -1,5 +1,7 @@ import { SurveyAnalysisNavigation } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/components/SurveyAnalysisNavigation"; import { SummaryPage } from "@/app/(app)/environments/[environmentId]/surveys/[surveyId]/(analysis)/summary/components/SummaryPage"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getTranslations } from "next-intl/server"; import { notFound } from "next/navigation"; import { getAttributeClasses } from "@formbricks/lib/attributeClass/service"; @@ -8,8 +10,6 @@ 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/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; const Page = async (props) => { const params = await props.params; diff --git a/apps/web/app/share/[sharingKey]/not-found.tsx b/apps/web/app/share/[sharingKey]/not-found.tsx index 3ca92c16cf..f12bdba185 100644 --- a/apps/web/app/share/[sharingKey]/not-found.tsx +++ b/apps/web/app/share/[sharingKey]/not-found.tsx @@ -1,6 +1,6 @@ +import { Button } from "@/modules/ui/components/button"; import { getTranslations } from "next-intl/server"; import Link from "next/link"; -import { Button } from "@formbricks/ui/components/Button"; const NotFound = async () => { const t = await getTranslations(); diff --git a/packages/ui/components.json b/apps/web/components.json similarity index 52% rename from packages/ui/components.json rename to apps/web/components.json index 59da430f8e..697a2d85f4 100644 --- a/packages/ui/components.json +++ b/apps/web/components.json @@ -1,11 +1,11 @@ { "$schema": "https://ui.shadcn.com/schema.json", "aliases": { - "components": "@formbricks/ui/components", - "hooks": "@formbricks/ui/hooks", - "lib": "@formbricks/ui/lib", - "ui": "@formbricks/ui/components", - "utils": "@formbricks/ui/lib/utils" + "components": "@/modules/ui/components", + "hooks": "@/modules/ui/hooks", + "lib": "@/modules/ui/lib", + "ui": "@/modules/ui/components", + "utils": "@/modules/ui/lib/utils" }, "rsc": true, "style": "default", @@ -13,7 +13,7 @@ "baseColor": "slate", "config": "tailwind.config.js", "css": "globals.css", - "cssVariables": false, + "cssVariables": true, "prefix": "" }, "tsx": true diff --git a/apps/web/modules/account/components/DeleteAccountModal/index.tsx b/apps/web/modules/account/components/DeleteAccountModal/index.tsx index 0ed7b4ab54..4ad5784878 100644 --- a/apps/web/modules/account/components/DeleteAccountModal/index.tsx +++ b/apps/web/modules/account/components/DeleteAccountModal/index.tsx @@ -1,12 +1,12 @@ "use client"; +import { DeleteDialog } from "@/modules/ui/components/delete-dialog"; +import { Input } from "@/modules/ui/components/input"; import { signOut } from "next-auth/react"; import { useTranslations } from "next-intl"; import { Dispatch, SetStateAction, useState } from "react"; import toast from "react-hot-toast"; import { TUser } from "@formbricks/types/user"; -import { DeleteDialog } from "@formbricks/ui/components/DeleteDialog"; -import { Input } from "@formbricks/ui/components/Input"; import { deleteUserAction } from "./actions"; interface DeleteAccountModalProps { diff --git a/apps/web/modules/analysis/components/ShareSurveyLink/components/LanguageDropdown.tsx b/apps/web/modules/analysis/components/ShareSurveyLink/components/LanguageDropdown.tsx index 532549d5be..ab291129a6 100644 --- a/apps/web/modules/analysis/components/ShareSurveyLink/components/LanguageDropdown.tsx +++ b/apps/web/modules/analysis/components/ShareSurveyLink/components/LanguageDropdown.tsx @@ -1,3 +1,4 @@ +import { Button } from "@/modules/ui/components/button"; import { Languages } from "lucide-react"; import { useRef, useState } from "react"; import { getEnabledLanguages } from "@formbricks/lib/i18n/utils"; @@ -5,7 +6,6 @@ import { getLanguageLabel } from "@formbricks/lib/i18n/utils"; import { useClickOutside } from "@formbricks/lib/utils/hooks/useClickOutside"; import { TSurvey } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; interface LanguageDropdownProps { survey: TSurvey; diff --git a/apps/web/modules/analysis/components/ShareSurveyLink/components/SurveyLinkDisplay.tsx b/apps/web/modules/analysis/components/ShareSurveyLink/components/SurveyLinkDisplay.tsx index 7d8fa19029..629db33b2f 100644 --- a/apps/web/modules/analysis/components/ShareSurveyLink/components/SurveyLinkDisplay.tsx +++ b/apps/web/modules/analysis/components/ShareSurveyLink/components/SurveyLinkDisplay.tsx @@ -1,4 +1,4 @@ -import { Input } from "@formbricks/ui/components/Input"; +import { Input } from "@/modules/ui/components/input"; interface SurveyLinkDisplayProps { surveyUrl: string; diff --git a/apps/web/modules/analysis/components/ShareSurveyLink/index.tsx b/apps/web/modules/analysis/components/ShareSurveyLink/index.tsx index 4c0102ff20..4b5084d3b5 100644 --- a/apps/web/modules/analysis/components/ShareSurveyLink/index.tsx +++ b/apps/web/modules/analysis/components/ShareSurveyLink/index.tsx @@ -1,12 +1,12 @@ import { generateSingleUseIdAction } from "@/app/(app)/environments/[environmentId]/surveys/actions"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Button } from "@/modules/ui/components/button"; import { Copy, RefreshCcw, SquareArrowOutUpRight } from "lucide-react"; import { useTranslations } from "next-intl"; import { useCallback, useEffect, useState } from "react"; import { toast } from "react-hot-toast"; import { TSurvey } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; import { LanguageDropdown } from "./components/LanguageDropdown"; import { SurveyLinkDisplay } from "./components/SurveyLinkDisplay"; diff --git a/apps/web/modules/analysis/components/SingleResponseCard/components/HiddenFields.tsx b/apps/web/modules/analysis/components/SingleResponseCard/components/HiddenFields.tsx index e92564bdb2..0b0355c61f 100644 --- a/apps/web/modules/analysis/components/SingleResponseCard/components/HiddenFields.tsx +++ b/apps/web/modules/analysis/components/SingleResponseCard/components/HiddenFields.tsx @@ -1,8 +1,8 @@ +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/modules/ui/components/tooltip"; import { EyeOffIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { TResponseData } from "@formbricks/types/responses"; import { TSurveyHiddenFields } from "@formbricks/types/surveys/types"; -import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/components/Tooltip"; interface HiddenFieldsProps { hiddenFields: TSurveyHiddenFields; diff --git a/apps/web/modules/analysis/components/SingleResponseCard/components/QuestionSkip.tsx b/apps/web/modules/analysis/components/SingleResponseCard/components/QuestionSkip.tsx index 0d77fb9c87..e58491c8b1 100644 --- a/apps/web/modules/analysis/components/SingleResponseCard/components/QuestionSkip.tsx +++ b/apps/web/modules/analysis/components/SingleResponseCard/components/QuestionSkip.tsx @@ -1,10 +1,10 @@ +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/modules/ui/components/tooltip"; import { CheckCircle2Icon, ChevronsDownIcon, XCircleIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { getLocalizedValue } from "@formbricks/lib/i18n/utils"; import { parseRecallInfo } from "@formbricks/lib/utils/recall"; import { TResponseData } from "@formbricks/types/responses"; import { TSurveyQuestion } from "@formbricks/types/surveys/types"; -import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/components/Tooltip"; interface QuestionSkipProps { skippedQuestions: string[] | undefined; diff --git a/apps/web/modules/analysis/components/SingleResponseCard/components/RenderResponse.tsx b/apps/web/modules/analysis/components/SingleResponseCard/components/RenderResponse.tsx index a039490b89..c3f1f14ac4 100644 --- a/apps/web/modules/analysis/components/SingleResponseCard/components/RenderResponse.tsx +++ b/apps/web/modules/analysis/components/SingleResponseCard/components/RenderResponse.tsx @@ -1,3 +1,9 @@ +import { ArrayResponse } from "@/modules/ui/components/array-response"; +import { FileUploadResponse } from "@/modules/ui/components/file-upload-response"; +import { PictureSelectionResponse } from "@/modules/ui/components/picture-selection-response"; +import { RankingRespone } from "@/modules/ui/components/ranking-response"; +import { RatingResponse } from "@/modules/ui/components/rating-response"; +import { ResponseBadges } from "@/modules/ui/components/response-badges"; import { CheckCheckIcon, MousePointerClickIcon, PhoneIcon } from "lucide-react"; import React from "react"; import { cn } from "@formbricks/lib/cn"; @@ -13,12 +19,6 @@ import { TSurveyQuestionTypeEnum, TSurveyRatingQuestion, } from "@formbricks/types/surveys/types"; -import { ArrayResponse } from "@formbricks/ui/components/ArrayResponse"; -import { FileUploadResponse } from "@formbricks/ui/components/FileUploadResponse"; -import { PictureSelectionResponse } from "@formbricks/ui/components/PictureSelectionResponse"; -import { RankingRespone } from "@formbricks/ui/components/RankingResponse"; -import { RatingResponse } from "@formbricks/ui/components/RatingResponse"; -import { ResponseBadges } from "@formbricks/ui/components/ResponseBadges"; interface RenderResponseProps { responseData: string | number | string[] | Record; diff --git a/apps/web/modules/analysis/components/SingleResponseCard/components/ResponseNote.tsx b/apps/web/modules/analysis/components/SingleResponseCard/components/ResponseNote.tsx index 7ff3174296..5363d67a1b 100644 --- a/apps/web/modules/analysis/components/SingleResponseCard/components/ResponseNote.tsx +++ b/apps/web/modules/analysis/components/SingleResponseCard/components/ResponseNote.tsx @@ -1,5 +1,7 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/modules/ui/components/tooltip"; import clsx from "clsx"; import { CheckIcon, PencilIcon, PlusIcon } from "lucide-react"; import { Maximize2Icon, Minimize2Icon } from "lucide-react"; @@ -10,8 +12,6 @@ import { cn } from "@formbricks/lib/cn"; import { timeSince } from "@formbricks/lib/time"; import { TResponseNote } from "@formbricks/types/responses"; import { TUser, TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; -import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/components/Tooltip"; import { createResponseNoteAction, resolveResponseNoteAction, updateResponseNoteAction } from "../actions"; interface ResponseNotesProps { diff --git a/apps/web/modules/analysis/components/SingleResponseCard/components/ResponseTagsWrapper.tsx b/apps/web/modules/analysis/components/SingleResponseCard/components/ResponseTagsWrapper.tsx index 5f1170a202..03e667f303 100644 --- a/apps/web/modules/analysis/components/SingleResponseCard/components/ResponseTagsWrapper.tsx +++ b/apps/web/modules/analysis/components/SingleResponseCard/components/ResponseTagsWrapper.tsx @@ -1,15 +1,15 @@ "use client"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Button } from "@/modules/ui/components/button"; +import { Tag } from "@/modules/ui/components/tag"; +import { TagsCombobox } from "@/modules/ui/components/tags-combobox"; import { AlertCircleIcon, SettingsIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; import React, { useEffect, useState } from "react"; import { toast } from "react-hot-toast"; import { TTag } from "@formbricks/types/tags"; -import { Button } from "@formbricks/ui/components/Button"; -import { Tag } from "@formbricks/ui/components/Tag"; -import { TagsCombobox } from "@formbricks/ui/components/TagsCombobox"; import { createTagAction, createTagToResponseAction, deleteTagOnResponseAction } from "../actions"; interface ResponseTagsWrapperProps { diff --git a/apps/web/modules/analysis/components/SingleResponseCard/components/ResponseVariables.tsx b/apps/web/modules/analysis/components/SingleResponseCard/components/ResponseVariables.tsx index 6114d84d66..1a00739b2f 100644 --- a/apps/web/modules/analysis/components/SingleResponseCard/components/ResponseVariables.tsx +++ b/apps/web/modules/analysis/components/SingleResponseCard/components/ResponseVariables.tsx @@ -1,8 +1,8 @@ +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/modules/ui/components/tooltip"; import { FileDigitIcon, FileType2Icon } from "lucide-react"; import { useTranslations } from "next-intl"; import { TResponseVariables } from "@formbricks/types/responses"; import { TSurveyVariables } from "@formbricks/types/surveys/types"; -import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/components/Tooltip"; interface HiddenFieldsProps { variables: TSurveyVariables; diff --git a/apps/web/modules/analysis/components/SingleResponseCard/components/SingleResponseCardHeader.tsx b/apps/web/modules/analysis/components/SingleResponseCard/components/SingleResponseCardHeader.tsx index c76480b934..9bfaf7d3ec 100644 --- a/apps/web/modules/analysis/components/SingleResponseCard/components/SingleResponseCardHeader.tsx +++ b/apps/web/modules/analysis/components/SingleResponseCard/components/SingleResponseCardHeader.tsx @@ -1,3 +1,6 @@ +import { PersonAvatar } from "@/modules/ui/components/avatars"; +import { SurveyStatusIndicator } from "@/modules/ui/components/survey-status-indicator"; +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/modules/ui/components/tooltip"; import { LanguagesIcon, TrashIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import Link from "next/link"; @@ -9,9 +12,6 @@ import { TEnvironment } from "@formbricks/types/environment"; import { TResponse } from "@formbricks/types/responses"; import { TSurvey } from "@formbricks/types/surveys/types"; import { TUser, TUserLocale } from "@formbricks/types/user"; -import { PersonAvatar } from "@formbricks/ui/components/Avatars"; -import { SurveyStatusIndicator } from "@formbricks/ui/components/SurveyStatusIndicator"; -import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/components/Tooltip"; import { isSubmissionTimeMoreThan5Minutes } from "../util"; interface TooltipRendererProps { diff --git a/apps/web/modules/analysis/components/SingleResponseCard/index.tsx b/apps/web/modules/analysis/components/SingleResponseCard/index.tsx index b4869bcf50..d4b315169b 100644 --- a/apps/web/modules/analysis/components/SingleResponseCard/index.tsx +++ b/apps/web/modules/analysis/components/SingleResponseCard/index.tsx @@ -1,5 +1,6 @@ "use client"; +import { DeleteDialog } from "@/modules/ui/components/delete-dialog"; import clsx from "clsx"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; @@ -12,7 +13,6 @@ import { TSurvey } from "@formbricks/types/surveys/types"; import { TTag } from "@formbricks/types/tags"; import { TUser } from "@formbricks/types/user"; import { TUserLocale } from "@formbricks/types/user"; -import { DeleteDialog } from "@formbricks/ui/components/DeleteDialog"; import { deleteResponseAction, getResponseAction } from "./actions"; import { ResponseNotes } from "./components/ResponseNote"; import { ResponseTagsWrapper } from "./components/ResponseTagsWrapper"; diff --git a/apps/web/modules/auth/components/SigninForm/components/TwoFactor.tsx b/apps/web/modules/auth/components/SigninForm/components/TwoFactor.tsx index ec90697f44..2a45755abe 100644 --- a/apps/web/modules/auth/components/SigninForm/components/TwoFactor.tsx +++ b/apps/web/modules/auth/components/SigninForm/components/TwoFactor.tsx @@ -1,10 +1,10 @@ "use client"; +import { FormControl, FormField, FormItem } from "@/modules/ui/components/form"; +import { OTPInput } from "@/modules/ui/components/otp-input"; import { useTranslations } from "next-intl"; import React from "react"; import { UseFormReturn } from "react-hook-form"; -import { FormControl, FormField, FormItem } from "@formbricks/ui/components/Form"; -import { OTPInput } from "@formbricks/ui/components/OTPInput"; interface TwoFactorProps { form: UseFormReturn< diff --git a/apps/web/modules/auth/components/SigninForm/components/TwoFactorBackup.tsx b/apps/web/modules/auth/components/SigninForm/components/TwoFactorBackup.tsx index 58ab17f177..cd69c55ca2 100644 --- a/apps/web/modules/auth/components/SigninForm/components/TwoFactorBackup.tsx +++ b/apps/web/modules/auth/components/SigninForm/components/TwoFactorBackup.tsx @@ -1,11 +1,11 @@ "use client"; +import { FormField, FormItem } from "@/modules/ui/components/form"; +import { FormControl } from "@/modules/ui/components/form"; +import { Input } from "@/modules/ui/components/input"; import { useTranslations } from "next-intl"; import React from "react"; import { UseFormReturn } from "react-hook-form"; -import { FormField, FormItem } from "@formbricks/ui/components/Form"; -import { FormControl } from "@formbricks/ui/components/Form"; -import { Input } from "@formbricks/ui/components/Input"; interface TwoFactorBackupProps { form: UseFormReturn< diff --git a/apps/web/modules/auth/components/SigninForm/index.tsx b/apps/web/modules/auth/components/SigninForm/index.tsx index c2ea17e648..5d9fa9fcc9 100644 --- a/apps/web/modules/auth/components/SigninForm/index.tsx +++ b/apps/web/modules/auth/components/SigninForm/index.tsx @@ -7,6 +7,9 @@ import { AzureButton } from "@/modules/auth/components/SignupOptions/components/ import { GithubButton } from "@/modules/auth/components/SignupOptions/components/GithubButton"; import { GoogleButton } from "@/modules/auth/components/SignupOptions/components/GoogleButton"; import { OpenIdButton } from "@/modules/auth/components/SignupOptions/components/OpenIdButton"; +import { Button } from "@/modules/ui/components/button"; +import { FormControl, FormError, FormField, FormItem } from "@/modules/ui/components/form"; +import { PasswordInput } from "@/modules/ui/components/password-input"; import { zodResolver } from "@hookform/resolvers/zod"; import { XCircleIcon } from "lucide-react"; import { signIn } from "next-auth/react"; @@ -18,9 +21,6 @@ import { FormProvider, SubmitHandler, useForm } from "react-hook-form"; import { z } from "zod"; import { cn } from "@formbricks/lib/cn"; import { FORMBRICKS_LOGGED_IN_WITH_LS } from "@formbricks/lib/localStorage"; -import { Button } from "@formbricks/ui/components/Button"; -import { FormControl, FormError, FormField, FormItem } from "@formbricks/ui/components/Form"; -import { PasswordInput } from "@formbricks/ui/components/PasswordInput"; interface TSigninFormState { email: string; diff --git a/apps/web/modules/auth/components/SignupOptions/components/AzureButton.tsx b/apps/web/modules/auth/components/SignupOptions/components/AzureButton.tsx index 9228e6b4bb..0b7fae6602 100644 --- a/apps/web/modules/auth/components/SignupOptions/components/AzureButton.tsx +++ b/apps/web/modules/auth/components/SignupOptions/components/AzureButton.tsx @@ -1,9 +1,9 @@ +import { Button } from "@/modules/ui/components/button"; +import { MicrosoftIcon } from "@/modules/ui/components/icons"; import { signIn } from "next-auth/react"; import { useTranslations } from "next-intl"; import { useCallback, useEffect } from "react"; import { FORMBRICKS_LOGGED_IN_WITH_LS } from "@formbricks/lib/localStorage"; -import { Button } from "@formbricks/ui/components/Button"; -import { MicrosoftIcon } from "@formbricks/ui/components/icons"; export const AzureButton = ({ text = "Continue with Azure", diff --git a/apps/web/modules/auth/components/SignupOptions/components/GithubButton.tsx b/apps/web/modules/auth/components/SignupOptions/components/GithubButton.tsx index bd1df33b51..e01e79ed03 100644 --- a/apps/web/modules/auth/components/SignupOptions/components/GithubButton.tsx +++ b/apps/web/modules/auth/components/SignupOptions/components/GithubButton.tsx @@ -1,10 +1,10 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { GithubIcon } from "@/modules/ui/components/icons"; import { signIn } from "next-auth/react"; import { useTranslations } from "next-intl"; import { FORMBRICKS_LOGGED_IN_WITH_LS } from "@formbricks/lib/localStorage"; -import { Button } from "@formbricks/ui/components/Button"; -import { GithubIcon } from "@formbricks/ui/components/icons"; export const GithubButton = ({ text = "Continue with Github", diff --git a/apps/web/modules/auth/components/SignupOptions/components/GoogleButton.tsx b/apps/web/modules/auth/components/SignupOptions/components/GoogleButton.tsx index 0759688068..f40602a7bc 100644 --- a/apps/web/modules/auth/components/SignupOptions/components/GoogleButton.tsx +++ b/apps/web/modules/auth/components/SignupOptions/components/GoogleButton.tsx @@ -1,10 +1,10 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { GoogleIcon } from "@/modules/ui/components/icons"; import { signIn } from "next-auth/react"; import { useTranslations } from "next-intl"; import { FORMBRICKS_LOGGED_IN_WITH_LS } from "@formbricks/lib/localStorage"; -import { Button } from "@formbricks/ui/components/Button"; -import { GoogleIcon } from "@formbricks/ui/components/icons"; export const GoogleButton = ({ text = "Continue with Google", diff --git a/apps/web/modules/auth/components/SignupOptions/components/OpenIdButton.tsx b/apps/web/modules/auth/components/SignupOptions/components/OpenIdButton.tsx index f5de623799..ea475cb3da 100644 --- a/apps/web/modules/auth/components/SignupOptions/components/OpenIdButton.tsx +++ b/apps/web/modules/auth/components/SignupOptions/components/OpenIdButton.tsx @@ -1,8 +1,8 @@ +import { Button } from "@/modules/ui/components/button"; import { signIn } from "next-auth/react"; import { useTranslations } from "next-intl"; import { useCallback, useEffect } from "react"; import { FORMBRICKS_LOGGED_IN_WITH_LS } from "@formbricks/lib/localStorage"; -import { Button } from "@formbricks/ui/components/Button"; export const OpenIdButton = ({ text = "Continue with OpenId Connect", diff --git a/apps/web/modules/auth/components/SignupOptions/index.tsx b/apps/web/modules/auth/components/SignupOptions/index.tsx index 3047281683..d10daf7e3c 100644 --- a/apps/web/modules/auth/components/SignupOptions/index.tsx +++ b/apps/web/modules/auth/components/SignupOptions/index.tsx @@ -6,6 +6,10 @@ import { GithubButton } from "@/modules/auth/components/SignupOptions/components import { GoogleButton } from "@/modules/auth/components/SignupOptions/components/GoogleButton"; import { IsPasswordValid } from "@/modules/auth/components/SignupOptions/components/IsPasswordValid"; import { OpenIdButton } from "@/modules/auth/components/SignupOptions/components/OpenIdButton"; +import { Button } from "@/modules/ui/components/button"; +import { FormControl, FormError, FormField, FormItem } from "@/modules/ui/components/form"; +import { Input } from "@/modules/ui/components/input"; +import { PasswordInput } from "@/modules/ui/components/password-input"; import { zodResolver } from "@hookform/resolvers/zod"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; @@ -15,10 +19,6 @@ import toast from "react-hot-toast"; import { z } from "zod"; import { createUser } from "@formbricks/lib/utils/users"; import { ZUserName } from "@formbricks/types/user"; -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 { PasswordInput } from "@formbricks/ui/components/PasswordInput"; interface SignupOptionsProps { emailAuthEnabled: boolean; diff --git a/apps/web/modules/ee/advanced-targeting/components/add-filter-modal.tsx b/apps/web/modules/ee/advanced-targeting/components/add-filter-modal.tsx index af8bf46380..d6e2e94327 100644 --- a/apps/web/modules/ee/advanced-targeting/components/add-filter-modal.tsx +++ b/apps/web/modules/ee/advanced-targeting/components/add-filter-modal.tsx @@ -1,5 +1,8 @@ "use client"; +import { Input } from "@/modules/ui/components/input"; +import { Modal } from "@/modules/ui/components/modal"; +import { TabBar } from "@/modules/ui/components/tab-bar"; import { createId } from "@paralleldrive/cuid2"; import { FingerprintIcon, MonitorSmartphoneIcon, TagIcon, Users2Icon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -12,9 +15,6 @@ import type { TSegmentAttributeFilter, TSegmentPersonFilter, } from "@formbricks/types/segment"; -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/apps/web/modules/ee/advanced-targeting/components/advanced-targeting-card.tsx b/apps/web/modules/ee/advanced-targeting/components/advanced-targeting-card.tsx index 356859a057..6746243663 100644 --- a/apps/web/modules/ee/advanced-targeting/components/advanced-targeting-card.tsx +++ b/apps/web/modules/ee/advanced-targeting/components/advanced-targeting-card.tsx @@ -1,5 +1,12 @@ "use client"; +import { Alert, AlertDescription } from "@/modules/ui/components/alert"; +import { AlertDialog } from "@/modules/ui/components/alert-dialog"; +import { Button } from "@/modules/ui/components/button"; +import { LoadSegmentModal } from "@/modules/ui/components/load-segment-modal"; +import { SaveAsNewSegmentModal } from "@/modules/ui/components/save-as-new-segment-modal"; +import { SegmentTitle } from "@/modules/ui/components/segment-title"; +import { TargetingIndicator } from "@/modules/ui/components/targeting-indicator"; import * as Collapsible from "@radix-ui/react-collapsible"; import { AlertCircle, CheckIcon, ChevronDownIcon, ChevronUpIcon, PencilIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -17,13 +24,6 @@ import type { TSegmentUpdateInput, } from "@formbricks/types/segment"; import type { TSurvey } from "@formbricks/types/surveys/types"; -import { Alert, AlertDescription } from "@formbricks/ui/components/Alert"; -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/apps/web/modules/ee/advanced-targeting/components/create-segment-modal.tsx b/apps/web/modules/ee/advanced-targeting/components/create-segment-modal.tsx index 43b7df3447..f0015fc737 100644 --- a/apps/web/modules/ee/advanced-targeting/components/create-segment-modal.tsx +++ b/apps/web/modules/ee/advanced-targeting/components/create-segment-modal.tsx @@ -1,6 +1,9 @@ "use client"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; +import { Modal } from "@/modules/ui/components/modal"; import { FilterIcon, PlusIcon, UsersIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; @@ -10,9 +13,6 @@ import { structuredClone } from "@formbricks/lib/pollyfills/structuredClone"; 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/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/apps/web/modules/ee/advanced-targeting/components/segment-editor.tsx b/apps/web/modules/ee/advanced-targeting/components/segment-editor.tsx index 2cc41a25dd..5a886e189d 100644 --- a/apps/web/modules/ee/advanced-targeting/components/segment-editor.tsx +++ b/apps/web/modules/ee/advanced-targeting/components/segment-editor.tsx @@ -1,3 +1,10 @@ +import { Button } from "@/modules/ui/components/button"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/modules/ui/components/dropdown-menu"; import { ArrowDownIcon, ArrowUpIcon, MoreVertical, Trash2 } from "lucide-react"; import { useTranslations } from "next-intl"; import { useState } from "react"; @@ -14,13 +21,6 @@ import { } from "@formbricks/lib/segment/utils"; import type { TAttributeClass } from "@formbricks/types/attribute-classes"; import type { TBaseFilter, TBaseFilters, TSegment, TSegmentConnector } from "@formbricks/types/segment"; -import { Button } from "@formbricks/ui/components/Button"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuTrigger, -} from "@formbricks/ui/components/DropdownMenu"; import { AddFilterModal } from "./add-filter-modal"; import { SegmentFilter } from "./segment-filter"; diff --git a/apps/web/modules/ee/advanced-targeting/components/segment-filter.tsx b/apps/web/modules/ee/advanced-targeting/components/segment-filter.tsx index 40029c59d2..d99d5b4f3a 100644 --- a/apps/web/modules/ee/advanced-targeting/components/segment-filter.tsx +++ b/apps/web/modules/ee/advanced-targeting/components/segment-filter.tsx @@ -1,3 +1,18 @@ +import { Button } from "@/modules/ui/components/button"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/modules/ui/components/dropdown-menu"; +import { Input } from "@/modules/ui/components/input"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/modules/ui/components/select"; import { ArrowDownIcon, ArrowUpIcon, @@ -47,21 +62,6 @@ import { DEVICE_OPERATORS, PERSON_OPERATORS, } from "@formbricks/types/segment"; -import { Button } from "@formbricks/ui/components/Button"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuTrigger, -} 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/apps/web/modules/ee/advanced-targeting/components/segment-settings.tsx b/apps/web/modules/ee/advanced-targeting/components/segment-settings.tsx index 3c3a30b7e7..e787cc7575 100644 --- a/apps/web/modules/ee/advanced-targeting/components/segment-settings.tsx +++ b/apps/web/modules/ee/advanced-targeting/components/segment-settings.tsx @@ -1,5 +1,8 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { ConfirmDeleteSegmentModal } from "@/modules/ui/components/confirm-delete-segment-modal"; +import { Input } from "@/modules/ui/components/input"; import { FilterIcon, Trash2 } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; @@ -10,9 +13,6 @@ import { structuredClone } from "@formbricks/lib/pollyfills/structuredClone"; 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/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/apps/web/modules/ee/billing/components/pricing-card.tsx b/apps/web/modules/ee/billing/components/pricing-card.tsx index 4230f4a6fa..3b95a50d8d 100644 --- a/apps/web/modules/ee/billing/components/pricing-card.tsx +++ b/apps/web/modules/ee/billing/components/pricing-card.tsx @@ -1,11 +1,11 @@ +import { Badge } from "@/modules/ui/components/badge"; +import { Button } from "@/modules/ui/components/button"; +import { ConfirmationModal } from "@/modules/ui/components/confirmation-modal"; import { CheckIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useMemo, useState } from "react"; import { cn } from "@formbricks/lib/cn"; import { TOrganization, TOrganizationBillingPeriod } from "@formbricks/types/organizations"; -import { Badge } from "@formbricks/ui/components/Badge"; -import { Button } from "@formbricks/ui/components/Button"; -import { ConfirmationModal } from "@formbricks/ui/components/ConfirmationModal"; interface PricingCardProps { plan: { diff --git a/apps/web/modules/ee/billing/components/pricing-table.tsx b/apps/web/modules/ee/billing/components/pricing-table.tsx index 0d462ea03a..ce5c0d958c 100644 --- a/apps/web/modules/ee/billing/components/pricing-table.tsx +++ b/apps/web/modules/ee/billing/components/pricing-table.tsx @@ -1,5 +1,7 @@ "use client"; +import { Badge } from "@/modules/ui/components/badge"; +import { Button } from "@/modules/ui/components/button"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; import { useEffect, useState } from "react"; @@ -7,8 +9,6 @@ import toast from "react-hot-toast"; 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/components/Badge"; -import { Button } from "@formbricks/ui/components/Button"; import { isSubscriptionCancelledAction, manageSubscriptionAction, upgradePlanAction } from "../actions"; import { CLOUD_PRICING_DATA } from "../api/lib/constants"; import { BillingSlider } from "./billing-slider"; diff --git a/apps/web/modules/ee/billing/page.tsx b/apps/web/modules/ee/billing/page.tsx index 95ac4d73ae..4be1bd8391 100644 --- a/apps/web/modules/ee/billing/page.tsx +++ b/apps/web/modules/ee/billing/page.tsx @@ -1,5 +1,7 @@ import { OrganizationSettingsNavbar } from "@/app/(app)/environments/[environmentId]/settings/(organization)/components/OrganizationSettingsNavbar"; import { getRoleManagementPermission } from "@/modules/ee/license-check/lib/utils"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { notFound } from "next/navigation"; @@ -13,8 +15,6 @@ import { getMonthlyOrganizationResponseCount, getOrganizationByEnvironmentId, } from "@formbricks/lib/organization/service"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; import { PricingTable } from "./components/pricing-table"; export const PricingPage = async (props) => { diff --git a/apps/web/modules/ee/insights/components/insight-sheet/index.tsx b/apps/web/modules/ee/insights/components/insight-sheet/index.tsx index e444f5ecfd..c75b5686c0 100644 --- a/apps/web/modules/ee/insights/components/insight-sheet/index.tsx +++ b/apps/web/modules/ee/insights/components/insight-sheet/index.tsx @@ -1,6 +1,15 @@ "use client"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Button } from "@/modules/ui/components/button"; +import { Card, CardContent, CardFooter } from "@/modules/ui/components/card"; +import { + Sheet, + SheetContent, + SheetDescription, + SheetHeader, + SheetTitle, +} from "@/modules/ui/components/sheet"; import { ThumbsDownIcon, ThumbsUpIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useDeferredValue, useEffect, useState } from "react"; @@ -9,15 +18,6 @@ import { timeSince } from "@formbricks/lib/time"; import { TDocument, TDocumentFilterCriteria } from "@formbricks/types/documents"; import { TInsight } from "@formbricks/types/insights"; import { TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; -import { Card, CardContent, CardFooter } from "@formbricks/ui/components/Card"; -import { - Sheet, - SheetContent, - SheetDescription, - SheetHeader, - SheetTitle, -} from "@formbricks/ui/components/Sheet"; import CategoryBadge from "../../experience/components/category-select"; import SentimentSelect from "../sentiment-select"; import { getDocumentsByInsightIdAction, getDocumentsByInsightIdSurveyIdQuestionIdAction } from "./actions"; diff --git a/apps/web/modules/ee/insights/components/insights-view.tsx b/apps/web/modules/ee/insights/components/insights-view.tsx index e4035bbd96..7dec460383 100644 --- a/apps/web/modules/ee/insights/components/insights-view.tsx +++ b/apps/web/modules/ee/insights/components/insights-view.tsx @@ -1,6 +1,9 @@ "use client"; import { InsightSheet } from "@/modules/ee/insights/components/insight-sheet"; +import { Button } from "@/modules/ui/components/button"; +import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/modules/ui/components/table"; +import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/modules/ui/components/tabs"; import { UserIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useCallback, useEffect, useState } from "react"; @@ -9,16 +12,6 @@ import { cn } from "@formbricks/lib/cn"; import { TDocumentFilterCriteria } from "@formbricks/types/documents"; import { TInsight, TInsightCategory } from "@formbricks/types/insights"; import { TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; -import { - Table, - TableBody, - TableCell, - TableHead, - TableHeader, - TableRow, -} from "@formbricks/ui/components/Table"; -import { Tabs, TabsContent, TabsList, TabsTrigger } from "@formbricks/ui/components/Tabs"; import CategoryBadge from "../experience/components/category-select"; interface InsightViewProps { diff --git a/apps/web/modules/ee/insights/components/sentiment-select.tsx b/apps/web/modules/ee/insights/components/sentiment-select.tsx index d8b34e38f0..a1e79c8d98 100644 --- a/apps/web/modules/ee/insights/components/sentiment-select.tsx +++ b/apps/web/modules/ee/insights/components/sentiment-select.tsx @@ -1,6 +1,6 @@ +import { BadgeSelect, TBadgeSelectOption } from "@/modules/ui/components/badge-select"; import { useState } from "react"; import { TDocument, TDocumentSentiment } from "@formbricks/types/documents"; -import { BadgeSelect, TBadgeSelectOption } from "@formbricks/ui/components/BadgeSelect"; import { updateDocumentAction } from "./insight-sheet/actions"; interface SentimentSelectProps { diff --git a/apps/web/modules/ee/insights/experience/components/category-select.tsx b/apps/web/modules/ee/insights/experience/components/category-select.tsx index 0f18a9f060..350852bb81 100644 --- a/apps/web/modules/ee/insights/experience/components/category-select.tsx +++ b/apps/web/modules/ee/insights/experience/components/category-select.tsx @@ -1,8 +1,8 @@ +import { BadgeSelect, TBadgeSelectOption } from "@/modules/ui/components/badge-select"; import { useTranslations } from "next-intl"; import { useState } from "react"; import { toast } from "react-hot-toast"; import { TInsight } from "@formbricks/types/insights"; -import { BadgeSelect, TBadgeSelectOption } from "@formbricks/ui/components/BadgeSelect"; import { updateInsightAction } from "../actions"; interface CategoryBadgeProps { diff --git a/apps/web/modules/ee/insights/experience/components/dashboard.tsx b/apps/web/modules/ee/insights/experience/components/dashboard.tsx index c8e6f0737b..5ccc45a68b 100644 --- a/apps/web/modules/ee/insights/experience/components/dashboard.tsx +++ b/apps/web/modules/ee/insights/experience/components/dashboard.tsx @@ -5,12 +5,12 @@ import { InsightsCard } from "@/modules/ee/insights/experience/components/insigh import { ExperiencePageStats } from "@/modules/ee/insights/experience/components/stats"; import { getDateFromTimeRange } from "@/modules/ee/insights/experience/lib/utils"; import { TStatsPeriod } from "@/modules/ee/insights/experience/types/stats"; +import { Tabs, TabsList, TabsTrigger } from "@/modules/ui/components/tabs"; import { useTranslations } from "next-intl"; import { useState } from "react"; import { TEnvironment } from "@formbricks/types/environment"; import { TProduct } from "@formbricks/types/product"; import { TUser, TUserLocale } from "@formbricks/types/user"; -import { Tabs, TabsList, TabsTrigger } from "@formbricks/ui/components/Tabs"; interface DashboardProps { user: TUser; diff --git a/apps/web/modules/ee/insights/experience/components/greeting.tsx b/apps/web/modules/ee/insights/experience/components/greeting.tsx index 199c396fa1..6411dbca01 100644 --- a/apps/web/modules/ee/insights/experience/components/greeting.tsx +++ b/apps/web/modules/ee/insights/experience/components/greeting.tsx @@ -1,7 +1,7 @@ "use client"; +import { H1 } from "@/modules/ui/components/typography"; import { useTranslations } from "next-intl"; -import { H1 } from "@formbricks/ui/components/Typography"; interface GreetingProps { userName: string; diff --git a/apps/web/modules/ee/insights/experience/components/insight-view.tsx b/apps/web/modules/ee/insights/experience/components/insight-view.tsx index f87fab74a0..ecdfe22874 100644 --- a/apps/web/modules/ee/insights/experience/components/insight-view.tsx +++ b/apps/web/modules/ee/insights/experience/components/insight-view.tsx @@ -1,6 +1,9 @@ "use client"; import { InsightSheet } from "@/modules/ee/insights/components/insight-sheet"; +import { Button } from "@/modules/ui/components/button"; +import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/modules/ui/components/table"; +import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/modules/ui/components/tabs"; import { UserIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useCallback, useEffect, useMemo, useState } from "react"; @@ -8,16 +11,6 @@ import formbricks from "@formbricks/js"; import { TDocumentFilterCriteria } from "@formbricks/types/documents"; import { TInsight, TInsightFilterCriteria } from "@formbricks/types/insights"; import { TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; -import { - Table, - TableBody, - TableCell, - TableHead, - TableHeader, - TableRow, -} from "@formbricks/ui/components/Table"; -import { Tabs, TabsContent, TabsList, TabsTrigger } from "@formbricks/ui/components/Tabs"; import { getEnvironmentInsightsAction } from "../actions"; import CategoryBadge from "./category-select"; import { InsightLoading } from "./insight-loading"; diff --git a/apps/web/modules/ee/insights/experience/components/insights-card.tsx b/apps/web/modules/ee/insights/experience/components/insights-card.tsx index c19db12738..0183da9229 100644 --- a/apps/web/modules/ee/insights/experience/components/insights-card.tsx +++ b/apps/web/modules/ee/insights/experience/components/insights-card.tsx @@ -1,8 +1,8 @@ "use client"; +import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/modules/ui/components/card"; import { useTranslations } from "next-intl"; import { TUserLocale } from "@formbricks/types/user"; -import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@formbricks/ui/components/Card"; import { InsightView } from "./insight-view"; interface InsightsCardProps { diff --git a/apps/web/modules/ee/insights/experience/components/stats.tsx b/apps/web/modules/ee/insights/experience/components/stats.tsx index b072f2f93e..7f1047536d 100644 --- a/apps/web/modules/ee/insights/experience/components/stats.tsx +++ b/apps/web/modules/ee/insights/experience/components/stats.tsx @@ -3,14 +3,14 @@ import { getFormattedErrorMessage } from "@/lib/utils/helper"; import { getStatsAction } from "@/modules/ee/insights/experience/actions"; import { TStats } from "@/modules/ee/insights/experience/types/stats"; +import { Badge } from "@/modules/ui/components/badge"; +import { Card, CardContent, CardHeader, CardTitle } from "@/modules/ui/components/card"; +import { TooltipRenderer } from "@/modules/ui/components/tooltip"; +import { cn } from "@/modules/ui/lib/utils"; import { ActivityIcon, GaugeIcon, InboxIcon, MessageCircleIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useEffect, useState } from "react"; import toast from "react-hot-toast"; -import { Badge } from "@formbricks/ui/components/Badge"; -import { Card, CardContent, CardHeader, CardTitle } from "@formbricks/ui/components/Card"; -import { TooltipRenderer } from "@formbricks/ui/components/Tooltip"; -import { cn } from "@formbricks/ui/lib/utils"; interface ExperiencePageStatsProps { statsFrom?: Date; diff --git a/apps/web/modules/ee/insights/experience/components/templates-card.tsx b/apps/web/modules/ee/insights/experience/components/templates-card.tsx index 32a97b5764..391ad42712 100644 --- a/apps/web/modules/ee/insights/experience/components/templates-card.tsx +++ b/apps/web/modules/ee/insights/experience/components/templates-card.tsx @@ -1,12 +1,12 @@ "use client"; import { TemplateList } from "@/modules/surveys/components/TemplateList"; +import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/modules/ui/components/card"; import { useTranslations } from "next-intl"; import { TEnvironment } from "@formbricks/types/environment"; import { TProduct } from "@formbricks/types/product"; import { TTemplateFilter } from "@formbricks/types/templates"; import { TUser } from "@formbricks/types/user"; -import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@formbricks/ui/components/Card"; interface TemplatesCardProps { environment: TEnvironment; diff --git a/apps/web/modules/ee/insights/experience/page.tsx b/apps/web/modules/ee/insights/experience/page.tsx index 40b2ff159d..4580ba9d5d 100644 --- a/apps/web/modules/ee/insights/experience/page.tsx +++ b/apps/web/modules/ee/insights/experience/page.tsx @@ -1,5 +1,6 @@ import { getIsAIEnabled } from "@/app/lib/utils"; import { Dashboard } from "@/modules/ee/insights/experience/components/dashboard"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; import { getServerSession } from "next-auth"; import { notFound } from "next/navigation"; import { authOptions } from "@formbricks/lib/authOptions"; @@ -11,7 +12,6 @@ import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/ser import { getProductByEnvironmentId } from "@formbricks/lib/product/service"; import { getUser } from "@formbricks/lib/user/service"; import { findMatchingLocale } from "@formbricks/lib/utils/locale"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; export const ExperiencePage = async (props) => { const params = await props.params; diff --git a/apps/web/modules/ee/multi-language-surveys/components/default-language-select.tsx b/apps/web/modules/ee/multi-language-surveys/components/default-language-select.tsx index 92e214db0c..e5eedfbac7 100644 --- a/apps/web/modules/ee/multi-language-surveys/components/default-language-select.tsx +++ b/apps/web/modules/ee/multi-language-surveys/components/default-language-select.tsx @@ -1,14 +1,14 @@ -import { useTranslations } from "next-intl"; -import { getLanguageLabel } from "@formbricks/lib/i18n/utils"; -import type { TLanguage, TProduct } from "@formbricks/types/product"; -import { DefaultTag } from "@formbricks/ui/components/DefaultTag"; +import { DefaultTag } from "@/modules/ui/components/default-tag"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, -} from "@formbricks/ui/components/Select"; +} from "@/modules/ui/components/select"; +import { useTranslations } from "next-intl"; +import { getLanguageLabel } from "@formbricks/lib/i18n/utils"; +import type { TLanguage, TProduct } from "@formbricks/types/product"; import type { ConfirmationModalProps } from "./multi-language-card"; interface DefaultLanguageSelectProps { diff --git a/apps/web/modules/ee/multi-language-surveys/components/edit-language.tsx b/apps/web/modules/ee/multi-language-surveys/components/edit-language.tsx index fecfc48c23..5e1869f515 100644 --- a/apps/web/modules/ee/multi-language-surveys/components/edit-language.tsx +++ b/apps/web/modules/ee/multi-language-surveys/components/edit-language.tsx @@ -1,6 +1,8 @@ "use client"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Button } from "@/modules/ui/components/button"; +import { ConfirmationModal } from "@/modules/ui/components/confirmation-modal"; import { PlusIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useEffect, useState } from "react"; @@ -8,8 +10,6 @@ import { toast } from "react-hot-toast"; import { iso639Languages } from "@formbricks/lib/i18n/utils"; import type { TLanguage, TProduct } from "@formbricks/types/product"; import { TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; -import { ConfirmationModal } from "@formbricks/ui/components/ConfirmationModal"; import { createLanguageAction, deleteLanguageAction, diff --git a/apps/web/modules/ee/multi-language-surveys/components/language-labels.tsx b/apps/web/modules/ee/multi-language-surveys/components/language-labels.tsx index 12e18ecd53..2c4b7c7029 100644 --- a/apps/web/modules/ee/multi-language-surveys/components/language-labels.tsx +++ b/apps/web/modules/ee/multi-language-surveys/components/language-labels.tsx @@ -1,7 +1,7 @@ +import { Label } from "@/modules/ui/components/label"; +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/modules/ui/components/tooltip"; import { InfoIcon } from "lucide-react"; import { useTranslations } from "next-intl"; -import { Label } from "@formbricks/ui/components/Label"; -import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/components/Tooltip"; export function LanguageLabels() { const t = useTranslations(); diff --git a/apps/web/modules/ee/multi-language-surveys/components/language-row.tsx b/apps/web/modules/ee/multi-language-surveys/components/language-row.tsx index 7a88f9ecaf..060871c4aa 100644 --- a/apps/web/modules/ee/multi-language-surveys/components/language-row.tsx +++ b/apps/web/modules/ee/multi-language-surveys/components/language-row.tsx @@ -1,8 +1,8 @@ +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; import { useTranslations } from "next-intl"; import type { TLanguage } from "@formbricks/types/product"; import { TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; -import { Input } from "@formbricks/ui/components/Input"; import { LanguageSelect } from "./language-select"; interface LanguageRowProps { diff --git a/apps/web/modules/ee/multi-language-surveys/components/language-select.tsx b/apps/web/modules/ee/multi-language-surveys/components/language-select.tsx index 94ac314bf8..2b8deda35e 100644 --- a/apps/web/modules/ee/multi-language-surveys/components/language-select.tsx +++ b/apps/web/modules/ee/multi-language-surveys/components/language-select.tsx @@ -1,3 +1,5 @@ +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; import { ChevronDown } from "lucide-react"; import { useTranslations } from "next-intl"; import { useEffect, useRef, useState } from "react"; @@ -6,8 +8,6 @@ import { iso639Languages } from "@formbricks/lib/i18n/utils"; import { useClickOutside } from "@formbricks/lib/utils/hooks/useClickOutside"; import type { TLanguage } from "@formbricks/types/product"; import { TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; -import { Input } from "@formbricks/ui/components/Input"; interface LanguageSelectProps { language: TLanguage; diff --git a/apps/web/modules/ee/multi-language-surveys/components/language-toggle.tsx b/apps/web/modules/ee/multi-language-surveys/components/language-toggle.tsx index 5bdbe21ea6..3a2d4b6cdc 100644 --- a/apps/web/modules/ee/multi-language-surveys/components/language-toggle.tsx +++ b/apps/web/modules/ee/multi-language-surveys/components/language-toggle.tsx @@ -1,9 +1,9 @@ +import { Label } from "@/modules/ui/components/label"; +import { Switch } from "@/modules/ui/components/switch"; import { useTranslations } from "next-intl"; import { getLanguageLabel } from "@formbricks/lib/i18n/utils"; import type { TLanguage } from "@formbricks/types/product"; import type { TUserLocale } from "@formbricks/types/user"; -import { Label } from "@formbricks/ui/components/Label"; -import { Switch } from "@formbricks/ui/components/Switch"; interface LanguageToggleProps { language: TLanguage; diff --git a/apps/web/modules/ee/multi-language-surveys/components/localized-editor.tsx b/apps/web/modules/ee/multi-language-surveys/components/localized-editor.tsx index 812abe165a..0c23073ad2 100644 --- a/apps/web/modules/ee/multi-language-surveys/components/localized-editor.tsx +++ b/apps/web/modules/ee/multi-language-surveys/components/localized-editor.tsx @@ -1,3 +1,4 @@ +import { Editor } from "@/modules/ui/components/editor"; import DOMPurify from "dompurify"; import { useTranslations } from "next-intl"; import type { Dispatch, SetStateAction } from "react"; @@ -7,7 +8,6 @@ import { md } from "@formbricks/lib/markdownIt"; import { recallToHeadline } from "@formbricks/lib/utils/recall"; import type { TI18nString, TSurvey } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { Editor } from "@formbricks/ui/components/Editor"; import { LanguageIndicator } from "./language-indicator"; interface LocalizedEditorProps { diff --git a/apps/web/modules/ee/multi-language-surveys/components/multi-language-card.tsx b/apps/web/modules/ee/multi-language-surveys/components/multi-language-card.tsx index 3af01ea54b..b4183d49d5 100644 --- a/apps/web/modules/ee/multi-language-surveys/components/multi-language-card.tsx +++ b/apps/web/modules/ee/multi-language-surveys/components/multi-language-card.tsx @@ -1,5 +1,11 @@ "use client"; +import { AdvancedOptionToggle } from "@/modules/ui/components/advanced-option-toggle"; +import { Button } from "@/modules/ui/components/button"; +import { ConfirmationModal } from "@/modules/ui/components/confirmation-modal"; +import { Label } from "@/modules/ui/components/label"; +import { Switch } from "@/modules/ui/components/switch"; +import { UpgradePlanNotice } from "@/modules/ui/components/upgrade-plan-notice"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import * as Collapsible from "@radix-ui/react-collapsible"; import { ArrowUpRight, Languages } from "lucide-react"; @@ -12,12 +18,6 @@ import { addMultiLanguageLabels, extractLanguageCodes } from "@formbricks/lib/i1 import type { TLanguage, TProduct } from "@formbricks/types/product"; import type { TSurvey, TSurveyLanguage, TSurveyQuestionId } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -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/apps/web/modules/ee/role-management/components/add-member-role.tsx b/apps/web/modules/ee/role-management/components/add-member-role.tsx index 2065a37451..60c45697a7 100644 --- a/apps/web/modules/ee/role-management/components/add-member-role.tsx +++ b/apps/web/modules/ee/role-management/components/add-member-role.tsx @@ -1,9 +1,4 @@ -import { OrganizationRole } from "@prisma/client"; -import { useTranslations } from "next-intl"; -import type { Control } from "react-hook-form"; -import { Controller } from "react-hook-form"; -import { TOrganizationRole } from "@formbricks/types/memberships"; -import { Label } from "@formbricks/ui/components/Label"; +import { Label } from "@/modules/ui/components/label"; import { Select, SelectContent, @@ -11,7 +6,12 @@ import { SelectItem, SelectTrigger, SelectValue, -} from "@formbricks/ui/components/Select"; +} from "@/modules/ui/components/select"; +import { OrganizationRole } from "@prisma/client"; +import { useTranslations } from "next-intl"; +import type { Control } from "react-hook-form"; +import { Controller } from "react-hook-form"; +import { TOrganizationRole } from "@formbricks/types/memberships"; interface AddMemberRoleProps { control: Control<{ name: string; email: string; role: TOrganizationRole }>; diff --git a/apps/web/modules/ee/role-management/components/edit-membership-role.tsx b/apps/web/modules/ee/role-management/components/edit-membership-role.tsx index 516b10f9e5..c28f60df5c 100644 --- a/apps/web/modules/ee/role-management/components/edit-membership-role.tsx +++ b/apps/web/modules/ee/role-management/components/edit-membership-role.tsx @@ -1,5 +1,14 @@ "use client"; +import { Badge } from "@/modules/ui/components/badge"; +import { Button } from "@/modules/ui/components/button"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuRadioGroup, + DropdownMenuRadioItem, + DropdownMenuTrigger, +} from "@/modules/ui/components/dropdown-menu"; import { OrganizationRole } from "@prisma/client"; import { ChevronDownIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -8,15 +17,6 @@ import { useState } from "react"; import toast from "react-hot-toast"; import { capitalizeFirstLetter } from "@formbricks/lib/utils/strings"; import type { TOrganizationRole } from "@formbricks/types/memberships"; -import { Badge } from "@formbricks/ui/components/Badge"; -import { Button } from "@formbricks/ui/components/Button"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuRadioGroup, - DropdownMenuRadioItem, - DropdownMenuTrigger, -} from "@formbricks/ui/components/DropdownMenu"; import { updateInviteAction, updateMembershipAction } from "../actions"; interface Role { diff --git a/apps/web/modules/ee/survey-follow-ups/components/follow-up-action-multi-email-input.tsx b/apps/web/modules/ee/survey-follow-ups/components/follow-up-action-multi-email-input.tsx index 95b82ca352..eca62417bc 100644 --- a/apps/web/modules/ee/survey-follow-ups/components/follow-up-action-multi-email-input.tsx +++ b/apps/web/modules/ee/survey-follow-ups/components/follow-up-action-multi-email-input.tsx @@ -1,5 +1,5 @@ +import { cn } from "@/modules/ui/lib/utils"; import React, { useState } from "react"; -import { cn } from "@formbricks/ui/lib/utils"; interface FollowUpActionMultiEmailInputProps { emails: string[]; diff --git a/apps/web/modules/ee/survey-follow-ups/components/follow-up-item.tsx b/apps/web/modules/ee/survey-follow-ups/components/follow-up-item.tsx index 6a643201d7..1efe740c7b 100644 --- a/apps/web/modules/ee/survey-follow-ups/components/follow-up-item.tsx +++ b/apps/web/modules/ee/survey-follow-ups/components/follow-up-item.tsx @@ -1,13 +1,13 @@ import { FollowUpModal } from "@/modules/ee/survey-follow-ups/components/follow-up-modal"; +import { Badge } from "@/modules/ui/components/badge"; +import { Button } from "@/modules/ui/components/button"; +import { ConfirmationModal } from "@/modules/ui/components/confirmation-modal"; import { TrashIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useMemo, useState } from "react"; import { TSurveyFollowUp } from "@formbricks/database/types/survey-follow-up"; import { TSurvey, TSurveyQuestionTypeEnum } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { Badge } from "@formbricks/ui/components/Badge"; -import { Button } from "@formbricks/ui/components/Button"; -import { ConfirmationModal } from "@formbricks/ui/components/ConfirmationModal"; interface FollowUpItemProps { followUp: TSurveyFollowUp; diff --git a/apps/web/modules/ee/survey-follow-ups/components/follow-up-modal.tsx b/apps/web/modules/ee/survey-follow-ups/components/follow-up-modal.tsx index ede874a74c..a5f122f876 100644 --- a/apps/web/modules/ee/survey-follow-ups/components/follow-up-modal.tsx +++ b/apps/web/modules/ee/survey-follow-ups/components/follow-up-modal.tsx @@ -1,5 +1,27 @@ import { getSurveyFollowUpActionDefaultBody } from "@/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/lib/utils"; import FollowUpActionMultiEmailInput from "@/modules/ee/survey-follow-ups/components/follow-up-action-multi-email-input"; +import { Button } from "@/modules/ui/components/button"; +import { Checkbox } from "@/modules/ui/components/checkbox"; +import { Editor } from "@/modules/ui/components/editor"; +import { + FormControl, + FormDescription, + FormField, + FormItem, + FormLabel, + FormProvider, +} from "@/modules/ui/components/form"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; +import { Modal } from "@/modules/ui/components/modal"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/modules/ui/components/select"; +import { cn } from "@/modules/ui/lib/utils"; import { zodResolver } from "@hookform/resolvers/zod"; import { createId } from "@paralleldrive/cuid2"; import DOMpurify from "isomorphic-dompurify"; @@ -13,28 +35,6 @@ import { getLocalizedValue } from "@formbricks/lib/i18n/utils"; import { QUESTIONS_ICON_MAP } from "@formbricks/lib/utils/questions"; import { TSurvey, TSurveyQuestionTypeEnum } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; -import { Checkbox } from "@formbricks/ui/components/Checkbox"; -import { Editor } from "@formbricks/ui/components/Editor"; -import { - FormControl, - FormDescription, - FormField, - FormItem, - FormLabel, - FormProvider, -} from "@formbricks/ui/components/Form"; -import { Input } from "@formbricks/ui/components/Input"; -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"; -import { cn } from "@formbricks/ui/lib/utils"; import { TCreateSurveyFollowUpForm, ZCreateSurveyFollowUpFormSchema, diff --git a/apps/web/modules/ee/survey-follow-ups/components/follow-ups-view.tsx b/apps/web/modules/ee/survey-follow-ups/components/follow-ups-view.tsx index d7ee7347ad..ea8faf03bc 100644 --- a/apps/web/modules/ee/survey-follow-ups/components/follow-ups-view.tsx +++ b/apps/web/modules/ee/survey-follow-ups/components/follow-ups-view.tsx @@ -1,12 +1,12 @@ import { FollowUpItem } from "@/modules/ee/survey-follow-ups/components/follow-up-item"; import { FollowUpModal } from "@/modules/ee/survey-follow-ups/components/follow-up-modal"; +import { Button } from "@/modules/ui/components/button"; import { LockIcon, MailIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useState } from "react"; import { TSurveyFollowUp } from "@formbricks/database/types/survey-follow-up"; import { TSurvey } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { Button } from "@formbricks/ui/components/Button"; interface FollowUpsViewProps { localSurvey: TSurvey; diff --git a/apps/web/modules/ee/teams/product-teams/components/access-table.tsx b/apps/web/modules/ee/teams/product-teams/components/access-table.tsx index dc5cb36e9b..045e68d64d 100644 --- a/apps/web/modules/ee/teams/product-teams/components/access-table.tsx +++ b/apps/web/modules/ee/teams/product-teams/components/access-table.tsx @@ -4,28 +4,21 @@ import { getFormattedErrorMessage } from "@/lib/utils/helper"; import { removeAccessAction, updateAccessPermissionAction } from "@/modules/ee/teams/product-teams/actions"; import { TProductTeam, TTeamPermission, ZTeamPermission } from "@/modules/ee/teams/product-teams/types/teams"; import { TeamPermissionMapping } from "@/modules/ee/teams/utils/teams"; -import { useTranslations } from "next-intl"; -import Link from "next/link"; -import { useRouter } from "next/navigation"; -import { useState } from "react"; -import toast from "react-hot-toast"; -import { AlertDialog } from "@formbricks/ui/components/AlertDialog"; -import { Button } from "@formbricks/ui/components/Button"; +import { AlertDialog } from "@/modules/ui/components/alert-dialog"; +import { Button } from "@/modules/ui/components/button"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, -} from "@formbricks/ui/components/Select"; -import { - Table, - TableBody, - TableCell, - TableHead, - TableHeader, - TableRow, -} from "@formbricks/ui/components/Table"; +} from "@/modules/ui/components/select"; +import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/modules/ui/components/table"; +import { useTranslations } from "next-intl"; +import Link from "next/link"; +import { useRouter } from "next/navigation"; +import { useState } from "react"; +import toast from "react-hot-toast"; interface AccessTableProps { teams: TProductTeam[]; diff --git a/apps/web/modules/ee/teams/product-teams/components/add-team-modal.tsx b/apps/web/modules/ee/teams/product-teams/components/add-team-modal.tsx index b7cbe7ebb6..c7428a92f7 100644 --- a/apps/web/modules/ee/teams/product-teams/components/add-team-modal.tsx +++ b/apps/web/modules/ee/teams/product-teams/components/add-team-modal.tsx @@ -2,16 +2,16 @@ import { getFormattedErrorMessage } from "@/lib/utils/helper"; import { addAccessAction } from "@/modules/ee/teams/product-teams/actions"; +import { Button } from "@/modules/ui/components/button"; +import { Label } from "@/modules/ui/components/label"; +import { Modal } from "@/modules/ui/components/modal"; +import { MultiSelect } from "@/modules/ui/components/multi-select"; +import { H4 } from "@/modules/ui/components/typography"; import { UsersIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; import { useState } from "react"; import toast from "react-hot-toast"; -import { Button } from "@formbricks/ui/components/Button"; -import { Label } from "@formbricks/ui/components/Label"; -import { Modal } from "@formbricks/ui/components/Modal"; -import { MultiSelect } from "@formbricks/ui/components/MultiSelect"; -import { H4 } from "@formbricks/ui/components/Typography"; interface AddTeamModalProps { open: boolean; diff --git a/apps/web/modules/ee/teams/product-teams/components/add-team.tsx b/apps/web/modules/ee/teams/product-teams/components/add-team.tsx index e76c85b944..bf373ce8ce 100644 --- a/apps/web/modules/ee/teams/product-teams/components/add-team.tsx +++ b/apps/web/modules/ee/teams/product-teams/components/add-team.tsx @@ -4,9 +4,9 @@ import { addAccessAction } from "@/modules/ee/teams/product-teams/actions"; import { AddTeamModal } from "@/modules/ee/teams/product-teams/components/add-team-modal"; import { TOrganizationTeam, TProductTeam } from "@/modules/ee/teams/product-teams/types/teams"; import { CreateTeamModal } from "@/modules/ee/teams/team-list/components/create-team-modal"; +import { Button } from "@/modules/ui/components/button"; import { useTranslations } from "next-intl"; import { useState } from "react"; -import { Button } from "@formbricks/ui/components/Button"; interface AddTeamProps { organizationTeams: TOrganizationTeam[]; diff --git a/apps/web/modules/ee/teams/product-teams/page.tsx b/apps/web/modules/ee/teams/product-teams/page.tsx index 00cd01db05..ab29331a3f 100644 --- a/apps/web/modules/ee/teams/product-teams/page.tsx +++ b/apps/web/modules/ee/teams/product-teams/page.tsx @@ -4,6 +4,8 @@ import { getRoleManagementPermission, } from "@/modules/ee/license-check/lib/utils"; import { AccessView } from "@/modules/ee/teams/product-teams/components/access-view"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { authOptions } from "@formbricks/lib/authOptions"; @@ -11,8 +13,6 @@ 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 { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; import { getTeamsByOrganizationId, getTeamsByProductId } from "./lib/teams"; export const ProductTeams = async (props: { params: Promise<{ environmentId: string }> }) => { diff --git a/apps/web/modules/ee/teams/team-details/components/add-team-member-modal.tsx b/apps/web/modules/ee/teams/team-details/components/add-team-member-modal.tsx index 8fcb45c19e..e3c909a019 100644 --- a/apps/web/modules/ee/teams/team-details/components/add-team-member-modal.tsx +++ b/apps/web/modules/ee/teams/team-details/components/add-team-member-modal.tsx @@ -2,16 +2,16 @@ import { getFormattedErrorMessage } from "@/lib/utils/helper"; import { addTeamMembersAction } from "@/modules/ee/teams/team-details/actions"; +import { Button } from "@/modules/ui/components/button"; +import { Label } from "@/modules/ui/components/label"; +import { Modal } from "@/modules/ui/components/modal"; +import { MultiSelect } from "@/modules/ui/components/multi-select"; +import { H4 } from "@/modules/ui/components/typography"; import { UserIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; import { useState } from "react"; import toast from "react-hot-toast"; -import { Button } from "@formbricks/ui/components/Button"; -import { Label } from "@formbricks/ui/components/Label"; -import { Modal } from "@formbricks/ui/components/Modal"; -import { MultiSelect } from "@formbricks/ui/components/MultiSelect"; -import { H4 } from "@formbricks/ui/components/Typography"; interface AddTeamMemberModalProps { open: boolean; diff --git a/apps/web/modules/ee/teams/team-details/components/add-team-product-modal.tsx b/apps/web/modules/ee/teams/team-details/components/add-team-product-modal.tsx index 4449a7ad74..c956bb76df 100644 --- a/apps/web/modules/ee/teams/team-details/components/add-team-product-modal.tsx +++ b/apps/web/modules/ee/teams/team-details/components/add-team-product-modal.tsx @@ -2,16 +2,16 @@ import { getFormattedErrorMessage } from "@/lib/utils/helper"; import { addTeamProductsAction } from "@/modules/ee/teams/team-details/actions"; +import { Button } from "@/modules/ui/components/button"; +import { Label } from "@/modules/ui/components/label"; +import { Modal } from "@/modules/ui/components/modal"; +import { MultiSelect } from "@/modules/ui/components/multi-select"; +import { H4 } from "@/modules/ui/components/typography"; import { UserIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; import { useState } from "react"; import toast from "react-hot-toast"; -import { Button } from "@formbricks/ui/components/Button"; -import { Label } from "@formbricks/ui/components/Label"; -import { Modal } from "@formbricks/ui/components/Modal"; -import { MultiSelect } from "@formbricks/ui/components/MultiSelect"; -import { H4 } from "@formbricks/ui/components/Typography"; interface AddTeamProductModalProps { open: boolean; diff --git a/apps/web/modules/ee/teams/team-details/components/delete-team.tsx b/apps/web/modules/ee/teams/team-details/components/delete-team.tsx index 7fc063bd89..a940046143 100644 --- a/apps/web/modules/ee/teams/team-details/components/delete-team.tsx +++ b/apps/web/modules/ee/teams/team-details/components/delete-team.tsx @@ -2,14 +2,14 @@ import { deleteTeamAction } from "@/modules/ee/teams/team-details/actions"; import { TTeam } from "@/modules/ee/teams/team-details/types/teams"; +import { Button } from "@/modules/ui/components/button"; +import { DeleteDialog } from "@/modules/ui/components/delete-dialog"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; import { useState } from "react"; import toast from "react-hot-toast"; import { getAccessFlags } from "@formbricks/lib/membership/utils"; import { TOrganizationRole } from "@formbricks/types/memberships"; -import { Button } from "@formbricks/ui/components/Button"; -import { DeleteDialog } from "@formbricks/ui/components/DeleteDialog"; interface DeleteTeamProps { teamId: TTeam["id"]; diff --git a/apps/web/modules/ee/teams/team-details/components/details-view.tsx b/apps/web/modules/ee/teams/team-details/components/details-view.tsx index 606d9a1cb7..fb62fc5caa 100644 --- a/apps/web/modules/ee/teams/team-details/components/details-view.tsx +++ b/apps/web/modules/ee/teams/team-details/components/details-view.tsx @@ -10,11 +10,11 @@ import { TTeamProduct, } from "@/modules/ee/teams/team-details/types/teams"; import { TTeamRole } from "@/modules/ee/teams/team-list/types/teams"; +import { SecondaryNavigation } from "@/modules/ui/components/secondary-navigation"; +import { H3 } from "@/modules/ui/components/typography"; import { useTranslations } from "next-intl"; import { useState } from "react"; import { TOrganizationRole } from "@formbricks/types/memberships"; -import { SecondaryNavigation } from "@formbricks/ui/components/SecondaryNavigation"; -import { H3 } from "@formbricks/ui/components/Typography"; interface DetailsViewProps { team: TTeam; diff --git a/apps/web/modules/ee/teams/team-details/components/edit-team-name-form.tsx b/apps/web/modules/ee/teams/team-details/components/edit-team-name-form.tsx index 222ac2fe29..5369a55cb9 100644 --- a/apps/web/modules/ee/teams/team-details/components/edit-team-name-form.tsx +++ b/apps/web/modules/ee/teams/team-details/components/edit-team-name-form.tsx @@ -3,14 +3,7 @@ import { getFormattedErrorMessage } from "@/lib/utils/helper"; import { updateTeamNameAction } from "@/modules/ee/teams/team-details/actions"; import { TTeam, ZTeam } from "@/modules/ee/teams/team-details/types/teams"; -import { zodResolver } from "@hookform/resolvers/zod"; -import { useTranslations } from "next-intl"; -import { SubmitHandler, useForm } from "react-hook-form"; -import toast from "react-hot-toast"; -import { z } from "zod"; -import { getAccessFlags } from "@formbricks/lib/membership/utils"; -import { TOrganizationRole } from "@formbricks/types/memberships"; -import { Button } from "@formbricks/ui/components/Button"; +import { Button } from "@/modules/ui/components/button"; import { FormControl, FormError, @@ -18,8 +11,15 @@ import { FormItem, FormLabel, FormProvider, -} from "@formbricks/ui/components/Form"; -import { Input } from "@formbricks/ui/components/Input"; +} from "@/modules/ui/components/form"; +import { Input } from "@/modules/ui/components/input"; +import { zodResolver } from "@hookform/resolvers/zod"; +import { useTranslations } from "next-intl"; +import { SubmitHandler, useForm } from "react-hook-form"; +import toast from "react-hot-toast"; +import { z } from "zod"; +import { getAccessFlags } from "@formbricks/lib/membership/utils"; +import { TOrganizationRole } from "@formbricks/types/memberships"; interface EditTeamNameProps { team: TTeam; diff --git a/apps/web/modules/ee/teams/team-details/components/team-members.tsx b/apps/web/modules/ee/teams/team-details/components/team-members.tsx index 800b2b309f..c1ae058616 100644 --- a/apps/web/modules/ee/teams/team-details/components/team-members.tsx +++ b/apps/web/modules/ee/teams/team-details/components/team-members.tsx @@ -6,6 +6,18 @@ import { AddTeamMemberModal } from "@/modules/ee/teams/team-details/components/a import { TOrganizationMember, TTeamMember } from "@/modules/ee/teams/team-details/types/teams"; import { TTeamRole, ZTeamRole } from "@/modules/ee/teams/team-list/types/teams"; import { TeamRoleMapping, getTeamAccessFlags } from "@/modules/ee/teams/utils/teams"; +import { AlertDialog } from "@/modules/ui/components/alert-dialog"; +import { Button } from "@/modules/ui/components/button"; +import { Card, CardContent, CardHeader, CardTitle } from "@/modules/ui/components/card"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/modules/ui/components/select"; +import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/modules/ui/components/table"; +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/modules/ui/components/tooltip"; import { InfoIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; @@ -13,25 +25,6 @@ import { useMemo, useState } from "react"; import toast from "react-hot-toast"; import { getAccessFlags } from "@formbricks/lib/membership/utils"; import { TOrganizationRole } from "@formbricks/types/memberships"; -import { AlertDialog } from "@formbricks/ui/components/AlertDialog"; -import { Button } from "@formbricks/ui/components/Button"; -import { Card, CardContent, CardHeader, CardTitle } from "@formbricks/ui/components/Card"; -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from "@formbricks/ui/components/Select"; -import { - Table, - TableBody, - TableCell, - TableHead, - TableHeader, - TableRow, -} from "@formbricks/ui/components/Table"; -import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@formbricks/ui/components/Tooltip"; interface TeamMembersProps { members: TTeamMember[]; diff --git a/apps/web/modules/ee/teams/team-details/components/team-navigation.tsx b/apps/web/modules/ee/teams/team-details/components/team-navigation.tsx index dfa872e43a..bef54d56a3 100644 --- a/apps/web/modules/ee/teams/team-details/components/team-navigation.tsx +++ b/apps/web/modules/ee/teams/team-details/components/team-navigation.tsx @@ -1,6 +1,5 @@ "use client"; -import { useTranslations } from "next-intl"; import { Breadcrumb, BreadcrumbItem, @@ -8,7 +7,8 @@ import { BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, -} from "@formbricks/ui/components/Breadcrumb"; +} from "@/modules/ui/components/breadcrumb"; +import { useTranslations } from "next-intl"; interface TeamsNavigationBreadcrumbsProps { teamName: string; diff --git a/apps/web/modules/ee/teams/team-details/components/team-products.tsx b/apps/web/modules/ee/teams/team-details/components/team-products.tsx index af922a4e33..e1968cc9b8 100644 --- a/apps/web/modules/ee/teams/team-details/components/team-products.tsx +++ b/apps/web/modules/ee/teams/team-details/components/team-products.tsx @@ -6,30 +6,23 @@ import { updateTeamProductPermissionAction } from "@/modules/ee/teams/team-detai import { AddTeamProductModal } from "@/modules/ee/teams/team-details/components/add-team-product-modal"; import { TOrganizationProduct, TTeamProduct } from "@/modules/ee/teams/team-details/types/teams"; import { TeamPermissionMapping } from "@/modules/ee/teams/utils/teams"; -import { useTranslations } from "next-intl"; -import { useRouter } from "next/navigation"; -import { useMemo, useState } from "react"; -import toast from "react-hot-toast"; -import { getAccessFlags } from "@formbricks/lib/membership/utils"; -import { TOrganizationRole } from "@formbricks/types/memberships"; -import { AlertDialog } from "@formbricks/ui/components/AlertDialog"; -import { Button } from "@formbricks/ui/components/Button"; -import { Card, CardContent, CardHeader, CardTitle } from "@formbricks/ui/components/Card"; +import { AlertDialog } from "@/modules/ui/components/alert-dialog"; +import { Button } from "@/modules/ui/components/button"; +import { Card, CardContent, CardHeader, CardTitle } from "@/modules/ui/components/card"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, -} from "@formbricks/ui/components/Select"; -import { - Table, - TableBody, - TableCell, - TableHead, - TableHeader, - TableRow, -} from "@formbricks/ui/components/Table"; +} from "@/modules/ui/components/select"; +import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/modules/ui/components/table"; +import { useTranslations } from "next-intl"; +import { useRouter } from "next/navigation"; +import { useMemo, useState } from "react"; +import toast from "react-hot-toast"; +import { getAccessFlags } from "@formbricks/lib/membership/utils"; +import { TOrganizationRole } from "@formbricks/types/memberships"; import { removeTeamProductAction } from "../actions"; interface TeamProductsProps { diff --git a/apps/web/modules/ee/teams/team-details/page.tsx b/apps/web/modules/ee/teams/team-details/page.tsx index 0205599fb1..2be285b820 100644 --- a/apps/web/modules/ee/teams/team-details/page.tsx +++ b/apps/web/modules/ee/teams/team-details/page.tsx @@ -8,6 +8,7 @@ import { getTeam, getTeamProducts, } from "@/modules/ee/teams/team-details/lib/teams"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { notFound } from "next/navigation"; @@ -15,7 +16,6 @@ import { authOptions } from "@formbricks/lib/authOptions"; import { getMembershipByUserIdOrganizationId } from "@formbricks/lib/membership/service"; import { getAccessFlags } from "@formbricks/lib/membership/utils"; import { getOrganizationByEnvironmentId } from "@formbricks/lib/organization/service"; -import { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; export const TeamDetails = async (props) => { const params = await props.params; diff --git a/apps/web/modules/ee/teams/team-list/components/create-team-button.tsx b/apps/web/modules/ee/teams/team-list/components/create-team-button.tsx index d1ff7071a9..5da116d470 100644 --- a/apps/web/modules/ee/teams/team-list/components/create-team-button.tsx +++ b/apps/web/modules/ee/teams/team-list/components/create-team-button.tsx @@ -1,9 +1,9 @@ "use client"; import { CreateTeamModal } from "@/modules/ee/teams/team-list/components/create-team-modal"; +import { Button } from "@/modules/ui/components/button"; import { useTranslations } from "next-intl"; import { useState } from "react"; -import { Button } from "@formbricks/ui/components/Button"; interface CreateTeamButtonProps { organizationId: string; diff --git a/apps/web/modules/ee/teams/team-list/components/create-team-modal.tsx b/apps/web/modules/ee/teams/team-list/components/create-team-modal.tsx index a134cda814..a5ace415a3 100644 --- a/apps/web/modules/ee/teams/team-list/components/create-team-modal.tsx +++ b/apps/web/modules/ee/teams/team-list/components/create-team-modal.tsx @@ -2,16 +2,16 @@ import { getFormattedErrorMessage } from "@/lib/utils/helper"; import { createTeamAction } from "@/modules/ee/teams/team-list/actions"; +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; +import { Modal } from "@/modules/ui/components/modal"; +import { H4 } from "@/modules/ui/components/typography"; import { UsersIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; import { useState } from "react"; import toast from "react-hot-toast"; -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 { H4 } from "@formbricks/ui/components/Typography"; interface CreateTeamModalProps { open: boolean; diff --git a/apps/web/modules/ee/teams/team-list/components/teams-table.tsx b/apps/web/modules/ee/teams/team-list/components/teams-table.tsx index 1b2746b7e4..b1cf044cf4 100644 --- a/apps/web/modules/ee/teams/team-list/components/teams-table.tsx +++ b/apps/web/modules/ee/teams/team-list/components/teams-table.tsx @@ -2,18 +2,11 @@ import { CreateTeamButton } from "@/modules/ee/teams/team-list/components/create-team-button"; import { TOtherTeam, TUserTeam } from "@/modules/ee/teams/team-list/types/teams"; +import { Badge } from "@/modules/ui/components/badge"; +import { Card, CardContent, CardHeader, CardTitle } from "@/modules/ui/components/card"; +import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/modules/ui/components/table"; import { useTranslations } from "next-intl"; import Link from "next/link"; -import { Badge } from "@formbricks/ui/components/Badge"; -import { Card, CardContent, CardHeader, CardTitle } from "@formbricks/ui/components/Card"; -import { - Table, - TableBody, - TableCell, - TableHead, - TableHeader, - TableRow, -} from "@formbricks/ui/components/Table"; interface YourTeamsProps { teams: { userTeams: TUserTeam[]; otherTeams: TOtherTeam[] }; diff --git a/apps/web/modules/ee/teams/team-list/page.tsx b/apps/web/modules/ee/teams/team-list/page.tsx index 9979e0c269..0ac21e1740 100644 --- a/apps/web/modules/ee/teams/team-list/page.tsx +++ b/apps/web/modules/ee/teams/team-list/page.tsx @@ -2,6 +2,8 @@ import { OrganizationSettingsNavbar } from "@/app/(app)/environments/[environmen import { getRoleManagementPermission } from "@/modules/ee/license-check/lib/utils"; import { TeamsView } from "@/modules/ee/teams/team-list/components/teams-view"; import { getTeams } from "@/modules/ee/teams/team-list/lib/teams"; +import { PageContentWrapper } from "@/modules/ui/components/page-content-wrapper"; +import { PageHeader } from "@/modules/ui/components/page-header"; import { getServerSession } from "next-auth"; import { getTranslations } from "next-intl/server"; import { notFound } from "next/navigation"; @@ -10,8 +12,6 @@ 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 { PageContentWrapper } from "@formbricks/ui/components/PageContentWrapper"; -import { PageHeader } from "@formbricks/ui/components/PageHeader"; export const TeamsPage = async (props) => { const params = await props.params; diff --git a/apps/web/modules/organization/components/CreateOrganizationModal/index.tsx b/apps/web/modules/organization/components/CreateOrganizationModal/index.tsx index d729ad394e..ff83404e80 100644 --- a/apps/web/modules/organization/components/CreateOrganizationModal/index.tsx +++ b/apps/web/modules/organization/components/CreateOrganizationModal/index.tsx @@ -2,16 +2,16 @@ import { createOrganizationAction } from "@/app/(app)/environments/[environmentId]/actions"; import { getFormattedErrorMessage } from "@/lib/utils/helper"; +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; +import { Modal } from "@/modules/ui/components/modal"; import { PlusCircleIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; import { useState } from "react"; import { useForm } from "react-hook-form"; import toast from "react-hot-toast"; -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 CreateOrganizationModalProps { open: boolean; diff --git a/apps/web/modules/surveys/components/QuestionFormInput/components/FallbackInput.tsx b/apps/web/modules/surveys/components/QuestionFormInput/components/FallbackInput.tsx index f0c62f03e7..791ceb1344 100644 --- a/apps/web/modules/surveys/components/QuestionFormInput/components/FallbackInput.tsx +++ b/apps/web/modules/surveys/components/QuestionFormInput/components/FallbackInput.tsx @@ -1,8 +1,8 @@ +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; import { RefObject } from "react"; import { toast } from "react-hot-toast"; import { TSurveyRecallItem } from "@formbricks/types/surveys/types"; -import { Button } from "@formbricks/ui/components/Button"; -import { Input } from "@formbricks/ui/components/Input"; interface FallbackInputProps { filteredRecallItems: (TSurveyRecallItem | undefined)[]; diff --git a/apps/web/modules/surveys/components/QuestionFormInput/components/RecallItemSelect.tsx b/apps/web/modules/surveys/components/QuestionFormInput/components/RecallItemSelect.tsx index 97bfc36d58..86e7036c80 100644 --- a/apps/web/modules/surveys/components/QuestionFormInput/components/RecallItemSelect.tsx +++ b/apps/web/modules/surveys/components/QuestionFormInput/components/RecallItemSelect.tsx @@ -1,3 +1,9 @@ +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuTrigger, +} from "@/modules/ui/components/dropdown-menu"; +import { Input } from "@/modules/ui/components/input"; import { DropdownMenuItem } from "@radix-ui/react-dropdown-menu"; import { CalendarDaysIcon, @@ -24,12 +30,6 @@ import { TSurveyQuestionId, TSurveyRecallItem, } from "@formbricks/types/surveys/types"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuTrigger, -} from "@formbricks/ui/components/DropdownMenu"; -import { Input } from "@formbricks/ui/components/Input"; const questionIconMapping = { openText: MessageSquareTextIcon, diff --git a/apps/web/modules/surveys/components/QuestionFormInput/index.tsx b/apps/web/modules/surveys/components/QuestionFormInput/index.tsx index 4d94eab2c7..bccad289dd 100644 --- a/apps/web/modules/surveys/components/QuestionFormInput/index.tsx +++ b/apps/web/modules/surveys/components/QuestionFormInput/index.tsx @@ -1,6 +1,9 @@ "use client"; import { LanguageIndicator } from "@/modules/ee/multi-language-surveys/components/language-indicator"; +import { FileInput } from "@/modules/ui/components/file-input"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import { debounce } from "lodash"; import { ImagePlusIcon, PencilIcon, TrashIcon } from "lucide-react"; @@ -32,9 +35,6 @@ import { TSurveyRedirectUrlCard, } from "@formbricks/types/surveys/types"; import { TUserLocale } from "@formbricks/types/user"; -import { FileInput } from "@formbricks/ui/components/FileInput"; -import { Input } from "@formbricks/ui/components/Input"; -import { Label } from "@formbricks/ui/components/Label"; import { FallbackInput } from "./components/FallbackInput"; import { RecallItemSelect } from "./components/RecallItemSelect"; import { diff --git a/apps/web/modules/surveys/components/TemplateList/components/StartFromScratchTemplate.tsx b/apps/web/modules/surveys/components/TemplateList/components/StartFromScratchTemplate.tsx index 3c8a2289ea..3800978e43 100644 --- a/apps/web/modules/surveys/components/TemplateList/components/StartFromScratchTemplate.tsx +++ b/apps/web/modules/surveys/components/TemplateList/components/StartFromScratchTemplate.tsx @@ -1,10 +1,10 @@ +import { Button } from "@/modules/ui/components/button"; import { PlusCircleIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { cn } from "@formbricks/lib/cn"; import { getCustomSurveyTemplate } from "@formbricks/lib/templates"; import { TProduct } from "@formbricks/types/product"; import { TTemplate } from "@formbricks/types/templates"; -import { Button } from "@formbricks/ui/components/Button"; import { replacePresetPlaceholders } from "../lib/utils"; interface StartFromScratchTemplateProps { diff --git a/apps/web/modules/surveys/components/TemplateList/components/Template.tsx b/apps/web/modules/surveys/components/TemplateList/components/Template.tsx index 5a140612cb..3de3d9bfd0 100644 --- a/apps/web/modules/surveys/components/TemplateList/components/Template.tsx +++ b/apps/web/modules/surveys/components/TemplateList/components/Template.tsx @@ -1,8 +1,8 @@ +import { Button } from "@/modules/ui/components/button"; import { useTranslations } from "next-intl"; import { cn } from "@formbricks/lib/cn"; import { TProduct } from "@formbricks/types/product"; import { TTemplate, TTemplateFilter } from "@formbricks/types/templates"; -import { Button } from "@formbricks/ui/components/Button"; import { replacePresetPlaceholders } from "../lib/utils"; import { TemplateTags } from "./TemplateTags"; diff --git a/apps/web/modules/surveys/components/TemplateList/components/TemplateTags.tsx b/apps/web/modules/surveys/components/TemplateList/components/TemplateTags.tsx index ac2d73a911..bbbf040f33 100644 --- a/apps/web/modules/surveys/components/TemplateList/components/TemplateTags.tsx +++ b/apps/web/modules/surveys/components/TemplateList/components/TemplateTags.tsx @@ -1,10 +1,10 @@ +import { TooltipRenderer } from "@/modules/ui/components/tooltip"; import { SplitIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useMemo } from "react"; import { cn } from "@formbricks/lib/cn"; import { TProductConfigChannel, TProductConfigIndustry } from "@formbricks/types/product"; import { TTemplate, TTemplateFilter, TTemplateRole } from "@formbricks/types/templates"; -import { TooltipRenderer } from "@formbricks/ui/components/Tooltip"; import { channelMapping, industryMapping, roleMapping } from "../lib/utils"; interface TemplateTagsProps { diff --git a/packages/ui/components/AdditionalIntegrationSettings/index.tsx b/apps/web/modules/ui/components/additional-integration-settings/index.tsx similarity index 97% rename from packages/ui/components/AdditionalIntegrationSettings/index.tsx rename to apps/web/modules/ui/components/additional-integration-settings/index.tsx index 1bd1f365b3..790c886acf 100644 --- a/packages/ui/components/AdditionalIntegrationSettings/index.tsx +++ b/apps/web/modules/ui/components/additional-integration-settings/index.tsx @@ -1,6 +1,6 @@ import { useTranslations } from "next-intl"; -import { Checkbox } from "../Checkbox"; -import { Label } from "../Label"; +import { Checkbox } from "../checkbox"; +import { Label } from "../label"; interface AdditionalIntegrationSettingsProps { includeVariables: boolean; diff --git a/packages/ui/components/AdvancedOptionToggle/index.tsx b/apps/web/modules/ui/components/advanced-option-toggle/index.tsx similarity index 92% rename from packages/ui/components/AdvancedOptionToggle/index.tsx rename to apps/web/modules/ui/components/advanced-option-toggle/index.tsx index 17711d608f..a355b86fbe 100644 --- a/packages/ui/components/AdvancedOptionToggle/index.tsx +++ b/apps/web/modules/ui/components/advanced-option-toggle/index.tsx @@ -1,6 +1,6 @@ +import { Label } from "@/modules/ui/components/label"; +import { Switch } from "@/modules/ui/components/switch"; import { cn } from "@formbricks/lib/cn"; -import { Label } from "../Label"; -import { Switch } from "../Switch"; interface AdvancedOptionToggleProps { isChecked: boolean; diff --git a/packages/ui/components/AlertDialog/index.tsx b/apps/web/modules/ui/components/alert-dialog/index.tsx similarity index 91% rename from packages/ui/components/AlertDialog/index.tsx rename to apps/web/modules/ui/components/alert-dialog/index.tsx index c1902b704a..390f47a39c 100644 --- a/packages/ui/components/AlertDialog/index.tsx +++ b/apps/web/modules/ui/components/alert-dialog/index.tsx @@ -1,8 +1,8 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { Modal } from "@/modules/ui/components/modal"; import { useTranslations } from "next-intl"; -import { Button } from "../Button"; -import { Modal } from "../Modal"; interface AlertDialogProps { open: boolean; diff --git a/packages/ui/components/Alert/index.tsx b/apps/web/modules/ui/components/alert/index.tsx similarity index 100% rename from packages/ui/components/Alert/index.tsx rename to apps/web/modules/ui/components/alert/index.tsx diff --git a/packages/ui/components/Alert/stories.tsx b/apps/web/modules/ui/components/alert/stories.tsx similarity index 100% rename from packages/ui/components/Alert/stories.tsx rename to apps/web/modules/ui/components/alert/stories.tsx diff --git a/packages/ui/components/ArrayResponse/index.tsx b/apps/web/modules/ui/components/array-response/index.tsx similarity index 100% rename from packages/ui/components/ArrayResponse/index.tsx rename to apps/web/modules/ui/components/array-response/index.tsx diff --git a/packages/ui/components/Avatars/index.tsx b/apps/web/modules/ui/components/avatars/index.tsx similarity index 100% rename from packages/ui/components/Avatars/index.tsx rename to apps/web/modules/ui/components/avatars/index.tsx diff --git a/packages/ui/components/BadgeSelect/index.tsx b/apps/web/modules/ui/components/badge-select/index.tsx similarity index 95% rename from packages/ui/components/BadgeSelect/index.tsx rename to apps/web/modules/ui/components/badge-select/index.tsx index 97fca852a9..5e16ade792 100644 --- a/packages/ui/components/BadgeSelect/index.tsx +++ b/apps/web/modules/ui/components/badge-select/index.tsx @@ -1,8 +1,13 @@ +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/modules/ui/components/dropdown-menu"; import { ChevronDownIcon } from "lucide-react"; import React from "react"; import { z } from "zod"; import { cn } from "@formbricks/lib/cn"; -import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "../DropdownMenu"; const ZBadgeSelectOptionSchema = z.object({ text: z.string(), diff --git a/packages/ui/components/BadgeSelect/stories.ts b/apps/web/modules/ui/components/badge-select/stories.ts similarity index 100% rename from packages/ui/components/BadgeSelect/stories.ts rename to apps/web/modules/ui/components/badge-select/stories.ts diff --git a/packages/ui/components/Badge/index.tsx b/apps/web/modules/ui/components/badge/index.tsx similarity index 100% rename from packages/ui/components/Badge/index.tsx rename to apps/web/modules/ui/components/badge/index.tsx diff --git a/packages/ui/components/Badge/stories.ts b/apps/web/modules/ui/components/badge/stories.ts similarity index 100% rename from packages/ui/components/Badge/stories.ts rename to apps/web/modules/ui/components/badge/stories.ts diff --git a/packages/ui/components/BasicAddFilterModal/index.tsx b/apps/web/modules/ui/components/basic-add-filter-modal/index.tsx similarity index 96% rename from packages/ui/components/BasicAddFilterModal/index.tsx rename to apps/web/modules/ui/components/basic-add-filter-modal/index.tsx index 6c6bcde8f3..4f7de0d707 100644 --- a/packages/ui/components/BasicAddFilterModal/index.tsx +++ b/apps/web/modules/ui/components/basic-add-filter-modal/index.tsx @@ -1,12 +1,12 @@ "use client"; +import { Input } from "@/modules/ui/components/input"; +import { Modal } from "@/modules/ui/components/modal"; import { FingerprintIcon, TagIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useMemo, useState } from "react"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TBaseFilter } from "@formbricks/types/segment"; -import { Input } from "../Input"; -import { Modal } from "../Modal"; import { handleAddFilter } from "./lib/utils"; interface TBasicAddFilterModalProps { diff --git a/packages/ui/components/BasicAddFilterModal/lib/utils.ts b/apps/web/modules/ui/components/basic-add-filter-modal/lib/utils.ts similarity index 100% rename from packages/ui/components/BasicAddFilterModal/lib/utils.ts rename to apps/web/modules/ui/components/basic-add-filter-modal/lib/utils.ts diff --git a/packages/ui/components/BasicSegmentEditor/components/AttributeSegmentFilter.tsx b/apps/web/modules/ui/components/basic-segment-editor/components/attribute-segment-filter.tsx similarity index 95% rename from packages/ui/components/BasicSegmentEditor/components/AttributeSegmentFilter.tsx rename to apps/web/modules/ui/components/basic-segment-editor/components/attribute-segment-filter.tsx index c98e61fa14..215a56cc2b 100644 --- a/packages/ui/components/BasicSegmentEditor/components/AttributeSegmentFilter.tsx +++ b/apps/web/modules/ui/components/basic-segment-editor/components/attribute-segment-filter.tsx @@ -1,3 +1,11 @@ +import { Input } from "@/modules/ui/components/input"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/modules/ui/components/select"; import { TagIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useEffect, useState } from "react"; @@ -21,10 +29,8 @@ import { TSegmentConnector, TSegmentFilterValue, } from "@formbricks/types/segment"; -import { Input } from "../../Input"; -import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../../Select"; -import { SegmentFilterItemConnector } from "./SegmentFilterItemConnector"; -import { SegmentFilterItemContextMenu } from "./SegmentFilterItemContextMenu"; +import { SegmentFilterItemConnector } from "./segment-filter-item-connector"; +import { SegmentFilterItemContextMenu } from "./segment-filter-item-context-menu"; interface AttributeSegmentFilterProps { connector: TSegmentConnector; diff --git a/packages/ui/components/BasicSegmentEditor/components/BasicSegmentFilter.tsx b/apps/web/modules/ui/components/basic-segment-editor/components/basic-segment-filter.tsx similarity index 90% rename from packages/ui/components/BasicSegmentEditor/components/BasicSegmentFilter.tsx rename to apps/web/modules/ui/components/basic-segment-editor/components/basic-segment-filter.tsx index 2029a93adf..17128c9a40 100644 --- a/packages/ui/components/BasicSegmentEditor/components/BasicSegmentFilter.tsx +++ b/apps/web/modules/ui/components/basic-segment-editor/components/basic-segment-filter.tsx @@ -1,3 +1,5 @@ +import { AttributeSegmentFilter } from "@/modules/ui/components/basic-segment-editor/components/attribute-segment-filter"; +import { PersonSegmentFilter } from "@/modules/ui/components/basic-segment-editor/components/person-segment-filter"; import { structuredClone } from "@formbricks/lib/pollyfills/structuredClone"; import { updateFilterValue } from "@formbricks/lib/segment/utils"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; @@ -8,8 +10,6 @@ import { TSegmentFilter, TSegmentPersonFilter, } from "@formbricks/types/segment"; -import { AttributeSegmentFilter } from "./AttributeSegmentFilter"; -import { PersonSegmentFilter } from "./PersonSegmentFilter"; interface BasicSegmentFilterProps { connector: TSegmentConnector; diff --git a/packages/ui/components/BasicSegmentEditor/components/PersonSegmentFilter.tsx b/apps/web/modules/ui/components/basic-segment-editor/components/person-segment-filter.tsx similarity index 93% rename from packages/ui/components/BasicSegmentEditor/components/PersonSegmentFilter.tsx rename to apps/web/modules/ui/components/basic-segment-editor/components/person-segment-filter.tsx index b91f51f633..f27cd5d32d 100644 --- a/packages/ui/components/BasicSegmentEditor/components/PersonSegmentFilter.tsx +++ b/apps/web/modules/ui/components/basic-segment-editor/components/person-segment-filter.tsx @@ -1,3 +1,13 @@ +import { SegmentFilterItemConnector } from "@/modules/ui/components/basic-segment-editor/components/segment-filter-item-connector"; +import { SegmentFilterItemContextMenu } from "@/modules/ui/components/basic-segment-editor/components/segment-filter-item-context-menu"; +import { Input } from "@/modules/ui/components/input"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/modules/ui/components/select"; import { FingerprintIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useEffect, useState } from "react"; @@ -19,10 +29,6 @@ import { TSegmentFilterValue, TSegmentPersonFilter, } from "@formbricks/types/segment"; -import { Input } from "../../Input"; -import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../../Select"; -import { SegmentFilterItemConnector } from "./SegmentFilterItemConnector"; -import { SegmentFilterItemContextMenu } from "./SegmentFilterItemContextMenu"; interface PersonSegmentFilterProps { connector: TSegmentConnector; diff --git a/packages/ui/components/BasicSegmentEditor/components/SegmentFilterItemConnector.tsx b/apps/web/modules/ui/components/basic-segment-editor/components/segment-filter-item-connector.tsx similarity index 100% rename from packages/ui/components/BasicSegmentEditor/components/SegmentFilterItemConnector.tsx rename to apps/web/modules/ui/components/basic-segment-editor/components/segment-filter-item-connector.tsx diff --git a/packages/ui/components/BasicSegmentEditor/components/SegmentFilterItemContextMenu.tsx b/apps/web/modules/ui/components/basic-segment-editor/components/segment-filter-item-context-menu.tsx similarity index 89% rename from packages/ui/components/BasicSegmentEditor/components/SegmentFilterItemContextMenu.tsx rename to apps/web/modules/ui/components/basic-segment-editor/components/segment-filter-item-context-menu.tsx index 6fe94cee79..1718f54b0c 100644 --- a/packages/ui/components/BasicSegmentEditor/components/SegmentFilterItemContextMenu.tsx +++ b/apps/web/modules/ui/components/basic-segment-editor/components/segment-filter-item-context-menu.tsx @@ -1,8 +1,13 @@ +import { Button } from "@/modules/ui/components/button"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/modules/ui/components/dropdown-menu"; import { ArrowDownIcon, ArrowUpIcon, EllipsisVerticalIcon, Trash2Icon } from "lucide-react"; import { useTranslations } from "next-intl"; import { cn } from "@formbricks/lib/cn"; -import { Button } from "../../Button"; -import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "../../DropdownMenu"; interface SegmentFilterItemContextMenuProps { filterId: string; diff --git a/packages/ui/components/BasicSegmentEditor/index.tsx b/apps/web/modules/ui/components/basic-segment-editor/index.tsx similarity index 96% rename from packages/ui/components/BasicSegmentEditor/index.tsx rename to apps/web/modules/ui/components/basic-segment-editor/index.tsx index 69fabbab27..d2b1fe1a36 100644 --- a/packages/ui/components/BasicSegmentEditor/index.tsx +++ b/apps/web/modules/ui/components/basic-segment-editor/index.tsx @@ -3,7 +3,7 @@ import { structuredClone } from "@formbricks/lib/pollyfills/structuredClone"; import { deleteResource, isResourceFilter, moveResource } from "@formbricks/lib/segment/utils"; import { TAttributeClass } from "@formbricks/types/attribute-classes"; import { TBaseFilters, TSegment } from "@formbricks/types/segment"; -import { BasicSegmentFilter } from "./components/BasicSegmentFilter"; +import { BasicSegmentFilter } from "./components/basic-segment-filter"; interface BasicSegmentEditorProps { group: TBaseFilters; diff --git a/packages/ui/components/Breadcrumb/index.tsx b/apps/web/modules/ui/components/breadcrumb/index.tsx similarity index 98% rename from packages/ui/components/Breadcrumb/index.tsx rename to apps/web/modules/ui/components/breadcrumb/index.tsx index 5bdf750dcb..368660c891 100644 --- a/packages/ui/components/Breadcrumb/index.tsx +++ b/apps/web/modules/ui/components/breadcrumb/index.tsx @@ -1,7 +1,7 @@ +import { cn } from "@/modules/ui/lib/utils"; import { Slot } from "@radix-ui/react-slot"; import { ChevronRight, MoreHorizontal } from "lucide-react"; import * as React from "react"; -import { cn } from "../../lib/utils"; const Breadcrumb = React.forwardRef< HTMLElement, diff --git a/packages/ui/components/Button/index.tsx b/apps/web/modules/ui/components/button/index.tsx similarity index 99% rename from packages/ui/components/Button/index.tsx rename to apps/web/modules/ui/components/button/index.tsx index b52d6fa720..37c4975210 100644 --- a/packages/ui/components/Button/index.tsx +++ b/apps/web/modules/ui/components/button/index.tsx @@ -1,8 +1,8 @@ +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/modules/ui/components/tooltip"; import { LucideIcon } from "lucide-react"; import Link, { LinkProps } from "next/link"; import React, { AnchorHTMLAttributes, ButtonHTMLAttributes, forwardRef } from "react"; import { cn } from "@formbricks/lib/cn"; -import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "../Tooltip"; type SVGComponent = React.FunctionComponent> | LucideIcon; diff --git a/packages/ui/components/Button/stories.ts b/apps/web/modules/ui/components/button/stories.ts similarity index 100% rename from packages/ui/components/Button/stories.ts rename to apps/web/modules/ui/components/button/stories.ts diff --git a/packages/ui/components/Calendar/index.tsx b/apps/web/modules/ui/components/calendar/index.tsx similarity index 100% rename from packages/ui/components/Calendar/index.tsx rename to apps/web/modules/ui/components/calendar/index.tsx diff --git a/packages/ui/components/CardArrangementTabs/index.tsx b/apps/web/modules/ui/components/card-arrangement-tabs/index.tsx similarity index 83% rename from packages/ui/components/CardArrangementTabs/index.tsx rename to apps/web/modules/ui/components/card-arrangement-tabs/index.tsx index 68ddc8a335..8edb562791 100644 --- a/packages/ui/components/CardArrangementTabs/index.tsx +++ b/apps/web/modules/ui/components/card-arrangement-tabs/index.tsx @@ -1,10 +1,10 @@ +import { CasualCardArrangementIcon } from "@/modules/ui/components/icons/casual-card-arrangement-icon"; +import { SimpleCardsArrangementIcon } from "@/modules/ui/components/icons/simple-card-arrangement-icon"; +import { StraightCardArrangementIcon } from "@/modules/ui/components/icons/straight-card-arrangement-icon"; +import { StylingTabs } from "@/modules/ui/components/styling-tabs"; import { useTranslations } from "next-intl"; import { TCardArrangementOptions } from "@formbricks/types/styling"; import { TSurveyType } from "@formbricks/types/surveys/types"; -import { StylingTabs } from "../StylingTabs"; -import { CasualCardArrangementIcon } from "../icons/CasualCardArrangementIcon"; -import { SimpleCardsArrangementIcon } from "../icons/SimpleCardArrangementIcon"; -import { StraightCardArrangementIcon } from "../icons/StraightCardArrangementIcon"; interface CardArrangementTabsProps { surveyType: TSurveyType; diff --git a/packages/ui/components/Card/index.tsx b/apps/web/modules/ui/components/card/index.tsx similarity index 73% rename from packages/ui/components/Card/index.tsx rename to apps/web/modules/ui/components/card/index.tsx index d38bacc230..2b38a77140 100644 --- a/packages/ui/components/Card/index.tsx +++ b/apps/web/modules/ui/components/card/index.tsx @@ -1,8 +1,39 @@ import * as React from "react"; import { cn } from "@formbricks/lib/cn"; -const Card = React.forwardRef>( - ({ className, ...props }, ref) => ( +interface CardProps extends React.HTMLAttributes { + label?: string; + description?: string; + connectText?: string; + connectHref?: string; + connectNewTab?: boolean; + docsText?: string; + docsHref?: string; + docsNewTab?: boolean; + connected?: boolean; + statusText?: string; + icon?: React.ReactNode; +} + +const Card = React.forwardRef( + ( + { + className, + label, + description, + connectText, + connectHref, + connectNewTab, + docsText, + docsHref, + docsNewTab, + connected, + statusText, + icon, + ...props + }, + ref + ) => (
, diff --git a/packages/ui/components/Confetti/index.tsx b/apps/web/modules/ui/components/confetti/index.tsx similarity index 100% rename from packages/ui/components/Confetti/index.tsx rename to apps/web/modules/ui/components/confetti/index.tsx diff --git a/packages/ui/components/ConfirmDeleteSegmentModal/index.tsx b/apps/web/modules/ui/components/confirm-delete-segment-modal/index.tsx similarity index 94% rename from packages/ui/components/ConfirmDeleteSegmentModal/index.tsx rename to apps/web/modules/ui/components/confirm-delete-segment-modal/index.tsx index e6789c1a98..668a5a18ec 100644 --- a/packages/ui/components/ConfirmDeleteSegmentModal/index.tsx +++ b/apps/web/modules/ui/components/confirm-delete-segment-modal/index.tsx @@ -1,8 +1,8 @@ +import { Button } from "@/modules/ui/components/button"; +import { Modal } from "@/modules/ui/components/modal"; import { useTranslations } from "next-intl"; import React, { useMemo } from "react"; import { TSegmentWithSurveyNames } from "@formbricks/types/segment"; -import { Button } from "../Button"; -import { Modal } from "../Modal"; interface ConfirmDeleteSegmentModalProps { open: boolean; diff --git a/packages/ui/components/ConfirmationModal/index.tsx b/apps/web/modules/ui/components/confirmation-modal/index.tsx similarity index 93% rename from packages/ui/components/ConfirmationModal/index.tsx rename to apps/web/modules/ui/components/confirmation-modal/index.tsx index 9f4654c755..1c8dbc4f93 100644 --- a/packages/ui/components/ConfirmationModal/index.tsx +++ b/apps/web/modules/ui/components/confirmation-modal/index.tsx @@ -1,7 +1,7 @@ +import { Button } from "@/modules/ui/components/button"; +import { Modal } from "@/modules/ui/components/modal"; import { useTranslations } from "next-intl"; import React from "react"; -import { Button } from "../Button"; -import { Modal } from "../Modal"; type ConfirmationModalProps = { title: string; diff --git a/packages/ui/components/ConnectIntegration/index.tsx b/apps/web/modules/ui/components/connect-integration/index.tsx similarity index 95% rename from packages/ui/components/ConnectIntegration/index.tsx rename to apps/web/modules/ui/components/connect-integration/index.tsx index 863ac0f895..bb9da1596b 100644 --- a/packages/ui/components/ConnectIntegration/index.tsx +++ b/apps/web/modules/ui/components/connect-integration/index.tsx @@ -1,3 +1,5 @@ +import { Button } from "@/modules/ui/components/button"; +import { FormbricksLogo } from "@/modules/ui/components/formbricks-logo"; import { useTranslations } from "next-intl"; import Image, { StaticImageData } from "next/image"; import Link from "next/link"; @@ -5,8 +7,6 @@ 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 "../Button"; -import { FormbricksLogo } from "../FormbricksLogo"; import { getIntegrationDetails } from "./lib/utils"; interface ConnectIntegrationProps { diff --git a/packages/ui/components/ConnectIntegration/lib/utils.ts b/apps/web/modules/ui/components/connect-integration/lib/utils.ts similarity index 100% rename from packages/ui/components/ConnectIntegration/lib/utils.ts rename to apps/web/modules/ui/components/connect-integration/lib/utils.ts diff --git a/packages/ui/components/CustomDialog/index.tsx b/apps/web/modules/ui/components/custom-dialog/index.tsx similarity index 91% rename from packages/ui/components/CustomDialog/index.tsx rename to apps/web/modules/ui/components/custom-dialog/index.tsx index c4f9b138f4..1318077476 100644 --- a/packages/ui/components/CustomDialog/index.tsx +++ b/apps/web/modules/ui/components/custom-dialog/index.tsx @@ -1,8 +1,8 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { Modal } from "@/modules/ui/components/modal"; import { useTranslations } from "next-intl"; -import { Button } from "../Button"; -import { Modal } from "../Modal"; interface CustomDialogProps { open: boolean; diff --git a/packages/ui/components/DataTable/components/ColumnSettingsDropdown.tsx b/apps/web/modules/ui/components/data-table/components/column-settings-dropdown.tsx similarity index 91% rename from packages/ui/components/DataTable/components/ColumnSettingsDropdown.tsx rename to apps/web/modules/ui/components/data-table/components/column-settings-dropdown.tsx index 054a963d22..2d1fdd0592 100644 --- a/packages/ui/components/DataTable/components/ColumnSettingsDropdown.tsx +++ b/apps/web/modules/ui/components/data-table/components/column-settings-dropdown.tsx @@ -1,7 +1,12 @@ +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/modules/ui/components/dropdown-menu"; import { Column } from "@tanstack/react-table"; import { EllipsisVerticalIcon, EyeOffIcon, SettingsIcon } from "lucide-react"; import { useTranslations } from "next-intl"; -import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "../../DropdownMenu"; interface ColumnSettingsDropdownProps { column: Column; diff --git a/packages/ui/components/DataTable/components/DataTableHeader.tsx b/apps/web/modules/ui/components/data-table/components/data-table-header.tsx similarity index 95% rename from packages/ui/components/DataTable/components/DataTableHeader.tsx rename to apps/web/modules/ui/components/data-table/components/data-table-header.tsx index 153d70d7ab..f60e8ccf1b 100644 --- a/packages/ui/components/DataTable/components/DataTableHeader.tsx +++ b/apps/web/modules/ui/components/data-table/components/data-table-header.tsx @@ -1,12 +1,12 @@ +import { TableHead } from "@/modules/ui/components/table"; import { useSortable } from "@dnd-kit/sortable"; import { CSS } from "@dnd-kit/utilities"; import { Header, flexRender } from "@tanstack/react-table"; import { GripVerticalIcon } from "lucide-react"; import { CSSProperties } from "react"; import { cn } from "@formbricks/lib/cn"; -import { TableHead } from "../../Table"; import { getCommonPinningStyles } from "../lib/utils"; -import { ColumnSettingsDropdown } from "./ColumnSettingsDropdown"; +import { ColumnSettingsDropdown } from "./column-settings-dropdown"; interface DataTableHeaderProps { header: Header; diff --git a/packages/ui/components/DataTable/components/DataTableSettingsModalItem.tsx b/apps/web/modules/ui/components/data-table/components/data-table-settings-modal-item.tsx similarity index 98% rename from packages/ui/components/DataTable/components/DataTableSettingsModalItem.tsx rename to apps/web/modules/ui/components/data-table/components/data-table-settings-modal-item.tsx index b562ae2011..9fd2b66c44 100644 --- a/packages/ui/components/DataTable/components/DataTableSettingsModalItem.tsx +++ b/apps/web/modules/ui/components/data-table/components/data-table-settings-modal-item.tsx @@ -1,3 +1,4 @@ +import { Switch } from "@/modules/ui/components/switch"; import { useSortable } from "@dnd-kit/sortable"; import { CSS } from "@dnd-kit/utilities"; import { Column } from "@tanstack/react-table"; @@ -7,7 +8,6 @@ import { useTranslations } from "next-intl"; import { getLocalizedValue } from "@formbricks/lib/i18n/utils"; import { QUESTIONS_ICON_MAP } from "@formbricks/lib/utils/questions"; import { TSurvey } from "@formbricks/types/surveys/types"; -import { Switch } from "../../Switch"; interface DataTableSettingsModalItemProps { column: Column; diff --git a/packages/ui/components/DataTable/components/DataTableSettingsModal.tsx b/apps/web/modules/ui/components/data-table/components/data-table-settings-modal.tsx similarity index 94% rename from packages/ui/components/DataTable/components/DataTableSettingsModal.tsx rename to apps/web/modules/ui/components/data-table/components/data-table-settings-modal.tsx index 4252a1d8bb..e4366b9cbd 100644 --- a/packages/ui/components/DataTable/components/DataTableSettingsModal.tsx +++ b/apps/web/modules/ui/components/data-table/components/data-table-settings-modal.tsx @@ -1,3 +1,4 @@ +import { Modal } from "@/modules/ui/components/modal"; import { DndContext, DragEndEvent, @@ -11,8 +12,7 @@ import { Table } from "@tanstack/react-table"; import { SettingsIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { TSurvey } from "@formbricks/types/surveys/types"; -import { Modal } from "../../Modal"; -import { DataTableSettingsModalItem } from "./DataTableSettingsModalItem"; +import { DataTableSettingsModalItem } from "./data-table-settings-modal-item"; interface DataTableSettingsModalProps { open: boolean; diff --git a/packages/ui/components/DataTable/components/DataTableToolbar.tsx b/apps/web/modules/ui/components/data-table/components/data-table-toolbar.tsx similarity index 93% rename from packages/ui/components/DataTable/components/DataTableToolbar.tsx rename to apps/web/modules/ui/components/data-table/components/data-table-toolbar.tsx index 8c874b20b7..b8fa8e777d 100644 --- a/packages/ui/components/DataTable/components/DataTableToolbar.tsx +++ b/apps/web/modules/ui/components/data-table/components/data-table-toolbar.tsx @@ -1,9 +1,9 @@ +import { TooltipRenderer } from "@/modules/ui/components/tooltip"; import { Table } from "@tanstack/react-table"; import { MoveVerticalIcon, SettingsIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { cn } from "@formbricks/lib/cn"; -import { TooltipRenderer } from "../../Tooltip"; -import { SelectedRowSettings } from "./SelectedRowSettings"; +import { SelectedRowSettings } from "./selected-row-settings"; interface DataTableToolbarProps { setIsTableSettingsModalOpen: (isTableSettingsModalOpen: boolean) => void; diff --git a/packages/ui/components/DataTable/components/SelectedRowSettings.tsx b/apps/web/modules/ui/components/data-table/components/selected-row-settings.tsx similarity index 97% rename from packages/ui/components/DataTable/components/SelectedRowSettings.tsx rename to apps/web/modules/ui/components/data-table/components/selected-row-settings.tsx index 29fdf27220..6da7d4b166 100644 --- a/packages/ui/components/DataTable/components/SelectedRowSettings.tsx +++ b/apps/web/modules/ui/components/data-table/components/selected-row-settings.tsx @@ -1,10 +1,10 @@ +import { DeleteDialog } from "@/modules/ui/components/delete-dialog"; import { Table } from "@tanstack/react-table"; import { Trash2Icon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useCallback, useState } from "react"; import { toast } from "react-hot-toast"; import { capitalizeFirstLetter } from "@formbricks/lib/utils/strings"; -import { DeleteDialog } from "../../DeleteDialog"; interface SelectedRowSettingsProps { table: Table; diff --git a/packages/ui/components/DataTable/components/SelectionColumn.tsx b/apps/web/modules/ui/components/data-table/components/selection-column.tsx similarity index 93% rename from packages/ui/components/DataTable/components/SelectionColumn.tsx rename to apps/web/modules/ui/components/data-table/components/selection-column.tsx index 798abdb5a5..b750fe0874 100644 --- a/packages/ui/components/DataTable/components/SelectionColumn.tsx +++ b/apps/web/modules/ui/components/data-table/components/selection-column.tsx @@ -1,7 +1,7 @@ "use client"; +import { Checkbox } from "@/modules/ui/components/checkbox"; import { ColumnDef } from "@tanstack/react-table"; -import { Checkbox } from "../../Checkbox"; export const getSelectionColumn = (): ColumnDef => { return { diff --git a/apps/web/modules/ui/components/data-table/index.tsx b/apps/web/modules/ui/components/data-table/index.tsx new file mode 100644 index 0000000000..6e7b288def --- /dev/null +++ b/apps/web/modules/ui/components/data-table/index.tsx @@ -0,0 +1,6 @@ +import { DataTableHeader } from "@/modules/ui/components/data-table/components/data-table-header"; +import { DataTableSettingsModal } from "@/modules/ui/components/data-table/components/data-table-settings-modal"; +import { DataTableToolbar } from "@/modules/ui/components/data-table/components/data-table-toolbar"; +import { getSelectionColumn } from "@/modules/ui/components/data-table/components/selection-column"; + +export { DataTableToolbar, DataTableHeader, DataTableSettingsModal, getSelectionColumn }; diff --git a/packages/ui/components/DataTable/lib/utils.ts b/apps/web/modules/ui/components/data-table/lib/utils.ts similarity index 100% rename from packages/ui/components/DataTable/lib/utils.ts rename to apps/web/modules/ui/components/data-table/lib/utils.ts diff --git a/packages/ui/components/DatePicker/index.tsx b/apps/web/modules/ui/components/date-picker/index.tsx similarity index 96% rename from packages/ui/components/DatePicker/index.tsx rename to apps/web/modules/ui/components/date-picker/index.tsx index c89f4375f4..60c50600d1 100644 --- a/packages/ui/components/DatePicker/index.tsx +++ b/apps/web/modules/ui/components/date-picker/index.tsx @@ -1,13 +1,13 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { Popover, PopoverContent, PopoverTrigger } from "@/modules/ui/components/popover"; import { format } from "date-fns"; import { CalendarCheckIcon, CalendarIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRef, useState } from "react"; import Calendar from "react-calendar"; import { cn } from "@formbricks/lib/cn"; -import { Button } from "../Button"; -import { Popover, PopoverContent, PopoverTrigger } from "../Popover"; import "./styles.css"; const getOrdinalSuffix = (day: number) => { diff --git a/packages/ui/components/DatePicker/styles.css b/apps/web/modules/ui/components/date-picker/styles.css similarity index 100% rename from packages/ui/components/DatePicker/styles.css rename to apps/web/modules/ui/components/date-picker/styles.css diff --git a/packages/ui/components/DefaultTag/index.tsx b/apps/web/modules/ui/components/default-tag/index.tsx similarity index 100% rename from packages/ui/components/DefaultTag/index.tsx rename to apps/web/modules/ui/components/default-tag/index.tsx diff --git a/packages/ui/components/DeleteDialog/index.tsx b/apps/web/modules/ui/components/delete-dialog/index.tsx similarity index 92% rename from packages/ui/components/DeleteDialog/index.tsx rename to apps/web/modules/ui/components/delete-dialog/index.tsx index 492d6da649..25e58bd607 100644 --- a/packages/ui/components/DeleteDialog/index.tsx +++ b/apps/web/modules/ui/components/delete-dialog/index.tsx @@ -1,8 +1,8 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { Modal } from "@/modules/ui/components/modal"; import { useTranslations } from "next-intl"; -import { Button } from "../Button"; -import { Modal } from "../Modal"; interface DeleteDialogProps { open: boolean; diff --git a/packages/ui/components/DevEnvironmentBanner/index.tsx b/apps/web/modules/ui/components/dev-environment-banner/index.tsx similarity index 100% rename from packages/ui/components/DevEnvironmentBanner/index.tsx rename to apps/web/modules/ui/components/dev-environment-banner/index.tsx diff --git a/packages/ui/components/Dialog/index.tsx b/apps/web/modules/ui/components/dialog/index.tsx similarity index 100% rename from packages/ui/components/Dialog/index.tsx rename to apps/web/modules/ui/components/dialog/index.tsx diff --git a/packages/ui/components/DropdownMenu/index.tsx b/apps/web/modules/ui/components/dropdown-menu/index.tsx similarity index 100% rename from packages/ui/components/DropdownMenu/index.tsx rename to apps/web/modules/ui/components/dropdown-menu/index.tsx diff --git a/packages/ui/components/DropdownSelector/index.tsx b/apps/web/modules/ui/components/dropdown-selector/index.tsx similarity index 96% rename from packages/ui/components/DropdownSelector/index.tsx rename to apps/web/modules/ui/components/dropdown-selector/index.tsx index 335601f06f..8071e33d20 100644 --- a/packages/ui/components/DropdownSelector/index.tsx +++ b/apps/web/modules/ui/components/dropdown-selector/index.tsx @@ -1,12 +1,12 @@ -import { ChevronDownIcon } from "lucide-react"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuPortal, DropdownMenuTrigger, -} from "../DropdownMenu"; -import { Label } from "../Label"; +} from "@/modules/ui/components/dropdown-menu"; +import { Label } from "@/modules/ui/components/label"; +import { ChevronDownIcon } from "lucide-react"; interface DropdownSelectorProps { label?: string; diff --git a/packages/ui/components/Editor/components/AddVariablesDropdown.tsx b/apps/web/modules/ui/components/editor/components/add-variables-dropdown.tsx similarity index 93% rename from packages/ui/components/Editor/components/AddVariablesDropdown.tsx rename to apps/web/modules/ui/components/editor/components/add-variables-dropdown.tsx index 2eb07c109c..90400b65e5 100644 --- a/packages/ui/components/Editor/components/AddVariablesDropdown.tsx +++ b/apps/web/modules/ui/components/editor/components/add-variables-dropdown.tsx @@ -1,5 +1,10 @@ +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/modules/ui/components/dropdown-menu"; import { ChevronDownIcon } from "lucide-react"; -import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "../../DropdownMenu"; interface IAddVariablesDropdown { addVariable: (variable: string) => void; diff --git a/packages/ui/components/Editor/components/AutoLinkPlugin.tsx b/apps/web/modules/ui/components/editor/components/auto-link-plugin.tsx similarity index 100% rename from packages/ui/components/Editor/components/AutoLinkPlugin.tsx rename to apps/web/modules/ui/components/editor/components/auto-link-plugin.tsx diff --git a/packages/ui/components/Editor/components/EditorContentChecker.tsx b/apps/web/modules/ui/components/editor/components/editor-content-checker.tsx similarity index 100% rename from packages/ui/components/Editor/components/EditorContentChecker.tsx rename to apps/web/modules/ui/components/editor/components/editor-content-checker.tsx diff --git a/packages/ui/components/Editor/components/Editor.tsx b/apps/web/modules/ui/components/editor/components/editor.tsx similarity index 89% rename from packages/ui/components/Editor/components/Editor.tsx rename to apps/web/modules/ui/components/editor/components/editor.tsx index 536f47188e..2e10fa2e98 100644 --- a/packages/ui/components/Editor/components/Editor.tsx +++ b/apps/web/modules/ui/components/editor/components/editor.tsx @@ -1,3 +1,5 @@ +import "@/modules/ui/components/editor/styles-editor-frontend.css"; +import "@/modules/ui/components/editor/styles-editor.css"; import { CodeHighlightNode, CodeNode } from "@lexical/code"; import { AutoLinkNode, LinkNode } from "@lexical/link"; import { ListItemNode, ListNode } from "@lexical/list"; @@ -13,12 +15,12 @@ import { HeadingNode, QuoteNode } from "@lexical/rich-text"; import { TableCellNode, TableNode, TableRowNode } from "@lexical/table"; import { type Dispatch, type SetStateAction, useRef } from "react"; import { cn } from "@formbricks/lib/cn"; -import { exampleTheme } from "../lib/ExampleTheme"; -import "../stylesEditor.css"; -import "../stylesEditorFrontend.css"; -import { PlaygroundAutoLinkPlugin as AutoLinkPlugin } from "./AutoLinkPlugin"; -import { EditorContentChecker } from "./EditorContentChecker"; -import { ToolbarPlugin } from "./ToolbarPlugin"; +import { exampleTheme } from "../lib/example-theme"; +import "../styles-editor-frontend.css"; +import "../styles-editor.css"; +import { PlaygroundAutoLinkPlugin as AutoLinkPlugin } from "./auto-link-plugin"; +import { EditorContentChecker } from "./editor-content-checker"; +import { ToolbarPlugin } from "./toolbar-plugin"; /* Detault toolbar items: diff --git a/packages/ui/components/Editor/components/ToolbarPlugin.tsx b/apps/web/modules/ui/components/editor/components/toolbar-plugin.tsx similarity index 97% rename from packages/ui/components/Editor/components/ToolbarPlugin.tsx rename to apps/web/modules/ui/components/editor/components/toolbar-plugin.tsx index 1ed335983f..3d6a507c54 100644 --- a/packages/ui/components/Editor/components/ToolbarPlugin.tsx +++ b/apps/web/modules/ui/components/editor/components/toolbar-plugin.tsx @@ -1,5 +1,14 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/modules/ui/components/dropdown-menu"; +import { Input } from "@/modules/ui/components/input"; +import { cn } from "@/modules/ui/lib/utils"; import { $generateHtmlFromNodes, $generateNodesFromDOM } from "@lexical/html"; import { $isLinkNode, TOGGLE_LINK_COMMAND } from "@lexical/link"; import { @@ -27,12 +36,8 @@ import { COMMAND_PRIORITY_CRITICAL, PASTE_COMMAND } from "lexical"; import { Bold, ChevronDownIcon, Italic, Link } from "lucide-react"; import { useCallback, useEffect, useRef, useState } from "react"; import { createPortal } from "react-dom"; -import { cn } from "@formbricks/lib/cn"; -import { Button } from "../../Button"; -import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "../../DropdownMenu"; -import { Input } from "../../Input"; -import { AddVariablesDropdown } from "./AddVariablesDropdown"; -import type { TextEditorProps } from "./Editor"; +import { AddVariablesDropdown } from "./add-variables-dropdown"; +import type { TextEditorProps } from "./editor"; const LowPriority = 1; diff --git a/packages/ui/components/Editor/images/icons/link.svg b/apps/web/modules/ui/components/editor/images/icons/link.svg similarity index 100% rename from packages/ui/components/Editor/images/icons/link.svg rename to apps/web/modules/ui/components/editor/images/icons/link.svg diff --git a/packages/ui/components/Editor/images/icons/list-ol.svg b/apps/web/modules/ui/components/editor/images/icons/list-ol.svg similarity index 100% rename from packages/ui/components/Editor/images/icons/list-ol.svg rename to apps/web/modules/ui/components/editor/images/icons/list-ol.svg diff --git a/packages/ui/components/Editor/images/icons/list-ul.svg b/apps/web/modules/ui/components/editor/images/icons/list-ul.svg similarity index 100% rename from packages/ui/components/Editor/images/icons/list-ul.svg rename to apps/web/modules/ui/components/editor/images/icons/list-ul.svg diff --git a/packages/ui/components/Editor/images/icons/pencil-fill.svg b/apps/web/modules/ui/components/editor/images/icons/pencil-fill.svg similarity index 100% rename from packages/ui/components/Editor/images/icons/pencil-fill.svg rename to apps/web/modules/ui/components/editor/images/icons/pencil-fill.svg diff --git a/packages/ui/components/Editor/images/icons/text-paragraph.svg b/apps/web/modules/ui/components/editor/images/icons/text-paragraph.svg similarity index 100% rename from packages/ui/components/Editor/images/icons/text-paragraph.svg rename to apps/web/modules/ui/components/editor/images/icons/text-paragraph.svg diff --git a/packages/ui/components/Editor/images/icons/type-bold.svg b/apps/web/modules/ui/components/editor/images/icons/type-bold.svg similarity index 100% rename from packages/ui/components/Editor/images/icons/type-bold.svg rename to apps/web/modules/ui/components/editor/images/icons/type-bold.svg diff --git a/packages/ui/components/Editor/images/icons/type-h1.svg b/apps/web/modules/ui/components/editor/images/icons/type-h1.svg similarity index 100% rename from packages/ui/components/Editor/images/icons/type-h1.svg rename to apps/web/modules/ui/components/editor/images/icons/type-h1.svg diff --git a/packages/ui/components/Editor/images/icons/type-h2.svg b/apps/web/modules/ui/components/editor/images/icons/type-h2.svg similarity index 100% rename from packages/ui/components/Editor/images/icons/type-h2.svg rename to apps/web/modules/ui/components/editor/images/icons/type-h2.svg diff --git a/packages/ui/components/Editor/images/icons/type-italic.svg b/apps/web/modules/ui/components/editor/images/icons/type-italic.svg similarity index 100% rename from packages/ui/components/Editor/images/icons/type-italic.svg rename to apps/web/modules/ui/components/editor/images/icons/type-italic.svg diff --git a/apps/web/modules/ui/components/editor/index.ts b/apps/web/modules/ui/components/editor/index.ts new file mode 100644 index 0000000000..da9170d813 --- /dev/null +++ b/apps/web/modules/ui/components/editor/index.ts @@ -0,0 +1,5 @@ +/* Built by the team of cal.com +https://github.com/calcom/cal.com/tree/main/packages/ui/components/editor */ + +export { Editor } from "./components/editor"; +export { AddVariablesDropdown } from "./components/add-variables-dropdown"; diff --git a/packages/ui/components/Editor/lib/ExampleTheme.ts b/apps/web/modules/ui/components/editor/lib/example-theme.ts similarity index 100% rename from packages/ui/components/Editor/lib/ExampleTheme.ts rename to apps/web/modules/ui/components/editor/lib/example-theme.ts diff --git a/packages/ui/components/Editor/stylesEditorFrontend.css b/apps/web/modules/ui/components/editor/styles-editor-frontend.css similarity index 100% rename from packages/ui/components/Editor/stylesEditorFrontend.css rename to apps/web/modules/ui/components/editor/styles-editor-frontend.css diff --git a/packages/ui/components/Editor/stylesEditor.css b/apps/web/modules/ui/components/editor/styles-editor.css similarity index 100% rename from packages/ui/components/Editor/stylesEditor.css rename to apps/web/modules/ui/components/editor/styles-editor.css diff --git a/packages/ui/components/EmptySpaceFiller/index.tsx b/apps/web/modules/ui/components/empty-space-filler/index.tsx similarity index 99% rename from packages/ui/components/EmptySpaceFiller/index.tsx rename to apps/web/modules/ui/components/empty-space-filler/index.tsx index be1018b805..6831fe29a7 100644 --- a/packages/ui/components/EmptySpaceFiller/index.tsx +++ b/apps/web/modules/ui/components/empty-space-filler/index.tsx @@ -1,9 +1,9 @@ "use client"; +import { Skeleton } from "@/modules/ui/components/skeleton"; import { useTranslations } from "next-intl"; import Link from "next/link"; import { TEnvironment } from "@formbricks/types/environment"; -import { Skeleton } from "../Skeleton"; type EmptySpaceFillerProps = { type: "table" | "response" | "event" | "linkResponse" | "tag" | "summary"; diff --git a/packages/ui/components/EnvironmentNotice/index.tsx b/apps/web/modules/ui/components/environment-notice/index.tsx similarity index 100% rename from packages/ui/components/EnvironmentNotice/index.tsx rename to apps/web/modules/ui/components/environment-notice/index.tsx diff --git a/packages/ui/components/ErrorComponent/index.tsx b/apps/web/modules/ui/components/error-component/index.tsx similarity index 100% rename from packages/ui/components/ErrorComponent/index.tsx rename to apps/web/modules/ui/components/error-component/index.tsx diff --git a/packages/ui/components/FileInput/components/Uploader.tsx b/apps/web/modules/ui/components/file-input/components/uploader.tsx similarity index 100% rename from packages/ui/components/FileInput/components/Uploader.tsx rename to apps/web/modules/ui/components/file-input/components/uploader.tsx diff --git a/packages/ui/components/FileInput/components/VideoSettings.tsx b/apps/web/modules/ui/components/file-input/components/video-settings.tsx similarity index 94% rename from packages/ui/components/FileInput/components/VideoSettings.tsx rename to apps/web/modules/ui/components/file-input/components/video-settings.tsx index 795edfb341..6167c03da7 100644 --- a/packages/ui/components/FileInput/components/VideoSettings.tsx +++ b/apps/web/modules/ui/components/file-input/components/video-settings.tsx @@ -1,12 +1,12 @@ +import { AdvancedOptionToggle } from "@/modules/ui/components/advanced-option-toggle"; +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; import { AlertTriangle } from "lucide-react"; import { useState } from "react"; import { toast } from "react-hot-toast"; import { checkForYoutubeUrl } from "@formbricks/lib/utils/videoUpload"; import { extractYoutubeId, parseVideoUrl } from "@formbricks/lib/utils/videoUpload"; -import { AdvancedOptionToggle } from "../../AdvancedOptionToggle"; -import { Button } from "../../Button"; -import { Input } from "../../Input"; -import { Label } from "../../Label"; +import { Label } from "../../label"; import { checkForYoutubePrivacyMode } from "../lib/utils"; interface VideoSettingsProps { diff --git a/packages/ui/components/FileInput/index.tsx b/apps/web/modules/ui/components/file-input/index.tsx similarity index 98% rename from packages/ui/components/FileInput/index.tsx rename to apps/web/modules/ui/components/file-input/index.tsx index 62bc64d3fe..2ffa22c3c7 100644 --- a/packages/ui/components/FileInput/index.tsx +++ b/apps/web/modules/ui/components/file-input/index.tsx @@ -1,5 +1,7 @@ "use client"; +import { LoadingSpinner } from "@/modules/ui/components/loading-spinner"; +import { OptionsSwitch } from "@/modules/ui/components/options-switch"; import { FileIcon, XIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import Image from "next/image"; @@ -7,10 +9,8 @@ import { useEffect, useState } from "react"; import toast from "react-hot-toast"; import { cn } from "@formbricks/lib/cn"; import { TAllowedFileExtension } from "@formbricks/types/common"; -import { LoadingSpinner } from "../LoadingSpinner"; -import { OptionsSwitch } from "../OptionsSwitch"; -import { Uploader } from "./components/Uploader"; -import { VideoSettings } from "./components/VideoSettings"; +import { Uploader } from "./components/uploader"; +import { VideoSettings } from "./components/video-settings"; import { getAllowedFiles, uploadFile } from "./lib/utils"; const allowedFileTypesForPreview = ["png", "jpeg", "jpg", "webp"]; diff --git a/packages/ui/components/FileInput/lib/utils.ts b/apps/web/modules/ui/components/file-input/lib/utils.ts similarity index 100% rename from packages/ui/components/FileInput/lib/utils.ts rename to apps/web/modules/ui/components/file-input/lib/utils.ts diff --git a/packages/ui/components/FileUploadResponse/index.tsx b/apps/web/modules/ui/components/file-upload-response/index.tsx similarity index 100% rename from packages/ui/components/FileUploadResponse/index.tsx rename to apps/web/modules/ui/components/file-upload-response/index.tsx diff --git a/packages/ui/components/Form/index.tsx b/apps/web/modules/ui/components/form/index.tsx similarity index 99% rename from packages/ui/components/Form/index.tsx rename to apps/web/modules/ui/components/form/index.tsx index fb7ee0e3da..1aa652c8cd 100644 --- a/packages/ui/components/Form/index.tsx +++ b/apps/web/modules/ui/components/form/index.tsx @@ -12,7 +12,7 @@ import { useFormContext, } from "react-hook-form"; import { cn } from "@formbricks/lib/cn"; -import { Label } from "../Label"; +import { Label } from "../label"; type FormFieldContextValue< TFieldValues extends FieldValues = FieldValues, diff --git a/packages/ui/components/FormbricksLogo/index.tsx b/apps/web/modules/ui/components/formbricks-logo/index.tsx similarity index 100% rename from packages/ui/components/FormbricksLogo/index.tsx rename to apps/web/modules/ui/components/formbricks-logo/index.tsx diff --git a/packages/ui/components/GoBackButton/index.tsx b/apps/web/modules/ui/components/go-back-button/index.tsx similarity index 90% rename from packages/ui/components/GoBackButton/index.tsx rename to apps/web/modules/ui/components/go-back-button/index.tsx index 1a2a615521..68bc526b3f 100644 --- a/packages/ui/components/GoBackButton/index.tsx +++ b/apps/web/modules/ui/components/go-back-button/index.tsx @@ -1,9 +1,9 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; import { ArrowLeftIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRouter } from "next/navigation"; -import { Button } from "../Button"; export const GoBackButton = ({ url }: { url?: string }) => { const router = useRouter(); diff --git a/packages/ui/components/Header/index.tsx b/apps/web/modules/ui/components/header/index.tsx similarity index 100% rename from packages/ui/components/Header/index.tsx rename to apps/web/modules/ui/components/header/index.tsx diff --git a/packages/ui/components/HighlightedText/index.tsx b/apps/web/modules/ui/components/highlighted-text/index.tsx similarity index 100% rename from packages/ui/components/HighlightedText/index.tsx rename to apps/web/modules/ui/components/highlighted-text/index.tsx diff --git a/packages/ui/components/icons/AngryBirdRage2Icon.tsx b/apps/web/modules/ui/components/icons/angry-bird-rage-2-icon.tsx similarity index 100% rename from packages/ui/components/icons/AngryBirdRage2Icon.tsx rename to apps/web/modules/ui/components/icons/angry-bird-rage-2-icon.tsx diff --git a/packages/ui/components/icons/AngryBirdRageIcon.tsx b/apps/web/modules/ui/components/icons/angry-bird-rage-icon.tsx similarity index 100% rename from packages/ui/components/icons/AngryBirdRageIcon.tsx rename to apps/web/modules/ui/components/icons/angry-bird-rage-icon.tsx diff --git a/packages/ui/components/icons/AppPieChartIcon.tsx b/apps/web/modules/ui/components/icons/app-pie-chart-icon.tsx similarity index 100% rename from packages/ui/components/icons/AppPieChartIcon.tsx rename to apps/web/modules/ui/components/icons/app-pie-chart-icon.tsx diff --git a/packages/ui/components/icons/ArchiveIcon.tsx b/apps/web/modules/ui/components/icons/archive-icon.tsx similarity index 100% rename from packages/ui/components/icons/ArchiveIcon.tsx rename to apps/web/modules/ui/components/icons/archive-icon.tsx diff --git a/packages/ui/components/icons/ArrowRightCircleIcon.tsx b/apps/web/modules/ui/components/icons/arrow-right-circle-icon.tsx similarity index 100% rename from packages/ui/components/icons/ArrowRightCircleIcon.tsx rename to apps/web/modules/ui/components/icons/arrow-right-circle-icon.tsx diff --git a/packages/ui/components/icons/ArrowUpRightIcon.tsx b/apps/web/modules/ui/components/icons/arrow-up-right-icon.tsx similarity index 100% rename from packages/ui/components/icons/ArrowUpRightIcon.tsx rename to apps/web/modules/ui/components/icons/arrow-up-right-icon.tsx diff --git a/packages/ui/components/icons/BackIcon.tsx b/apps/web/modules/ui/components/icons/back-icon.tsx similarity index 100% rename from packages/ui/components/icons/BackIcon.tsx rename to apps/web/modules/ui/components/icons/back-icon.tsx diff --git a/packages/ui/components/icons/BaseballIcon.tsx b/apps/web/modules/ui/components/icons/baseball-icon.tsx similarity index 100% rename from packages/ui/components/icons/BaseballIcon.tsx rename to apps/web/modules/ui/components/icons/baseball-icon.tsx diff --git a/packages/ui/components/icons/BellIcon.tsx b/apps/web/modules/ui/components/icons/bell-icon.tsx similarity index 100% rename from packages/ui/components/icons/BellIcon.tsx rename to apps/web/modules/ui/components/icons/bell-icon.tsx diff --git a/packages/ui/components/icons/BrainIcon.tsx b/apps/web/modules/ui/components/icons/brain-icon.tsx similarity index 100% rename from packages/ui/components/icons/BrainIcon.tsx rename to apps/web/modules/ui/components/icons/brain-icon.tsx diff --git a/packages/ui/components/icons/BugBlueIcon.tsx b/apps/web/modules/ui/components/icons/bug-blue-icon.tsx similarity index 100% rename from packages/ui/components/icons/BugBlueIcon.tsx rename to apps/web/modules/ui/components/icons/bug-blue-icon.tsx diff --git a/packages/ui/components/icons/BugIcon.tsx b/apps/web/modules/ui/components/icons/bug-icon.tsx similarity index 100% rename from packages/ui/components/icons/BugIcon.tsx rename to apps/web/modules/ui/components/icons/bug-icon.tsx diff --git a/packages/ui/components/icons/CancelSubscriptionIcon.tsx b/apps/web/modules/ui/components/icons/cancel-subscription-icon.tsx similarity index 100% rename from packages/ui/components/icons/CancelSubscriptionIcon.tsx rename to apps/web/modules/ui/components/icons/cancel-subscription-icon.tsx diff --git a/packages/ui/components/icons/CashCalculatorIcon.tsx b/apps/web/modules/ui/components/icons/cash-calculator-icon.tsx similarity index 100% rename from packages/ui/components/icons/CashCalculatorIcon.tsx rename to apps/web/modules/ui/components/icons/cash-calculator-icon.tsx diff --git a/packages/ui/components/icons/CasualCardArrangementIcon.tsx b/apps/web/modules/ui/components/icons/casual-card-arrangement-icon.tsx similarity index 100% rename from packages/ui/components/icons/CasualCardArrangementIcon.tsx rename to apps/web/modules/ui/components/icons/casual-card-arrangement-icon.tsx diff --git a/packages/ui/components/icons/CheckMarkIcon.tsx b/apps/web/modules/ui/components/icons/check-mark-icon.tsx similarity index 100% rename from packages/ui/components/icons/CheckMarkIcon.tsx rename to apps/web/modules/ui/components/icons/check-mark-icon.tsx diff --git a/packages/ui/components/icons/ClockIcon.tsx b/apps/web/modules/ui/components/icons/clock-icon.tsx similarity index 100% rename from packages/ui/components/icons/ClockIcon.tsx rename to apps/web/modules/ui/components/icons/clock-icon.tsx diff --git a/packages/ui/components/icons/CodeBookIcon.tsx b/apps/web/modules/ui/components/icons/code-book-icon.tsx similarity index 100% rename from packages/ui/components/icons/CodeBookIcon.tsx rename to apps/web/modules/ui/components/icons/code-book-icon.tsx diff --git a/packages/ui/components/icons/CodeFileIcon.tsx b/apps/web/modules/ui/components/icons/code-file-icon.tsx similarity index 100% rename from packages/ui/components/icons/CodeFileIcon.tsx rename to apps/web/modules/ui/components/icons/code-file-icon.tsx diff --git a/packages/ui/components/icons/ComplimentIcon.tsx b/apps/web/modules/ui/components/icons/compliment-icon.tsx similarity index 100% rename from packages/ui/components/icons/ComplimentIcon.tsx rename to apps/web/modules/ui/components/icons/compliment-icon.tsx diff --git a/packages/ui/components/icons/CrossMarkIcon.tsx b/apps/web/modules/ui/components/icons/cross-mark-icon.tsx similarity index 100% rename from packages/ui/components/icons/CrossMarkIcon.tsx rename to apps/web/modules/ui/components/icons/cross-mark-icon.tsx diff --git a/packages/ui/components/icons/CustomersIcon.tsx b/apps/web/modules/ui/components/icons/customers-icon.tsx similarity index 100% rename from packages/ui/components/icons/CustomersIcon.tsx rename to apps/web/modules/ui/components/icons/customers-icon.tsx diff --git a/packages/ui/components/icons/DashboardIcon.tsx b/apps/web/modules/ui/components/icons/dashboard-icon.tsx similarity index 100% rename from packages/ui/components/icons/DashboardIcon.tsx rename to apps/web/modules/ui/components/icons/dashboard-icon.tsx diff --git a/packages/ui/components/icons/DogChaserIcon.tsx b/apps/web/modules/ui/components/icons/dog-chaser-icon.tsx similarity index 100% rename from packages/ui/components/icons/DogChaserIcon.tsx rename to apps/web/modules/ui/components/icons/dog-chaser-icon.tsx diff --git a/packages/ui/components/icons/DoorIcon.tsx b/apps/web/modules/ui/components/icons/door-icon.tsx similarity index 100% rename from packages/ui/components/icons/DoorIcon.tsx rename to apps/web/modules/ui/components/icons/door-icon.tsx diff --git a/packages/ui/components/icons/EmailIcon.tsx b/apps/web/modules/ui/components/icons/email-icon.tsx similarity index 100% rename from packages/ui/components/icons/EmailIcon.tsx rename to apps/web/modules/ui/components/icons/email-icon.tsx diff --git a/packages/ui/components/icons/EngineerIcon.tsx b/apps/web/modules/ui/components/icons/engineer-icon.tsx similarity index 100% rename from packages/ui/components/icons/EngineerIcon.tsx rename to apps/web/modules/ui/components/icons/engineer-icon.tsx diff --git a/packages/ui/components/icons/EyeIcon.tsx b/apps/web/modules/ui/components/icons/eye-icon.tsx similarity index 100% rename from packages/ui/components/icons/EyeIcon.tsx rename to apps/web/modules/ui/components/icons/eye-icon.tsx diff --git a/packages/ui/components/icons/FeatureRequestIcon.tsx b/apps/web/modules/ui/components/icons/feature-request-icon.tsx similarity index 100% rename from packages/ui/components/icons/FeatureRequestIcon.tsx rename to apps/web/modules/ui/components/icons/feature-request-icon.tsx diff --git a/packages/ui/components/icons/FeedbackIcon.tsx b/apps/web/modules/ui/components/icons/feedback-icon.tsx similarity index 100% rename from packages/ui/components/icons/FeedbackIcon.tsx rename to apps/web/modules/ui/components/icons/feedback-icon.tsx diff --git a/packages/ui/components/icons/FilterIcon.tsx b/apps/web/modules/ui/components/icons/filter-icon.tsx similarity index 100% rename from packages/ui/components/icons/FilterIcon.tsx rename to apps/web/modules/ui/components/icons/filter-icon.tsx diff --git a/packages/ui/components/icons/FormIcon.tsx b/apps/web/modules/ui/components/icons/form-icon.tsx similarity index 100% rename from packages/ui/components/icons/FormIcon.tsx rename to apps/web/modules/ui/components/icons/form-icon.tsx diff --git a/packages/ui/components/icons/FounderIcon.tsx b/apps/web/modules/ui/components/icons/founder-icon.tsx similarity index 100% rename from packages/ui/components/icons/FounderIcon.tsx rename to apps/web/modules/ui/components/icons/founder-icon.tsx diff --git a/packages/ui/components/icons/GaugeSpeedFastIcon.tsx b/apps/web/modules/ui/components/icons/gauge-speed-fast-icon.tsx similarity index 100% rename from packages/ui/components/icons/GaugeSpeedFastIcon.tsx rename to apps/web/modules/ui/components/icons/gauge-speed-fast-icon.tsx diff --git a/packages/ui/components/icons/GithubIcon.tsx b/apps/web/modules/ui/components/icons/github-icon.tsx similarity index 100% rename from packages/ui/components/icons/GithubIcon.tsx rename to apps/web/modules/ui/components/icons/github-icon.tsx diff --git a/packages/ui/components/icons/GoogleIcon.tsx b/apps/web/modules/ui/components/icons/google-icon.tsx similarity index 100% rename from packages/ui/components/icons/GoogleIcon.tsx rename to apps/web/modules/ui/components/icons/google-icon.tsx diff --git a/packages/ui/components/icons/HandPuzzleIcon.tsx b/apps/web/modules/ui/components/icons/hand-puzzle-icon.tsx similarity index 100% rename from packages/ui/components/icons/HandPuzzleIcon.tsx rename to apps/web/modules/ui/components/icons/hand-puzzle-icon.tsx diff --git a/packages/ui/components/icons/HeartCommentIcon.tsx b/apps/web/modules/ui/components/icons/heart-comment-icon.tsx similarity index 100% rename from packages/ui/components/icons/HeartCommentIcon.tsx rename to apps/web/modules/ui/components/icons/heart-comment-icon.tsx diff --git a/packages/ui/components/icons/Html5Icon.tsx b/apps/web/modules/ui/components/icons/html5-icon.tsx similarity index 100% rename from packages/ui/components/icons/Html5Icon.tsx rename to apps/web/modules/ui/components/icons/html5-icon.tsx diff --git a/packages/ui/components/icons/IdeaIcon.tsx b/apps/web/modules/ui/components/icons/idea-icon.tsx similarity index 100% rename from packages/ui/components/icons/IdeaIcon.tsx rename to apps/web/modules/ui/components/icons/idea-icon.tsx diff --git a/apps/web/modules/ui/components/icons/index.tsx b/apps/web/modules/ui/components/icons/index.tsx new file mode 100644 index 0000000000..467185d105 --- /dev/null +++ b/apps/web/modules/ui/components/icons/index.tsx @@ -0,0 +1,60 @@ +export { AngryBirdRage2Icon } from "./angry-bird-rage-2-icon"; +export { AngryBirdRageIcon } from "./angry-bird-rage-icon"; +export { AppPieChartIcon } from "./app-pie-chart-icon"; +export { ArchiveIcon } from "./archive-icon"; +export { ArrowRightCircleIcon } from "./arrow-right-circle-icon"; +export { ArrowUpRightIcon } from "./arrow-up-right-icon"; +export { BackIcon } from "./back-icon"; +export { BaseballIcon } from "./baseball-icon"; +export { BellIcon } from "./bell-icon"; +export { BrainIcon } from "./brain-icon"; +export { BugBlueIcon } from "./bug-blue-icon"; +export { BugIcon } from "./bug-icon"; +export { CancelSubscriptionIcon } from "./cancel-subscription-icon"; +export { CashCalculatorIcon } from "./cash-calculator-icon"; +export { CheckMarkIcon } from "./check-mark-icon"; +export { ClockIcon } from "./clock-icon"; +export { CodeBookIcon } from "./code-book-icon"; +export { CodeFileIcon } from "./code-file-icon"; +export { ComplimentIcon } from "./compliment-icon"; +export { CrossMarkIcon } from "./cross-mark-icon"; +export { CustomersIcon } from "./customers-icon"; +export { DashboardIcon } from "./dashboard-icon"; +export { DogChaserIcon } from "./dog-chaser-icon"; +export { DoorIcon } from "./door-icon"; +export { EmailIcon } from "./email-icon"; +export { EngineerIcon } from "./engineer-icon"; +export { EyeIcon } from "./eye-icon"; +export { FeatureRequestIcon } from "./feature-request-icon"; +export { FeedbackIcon } from "./feedback-icon"; +export { FilterIcon } from "./filter-icon"; +export { FormIcon } from "./form-icon"; +export { FounderIcon } from "./founder-icon"; +export { GaugeSpeedFastIcon } from "./gauge-speed-fast-icon"; +export { HandPuzzleIcon } from "./hand-puzzle-icon"; +export { HeartCommentIcon } from "./heart-comment-icon"; +export { InterviewPromptIcon } from "./interview-prompt-icon"; +export { LaptopWorkerIcon } from "./laptop-worker-icon"; +export { LoadingBarIcon } from "./loading-bar-icon"; +export { NetPromoterScoreIcon } from "./net-promoter-score-icon"; +export { NotDisappointedIcon } from "./not-disappointed-icon"; +export { OnboardingIcon } from "./onboarding-icon"; +export { PMFIcon } from "./pmf-icon"; +export { SettingsIcon } from "./settings-icon"; +export { SkyscraperIcon } from "./skyscraper-icon"; +export { SomewhatDisappointedIcon } from "./somewhat-disappointed-icon"; +export { TabletTouchIcon } from "./tablet-touch-icon"; +export { TaskListSearchIcon } from "./task-list-search-icon"; +export { UserCommentIcon } from "./user-comment-icon"; +export { UserCoupleIcon } from "./user-couple-icon"; +export { UserDeveloperIcon } from "./user-developer-icon"; +export { UserGroupIcon } from "./user-group-icon"; +export { UserSearchGlasIcon } from "./user-search-glas-icon"; +export { VeryDisappointedIcon } from "./very-disappointed-icon"; +export { VideoTabletAdjustIcon } from "./video-tablet-adjust-icon"; +export { NpmIcon } from "./npm-icon"; +export { Html5Icon } from "./html5-icon"; +export { SlackIcon } from "./slack-icon"; +export { MicrosoftIcon } from "./microsoft-icon"; +export { GithubIcon } from "./github-icon"; +export { GoogleIcon } from "./google-icon"; diff --git a/packages/ui/components/icons/InterviewPromptIcon.tsx b/apps/web/modules/ui/components/icons/interview-prompt-icon.tsx similarity index 100% rename from packages/ui/components/icons/InterviewPromptIcon.tsx rename to apps/web/modules/ui/components/icons/interview-prompt-icon.tsx diff --git a/packages/ui/components/icons/LaptopWorkerIcon.tsx b/apps/web/modules/ui/components/icons/laptop-worker-icon.tsx similarity index 100% rename from packages/ui/components/icons/LaptopWorkerIcon.tsx rename to apps/web/modules/ui/components/icons/laptop-worker-icon.tsx diff --git a/packages/ui/components/icons/LoadingBarIcon.tsx b/apps/web/modules/ui/components/icons/loading-bar-icon.tsx similarity index 100% rename from packages/ui/components/icons/LoadingBarIcon.tsx rename to apps/web/modules/ui/components/icons/loading-bar-icon.tsx diff --git a/packages/ui/components/icons/MicrosoftIcon.tsx b/apps/web/modules/ui/components/icons/microsoft-icon.tsx similarity index 100% rename from packages/ui/components/icons/MicrosoftIcon.tsx rename to apps/web/modules/ui/components/icons/microsoft-icon.tsx diff --git a/packages/ui/components/icons/NetPromoterScoreIcon.tsx b/apps/web/modules/ui/components/icons/net-promoter-score-icon.tsx similarity index 100% rename from packages/ui/components/icons/NetPromoterScoreIcon.tsx rename to apps/web/modules/ui/components/icons/net-promoter-score-icon.tsx diff --git a/packages/ui/components/icons/NotDisappointedIcon.tsx b/apps/web/modules/ui/components/icons/not-disappointed-icon.tsx similarity index 100% rename from packages/ui/components/icons/NotDisappointedIcon.tsx rename to apps/web/modules/ui/components/icons/not-disappointed-icon.tsx diff --git a/packages/ui/components/icons/NpmIcon.tsx b/apps/web/modules/ui/components/icons/npm-icon.tsx similarity index 100% rename from packages/ui/components/icons/NpmIcon.tsx rename to apps/web/modules/ui/components/icons/npm-icon.tsx diff --git a/packages/ui/components/icons/OnboardingIcon.tsx b/apps/web/modules/ui/components/icons/onboarding-icon.tsx similarity index 100% rename from packages/ui/components/icons/OnboardingIcon.tsx rename to apps/web/modules/ui/components/icons/onboarding-icon.tsx diff --git a/packages/ui/components/icons/PMFIcon.tsx b/apps/web/modules/ui/components/icons/pmf-icon.tsx similarity index 100% rename from packages/ui/components/icons/PMFIcon.tsx rename to apps/web/modules/ui/components/icons/pmf-icon.tsx diff --git a/packages/ui/components/icons/SettingsIcon.tsx b/apps/web/modules/ui/components/icons/settings-icon.tsx similarity index 100% rename from packages/ui/components/icons/SettingsIcon.tsx rename to apps/web/modules/ui/components/icons/settings-icon.tsx diff --git a/packages/ui/components/icons/SimpleCardArrangementIcon.tsx b/apps/web/modules/ui/components/icons/simple-card-arrangement-icon.tsx similarity index 100% rename from packages/ui/components/icons/SimpleCardArrangementIcon.tsx rename to apps/web/modules/ui/components/icons/simple-card-arrangement-icon.tsx diff --git a/packages/ui/components/icons/SkyscraperIcon.tsx b/apps/web/modules/ui/components/icons/skyscraper-icon.tsx similarity index 100% rename from packages/ui/components/icons/SkyscraperIcon.tsx rename to apps/web/modules/ui/components/icons/skyscraper-icon.tsx diff --git a/packages/ui/components/icons/SlackIcon.tsx b/apps/web/modules/ui/components/icons/slack-icon.tsx similarity index 100% rename from packages/ui/components/icons/SlackIcon.tsx rename to apps/web/modules/ui/components/icons/slack-icon.tsx diff --git a/packages/ui/components/icons/SomewhatDisappointedIcon.tsx b/apps/web/modules/ui/components/icons/somewhat-disappointed-icon.tsx similarity index 100% rename from packages/ui/components/icons/SomewhatDisappointedIcon.tsx rename to apps/web/modules/ui/components/icons/somewhat-disappointed-icon.tsx diff --git a/packages/ui/components/icons/StraightCardArrangementIcon.tsx b/apps/web/modules/ui/components/icons/straight-card-arrangement-icon.tsx similarity index 100% rename from packages/ui/components/icons/StraightCardArrangementIcon.tsx rename to apps/web/modules/ui/components/icons/straight-card-arrangement-icon.tsx diff --git a/packages/ui/components/icons/TabletTouchIcon.tsx b/apps/web/modules/ui/components/icons/tablet-touch-icon.tsx similarity index 100% rename from packages/ui/components/icons/TabletTouchIcon.tsx rename to apps/web/modules/ui/components/icons/tablet-touch-icon.tsx diff --git a/packages/ui/components/icons/TaskListSearchIcon.tsx b/apps/web/modules/ui/components/icons/task-list-search-icon.tsx similarity index 100% rename from packages/ui/components/icons/TaskListSearchIcon.tsx rename to apps/web/modules/ui/components/icons/task-list-search-icon.tsx diff --git a/packages/ui/components/icons/UserCommentIcon.tsx b/apps/web/modules/ui/components/icons/user-comment-icon.tsx similarity index 100% rename from packages/ui/components/icons/UserCommentIcon.tsx rename to apps/web/modules/ui/components/icons/user-comment-icon.tsx diff --git a/packages/ui/components/icons/UserCoupleIcon.tsx b/apps/web/modules/ui/components/icons/user-couple-icon.tsx similarity index 100% rename from packages/ui/components/icons/UserCoupleIcon.tsx rename to apps/web/modules/ui/components/icons/user-couple-icon.tsx diff --git a/packages/ui/components/icons/UserDeveloperIcon.tsx b/apps/web/modules/ui/components/icons/user-developer-icon.tsx similarity index 100% rename from packages/ui/components/icons/UserDeveloperIcon.tsx rename to apps/web/modules/ui/components/icons/user-developer-icon.tsx diff --git a/packages/ui/components/icons/UserGroupIcon.tsx b/apps/web/modules/ui/components/icons/user-group-icon.tsx similarity index 100% rename from packages/ui/components/icons/UserGroupIcon.tsx rename to apps/web/modules/ui/components/icons/user-group-icon.tsx diff --git a/packages/ui/components/icons/UserSearchGlasIcon.tsx b/apps/web/modules/ui/components/icons/user-search-glas-icon.tsx similarity index 100% rename from packages/ui/components/icons/UserSearchGlasIcon.tsx rename to apps/web/modules/ui/components/icons/user-search-glas-icon.tsx diff --git a/packages/ui/components/icons/VeryDisappointedIcon.tsx b/apps/web/modules/ui/components/icons/very-disappointed-icon.tsx similarity index 100% rename from packages/ui/components/icons/VeryDisappointedIcon.tsx rename to apps/web/modules/ui/components/icons/very-disappointed-icon.tsx diff --git a/packages/ui/components/icons/VideoTabletAdjustIcon.tsx b/apps/web/modules/ui/components/icons/video-tablet-adjust-icon.tsx similarity index 100% rename from packages/ui/components/icons/VideoTabletAdjustIcon.tsx rename to apps/web/modules/ui/components/icons/video-tablet-adjust-icon.tsx diff --git a/packages/ui/components/InputCombobox/index.tsx b/apps/web/modules/ui/components/input-combo-box/index.tsx similarity index 98% rename from packages/ui/components/InputCombobox/index.tsx rename to apps/web/modules/ui/components/input-combo-box/index.tsx index 659e1cf4ce..cdd2393d9d 100644 --- a/packages/ui/components/InputCombobox/index.tsx +++ b/apps/web/modules/ui/components/input-combo-box/index.tsx @@ -1,8 +1,3 @@ -import { CheckIcon, ChevronDownIcon, LucideProps, XIcon } from "lucide-react"; -import { useTranslations } from "next-intl"; -import Image from "next/image"; -import React, { ForwardRefExoticComponent, RefAttributes, useEffect, useMemo, useState } from "react"; -import { cn } from "@formbricks/lib/cn"; import { Command, CommandEmpty, @@ -11,9 +6,14 @@ import { CommandItem, CommandList, CommandSeparator, -} from "../Command"; -import { Input } from "../Input"; -import { Popover, PopoverContent, PopoverTrigger } from "../Popover"; +} from "@/modules/ui/components/command"; +import { Input } from "@/modules/ui/components/input"; +import { Popover, PopoverContent, PopoverTrigger } from "@/modules/ui/components/popover"; +import { CheckIcon, ChevronDownIcon, LucideProps, XIcon } from "lucide-react"; +import { useTranslations } from "next-intl"; +import Image from "next/image"; +import React, { ForwardRefExoticComponent, RefAttributes, useEffect, useMemo, useState } from "react"; +import { cn } from "@formbricks/lib/cn"; export interface TComboboxOption { icon?: ForwardRefExoticComponent & RefAttributes>; diff --git a/packages/ui/components/InputCombobox/stories.ts b/apps/web/modules/ui/components/input-combo-box/stories.ts similarity index 98% rename from packages/ui/components/InputCombobox/stories.ts rename to apps/web/modules/ui/components/input-combo-box/stories.ts index a3f9e55ecf..54ae84aedf 100644 --- a/packages/ui/components/InputCombobox/stories.ts +++ b/apps/web/modules/ui/components/input-combo-box/stories.ts @@ -36,6 +36,7 @@ const commonOptions = [ export const Default: Story = { args: { + id: "input-combobox-default", showSearch: true, searchPlaceholder: "Search...", options: commonOptions, diff --git a/packages/ui/components/Input/index.tsx b/apps/web/modules/ui/components/input/index.tsx similarity index 100% rename from packages/ui/components/Input/index.tsx rename to apps/web/modules/ui/components/input/index.tsx diff --git a/packages/ui/components/Input/stories.tsx b/apps/web/modules/ui/components/input/stories.tsx similarity index 100% rename from packages/ui/components/Input/stories.tsx rename to apps/web/modules/ui/components/input/stories.tsx diff --git a/packages/ui/components/IntegrationCard/index.tsx b/apps/web/modules/ui/components/integration-card/index.tsx similarity index 97% rename from packages/ui/components/IntegrationCard/index.tsx rename to apps/web/modules/ui/components/integration-card/index.tsx index 965fddcb58..332b13a00b 100644 --- a/packages/ui/components/IntegrationCard/index.tsx +++ b/apps/web/modules/ui/components/integration-card/index.tsx @@ -1,6 +1,6 @@ "use client"; -import { Button } from "../Button"; +import { Button } from "@/modules/ui/components/button"; interface CardProps { connectText?: string; diff --git a/packages/ui/components/Card/stories.tsx b/apps/web/modules/ui/components/integration-card/stories.tsx similarity index 100% rename from packages/ui/components/Card/stories.tsx rename to apps/web/modules/ui/components/integration-card/stories.tsx diff --git a/packages/ui/components/Label/index.tsx b/apps/web/modules/ui/components/label/index.tsx similarity index 100% rename from packages/ui/components/Label/index.tsx rename to apps/web/modules/ui/components/label/index.tsx diff --git a/packages/ui/components/Label/stories.tsx b/apps/web/modules/ui/components/label/stories.tsx similarity index 100% rename from packages/ui/components/Label/stories.tsx rename to apps/web/modules/ui/components/label/stories.tsx diff --git a/packages/ui/components/LimitsReachedBanner/index.tsx b/apps/web/modules/ui/components/limits-reached-banner/index.tsx similarity index 100% rename from packages/ui/components/LimitsReachedBanner/index.tsx rename to apps/web/modules/ui/components/limits-reached-banner/index.tsx diff --git a/packages/ui/components/LoadSegmentModal/index.tsx b/apps/web/modules/ui/components/load-segment-modal/index.tsx similarity index 99% rename from packages/ui/components/LoadSegmentModal/index.tsx rename to apps/web/modules/ui/components/load-segment-modal/index.tsx index b4cd6f1f17..4899b7aaff 100644 --- a/packages/ui/components/LoadSegmentModal/index.tsx +++ b/apps/web/modules/ui/components/load-segment-modal/index.tsx @@ -1,5 +1,6 @@ "use client"; +import { Modal } from "@/modules/ui/components/modal"; import { Loader2, UsersIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useState } from "react"; @@ -8,7 +9,6 @@ import { cn } from "@formbricks/lib/cn"; import { formatDate, timeSinceDate } from "@formbricks/lib/time"; import { TSegment, ZSegmentFilters } from "@formbricks/types/segment"; import { TSurvey } from "@formbricks/types/surveys/types"; -import { Modal } from "../Modal"; interface SegmentDetailProps { segment: TSegment; diff --git a/packages/ui/components/LoadingSpinner/index.tsx b/apps/web/modules/ui/components/loading-spinner/index.tsx similarity index 100% rename from packages/ui/components/LoadingSpinner/index.tsx rename to apps/web/modules/ui/components/loading-spinner/index.tsx diff --git a/packages/ui/components/LoadingSpinner/stories.ts b/apps/web/modules/ui/components/loading-spinner/stories.ts similarity index 100% rename from packages/ui/components/LoadingSpinner/stories.ts rename to apps/web/modules/ui/components/loading-spinner/stories.ts diff --git a/packages/ui/components/Logo/index.tsx b/apps/web/modules/ui/components/logo/index.tsx similarity index 100% rename from packages/ui/components/Logo/index.tsx rename to apps/web/modules/ui/components/logo/index.tsx diff --git a/packages/ui/components/MediaBackground/index.tsx b/apps/web/modules/ui/components/media-background/index.tsx similarity index 100% rename from packages/ui/components/MediaBackground/index.tsx rename to apps/web/modules/ui/components/media-background/index.tsx diff --git a/packages/ui/components/ModalWithTabs/index.tsx b/apps/web/modules/ui/components/modal-with-tabs/index.tsx similarity index 97% rename from packages/ui/components/ModalWithTabs/index.tsx rename to apps/web/modules/ui/components/modal-with-tabs/index.tsx index 7f37db4184..0d14cb2997 100644 --- a/packages/ui/components/ModalWithTabs/index.tsx +++ b/apps/web/modules/ui/components/modal-with-tabs/index.tsx @@ -1,5 +1,5 @@ +import { Modal } from "@/modules/ui/components/modal"; import { useEffect, useState } from "react"; -import { Modal } from "../Modal"; interface ModalWithTabsProps { open: boolean; diff --git a/packages/ui/components/Modal/index.tsx b/apps/web/modules/ui/components/modal/index.tsx similarity index 100% rename from packages/ui/components/Modal/index.tsx rename to apps/web/modules/ui/components/modal/index.tsx diff --git a/packages/ui/components/Modal/stories.tsx b/apps/web/modules/ui/components/modal/stories.tsx similarity index 100% rename from packages/ui/components/Modal/stories.tsx rename to apps/web/modules/ui/components/modal/stories.tsx diff --git a/packages/ui/components/MultiSelect/index.tsx b/apps/web/modules/ui/components/multi-select/index.tsx similarity index 97% rename from packages/ui/components/MultiSelect/index.tsx rename to apps/web/modules/ui/components/multi-select/index.tsx index 5efda808d7..97384c06cf 100644 --- a/packages/ui/components/MultiSelect/index.tsx +++ b/apps/web/modules/ui/components/multi-select/index.tsx @@ -1,10 +1,16 @@ +import { + Command, + CommandEmpty, + CommandGroup, + CommandItem, + CommandList, +} from "@/modules/ui/components/command"; import clsx from "clsx"; import { ChevronDownIcon, ChevronUpIcon, XIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useRef, useState } from "react"; import { cn } from "@formbricks/lib/cn"; import { useClickOutside } from "@formbricks/lib/utils/hooks/useClickOutside"; -import { Command, CommandEmpty, CommandGroup, CommandItem, CommandList } from "../Command"; interface TOption { label: string; diff --git a/packages/ui/components/organisms/NoCodeActionForm/components/CssSelector.tsx b/apps/web/modules/ui/components/no-code-action-form/components/css-selector.tsx similarity index 88% rename from packages/ui/components/organisms/NoCodeActionForm/components/CssSelector.tsx rename to apps/web/modules/ui/components/no-code-action-form/components/css-selector.tsx index 63106360ea..5d49e9bce3 100644 --- a/packages/ui/components/organisms/NoCodeActionForm/components/CssSelector.tsx +++ b/apps/web/modules/ui/components/no-code-action-form/components/css-selector.tsx @@ -1,9 +1,9 @@ +import { AdvancedOptionToggle } from "@/modules/ui/components/advanced-option-toggle"; +import { FormControl, FormField, FormItem } from "@/modules/ui/components/form"; +import { Input } from "@/modules/ui/components/input"; import { useTranslations } from "next-intl"; import { UseFormReturn } from "react-hook-form"; import { TActionClassInput } from "@formbricks/types/action-classes"; -import { AdvancedOptionToggle } from "../../../AdvancedOptionToggle"; -import { FormControl, FormField, FormItem } from "../../../Form"; -import { Input } from "../../../Input"; interface CssSelectorProps { form: UseFormReturn; diff --git a/packages/ui/components/organisms/NoCodeActionForm/components/InnerHtmlSelector.tsx b/apps/web/modules/ui/components/no-code-action-form/components/inner-html-selector.tsx similarity index 89% rename from packages/ui/components/organisms/NoCodeActionForm/components/InnerHtmlSelector.tsx rename to apps/web/modules/ui/components/no-code-action-form/components/inner-html-selector.tsx index 4d5b3bd2e6..435745b62c 100644 --- a/packages/ui/components/organisms/NoCodeActionForm/components/InnerHtmlSelector.tsx +++ b/apps/web/modules/ui/components/no-code-action-form/components/inner-html-selector.tsx @@ -1,9 +1,9 @@ +import { AdvancedOptionToggle } from "@/modules/ui/components/advanced-option-toggle"; +import { FormControl, FormField, FormItem } from "@/modules/ui/components/form"; +import { Input } from "@/modules/ui/components/input"; import { useTranslations } from "next-intl"; import { UseFormReturn } from "react-hook-form"; import { TActionClassInput } from "@formbricks/types/action-classes"; -import { AdvancedOptionToggle } from "../../../AdvancedOptionToggle"; -import { FormControl, FormField, FormItem } from "../../../Form"; -import { Input } from "../../../Input"; interface InnerHtmlSelectorProps { form: UseFormReturn; diff --git a/packages/ui/components/organisms/NoCodeActionForm/components/PageUrlSelector.tsx b/apps/web/modules/ui/components/no-code-action-form/components/page-url-selector.tsx similarity index 94% rename from packages/ui/components/organisms/NoCodeActionForm/components/PageUrlSelector.tsx rename to apps/web/modules/ui/components/no-code-action-form/components/page-url-selector.tsx index 8986f91de8..e1a64c003a 100644 --- a/packages/ui/components/organisms/NoCodeActionForm/components/PageUrlSelector.tsx +++ b/apps/web/modules/ui/components/no-code-action-form/components/page-url-selector.tsx @@ -1,3 +1,15 @@ +import { Button } from "@/modules/ui/components/button"; +import { FormControl, FormField, FormItem } from "@/modules/ui/components/form"; +import { Input } from "@/modules/ui/components/input"; +import { Label } from "@/modules/ui/components/label"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/modules/ui/components/select"; +import { TabToggle } from "@/modules/ui/components/tab-toggle"; import { PlusIcon, TrashIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useState } from "react"; @@ -12,12 +24,6 @@ import toast from "react-hot-toast"; import { cn } from "@formbricks/lib/cn"; import { testURLmatch } from "@formbricks/lib/utils/url"; import { TActionClassInput, TActionClassPageUrlRule } from "@formbricks/types/action-classes"; -import { Button } from "../../../Button"; -import { FormControl, FormField, FormItem } from "../../../Form"; -import { Input } from "../../../Input"; -import { Label } from "../../../Label"; -import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../../../Select"; -import { TabToggle } from "../../../TabToggle"; interface PageUrlSelectorProps { form: UseFormReturn; diff --git a/packages/ui/components/organisms/NoCodeActionForm/index.tsx b/apps/web/modules/ui/components/no-code-action-form/index.tsx similarity index 87% rename from packages/ui/components/organisms/NoCodeActionForm/index.tsx rename to apps/web/modules/ui/components/no-code-action-form/index.tsx index ab7dc1d0b4..d8cf7bf428 100644 --- a/packages/ui/components/organisms/NoCodeActionForm/index.tsx +++ b/apps/web/modules/ui/components/no-code-action-form/index.tsx @@ -1,14 +1,14 @@ +import { Alert, AlertDescription, AlertTitle } from "@/modules/ui/components/alert"; +import { FormControl, FormError, FormField, FormItem } from "@/modules/ui/components/form"; +import { Label } from "@/modules/ui/components/label"; +import { TabToggle } from "@/modules/ui/components/tab-toggle"; import { InfoIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { UseFormReturn } from "react-hook-form"; import { TActionClassInput } from "@formbricks/types/action-classes"; -import { Alert, AlertDescription, AlertTitle } from "../../Alert"; -import { FormControl, FormError, FormField, FormItem } from "../../Form"; -import { Label } from "../../Label"; -import { TabToggle } from "../../TabToggle"; -import { CssSelector } from "./components/CssSelector"; -import { InnerHtmlSelector } from "./components/InnerHtmlSelector"; -import { PageUrlSelector } from "./components/PageUrlSelector"; +import { CssSelector } from "./components/css-selector"; +import { InnerHtmlSelector } from "./components/inner-html-selector"; +import { PageUrlSelector } from "./components/page-url-selector"; interface NoCodeActionFormProps { form: UseFormReturn; diff --git a/packages/ui/components/NoMobileOverlay/index.tsx b/apps/web/modules/ui/components/no-mobile-overlay/index.tsx similarity index 100% rename from packages/ui/components/NoMobileOverlay/index.tsx rename to apps/web/modules/ui/components/no-mobile-overlay/index.tsx diff --git a/packages/ui/components/OptionCard/index.tsx b/apps/web/modules/ui/components/option-card/index.tsx similarity index 95% rename from packages/ui/components/OptionCard/index.tsx rename to apps/web/modules/ui/components/option-card/index.tsx index 8050605592..9286f301a0 100644 --- a/packages/ui/components/OptionCard/index.tsx +++ b/apps/web/modules/ui/components/option-card/index.tsx @@ -1,5 +1,5 @@ +import { LoadingSpinner } from "@/modules/ui/components/loading-spinner"; import React from "react"; -import { LoadingSpinner } from "../LoadingSpinner"; interface PathwayOptionProps { size: "sm" | "md" | "lg"; diff --git a/packages/ui/components/OptionsSwitch/index.tsx b/apps/web/modules/ui/components/options-switch/index.tsx similarity index 100% rename from packages/ui/components/OptionsSwitch/index.tsx rename to apps/web/modules/ui/components/options-switch/index.tsx diff --git a/packages/ui/components/OTPInput/index.tsx b/apps/web/modules/ui/components/otp-input/index.tsx similarity index 98% rename from packages/ui/components/OTPInput/index.tsx rename to apps/web/modules/ui/components/otp-input/index.tsx index f04e122515..7c7cbf8c11 100644 --- a/packages/ui/components/OTPInput/index.tsx +++ b/apps/web/modules/ui/components/otp-input/index.tsx @@ -1,6 +1,6 @@ +import { Input } from "@/modules/ui/components/input"; import React, { useMemo } from "react"; import { cn } from "@formbricks/lib/cn"; -import { Input } from "../Input"; export type OTPInputProps = { value: string; diff --git a/packages/ui/components/PageContentWrapper/index.tsx b/apps/web/modules/ui/components/page-content-wrapper/index.tsx similarity index 100% rename from packages/ui/components/PageContentWrapper/index.tsx rename to apps/web/modules/ui/components/page-content-wrapper/index.tsx diff --git a/packages/ui/components/PageHeader/index.tsx b/apps/web/modules/ui/components/page-header/index.tsx similarity index 100% rename from packages/ui/components/PageHeader/index.tsx rename to apps/web/modules/ui/components/page-header/index.tsx diff --git a/packages/ui/components/PageHeader/stories.tsx b/apps/web/modules/ui/components/page-header/stories.tsx similarity index 90% rename from packages/ui/components/PageHeader/stories.tsx rename to apps/web/modules/ui/components/page-header/stories.tsx index c5f54f6488..2f2651e006 100644 --- a/packages/ui/components/PageHeader/stories.tsx +++ b/apps/web/modules/ui/components/page-header/stories.tsx @@ -1,6 +1,6 @@ +import { Button } from "@/modules/ui/components/button"; +import { PageHeader } from "@/modules/ui/components/page-header"; import type { Meta, StoryObj } from "@storybook/react"; -import { Button } from "../Button"; -import { PageHeader } from "./index"; const meta = { title: "ui/PageHeader", diff --git a/packages/ui/components/Pagination/index.tsx b/apps/web/modules/ui/components/pagination/index.tsx similarity index 100% rename from packages/ui/components/Pagination/index.tsx rename to apps/web/modules/ui/components/pagination/index.tsx diff --git a/packages/ui/components/PasswordInput/index.tsx b/apps/web/modules/ui/components/password-input/index.tsx similarity index 100% rename from packages/ui/components/PasswordInput/index.tsx rename to apps/web/modules/ui/components/password-input/index.tsx diff --git a/packages/ui/components/PendingDowngradeBanner/index.tsx b/apps/web/modules/ui/components/pending-downgrade-banner/index.tsx similarity index 100% rename from packages/ui/components/PendingDowngradeBanner/index.tsx rename to apps/web/modules/ui/components/pending-downgrade-banner/index.tsx diff --git a/packages/ui/components/PictureSelectionResponse/index.tsx b/apps/web/modules/ui/components/picture-selection-response/index.tsx similarity index 100% rename from packages/ui/components/PictureSelectionResponse/index.tsx rename to apps/web/modules/ui/components/picture-selection-response/index.tsx diff --git a/packages/ui/components/Popover/index.tsx b/apps/web/modules/ui/components/popover/index.tsx similarity index 100% rename from packages/ui/components/Popover/index.tsx rename to apps/web/modules/ui/components/popover/index.tsx diff --git a/packages/ui/components/PostHogClient/index.tsx b/apps/web/modules/ui/components/post-hog-client/index.tsx similarity index 100% rename from packages/ui/components/PostHogClient/index.tsx rename to apps/web/modules/ui/components/post-hog-client/index.tsx diff --git a/packages/ui/components/PreviewSurvey/components/Modal.tsx b/apps/web/modules/ui/components/preview-survey/components/modal.tsx similarity index 100% rename from packages/ui/components/PreviewSurvey/components/Modal.tsx rename to apps/web/modules/ui/components/preview-survey/components/modal.tsx diff --git a/packages/ui/components/PreviewSurvey/components/TabOption.tsx b/apps/web/modules/ui/components/preview-survey/components/tab-option.tsx similarity index 100% rename from packages/ui/components/PreviewSurvey/components/TabOption.tsx rename to apps/web/modules/ui/components/preview-survey/components/tab-option.tsx diff --git a/packages/ui/components/PreviewSurvey/index.tsx b/apps/web/modules/ui/components/preview-survey/index.tsx similarity index 97% rename from packages/ui/components/PreviewSurvey/index.tsx rename to apps/web/modules/ui/components/preview-survey/index.tsx index effc2039ee..3836e31fe2 100644 --- a/packages/ui/components/PreviewSurvey/index.tsx +++ b/apps/web/modules/ui/components/preview-survey/index.tsx @@ -1,5 +1,9 @@ "use client"; +import { ClientLogo } from "@/modules/ui/components/client-logo"; +import { MediaBackground } from "@/modules/ui/components/media-background"; +import { ResetProgressButton } from "@/modules/ui/components/reset-progress-button"; +import { SurveyInline } from "@/modules/ui/components/survey"; import { Variants, motion } from "framer-motion"; import { ExpandIcon, MonitorIcon, ShrinkIcon, SmartphoneIcon } from "lucide-react"; import { useTranslations } from "next-intl"; @@ -10,12 +14,8 @@ import type { TProduct } from "@formbricks/types/product"; import { TProductStyling } from "@formbricks/types/product"; import { TUploadFileConfig } from "@formbricks/types/storage"; import { TSurvey, TSurveyQuestionId, TSurveyStyling } from "@formbricks/types/surveys/types"; -import { ClientLogo } from "../ClientLogo"; -import { MediaBackground } from "../MediaBackground"; -import { ResetProgressButton } from "../ResetProgressButton"; -import { SurveyInline } from "../Survey"; -import { Modal } from "./components/Modal"; -import { TabOption } from "./components/TabOption"; +import { Modal } from "./components/modal"; +import { TabOption } from "./components/tab-option"; type TPreviewType = "modal" | "fullwidth" | "email"; diff --git a/packages/ui/components/PreviewSurvey/lib/utils.ts b/apps/web/modules/ui/components/preview-survey/lib/utils.ts similarity index 100% rename from packages/ui/components/PreviewSurvey/lib/utils.ts rename to apps/web/modules/ui/components/preview-survey/lib/utils.ts diff --git a/packages/ui/components/ProBadge/index.tsx b/apps/web/modules/ui/components/pro-badge/index.tsx similarity index 100% rename from packages/ui/components/ProBadge/index.tsx rename to apps/web/modules/ui/components/pro-badge/index.tsx diff --git a/packages/ui/components/ProgressBar/index.tsx b/apps/web/modules/ui/components/progress-bar/index.tsx similarity index 100% rename from packages/ui/components/ProgressBar/index.tsx rename to apps/web/modules/ui/components/progress-bar/index.tsx diff --git a/packages/ui/components/QuestionToggleTable/index.tsx b/apps/web/modules/ui/components/question-toggle-table/index.tsx similarity index 97% rename from packages/ui/components/QuestionToggleTable/index.tsx rename to apps/web/modules/ui/components/question-toggle-table/index.tsx index 493389c6e7..032170979e 100644 --- a/packages/ui/components/QuestionToggleTable/index.tsx +++ b/apps/web/modules/ui/components/question-toggle-table/index.tsx @@ -1,5 +1,5 @@ +import { Switch } from "@/modules/ui/components/switch"; import { useTranslations } from "next-intl"; -import { Switch } from "../Switch"; interface QuestionToggleTableProps { type: "address" | "contact"; diff --git a/packages/ui/components/RadioGroup/index.tsx b/apps/web/modules/ui/components/radio-group/index.tsx similarity index 100% rename from packages/ui/components/RadioGroup/index.tsx rename to apps/web/modules/ui/components/radio-group/index.tsx diff --git a/packages/ui/components/RankingResponse/index.tsx b/apps/web/modules/ui/components/ranking-response/index.tsx similarity index 100% rename from packages/ui/components/RankingResponse/index.tsx rename to apps/web/modules/ui/components/ranking-response/index.tsx diff --git a/packages/ui/components/RatingResponse/index.tsx b/apps/web/modules/ui/components/rating-response/index.tsx similarity index 91% rename from packages/ui/components/RatingResponse/index.tsx rename to apps/web/modules/ui/components/rating-response/index.tsx index 1d7c242055..e348a423a7 100644 --- a/packages/ui/components/RatingResponse/index.tsx +++ b/apps/web/modules/ui/components/rating-response/index.tsx @@ -1,5 +1,5 @@ +import { RatingSmiley } from "@/modules/analysis/components/RatingSmiley"; import { StarIcon } from "lucide-react"; -import { RatingSmiley } from "../../../../apps/web/modules/analysis/components/RatingSmiley"; interface RatingResponseProps { scale?: "number" | "star" | "smiley"; diff --git a/packages/ui/components/ResetProgressButton/index.tsx b/apps/web/modules/ui/components/reset-progress-button/index.tsx similarity index 90% rename from packages/ui/components/ResetProgressButton/index.tsx rename to apps/web/modules/ui/components/reset-progress-button/index.tsx index 9724e8002b..ec0ff959e4 100644 --- a/packages/ui/components/ResetProgressButton/index.tsx +++ b/apps/web/modules/ui/components/reset-progress-button/index.tsx @@ -1,6 +1,6 @@ +import { Button } from "@/modules/ui/components/button"; import { Repeat2 } from "lucide-react"; import { useTranslations } from "next-intl"; -import { Button } from "../Button"; interface ResetProgressButtonProps { onClick: () => void; diff --git a/packages/ui/components/ResponseBadges/index.tsx b/apps/web/modules/ui/components/response-badges/index.tsx similarity index 100% rename from packages/ui/components/ResponseBadges/index.tsx rename to apps/web/modules/ui/components/response-badges/index.tsx diff --git a/packages/ui/components/ResponsiveVideo/index.tsx b/apps/web/modules/ui/components/responsive-video/index.tsx similarity index 100% rename from packages/ui/components/ResponsiveVideo/index.tsx rename to apps/web/modules/ui/components/responsive-video/index.tsx diff --git a/packages/ui/components/SaveAsNewSegmentModal/index.tsx b/apps/web/modules/ui/components/save-as-new-segment-modal/index.tsx similarity index 97% rename from packages/ui/components/SaveAsNewSegmentModal/index.tsx rename to apps/web/modules/ui/components/save-as-new-segment-modal/index.tsx index f8b4534600..96ad39db33 100644 --- a/packages/ui/components/SaveAsNewSegmentModal/index.tsx +++ b/apps/web/modules/ui/components/save-as-new-segment-modal/index.tsx @@ -1,5 +1,8 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { Input } from "@/modules/ui/components/input"; +import { Modal } from "@/modules/ui/components/modal"; import { UsersIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { useState } from "react"; @@ -7,9 +10,6 @@ import { SubmitHandler, useForm } from "react-hook-form"; import toast from "react-hot-toast"; import { TSegment, TSegmentCreateInput, TSegmentUpdateInput } from "@formbricks/types/segment"; import { TSurvey } from "@formbricks/types/surveys/types"; -import { Button } from "../Button"; -import { Input } from "../Input"; -import { Modal } from "../Modal"; interface SaveAsNewSegmentModalProps { open: boolean; diff --git a/packages/ui/components/SearchBar/index.tsx b/apps/web/modules/ui/components/search-bar/index.tsx similarity index 100% rename from packages/ui/components/SearchBar/index.tsx rename to apps/web/modules/ui/components/search-bar/index.tsx diff --git a/packages/ui/components/SecondaryNavigation/index.tsx b/apps/web/modules/ui/components/secondary-navigation/index.tsx similarity index 100% rename from packages/ui/components/SecondaryNavigation/index.tsx rename to apps/web/modules/ui/components/secondary-navigation/index.tsx diff --git a/packages/ui/components/SegmentTitle/index.tsx b/apps/web/modules/ui/components/segment-title/index.tsx similarity index 100% rename from packages/ui/components/SegmentTitle/index.tsx rename to apps/web/modules/ui/components/segment-title/index.tsx diff --git a/packages/ui/components/Select/index.tsx b/apps/web/modules/ui/components/select/index.tsx similarity index 100% rename from packages/ui/components/Select/index.tsx rename to apps/web/modules/ui/components/select/index.tsx diff --git a/packages/ui/components/Separator/index.tsx b/apps/web/modules/ui/components/separator/index.tsx similarity index 94% rename from packages/ui/components/Separator/index.tsx rename to apps/web/modules/ui/components/separator/index.tsx index d5c3f45098..adef3e6d0f 100644 --- a/packages/ui/components/Separator/index.tsx +++ b/apps/web/modules/ui/components/separator/index.tsx @@ -1,8 +1,8 @@ "use client"; +import { cn } from "@/modules/ui/lib/utils"; import * as SeparatorPrimitive from "@radix-ui/react-separator"; import * as React from "react"; -import { cn } from "../../lib/utils"; const Separator = React.forwardRef< React.ElementRef, diff --git a/packages/ui/components/SettingsId/index.tsx b/apps/web/modules/ui/components/settings-id/index.tsx similarity index 100% rename from packages/ui/components/SettingsId/index.tsx rename to apps/web/modules/ui/components/settings-id/index.tsx diff --git a/packages/ui/components/Sheet/index.tsx b/apps/web/modules/ui/components/sheet/index.tsx similarity index 100% rename from packages/ui/components/Sheet/index.tsx rename to apps/web/modules/ui/components/sheet/index.tsx diff --git a/packages/ui/components/ShuffleOptionSelect/index.tsx b/apps/web/modules/ui/components/shuffle-option-select/index.tsx similarity index 93% rename from packages/ui/components/ShuffleOptionSelect/index.tsx rename to apps/web/modules/ui/components/shuffle-option-select/index.tsx index 9b25d5eb51..63e34725ee 100644 --- a/packages/ui/components/ShuffleOptionSelect/index.tsx +++ b/apps/web/modules/ui/components/shuffle-option-select/index.tsx @@ -1,3 +1,10 @@ +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/modules/ui/components/select"; import { useTranslations } from "next-intl"; import { TShuffleOption, @@ -5,7 +12,6 @@ import { TSurveyMultipleChoiceQuestion, TSurveyRankingQuestion, } from "@formbricks/types/surveys/types"; -import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../Select"; interface ShuffleOptionType { id: string; diff --git a/packages/ui/components/SimpleLayout/index.tsx b/apps/web/modules/ui/components/simple-layout/index.tsx similarity index 100% rename from packages/ui/components/SimpleLayout/index.tsx rename to apps/web/modules/ui/components/simple-layout/index.tsx diff --git a/packages/ui/components/SkeletonLoader/index.tsx b/apps/web/modules/ui/components/skeleton-loader/index.tsx similarity index 96% rename from packages/ui/components/SkeletonLoader/index.tsx rename to apps/web/modules/ui/components/skeleton-loader/index.tsx index 9f3ba545a0..88343ed50b 100644 --- a/packages/ui/components/SkeletonLoader/index.tsx +++ b/apps/web/modules/ui/components/skeleton-loader/index.tsx @@ -1,4 +1,4 @@ -import { Skeleton } from "../Skeleton"; +import { Skeleton } from "@/modules/ui/components/skeleton"; type SkeletonLoaderProps = { type: "response" | "summary"; diff --git a/packages/ui/components/Skeleton/index.tsx b/apps/web/modules/ui/components/skeleton/index.tsx similarity index 100% rename from packages/ui/components/Skeleton/index.tsx rename to apps/web/modules/ui/components/skeleton/index.tsx diff --git a/packages/ui/components/Slider/index.tsx b/apps/web/modules/ui/components/slider/index.tsx similarity index 100% rename from packages/ui/components/Slider/index.tsx rename to apps/web/modules/ui/components/slider/index.tsx diff --git a/packages/ui/components/StackedCardsContainer/index.tsx b/apps/web/modules/ui/components/stacked-cards-container/index.tsx similarity index 100% rename from packages/ui/components/StackedCardsContainer/index.tsx rename to apps/web/modules/ui/components/stacked-cards-container/index.tsx diff --git a/packages/ui/components/StylingTabs/index.tsx b/apps/web/modules/ui/components/styling-tabs/index.tsx similarity index 97% rename from packages/ui/components/StylingTabs/index.tsx rename to apps/web/modules/ui/components/styling-tabs/index.tsx index 2c859f162e..89144dd055 100644 --- a/packages/ui/components/StylingTabs/index.tsx +++ b/apps/web/modules/ui/components/styling-tabs/index.tsx @@ -1,6 +1,6 @@ +import { Label } from "@/modules/ui/components/label"; import React, { useState } from "react"; import { cn } from "@formbricks/lib/cn"; -import { Label } from "../Label"; interface Option { value: T; diff --git a/packages/ui/components/SurveyStatusIndicator/index.tsx b/apps/web/modules/ui/components/survey-status-indicator/index.tsx similarity index 99% rename from packages/ui/components/SurveyStatusIndicator/index.tsx rename to apps/web/modules/ui/components/survey-status-indicator/index.tsx index f99004723a..8bdde5efde 100644 --- a/packages/ui/components/SurveyStatusIndicator/index.tsx +++ b/apps/web/modules/ui/components/survey-status-indicator/index.tsx @@ -1,9 +1,9 @@ "use client"; +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/modules/ui/components/tooltip"; import { CheckIcon, ClockIcon, PauseIcon, PencilIcon } from "lucide-react"; import { useTranslations } from "next-intl"; import { TSurvey } from "@formbricks/types/surveys/types"; -import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "../Tooltip"; interface SurveyStatusIndicatorProps { status: TSurvey["status"]; diff --git a/packages/ui/components/Survey/index.tsx b/apps/web/modules/ui/components/survey/index.tsx similarity index 100% rename from packages/ui/components/Survey/index.tsx rename to apps/web/modules/ui/components/survey/index.tsx diff --git a/packages/ui/components/Switch/index.tsx b/apps/web/modules/ui/components/switch/index.tsx similarity index 100% rename from packages/ui/components/Switch/index.tsx rename to apps/web/modules/ui/components/switch/index.tsx diff --git a/packages/ui/components/TabBar/index.tsx b/apps/web/modules/ui/components/tab-bar/index.tsx similarity index 100% rename from packages/ui/components/TabBar/index.tsx rename to apps/web/modules/ui/components/tab-bar/index.tsx diff --git a/packages/ui/components/TabToggle/index.tsx b/apps/web/modules/ui/components/tab-toggle/index.tsx similarity index 100% rename from packages/ui/components/TabToggle/index.tsx rename to apps/web/modules/ui/components/tab-toggle/index.tsx diff --git a/packages/ui/components/Table/index.tsx b/apps/web/modules/ui/components/table/index.tsx similarity index 100% rename from packages/ui/components/Table/index.tsx rename to apps/web/modules/ui/components/table/index.tsx diff --git a/packages/ui/components/Tabs/index.tsx b/apps/web/modules/ui/components/tabs/index.tsx similarity index 100% rename from packages/ui/components/Tabs/index.tsx rename to apps/web/modules/ui/components/tabs/index.tsx diff --git a/packages/ui/components/Tag/index.tsx b/apps/web/modules/ui/components/tag/index.tsx similarity index 100% rename from packages/ui/components/Tag/index.tsx rename to apps/web/modules/ui/components/tag/index.tsx diff --git a/packages/ui/components/TagsCombobox/index.tsx b/apps/web/modules/ui/components/tags-combobox/index.tsx similarity index 93% rename from packages/ui/components/TagsCombobox/index.tsx rename to apps/web/modules/ui/components/tags-combobox/index.tsx index eb03ab5f40..cd06c4d8c0 100644 --- a/packages/ui/components/TagsCombobox/index.tsx +++ b/apps/web/modules/ui/components/tags-combobox/index.tsx @@ -1,10 +1,16 @@ "use client"; +import { Button } from "@/modules/ui/components/button"; +import { + Command, + CommandGroup, + CommandInput, + CommandItem, + CommandList, +} from "@/modules/ui/components/command"; +import { Popover, PopoverContent, PopoverTrigger } from "@/modules/ui/components/popover"; import { useTranslations } from "next-intl"; import { useEffect, useMemo } from "react"; -import { Button } from "../Button"; -import { Command, CommandGroup, CommandInput, CommandItem, CommandList } from "../Command"; -import { Popover, PopoverContent, PopoverTrigger } from "../Popover"; interface ITagsComboboxProps { tags: Tag[]; diff --git a/packages/ui/components/TargetingIndicator/index.tsx b/apps/web/modules/ui/components/targeting-indicator/index.tsx similarity index 100% rename from packages/ui/components/TargetingIndicator/index.tsx rename to apps/web/modules/ui/components/targeting-indicator/index.tsx diff --git a/packages/ui/components/Textarea/index.tsx b/apps/web/modules/ui/components/textarea/index.tsx similarity index 100% rename from packages/ui/components/Textarea/index.tsx rename to apps/web/modules/ui/components/textarea/index.tsx diff --git a/packages/ui/components/ToasterClient/index.tsx b/apps/web/modules/ui/components/toaster-client/index.tsx similarity index 100% rename from packages/ui/components/ToasterClient/index.tsx rename to apps/web/modules/ui/components/toaster-client/index.tsx diff --git a/packages/ui/components/ToggleGroup/index.tsx b/apps/web/modules/ui/components/toggle-group/index.tsx similarity index 100% rename from packages/ui/components/ToggleGroup/index.tsx rename to apps/web/modules/ui/components/toggle-group/index.tsx diff --git a/packages/ui/components/ToggleGroup/toggle.tsx b/apps/web/modules/ui/components/toggle-group/toggle.tsx similarity index 100% rename from packages/ui/components/ToggleGroup/toggle.tsx rename to apps/web/modules/ui/components/toggle-group/toggle.tsx diff --git a/packages/ui/components/Tooltip/index.tsx b/apps/web/modules/ui/components/tooltip/index.tsx similarity index 100% rename from packages/ui/components/Tooltip/index.tsx rename to apps/web/modules/ui/components/tooltip/index.tsx diff --git a/packages/ui/components/Typography/index.tsx b/apps/web/modules/ui/components/typography/index.tsx similarity index 98% rename from packages/ui/components/Typography/index.tsx rename to apps/web/modules/ui/components/typography/index.tsx index 726ce7f00e..e003fa89ac 100644 --- a/packages/ui/components/Typography/index.tsx +++ b/apps/web/modules/ui/components/typography/index.tsx @@ -1,5 +1,5 @@ +import { cn } from "@/modules/ui/lib/utils"; import React, { forwardRef } from "react"; -import { cn } from "../../lib/utils"; const H1 = forwardRef>((props, ref) => { return ( diff --git a/packages/ui/components/UpgradePlanNotice/index.tsx b/apps/web/modules/ui/components/upgrade-plan-notice/index.tsx similarity index 82% rename from packages/ui/components/UpgradePlanNotice/index.tsx rename to apps/web/modules/ui/components/upgrade-plan-notice/index.tsx index 94f6c5a5c1..1a58cd1bdf 100644 --- a/packages/ui/components/UpgradePlanNotice/index.tsx +++ b/apps/web/modules/ui/components/upgrade-plan-notice/index.tsx @@ -1,6 +1,6 @@ +import { Alert, AlertDescription } from "@/modules/ui/components/alert"; +import { Badge } from "@/modules/ui/components/badge"; import Link from "next/link"; -import { Alert, AlertDescription } from "../Alert"; -import { Badge } from "../Badge"; export const UpgradePlanNotice = ({ message, diff --git a/packages/ui/globals.css b/apps/web/modules/ui/globals.css similarity index 100% rename from packages/ui/globals.css rename to apps/web/modules/ui/globals.css diff --git a/packages/ui/lib/utils.ts b/apps/web/modules/ui/lib/utils.ts similarity index 100% rename from packages/ui/lib/utils.ts rename to apps/web/modules/ui/lib/utils.ts diff --git a/apps/web/next.config.mjs b/apps/web/next.config.mjs index 1b360d0068..c7fe1ec14a 100644 --- a/apps/web/next.config.mjs +++ b/apps/web/next.config.mjs @@ -28,7 +28,7 @@ const nextConfig = { "app/api/packages": ["../../packages/js-core/dist/*", "../../packages/surveys/dist/*"], }, }, - transpilePackages: ["@formbricks/database", "@formbricks/ui", "@formbricks/lib"], + transpilePackages: ["@formbricks/database", "@formbricks/lib"], images: { remotePatterns: [ { diff --git a/apps/web/package.json b/apps/web/package.json index c3ea5ed4a4..6d9b09db9f 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -24,7 +24,6 @@ "@formbricks/lib": "workspace:*", "@formbricks/surveys": "workspace:*", "@formbricks/types": "workspace:*", - "@formbricks/ui": "workspace:*", "@hookform/resolvers": "3.9.0", "@json2csv/node": "7.0.6", "@opentelemetry/api-logs": "0.53.0", @@ -52,8 +51,6 @@ "langfuse-vercel": "3.27.0", "lodash": "4.17.21", "lru-cache": "11.0.1", - "lucide-react": "0.452.0", - "mime": "4.0.4", "next": "15.0.3", "next-intl": "3.20.0", "next-safe-action": "7.9.3", @@ -72,7 +69,47 @@ "stripe": "16.7.0", "ua-parser-js": "1.0.39", "webpack": "5.95.0", - "xlsx": "0.18.5" + "xlsx": "0.18.5", + "react-use": "17.5.1", + "@lexical/code": "0.17.0", + "@lexical/link": "0.17.0", + "@lexical/list": "0.17.0", + "@lexical/markdown": "0.17.0", + "@lexical/react": "0.17.0", + "@lexical/rich-text": "0.17.0", + "@lexical/table": "0.17.0", + "@radix-ui/react-accordion": "1.2.0", + "@radix-ui/react-checkbox": "1.1.1", + "@radix-ui/react-dialog": "1.1.1", + "@radix-ui/react-dropdown-menu": "2.1.1", + "@radix-ui/react-label": "2.1.0", + "@radix-ui/react-popover": "1.1.1", + "@radix-ui/react-radio-group": "1.2.0", + "@radix-ui/react-select": "2.1.1", + "@radix-ui/react-separator": "1.1.0", + "@radix-ui/react-slider": "1.2.0", + "@radix-ui/react-slot": "1.1.0", + "@radix-ui/react-switch": "1.1.0", + "@radix-ui/react-tabs": "1.1.1", + "@radix-ui/react-toggle": "1.1.0", + "@radix-ui/react-toggle-group": "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", + "cmdk": "1.0.0", + "lexical": "0.17.0", + "lucide-react": "0.452.0", + "mime": "4.0.4", + "react-colorful": "5.6.1", + "react-confetti": "6.1.0", + "react-day-picker": "9.0.8", + "react-radio-group": "3.0.3", + "tailwind-merge": "2.5.2", + "tailwindcss": "3.4.13" }, "devDependencies": { "@formbricks/config-typescript": "workspace:*", diff --git a/apps/web/tailwind.config.js b/apps/web/tailwind.config.js index eb6a100d13..ab47f9fcd9 100644 --- a/apps/web/tailwind.config.js +++ b/apps/web/tailwind.config.js @@ -1,7 +1,126 @@ -const base = require("../../packages/ui/tailwind.config"); - -/** @type {import('tailwindcss').Config} */ module.exports = { - ...base, - content: [...base.content], + content: [ + // app content + "./app/**/*.{js,ts,jsx,tsx}", // Note the addition of the `app` directory. + "./pages/**/*.{js,ts,jsx,tsx}", + "./modules/**/*.{js,ts,jsx,tsx}", + // include packages if not transpiling + "./modules/ui/components/**/*.{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/surveys/src/lib/styles.ts b/packages/surveys/src/lib/styles.ts index 186a9976f4..e66470c3a5 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/components/Editor/stylesEditorFrontend.css?inline"; +import editorCss from "../../../../apps/web/modules/ui/components/editor/styles-editor-frontend.css?inline"; import datePickerCustomCss from "../styles/date-picker.css?inline"; export const addStylesToDom = () => { diff --git a/packages/surveys/src/styles/global.css b/packages/surveys/src/styles/global.css index e7cd8db0dd..436bb72fa1 100644 --- a/packages/surveys/src/styles/global.css +++ b/packages/surveys/src/styles/global.css @@ -33,7 +33,7 @@ /* this is for styling the HtmlBody component */ .fb-htmlbody { @apply fb-block fb-text-sm fb-font-normal fb-leading-6; - /* need to use !important because in packages/ui/components/editor/stylesEditorFrontend.css the color is defined for some classes */ + /* need to use !important because in packages/ui/components/editor/styles-editor-frontend.css the color is defined for some classes */ color: var(--fb-subheading-color) !important; } diff --git a/packages/ui/.eslintrc.js b/packages/ui/.eslintrc.js deleted file mode 100644 index 64a6e29852..0000000000 --- a/packages/ui/.eslintrc.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - extends: ["@formbricks/eslint-config/legacy-next.js"], -}; diff --git a/packages/ui/components/Accordion/index.tsx b/packages/ui/components/Accordion/index.tsx deleted file mode 100644 index e0202f9049..0000000000 --- a/packages/ui/components/Accordion/index.tsx +++ /dev/null @@ -1,53 +0,0 @@ -"use client"; - -import * as AccordionPrimitive from "@radix-ui/react-accordion"; -import { ChevronDown } from "lucide-react"; -import * as React from "react"; -import { cn } from "@formbricks/lib/cn"; - -const Accordion = AccordionPrimitive.Root; - -const AccordionItem = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, ...props }, ref) => ( - -)); -AccordionItem.displayName = "AccordionItem"; - -const AccordionTrigger = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, children, ...props }, ref) => ( - - svg]:rotate-180", - className - )} - {...props}> - {children} - - - -)); -AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName; - -const AccordionContent = React.forwardRef< - React.ElementRef, - React.ComponentPropsWithoutRef ->(({ className, children, ...props }, ref) => ( - -
{children}
-
-)); -AccordionContent.displayName = AccordionPrimitive.Content.displayName; - -export { Accordion, AccordionItem, AccordionTrigger, AccordionContent }; diff --git a/packages/ui/components/DataTable/index.tsx b/packages/ui/components/DataTable/index.tsx deleted file mode 100644 index fc29c797ae..0000000000 --- a/packages/ui/components/DataTable/index.tsx +++ /dev/null @@ -1,6 +0,0 @@ -import { DataTableHeader } from "./components/DataTableHeader"; -import { DataTableSettingsModal } from "./components/DataTableSettingsModal"; -import { DataTableToolbar } from "./components/DataTableToolbar"; -import { getSelectionColumn } from "./components/SelectionColumn"; - -export { DataTableToolbar, DataTableHeader, DataTableSettingsModal, getSelectionColumn }; diff --git a/packages/ui/components/Editor/index.ts b/packages/ui/components/Editor/index.ts deleted file mode 100644 index 957a46eff3..0000000000 --- a/packages/ui/components/Editor/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* Built by the team of cal.com -https://github.com/calcom/cal.com/tree/main/packages/ui/components/editor */ - -export { Editor } from "./components/Editor"; -export { AddVariablesDropdown } from "./components/AddVariablesDropdown"; diff --git a/packages/ui/components/icons/index.tsx b/packages/ui/components/icons/index.tsx deleted file mode 100644 index 4dd84cd19d..0000000000 --- a/packages/ui/components/icons/index.tsx +++ /dev/null @@ -1,60 +0,0 @@ -export { AngryBirdRage2Icon } from "./AngryBirdRage2Icon"; -export { AngryBirdRageIcon } from "./AngryBirdRageIcon"; -export { AppPieChartIcon } from "./AppPieChartIcon"; -export { ArchiveIcon } from "./ArchiveIcon"; -export { ArrowRightCircleIcon } from "./ArrowRightCircleIcon"; -export { ArrowUpRightIcon } from "./ArrowUpRightIcon"; -export { BackIcon } from "./BackIcon"; -export { BaseballIcon } from "./BaseballIcon"; -export { BellIcon } from "./BellIcon"; -export { BrainIcon } from "./BrainIcon"; -export { BugBlueIcon } from "./BugBlueIcon"; -export { BugIcon } from "./BugIcon"; -export { CancelSubscriptionIcon } from "./CancelSubscriptionIcon"; -export { CashCalculatorIcon } from "./CashCalculatorIcon"; -export { CheckMarkIcon } from "./CheckMarkIcon"; -export { ClockIcon } from "./ClockIcon"; -export { CodeBookIcon } from "./CodeBookIcon"; -export { CodeFileIcon } from "./CodeFileIcon"; -export { ComplimentIcon } from "./ComplimentIcon"; -export { CrossMarkIcon } from "./CrossMarkIcon"; -export { CustomersIcon } from "./CustomersIcon"; -export { DashboardIcon } from "./DashboardIcon"; -export { DogChaserIcon } from "./DogChaserIcon"; -export { DoorIcon } from "./DoorIcon"; -export { EmailIcon } from "./EmailIcon"; -export { EngineerIcon } from "./EngineerIcon"; -export { EyeIcon } from "./EyeIcon"; -export { FeatureRequestIcon } from "./FeatureRequestIcon"; -export { FeedbackIcon } from "./FeedbackIcon"; -export { FilterIcon } from "./FilterIcon"; -export { FormIcon } from "./FormIcon"; -export { FounderIcon } from "./FounderIcon"; -export { GaugeSpeedFastIcon } from "./GaugeSpeedFastIcon"; -export { HandPuzzleIcon } from "./HandPuzzleIcon"; -export { HeartCommentIcon } from "./HeartCommentIcon"; -export { InterviewPromptIcon } from "./InterviewPromptIcon"; -export { LaptopWorkerIcon } from "./LaptopWorkerIcon"; -export { LoadingBarIcon } from "./LoadingBarIcon"; -export { NetPromoterScoreIcon } from "./NetPromoterScoreIcon"; -export { NotDisappointedIcon } from "./NotDisappointedIcon"; -export { OnboardingIcon } from "./OnboardingIcon"; -export { PMFIcon } from "./PMFIcon"; -export { SettingsIcon } from "./SettingsIcon"; -export { SkyscraperIcon } from "./SkyscraperIcon"; -export { SomewhatDisappointedIcon } from "./SomewhatDisappointedIcon"; -export { TabletTouchIcon } from "./TabletTouchIcon"; -export { TaskListSearchIcon } from "./TaskListSearchIcon"; -export { UserCommentIcon } from "./UserCommentIcon"; -export { UserCoupleIcon } from "./UserCoupleIcon"; -export { UserDeveloperIcon } from "./UserDeveloperIcon"; -export { UserGroupIcon } from "./UserGroupIcon"; -export { UserSearchGlasIcon } from "./UserSearchGlasIcon"; -export { VeryDisappointedIcon } from "./VeryDisappointedIcon"; -export { VideoTabletAdjustIcon } from "./VideoTabletAdjustIcon"; -export { NpmIcon } from "./NpmIcon"; -export { Html5Icon } from "./Html5Icon"; -export { SlackIcon } from "./SlackIcon"; -export { MicrosoftIcon } from "./MicrosoftIcon"; -export { GithubIcon } from "./GithubIcon"; -export { GoogleIcon } from "./GoogleIcon"; diff --git a/packages/ui/package.json b/packages/ui/package.json deleted file mode 100644 index 943abaa2b4..0000000000 --- a/packages/ui/package.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "name": "@formbricks/ui", - "private": true, - "sideEffects": false, - "version": "1.0.0", - "main": "./index.tsx", - "scripts": { - "clean": "rimraf .turbo node_modules dist", - "lint": "eslint . --ext .ts,.js,.tsx,.jsx" - }, - "devDependencies": { - "@formbricks/config-typescript": "workspace:*", - "@formbricks/eslint-config": "workspace:*", - "@formbricks/types": "workspace:*", - "concurrently": "8.2.2", - "postcss": "8.4.41", - "react": "19.0.0-rc-ed15d500-20241110" - }, - "dependencies": { - "@formbricks/database": "workspace:*", - "@formbricks/lib": "workspace:*", - "@formbricks/surveys": "workspace:*", - "@lexical/code": "0.17.0", - "@lexical/link": "0.17.0", - "@lexical/list": "0.17.0", - "@lexical/markdown": "0.17.0", - "@lexical/react": "0.17.0", - "@lexical/rich-text": "0.17.0", - "@lexical/table": "0.17.0", - "@radix-ui/react-accordion": "1.2.0", - "@radix-ui/react-checkbox": "1.1.1", - "@radix-ui/react-dialog": "1.1.1", - "@radix-ui/react-dropdown-menu": "2.1.1", - "@radix-ui/react-label": "2.1.0", - "@radix-ui/react-popover": "1.1.1", - "@radix-ui/react-radio-group": "1.2.0", - "@radix-ui/react-select": "2.1.1", - "@radix-ui/react-separator": "1.1.0", - "@radix-ui/react-slider": "1.2.0", - "@radix-ui/react-slot": "1.1.0", - "@radix-ui/react-switch": "1.1.0", - "@radix-ui/react-tabs": "1.1.1", - "@radix-ui/react-toggle": "1.1.0", - "@radix-ui/react-toggle-group": "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", - "cmdk": "1.0.0", - "lexical": "0.17.0", - "lucide-react": "0.452.0", - "mime": "4.0.4", - "react-colorful": "5.6.1", - "react-confetti": "6.1.0", - "react-day-picker": "9.0.8", - "react-hot-toast": "2.4.1", - "react-radio-group": "3.0.3", - "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 deleted file mode 100644 index 41fa6c9753..0000000000 --- a/packages/ui/tailwind.config.js +++ /dev/null @@ -1,126 +0,0 @@ -module.exports = { - content: [ - // app content - "./app/**/*.{js,ts,jsx,tsx}", // Note the addition of the `app` directory. - "./pages/**/*.{js,ts,jsx,tsx}", - "./modules/**/*.{js,ts,jsx,tsx}", - // include packages if not transpiling - "../../packages/ui/components/**/*.{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 deleted file mode 100644 index 638e39f92c..0000000000 --- a/packages/ui/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "compilerOptions": { - "baseUrl": ".", - "lib": ["ES2021.String"], - "paths": { - "@formbricks/ui/*": ["./*"] - } - }, - "exclude": ["build", "node_modules"], - "extends": "@formbricks/config-typescript/react-library.json", - "include": [ - ".", - "../types/*.d.ts", - "../lib/templates.ts", - "../../apps/web/modules/analysis/components/RatingSmiley" - ] -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2d182a9b7b..306b6a2f64 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,9 +45,6 @@ importers: '@formbricks/js': specifier: workspace:* version: link:../../packages/js - '@formbricks/ui': - specifier: workspace:* - version: link:../../packages/ui lucide-react: specifier: 0.452.0 version: 0.452.0(react@19.0.0-rc-ed15d500-20241110) @@ -125,27 +122,24 @@ importers: '@formbricks/types': specifier: workspace:* version: link:../../packages/types - '@formbricks/ui': - specifier: workspace:* - version: link:../../packages/ui '@headlessui/react': specifier: 2.1.9 version: 2.1.9(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) '@headlessui/tailwindcss': specifier: 0.2.1 - version: 0.2.1(tailwindcss@3.4.13(ts-node@10.9.2(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5))) + version: 0.2.1(tailwindcss@3.4.13(ts-node@10.9.2(typescript@5.4.5))) '@mapbox/rehype-prism': specifier: 0.9.0 version: 0.9.0 '@mdx-js/loader': specifier: 3.0.1 - version: 3.0.1(webpack@5.95.0(@swc/core@1.3.101(@swc/helpers@0.5.13))) + version: 3.0.1(webpack@5.95.0) '@mdx-js/react': specifier: 3.0.1 version: 3.0.1(@types/react@18.3.11)(react@19.0.0-rc-ed15d500-20241110) '@next/mdx': specifier: 15.0.3 - version: 15.0.3(@mdx-js/loader@3.0.1(webpack@5.95.0(@swc/core@1.3.101(@swc/helpers@0.5.13))))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@19.0.0-rc-ed15d500-20241110)) + version: 15.0.3(@mdx-js/loader@3.0.1(webpack@5.95.0))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@19.0.0-rc-ed15d500-20241110)) '@paralleldrive/cuid2': specifier: 2.2.2 version: 2.2.2 @@ -154,7 +148,7 @@ importers: version: 2.2.1 '@tailwindcss/typography': specifier: 0.5.15 - version: 0.5.15(tailwindcss@3.4.13(ts-node@10.9.2(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5))) + version: 0.5.15(tailwindcss@3.4.13(ts-node@10.9.2(typescript@5.4.5))) acorn: specifier: 8.12.1 version: 8.12.1 @@ -250,7 +244,7 @@ importers: version: 1.2.1 tailwindcss: specifier: 3.4.13 - version: 3.4.13(ts-node@10.9.2(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5)) + version: 3.4.13(ts-node@10.9.2(typescript@5.4.5)) unist-util-filter: specifier: 5.0.1 version: 5.0.1 @@ -276,9 +270,6 @@ importers: apps/storybook: dependencies: - '@formbricks/ui': - specifier: workspace:* - version: link:../../packages/ui eslint-plugin-react-refresh: specifier: 0.4.12 version: 0.4.12(eslint@8.57.0) @@ -318,7 +309,7 @@ importers: version: 8.3.5(@storybook/test@8.3.5(storybook@8.3.5))(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110)(storybook@8.3.5)(typescript@5.4.5) '@storybook/react-vite': specifier: 8.3.5 - version: 8.3.5(@preact/preset-vite@2.9.0(@babel/core@7.25.2)(preact@10.23.2)(vite@5.4.8(@types/node@22.3.0)(terser@5.31.6)))(@storybook/test@8.3.5(storybook@8.3.5))(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110)(rollup@4.24.0)(storybook@8.3.5)(typescript@5.4.5)(vite@5.4.8(@types/node@22.3.0)(terser@5.31.6))(webpack-sources@3.2.3) + version: 8.3.5(@preact/preset-vite@2.9.0(@babel/core@7.25.2)(vite@5.4.8(@types/node@22.3.0)(terser@5.31.6)))(@storybook/test@8.3.5(storybook@8.3.5))(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110)(rollup@4.24.0)(storybook@8.3.5)(typescript@5.4.5)(vite@5.4.8(@types/node@22.3.0)(terser@5.31.6))(webpack-sources@3.2.3) '@storybook/test': specifier: 8.3.5 version: 8.3.5(storybook@8.3.5) @@ -345,7 +336,7 @@ importers: version: 8.3.5 tsup: specifier: 8.3.0 - version: 8.3.0(@microsoft/api-extractor@7.43.0(@types/node@22.3.0))(@swc/core@1.3.101(@swc/helpers@0.5.13))(jiti@2.3.3)(postcss@8.4.47)(tsx@4.16.5)(typescript@5.4.5)(yaml@2.5.1) + version: 8.3.0(@microsoft/api-extractor@7.43.0(@types/node@22.3.0))(@swc/core@1.3.101)(jiti@2.3.3)(postcss@8.4.47)(tsx@4.16.5)(typescript@5.4.5)(yaml@2.5.1) vite: specifier: 5.4.8 version: 5.4.8(@types/node@22.3.0)(terser@5.31.6) @@ -388,15 +379,33 @@ importers: '@formbricks/types': specifier: workspace:* version: link:../../packages/types - '@formbricks/ui': - specifier: workspace:* - version: link:../../packages/ui '@hookform/resolvers': specifier: 3.9.0 version: 3.9.0(react-hook-form@7.53.0(react@19.0.0-rc-ed15d500-20241110)) '@json2csv/node': specifier: 7.0.6 version: 7.0.6 + '@lexical/code': + specifier: 0.17.0 + version: 0.17.0 + '@lexical/link': + specifier: 0.17.0 + version: 0.17.0 + '@lexical/list': + specifier: 0.17.0 + version: 0.17.0 + '@lexical/markdown': + specifier: 0.17.0 + version: 0.17.0 + '@lexical/react': + specifier: 0.17.0 + version: 0.17.0(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110)(yjs@13.6.20) + '@lexical/rich-text': + specifier: 0.17.0 + version: 0.17.0 + '@lexical/table': + specifier: 0.17.0 + version: 0.17.0 '@opentelemetry/api-logs': specifier: 0.53.0 version: 0.53.0 @@ -409,21 +418,75 @@ importers: '@paralleldrive/cuid2': specifier: 2.2.2 version: 2.2.2 + '@radix-ui/react-accordion': + specifier: 1.2.0 + version: 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) + '@radix-ui/react-checkbox': + specifier: 1.1.1 + version: 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) '@radix-ui/react-collapsible': specifier: 1.1.1 version: 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) + '@radix-ui/react-dialog': + specifier: 1.1.1 + version: 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) + '@radix-ui/react-dropdown-menu': + specifier: 2.1.1 + version: 2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) + '@radix-ui/react-label': + specifier: 2.1.0 + version: 2.1.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) + '@radix-ui/react-popover': + specifier: 1.1.1 + version: 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) + '@radix-ui/react-radio-group': + specifier: 1.2.0 + version: 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) + '@radix-ui/react-select': + specifier: 2.1.1 + version: 2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) + '@radix-ui/react-separator': + specifier: 1.1.0 + version: 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) + '@radix-ui/react-slider': + specifier: 1.2.0 + version: 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) + '@radix-ui/react-slot': + specifier: 1.1.0 + version: 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-ed15d500-20241110) + '@radix-ui/react-switch': + specifier: 1.1.0 + version: 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) + '@radix-ui/react-tabs': + specifier: 1.1.1 + version: 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) + '@radix-ui/react-toggle': + specifier: 1.1.0 + version: 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) + '@radix-ui/react-toggle-group': + specifier: 1.1.0 + version: 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) + '@radix-ui/react-tooltip': + specifier: 1.1.2 + version: 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) '@react-email/components': specifier: 0.0.25 version: 0.0.25(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) '@sentry/nextjs': specifier: 8.34.0 version: 8.34.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.0.3(@opentelemetry/api@1.9.0)(@playwright/test@1.45.3)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110)(webpack@5.95.0) + '@tailwindcss/forms': + specifier: 0.5.9 + version: 0.5.9(tailwindcss@3.4.13(ts-node@10.9.2(typescript@5.4.5))) + '@tailwindcss/typography': + specifier: 0.5.13 + version: 0.5.13(tailwindcss@3.4.13(ts-node@10.9.2(typescript@5.4.5))) '@tanstack/react-table': specifier: 8.20.5 version: 8.20.5(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) '@vercel/functions': specifier: 1.5.0 - version: 1.5.0(@aws-sdk/credential-provider-web-identity@3.621.0(@aws-sdk/client-sts@3.631.0(aws-crt@1.21.3))) + version: 1.5.0(@aws-sdk/credential-provider-web-identity@3.621.0) '@vercel/og': specifier: 0.6.3 version: 0.6.3 @@ -436,9 +499,24 @@ importers: ai: specifier: 3.4.33 version: 3.4.33(react@19.0.0-rc-ed15d500-20241110)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.11(typescript@5.4.5))(zod@3.23.8) + autoprefixer: + specifier: 10.4.20 + version: 10.4.20(postcss@8.4.47) bcryptjs: specifier: 2.4.3 version: 2.4.3 + boring-avatars: + specifier: 1.10.2 + version: 1.10.2 + class-variance-authority: + specifier: 0.7.0 + version: 0.7.0 + clsx: + specifier: 2.1.1 + version: 2.1.1 + cmdk: + specifier: 1.0.0 + version: 1.0.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) dotenv: specifier: 16.4.5 version: 16.4.5 @@ -466,6 +544,9 @@ importers: langfuse-vercel: specifier: 3.27.0 version: 3.27.0(ai@3.4.33(react@19.0.0-rc-ed15d500-20241110)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.11(typescript@5.4.5))(zod@3.23.8)) + lexical: + specifier: 0.17.0 + version: 0.17.0 lodash: specifier: 4.17.21 version: 4.17.21 @@ -505,6 +586,15 @@ importers: react: specifier: 19.0.0-rc-ed15d500-20241110 version: 19.0.0-rc-ed15d500-20241110 + react-colorful: + specifier: 5.6.1 + version: 5.6.1(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) + react-confetti: + specifier: 6.1.0 + version: 6.1.0(react@19.0.0-rc-ed15d500-20241110) + react-day-picker: + specifier: 9.0.8 + version: 9.0.8(react@19.0.0-rc-ed15d500-20241110) react-dom: specifier: 19.0.0-rc-ed15d500-20241110 version: 19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110) @@ -517,6 +607,12 @@ importers: react-icons: specifier: 5.3.0 version: 5.3.0(react@19.0.0-rc-ed15d500-20241110) + react-radio-group: + specifier: 3.0.3 + version: 3.0.3(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) + react-use: + specifier: 17.5.1 + version: 17.5.1(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) redis: specifier: 4.7.0 version: 4.7.0 @@ -526,6 +622,12 @@ importers: stripe: specifier: 16.7.0 version: 16.7.0 + tailwind-merge: + specifier: 2.5.2 + version: 2.5.2 + tailwindcss: + specifier: 3.4.13 + version: 3.4.13(ts-node@10.9.2(typescript@5.4.5)) ua-parser-js: specifier: 1.0.39 version: 1.0.39 @@ -604,7 +706,7 @@ importers: version: 8.0.0(eslint@8.57.0)(typescript@5.4.5) '@vercel/style-guide': specifier: 6.0.0 - version: 6.0.0(@next/eslint-plugin-next@14.2.5)(eslint@8.57.0)(prettier@3.3.3)(typescript@5.4.5)(vitest@2.0.5(@types/node@22.3.0)(jsdom@24.1.3)(terser@5.31.6)) + version: 6.0.0(@next/eslint-plugin-next@14.2.5)(eslint@8.57.0)(prettier@3.3.3)(typescript@5.4.5)(vitest@2.0.5) eslint-config-next: specifier: 14.2.5 version: 14.2.5(eslint@8.57.0)(typescript@5.4.5) @@ -689,7 +791,7 @@ importers: version: 3.1.1(prisma@5.20.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5) + version: 10.9.2(@swc/core@1.3.101)(@types/node@22.3.0)(typescript@5.4.5) zod: specifier: 3.23.8 version: 3.23.8 @@ -841,7 +943,7 @@ importers: version: 16.4.5 ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5) + version: 10.9.2(@swc/core@1.3.101)(@types/node@22.3.0)(typescript@5.4.5) vitest: specifier: 2.0.5 version: 2.0.5(@types/node@22.3.0)(jsdom@24.1.3)(terser@5.31.6) @@ -936,7 +1038,7 @@ importers: version: 14.2.3 tailwindcss: specifier: 3.4.10 - version: 3.4.10(ts-node@10.9.2(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5)) + version: 3.4.10(ts-node@10.9.2(@types/node@22.3.0)(typescript@5.4.5)) terser: specifier: 5.31.6 version: 5.31.6 @@ -963,160 +1065,6 @@ importers: specifier: workspace:* version: link:../database - packages/ui: - dependencies: - '@formbricks/database': - specifier: workspace:* - version: link:../database - '@formbricks/lib': - specifier: workspace:* - version: link:../lib - '@formbricks/surveys': - specifier: workspace:* - version: link:../surveys - '@lexical/code': - specifier: 0.17.0 - version: 0.17.0 - '@lexical/link': - specifier: 0.17.0 - version: 0.17.0 - '@lexical/list': - specifier: 0.17.0 - version: 0.17.0 - '@lexical/markdown': - specifier: 0.17.0 - version: 0.17.0 - '@lexical/react': - specifier: 0.17.0 - version: 0.17.0(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110)(yjs@13.6.19) - '@lexical/rich-text': - specifier: 0.17.0 - version: 0.17.0 - '@lexical/table': - specifier: 0.17.0 - version: 0.17.0 - '@radix-ui/react-accordion': - specifier: 1.2.0 - version: 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) - '@radix-ui/react-checkbox': - specifier: 1.1.1 - version: 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) - '@radix-ui/react-dialog': - specifier: 1.1.1 - version: 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) - '@radix-ui/react-dropdown-menu': - specifier: 2.1.1 - version: 2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) - '@radix-ui/react-label': - specifier: 2.1.0 - version: 2.1.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) - '@radix-ui/react-popover': - specifier: 1.1.1 - version: 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) - '@radix-ui/react-radio-group': - specifier: 1.2.0 - version: 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) - '@radix-ui/react-select': - specifier: 2.1.1 - version: 2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) - '@radix-ui/react-separator': - specifier: 1.1.0 - version: 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) - '@radix-ui/react-slider': - specifier: 1.2.0 - version: 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) - '@radix-ui/react-slot': - specifier: 1.1.0 - version: 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-ed15d500-20241110) - '@radix-ui/react-switch': - specifier: 1.1.0 - version: 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) - '@radix-ui/react-tabs': - specifier: 1.1.1 - version: 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) - '@radix-ui/react-toggle': - specifier: 1.1.0 - version: 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) - '@radix-ui/react-toggle-group': - specifier: 1.1.0 - version: 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) - '@radix-ui/react-tooltip': - specifier: 1.1.2 - version: 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) - '@tailwindcss/forms': - specifier: 0.5.9 - version: 0.5.9(tailwindcss@3.4.13(ts-node@10.9.2(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5))) - '@tailwindcss/typography': - specifier: 0.5.13 - version: 0.5.13(tailwindcss@3.4.13(ts-node@10.9.2(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5))) - autoprefixer: - specifier: 10.4.20 - version: 10.4.20(postcss@8.4.41) - boring-avatars: - specifier: 1.10.2 - version: 1.10.2 - class-variance-authority: - specifier: 0.7.0 - version: 0.7.0 - clsx: - specifier: 2.1.1 - version: 2.1.1 - cmdk: - specifier: 1.0.0 - version: 1.0.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) - lexical: - specifier: 0.17.0 - version: 0.17.0 - lucide-react: - specifier: 0.452.0 - version: 0.452.0(react@19.0.0-rc-ed15d500-20241110) - mime: - specifier: 4.0.4 - version: 4.0.4 - react-colorful: - specifier: 5.6.1 - version: 5.6.1(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) - react-confetti: - specifier: 6.1.0 - version: 6.1.0(react@19.0.0-rc-ed15d500-20241110) - react-day-picker: - specifier: 9.0.8 - version: 9.0.8(react@19.0.0-rc-ed15d500-20241110) - react-hot-toast: - specifier: 2.4.1 - version: 2.4.1(csstype@3.1.3)(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) - react-radio-group: - specifier: 3.0.3 - version: 3.0.3(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) - react-use: - specifier: 17.5.1 - version: 17.5.1(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110) - tailwind-merge: - specifier: 2.5.2 - version: 2.5.2 - tailwindcss: - specifier: 3.4.13 - version: 3.4.13(ts-node@10.9.2(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5)) - devDependencies: - '@formbricks/config-typescript': - specifier: workspace:* - version: link:../config-typescript - '@formbricks/eslint-config': - specifier: workspace:* - version: link:../config-eslint - '@formbricks/types': - specifier: workspace:* - version: link:../types - concurrently: - specifier: 8.2.2 - version: 8.2.2 - postcss: - specifier: 8.4.41 - version: 8.4.41 - react: - specifier: 19.0.0-rc-ed15d500-20241110 - version: 19.0.0-rc-ed15d500-20241110 - packages/vite-plugins: devDependencies: '@formbricks/config-typescript': @@ -13374,8 +13322,8 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} - yjs@13.6.19: - resolution: {integrity: sha512-GNKw4mEUn5yWU2QPHRx8jppxmCm9KzbBhB4qJLUJFiiYD0g/tDVgXQ7aPkyh01YO28kbs2J/BEbWBagjuWyejw==} + yjs@13.6.20: + resolution: {integrity: sha512-Z2YZI+SYqK7XdWlloI3lhMiKnCdFCVC4PchpdO+mCYwtiTwncjUbnRK9R1JmkNfdmHyDXuWN3ibJAt0wsqTbLQ==} engines: {node: '>=16.0.0', npm: '>=8.0.0'} yn@3.1.1: @@ -15980,9 +15928,9 @@ snapshots: react: 19.0.0-rc-ed15d500-20241110 react-dom: 19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110) - '@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.13(ts-node@10.9.2(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5)))': + '@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.13(ts-node@10.9.2(typescript@5.4.5)))': dependencies: - tailwindcss: 3.4.13(ts-node@10.9.2(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5)) + tailwindcss: 3.4.13(ts-node@10.9.2(typescript@5.4.5)) '@hookform/resolvers@3.9.0(react-hook-form@7.53.0(react@19.0.0-rc-ed15d500-20241110))': dependencies: @@ -16280,7 +16228,7 @@ snapshots: '@lexical/utils': 0.17.0 lexical: 0.17.0 - '@lexical/react@0.17.0(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110)(yjs@13.6.19)': + '@lexical/react@0.17.0(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110)(yjs@13.6.20)': dependencies: '@lexical/clipboard': 0.17.0 '@lexical/code': 0.17.0 @@ -16299,7 +16247,7 @@ snapshots: '@lexical/table': 0.17.0 '@lexical/text': 0.17.0 '@lexical/utils': 0.17.0 - '@lexical/yjs': 0.17.0(yjs@13.6.19) + '@lexical/yjs': 0.17.0(yjs@13.6.20) lexical: 0.17.0 react: 19.0.0-rc-ed15d500-20241110 react-dom: 19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110) @@ -16334,11 +16282,11 @@ snapshots: '@lexical/table': 0.17.0 lexical: 0.17.0 - '@lexical/yjs@0.17.0(yjs@13.6.19)': + '@lexical/yjs@0.17.0(yjs@13.6.20)': dependencies: '@lexical/offset': 0.17.0 lexical: 0.17.0 - yjs: 13.6.19 + yjs: 13.6.20 '@manypkg/find-root@1.1.0': dependencies: @@ -16362,11 +16310,11 @@ snapshots: refractor: 3.6.0 unist-util-visit: 2.0.3 - '@mdx-js/loader@3.0.1(webpack@5.95.0(@swc/core@1.3.101(@swc/helpers@0.5.13)))': + '@mdx-js/loader@3.0.1(webpack@5.95.0)': dependencies: '@mdx-js/mdx': 3.0.1 source-map: 0.7.4 - webpack: 5.95.0(@swc/core@1.3.101(@swc/helpers@0.5.13)) + webpack: 5.95.0 transitivePeerDependencies: - supports-color @@ -16460,11 +16408,11 @@ snapshots: dependencies: glob: 10.3.10 - '@next/mdx@15.0.3(@mdx-js/loader@3.0.1(webpack@5.95.0(@swc/core@1.3.101(@swc/helpers@0.5.13))))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@19.0.0-rc-ed15d500-20241110))': + '@next/mdx@15.0.3(@mdx-js/loader@3.0.1(webpack@5.95.0))(@mdx-js/react@3.0.1(@types/react@18.3.11)(react@19.0.0-rc-ed15d500-20241110))': dependencies: source-map: 0.7.4 optionalDependencies: - '@mdx-js/loader': 3.0.1(webpack@5.95.0(@swc/core@1.3.101(@swc/helpers@0.5.13))) + '@mdx-js/loader': 3.0.1(webpack@5.95.0) '@mdx-js/react': 3.0.1(@types/react@18.3.11)(react@19.0.0-rc-ed15d500-20241110) '@next/swc-darwin-arm64@15.0.3': @@ -19255,7 +19203,7 @@ snapshots: react: 19.0.0-rc-ed15d500-20241110 react-dom: 19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110) - '@storybook/builder-vite@8.3.5(@preact/preset-vite@2.9.0(@babel/core@7.25.2)(preact@10.23.2)(vite@5.4.8(@types/node@22.3.0)(terser@5.31.6)))(storybook@8.3.5)(typescript@5.4.5)(vite@5.4.8(@types/node@22.3.0)(terser@5.31.6))(webpack-sources@3.2.3)': + '@storybook/builder-vite@8.3.5(@preact/preset-vite@2.9.0(@babel/core@7.25.2)(vite@5.4.8(@types/node@22.3.0)(terser@5.31.6)))(storybook@8.3.5)(typescript@5.4.5)(vite@5.4.8(@types/node@22.3.0)(terser@5.31.6))(webpack-sources@3.2.3)': dependencies: '@storybook/csf-plugin': 8.3.5(storybook@8.3.5)(webpack-sources@3.2.3) '@types/find-cache-dir': 3.2.1 @@ -19353,11 +19301,11 @@ snapshots: react-dom: 19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110) storybook: 8.3.5 - '@storybook/react-vite@8.3.5(@preact/preset-vite@2.9.0(@babel/core@7.25.2)(preact@10.23.2)(vite@5.4.8(@types/node@22.3.0)(terser@5.31.6)))(@storybook/test@8.3.5(storybook@8.3.5))(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110)(rollup@4.24.0)(storybook@8.3.5)(typescript@5.4.5)(vite@5.4.8(@types/node@22.3.0)(terser@5.31.6))(webpack-sources@3.2.3)': + '@storybook/react-vite@8.3.5(@preact/preset-vite@2.9.0(@babel/core@7.25.2)(vite@5.4.8(@types/node@22.3.0)(terser@5.31.6)))(@storybook/test@8.3.5(storybook@8.3.5))(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110)(rollup@4.24.0)(storybook@8.3.5)(typescript@5.4.5)(vite@5.4.8(@types/node@22.3.0)(terser@5.31.6))(webpack-sources@3.2.3)': dependencies: '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.0(typescript@5.4.5)(vite@5.4.8(@types/node@22.3.0)(terser@5.31.6)) '@rollup/pluginutils': 5.1.2(rollup@4.24.0) - '@storybook/builder-vite': 8.3.5(@preact/preset-vite@2.9.0(@babel/core@7.25.2)(preact@10.23.2)(vite@5.4.8(@types/node@22.3.0)(terser@5.31.6)))(storybook@8.3.5)(typescript@5.4.5)(vite@5.4.8(@types/node@22.3.0)(terser@5.31.6))(webpack-sources@3.2.3) + '@storybook/builder-vite': 8.3.5(@preact/preset-vite@2.9.0(@babel/core@7.25.2)(vite@5.4.8(@types/node@22.3.0)(terser@5.31.6)))(storybook@8.3.5)(typescript@5.4.5)(vite@5.4.8(@types/node@22.3.0)(terser@5.31.6))(webpack-sources@3.2.3) '@storybook/react': 8.3.5(@storybook/test@8.3.5(storybook@8.3.5))(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110)(storybook@8.3.5)(typescript@5.4.5) find-up: 5.0.0 magic-string: 0.30.11 @@ -19455,7 +19403,7 @@ snapshots: '@swc/core-win32-x64-msvc@1.3.101': optional: true - '@swc/core@1.3.101(@swc/helpers@0.5.13)': + '@swc/core@1.3.101': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.12 @@ -19470,7 +19418,6 @@ snapshots: '@swc/core-win32-arm64-msvc': 1.3.101 '@swc/core-win32-ia32-msvc': 1.3.101 '@swc/core-win32-x64-msvc': 1.3.101 - '@swc/helpers': 0.5.13 optional: true '@swc/counter@0.1.3': {} @@ -19497,26 +19444,26 @@ snapshots: optionalDependencies: typescript: 5.4.5 - '@tailwindcss/forms@0.5.9(tailwindcss@3.4.13(ts-node@10.9.2(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5)))': + '@tailwindcss/forms@0.5.9(tailwindcss@3.4.13(ts-node@10.9.2(typescript@5.4.5)))': dependencies: mini-svg-data-uri: 1.4.4 - tailwindcss: 3.4.13(ts-node@10.9.2(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5)) + tailwindcss: 3.4.13(ts-node@10.9.2(typescript@5.4.5)) - '@tailwindcss/typography@0.5.13(tailwindcss@3.4.13(ts-node@10.9.2(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5)))': + '@tailwindcss/typography@0.5.13(tailwindcss@3.4.13(ts-node@10.9.2(typescript@5.4.5)))': 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(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5)) + tailwindcss: 3.4.13(ts-node@10.9.2(typescript@5.4.5)) - '@tailwindcss/typography@0.5.15(tailwindcss@3.4.13(ts-node@10.9.2(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5)))': + '@tailwindcss/typography@0.5.15(tailwindcss@3.4.13(ts-node@10.9.2(typescript@5.4.5)))': 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(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5)) + tailwindcss: 3.4.13(ts-node@10.9.2(typescript@5.4.5)) '@tanstack/react-table@8.20.5(react-dom@19.0.0-rc-ed15d500-20241110(react@19.0.0-rc-ed15d500-20241110))(react@19.0.0-rc-ed15d500-20241110)': dependencies: @@ -20193,7 +20140,7 @@ snapshots: graphql: 15.8.0 wonka: 4.0.15 - '@vercel/functions@1.5.0(@aws-sdk/credential-provider-web-identity@3.621.0(@aws-sdk/client-sts@3.631.0(aws-crt@1.21.3)))': + '@vercel/functions@1.5.0(@aws-sdk/credential-provider-web-identity@3.621.0)': optionalDependencies: '@aws-sdk/credential-provider-web-identity': 3.621.0(@aws-sdk/client-sts@3.631.0(aws-crt@1.21.3)) @@ -20220,7 +20167,7 @@ snapshots: svelte: 4.2.19 vue: 3.5.11(typescript@5.4.5) - '@vercel/style-guide@6.0.0(@next/eslint-plugin-next@14.2.5)(eslint@8.57.0)(prettier@3.3.3)(typescript@5.4.5)(vitest@2.0.5(@types/node@22.3.0)(jsdom@24.1.3)(terser@5.31.6))': + '@vercel/style-guide@6.0.0(@next/eslint-plugin-next@14.2.5)(eslint@8.57.0)(prettier@3.3.3)(typescript@5.4.5)(vitest@2.0.5)': dependencies: '@babel/core': 7.25.2 '@babel/eslint-parser': 7.25.8(@babel/core@7.25.2)(eslint@8.57.0) @@ -20240,7 +20187,7 @@ snapshots: eslint-plugin-testing-library: 6.3.0(eslint@8.57.0)(typescript@5.4.5) eslint-plugin-tsdoc: 0.2.17 eslint-plugin-unicorn: 51.0.1(eslint@8.57.0) - eslint-plugin-vitest: 0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)(vitest@2.0.5(@types/node@22.3.0)(jsdom@24.1.3)(terser@5.31.6)) + eslint-plugin-vitest: 0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)(vitest@2.0.5) prettier-plugin-packagejson: 2.5.3(prettier@3.3.3) optionalDependencies: '@next/eslint-plugin-next': 14.2.5 @@ -20828,6 +20775,16 @@ snapshots: postcss: 8.4.41 postcss-value-parser: 4.2.0 + autoprefixer@10.4.20(postcss@8.4.47): + dependencies: + browserslist: 4.24.0 + caniuse-lite: 1.0.30001667 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.0 + postcss: 8.4.47 + postcss-value-parser: 4.2.0 + available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.0.0 @@ -22263,7 +22220,7 @@ snapshots: debug: 4.3.7 enhanced-resolve: 5.17.1 eslint: 8.57.0 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.31.0)(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.31.0)(eslint@8.57.0))(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.8.1 is-bun-module: 1.2.1 @@ -22306,16 +22263,6 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.31.0)(eslint@8.57.0))(eslint@8.57.0): - dependencies: - debug: 3.2.7 - optionalDependencies: - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.4.5) - eslint: 8.57.0 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.31.0)(eslint@8.57.0) - transitivePeerDependencies: - - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 3.2.7 @@ -22539,13 +22486,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-vitest@0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)(vitest@2.0.5(@types/node@22.3.0)(jsdom@24.1.3)(terser@5.31.6)): + eslint-plugin-vitest@0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)(vitest@2.0.5): dependencies: '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 optionalDependencies: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) - vitest: 2.0.5(@types/node@22.3.0)(jsdom@24.1.3)(terser@5.31.6) + vitest: 2.0.5 transitivePeerDependencies: - supports-color - typescript @@ -26100,13 +26047,13 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.4.41 - postcss-load-config@4.0.2(postcss@8.4.41)(ts-node@10.9.2(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5)): + postcss-load-config@4.0.2(postcss@8.4.41)(ts-node@10.9.2(@types/node@22.3.0)(typescript@5.4.5)): dependencies: lilconfig: 3.1.2 yaml: 2.5.1 optionalDependencies: postcss: 8.4.41 - ts-node: 10.9.2(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5) + ts-node: 10.9.2(@swc/core@1.3.101)(@types/node@22.3.0)(typescript@5.4.5) postcss-load-config@6.0.1(jiti@2.3.3)(postcss@8.4.47)(tsx@4.16.5)(yaml@2.5.1): dependencies: @@ -27792,7 +27739,7 @@ snapshots: tailwind-merge@2.5.2: {} - tailwindcss@3.4.10(ts-node@10.9.2(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5)): + tailwindcss@3.4.10(ts-node@10.9.2(@types/node@22.3.0)(typescript@5.4.5)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -27811,7 +27758,7 @@ snapshots: 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(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5)) + postcss-load-config: 4.0.2(postcss@8.4.41)(ts-node@10.9.2(@types/node@22.3.0)(typescript@5.4.5)) postcss-nested: 6.2.0(postcss@8.4.41) postcss-selector-parser: 6.1.2 resolve: 1.22.8 @@ -27819,7 +27766,7 @@ snapshots: transitivePeerDependencies: - ts-node - tailwindcss@3.4.13(ts-node@10.9.2(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5)): + tailwindcss@3.4.13(ts-node@10.9.2(typescript@5.4.5)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -27838,7 +27785,7 @@ snapshots: 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(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5)) + postcss-load-config: 4.0.2(postcss@8.4.41)(ts-node@10.9.2(@types/node@22.3.0)(typescript@5.4.5)) postcss-nested: 6.2.0(postcss@8.4.41) postcss-selector-parser: 6.1.2 resolve: 1.22.8 @@ -27914,17 +27861,6 @@ snapshots: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 - terser-webpack-plugin@5.3.10(@swc/core@1.3.101(@swc/helpers@0.5.13))(webpack@5.95.0(@swc/core@1.3.101(@swc/helpers@0.5.13))): - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - jest-worker: 27.5.1 - schema-utils: 3.3.0 - serialize-javascript: 6.0.2 - terser: 5.31.6 - webpack: 5.95.0(@swc/core@1.3.101(@swc/helpers@0.5.13)) - optionalDependencies: - '@swc/core': 1.3.101(@swc/helpers@0.5.13) - terser-webpack-plugin@5.3.10(webpack@5.95.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 @@ -28064,7 +28000,7 @@ snapshots: '@ts-morph/common': 0.12.3 code-block-writer: 11.0.3 - ts-node@10.9.2(@swc/core@1.3.101(@swc/helpers@0.5.13))(@types/node@22.3.0)(typescript@5.4.5): + ts-node@10.9.2(@swc/core@1.3.101)(@types/node@22.3.0)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -28082,7 +28018,7 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.3.101(@swc/helpers@0.5.13) + '@swc/core': 1.3.101 ts-pattern@4.3.0: {} @@ -28107,7 +28043,7 @@ snapshots: tslib@2.7.0: {} - tsup@8.3.0(@microsoft/api-extractor@7.43.0(@types/node@22.3.0))(@swc/core@1.3.101(@swc/helpers@0.5.13))(jiti@2.3.3)(postcss@8.4.47)(tsx@4.16.5)(typescript@5.4.5)(yaml@2.5.1): + tsup@8.3.0(@microsoft/api-extractor@7.43.0(@types/node@22.3.0))(@swc/core@1.3.101)(jiti@2.3.3)(postcss@8.4.47)(tsx@4.16.5)(typescript@5.4.5)(yaml@2.5.1): dependencies: bundle-require: 5.0.0(esbuild@0.23.1) cac: 6.7.14 @@ -28127,7 +28063,7 @@ snapshots: tree-kill: 1.2.2 optionalDependencies: '@microsoft/api-extractor': 7.43.0(@types/node@22.3.0) - '@swc/core': 1.3.101(@swc/helpers@0.5.13) + '@swc/core': 1.3.101 postcss: 8.4.47 typescript: 5.4.5 transitivePeerDependencies: @@ -28502,6 +28438,25 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 + vite-node@2.0.5: + dependencies: + cac: 6.7.14 + debug: 4.3.7 + pathe: 1.1.2 + tinyrainbow: 1.2.0 + vite: 5.4.8(@types/node@22.3.0)(terser@5.31.3) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + optional: true + vite-node@2.0.5(@types/node@22.3.0)(terser@5.31.6): dependencies: cac: 6.7.14 @@ -28599,6 +28554,38 @@ snapshots: typescript: 5.4.5 vitest: 2.0.5(@types/node@22.3.0)(jsdom@24.1.3)(terser@5.31.6) + vitest@2.0.5: + dependencies: + '@ampproject/remapping': 2.3.0 + '@vitest/expect': 2.0.5 + '@vitest/pretty-format': 2.1.2 + '@vitest/runner': 2.0.5 + '@vitest/snapshot': 2.0.5 + '@vitest/spy': 2.0.5 + '@vitest/utils': 2.0.5 + chai: 5.1.1 + debug: 4.3.7 + execa: 8.0.1 + magic-string: 0.30.11 + pathe: 1.1.2 + std-env: 3.7.0 + tinybench: 2.9.0 + tinypool: 1.0.1 + tinyrainbow: 1.2.0 + vite: 5.4.8(@types/node@22.3.0)(terser@5.31.3) + vite-node: 2.0.5 + why-is-node-running: 2.3.0 + transitivePeerDependencies: + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + optional: true + vitest@2.0.5(@types/node@22.3.0)(jsdom@24.1.3)(terser@5.31.6): dependencies: '@ampproject/remapping': 2.3.0 @@ -28728,36 +28715,6 @@ snapshots: - esbuild - uglify-js - webpack@5.95.0(@swc/core@1.3.101(@swc/helpers@0.5.13)): - dependencies: - '@types/estree': 1.0.6 - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/wasm-edit': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 - acorn: 8.12.1 - acorn-import-attributes: 1.9.5(acorn@8.12.1) - browserslist: 4.24.0 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.17.1 - es-module-lexer: 1.5.4 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.3.0 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.3.101(@swc/helpers@0.5.13))(webpack@5.95.0(@swc/core@1.3.101(@swc/helpers@0.5.13))) - watchpack: 2.4.2 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - whatwg-encoding@3.1.1: dependencies: iconv-lite: 0.6.3 @@ -28975,7 +28932,7 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - yjs@13.6.19: + yjs@13.6.20: dependencies: lib0: 0.2.98