diff --git a/apps/web/tsconfig.json b/apps/web/tsconfig.json
index 29aee703b..5c546d27d 100644
--- a/apps/web/tsconfig.json
+++ b/apps/web/tsconfig.json
@@ -8,12 +8,6 @@
},
"strictNullChecks": true,
},
- "include": [
- "**/*.ts",
- "**/*.tsx",
- "**/*.js",
- ".next/types/**/*.ts",
- "src/app/[locale]/p/[participantUrlId]/page.tsx",
- ],
+ "include": ["**/*.ts", "**/*.tsx", "**/*.js", ".next/types/**/*.ts"],
"exclude": ["node_modules"],
}
diff --git a/packages/ui/components.json b/packages/ui/components.json
new file mode 100644
index 000000000..26e982c9f
--- /dev/null
+++ b/packages/ui/components.json
@@ -0,0 +1,18 @@
+{
+ "$schema": "https://ui.shadcn.com/schema.json",
+ "style": "default",
+ "rsc": true,
+ "tsx": true,
+ "tailwind": {
+ "config": "tailwind.config.js",
+ "css": "styles/globals.css",
+ "baseColor": "gray",
+ "cssVariables": true,
+ "prefix": ""
+ },
+ "aliases": {
+ "components": "@rallly/ui",
+ "ui": "src",
+ "utils": "@rallly/ui"
+ }
+}
diff --git a/packages/ui/index.ts b/packages/ui/index.ts
deleted file mode 100644
index 3b8868856..000000000
--- a/packages/ui/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { cn } from "./lib/utils";
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 3e76d7a64..941c768e1 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -4,9 +4,16 @@
"private": true,
"main": "src/index.ts",
"types": "src/index.ts",
+ "scripts": {
+ "ui:add": "npx shadcn-ui@latest add"
+ },
+ "exports": {
+ ".": "./src/lib/utils.ts",
+ "./*": "./src/*.tsx"
+ },
"dependencies": {
"@radix-ui/react-accordion": "^1.1.2",
- "@radix-ui/react-checkbox": "^1.0.3",
+ "@radix-ui/react-checkbox": "^1.0.4",
"@radix-ui/react-dialog": "^1.0.4",
"@radix-ui/react-dropdown-menu": "^2.0.4",
"@radix-ui/react-label": "^2.0.1",
@@ -16,10 +23,11 @@
"@radix-ui/react-slot": "^1.0.1",
"@radix-ui/react-switch": "^1.0.2",
"@radix-ui/react-tabs": "^1.0.4",
- "@radix-ui/react-tooltip": "^1.0.6",
"@radix-ui/react-toast": "^1.1.4",
+ "@radix-ui/react-tooltip": "^1.0.6",
"@rallly/icons": "*",
"@rallly/languages": "*",
+ "@rallly/tailwind-config": "*",
"class-variance-authority": "^0.6.0",
"clsx": "^1.2.1",
"tailwind-merge": "^1.12.0"
diff --git a/packages/ui/accordion.tsx b/packages/ui/src/accordion.tsx
similarity index 98%
rename from packages/ui/accordion.tsx
rename to packages/ui/src/accordion.tsx
index 24474ada4..540277cdb 100644
--- a/packages/ui/accordion.tsx
+++ b/packages/ui/src/accordion.tsx
@@ -4,7 +4,7 @@ import * as AccordionPrimitive from "@radix-ui/react-accordion";
import { ChevronDown } from "lucide-react";
import * as React from "react";
-import { cn } from "./lib/utils";
+import { cn } from "@rallly/ui";
const Accordion = AccordionPrimitive.Root;
diff --git a/packages/ui/alert.tsx b/packages/ui/src/alert.tsx
similarity index 98%
rename from packages/ui/alert.tsx
rename to packages/ui/src/alert.tsx
index 1e4dfb6e5..7aa197aac 100644
--- a/packages/ui/alert.tsx
+++ b/packages/ui/src/alert.tsx
@@ -1,7 +1,7 @@
import { type VariantProps, cva } from "class-variance-authority";
import * as React from "react";
-import { cn } from "./lib/utils";
+import { cn } from "@rallly/ui";
const alertVariants = cva(
"flex sm:flex-row flex-col gap-x-3 gap-y-2 rounded-md border p-4",
diff --git a/packages/ui/badge.tsx b/packages/ui/src/badge.tsx
similarity index 96%
rename from packages/ui/badge.tsx
rename to packages/ui/src/badge.tsx
index 0bca7aa57..da1d87607 100644
--- a/packages/ui/badge.tsx
+++ b/packages/ui/src/badge.tsx
@@ -1,7 +1,7 @@
import { type VariantProps, cva } from "class-variance-authority";
import * as React from "react";
-import { cn } from "./lib/utils";
+import { cn } from "@rallly/ui";
const badgeVariants = cva(
"inline-flex items-center rounded-full border px-2 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
diff --git a/packages/ui/billing-plan.tsx b/packages/ui/src/billing-plan.tsx
similarity index 96%
rename from packages/ui/billing-plan.tsx
rename to packages/ui/src/billing-plan.tsx
index 4d52c1f5b..49aaafad3 100644
--- a/packages/ui/billing-plan.tsx
+++ b/packages/ui/src/billing-plan.tsx
@@ -1,6 +1,6 @@
import { CheckCircle2Icon } from "lucide-react";
-import { cn } from "./lib/utils";
+import { cn } from "@rallly/ui";
export const BillingPlan = ({
children,
@@ -71,7 +71,7 @@ export const BillingPlanPerk = ({
diff --git a/packages/ui/button.tsx b/packages/ui/src/button.tsx
similarity index 96%
rename from packages/ui/button.tsx
rename to packages/ui/src/button.tsx
index 6212f2cb0..07181df03 100644
--- a/packages/ui/button.tsx
+++ b/packages/ui/src/button.tsx
@@ -4,7 +4,7 @@ import { Loader2Icon } from "lucide-react";
import { cva, VariantProps } from "class-variance-authority";
import * as React from "react";
-import { cn } from "./lib/utils";
+import { cn } from "@rallly/ui";
const buttonVariants = cva(
"inline-flex border font-medium disabled:text-muted-foreground focus:ring-1 focus:ring-gray-300 disabled:bg-muted disabled:pointer-events-none select-none items-center justify-center whitespace-nowrap rounded-md border",
@@ -79,7 +79,7 @@ const Button = React.forwardRef(
{loading ? (
) : Icon ? (
-
+
) : null}
{children}
>
diff --git a/packages/ui/card.tsx b/packages/ui/src/card.tsx
similarity index 98%
rename from packages/ui/card.tsx
rename to packages/ui/src/card.tsx
index a19e94b3c..087659975 100644
--- a/packages/ui/card.tsx
+++ b/packages/ui/src/card.tsx
@@ -1,6 +1,6 @@
import * as React from "react";
-import { cn } from "./lib/utils";
+import { cn } from "@rallly/ui";
const Card = React.forwardRef<
HTMLDivElement,
diff --git a/packages/ui/checkbox.tsx b/packages/ui/src/checkbox.tsx
similarity index 64%
rename from packages/ui/checkbox.tsx
rename to packages/ui/src/checkbox.tsx
index 7bdf180b7..c59a6d7a3 100644
--- a/packages/ui/checkbox.tsx
+++ b/packages/ui/src/checkbox.tsx
@@ -1,10 +1,10 @@
"use client";
+import * as React from "react";
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
import { CheckIcon } from "lucide-react";
-import * as React from "react";
-import { cn } from "./lib/utils";
+import { cn } from "@rallly/ui";
const Checkbox = React.forwardRef<
React.ElementRef,
@@ -13,7 +13,7 @@ const Checkbox = React.forwardRef<
-
+
));
diff --git a/packages/ui/command.tsx b/packages/ui/src/command.tsx
similarity index 96%
rename from packages/ui/command.tsx
rename to packages/ui/src/command.tsx
index c5598615b..eb1d9a2f4 100644
--- a/packages/ui/command.tsx
+++ b/packages/ui/src/command.tsx
@@ -5,8 +5,8 @@ import { SearchIcon } from "lucide-react";
import { Command as CommandPrimitive } from "cmdk";
import * as React from "react";
-import { Dialog, DialogContent } from "./dialog";
-import { cn } from "./lib/utils";
+import { Dialog, DialogContent } from "@rallly/ui/dialog";
+import { cn } from "@rallly/ui";
const Command = React.forwardRef<
React.ElementRef,
@@ -42,7 +42,7 @@ const CommandInput = React.forwardRef<
React.ComponentPropsWithoutRef
>(({ className, ...props }, ref) => (
-
+
;
diff --git a/packages/ui/label.tsx b/packages/ui/src/label.tsx
similarity index 95%
rename from packages/ui/label.tsx
rename to packages/ui/src/label.tsx
index a2aca4003..ab51c9471 100644
--- a/packages/ui/label.tsx
+++ b/packages/ui/src/label.tsx
@@ -4,7 +4,7 @@ import * as LabelPrimitive from "@radix-ui/react-label";
import { cva, VariantProps } from "class-variance-authority";
import * as React from "react";
-import { cn } from "./lib/utils";
+import { cn } from "@rallly/ui";
const labelVariants = cva(
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
diff --git a/packages/ui/lib/utils.ts b/packages/ui/src/lib/utils.ts
similarity index 100%
rename from packages/ui/lib/utils.ts
rename to packages/ui/src/lib/utils.ts
diff --git a/packages/ui/popover.tsx b/packages/ui/src/popover.tsx
similarity index 96%
rename from packages/ui/popover.tsx
rename to packages/ui/src/popover.tsx
index 0aabe3dcc..32de8fc06 100644
--- a/packages/ui/popover.tsx
+++ b/packages/ui/src/popover.tsx
@@ -3,7 +3,7 @@
import * as PopoverPrimitive from "@radix-ui/react-popover";
import * as React from "react";
-import { cn } from "./lib/utils";
+import { cn } from "@rallly/ui";
const Popover = PopoverPrimitive.Root;
diff --git a/packages/ui/radio-group.tsx b/packages/ui/src/radio-group.tsx
similarity index 93%
rename from packages/ui/radio-group.tsx
rename to packages/ui/src/radio-group.tsx
index 3312ab27c..358497137 100644
--- a/packages/ui/radio-group.tsx
+++ b/packages/ui/src/radio-group.tsx
@@ -4,7 +4,7 @@ import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
import { CircleIcon } from "lucide-react";
import * as React from "react";
-import { cn } from "./lib/utils";
+import { cn } from "@rallly/ui";
const RadioGroup = React.forwardRef<
React.ElementRef,
@@ -28,7 +28,7 @@ const RadioGroupItem = React.forwardRef<
{children}
-
+
));
diff --git a/packages/ui/types.ts b/packages/ui/src/styles/globals.css
similarity index 100%
rename from packages/ui/types.ts
rename to packages/ui/src/styles/globals.css
diff --git a/packages/ui/switch.tsx b/packages/ui/src/switch.tsx
similarity index 97%
rename from packages/ui/switch.tsx
rename to packages/ui/src/switch.tsx
index 81a17cedb..c7b5430d3 100644
--- a/packages/ui/switch.tsx
+++ b/packages/ui/src/switch.tsx
@@ -3,7 +3,7 @@
import * as SwitchPrimitives from "@radix-ui/react-switch";
import * as React from "react";
-import { cn } from "./lib/utils";
+import { cn } from "@rallly/ui";
const Switch = React.forwardRef<
React.ElementRef,
diff --git a/packages/ui/table.tsx b/packages/ui/src/table.tsx
similarity index 98%
rename from packages/ui/table.tsx
rename to packages/ui/src/table.tsx
index 6ac0761c1..b214b86a5 100644
--- a/packages/ui/table.tsx
+++ b/packages/ui/src/table.tsx
@@ -1,6 +1,6 @@
import * as React from "react";
-import { cn } from "./lib/utils";
+import { cn } from "@rallly/ui";
const Table = React.forwardRef<
HTMLTableElement,
diff --git a/packages/ui/tabs.tsx b/packages/ui/src/tabs.tsx
similarity index 98%
rename from packages/ui/tabs.tsx
rename to packages/ui/src/tabs.tsx
index eb528ae56..84ea4b2d2 100644
--- a/packages/ui/tabs.tsx
+++ b/packages/ui/src/tabs.tsx
@@ -3,7 +3,7 @@
import * as TabsPrimitive from "@radix-ui/react-tabs";
import * as React from "react";
-import { cn } from "./lib/utils";
+import { cn } from "@rallly/ui";
const Tabs = TabsPrimitive.Root;
diff --git a/packages/ui/textarea.tsx b/packages/ui/src/textarea.tsx
similarity index 95%
rename from packages/ui/textarea.tsx
rename to packages/ui/src/textarea.tsx
index 9de87dd79..d19a5dab3 100644
--- a/packages/ui/textarea.tsx
+++ b/packages/ui/src/textarea.tsx
@@ -1,6 +1,6 @@
import * as React from "react";
-import { cn } from "./lib/utils";
+import { cn } from "@rallly/ui";
export type TextareaProps = React.TextareaHTMLAttributes;
diff --git a/packages/ui/toast.tsx b/packages/ui/src/toast.tsx
similarity index 99%
rename from packages/ui/toast.tsx
rename to packages/ui/src/toast.tsx
index 4648b23ff..8dfd37fff 100644
--- a/packages/ui/toast.tsx
+++ b/packages/ui/src/toast.tsx
@@ -3,7 +3,7 @@ import * as ToastPrimitives from "@radix-ui/react-toast";
import { cva, type VariantProps } from "class-variance-authority";
import { X } from "lucide-react";
-import { cn } from "./lib/utils";
+import { cn } from "@rallly/ui";
const ToastProvider = ToastPrimitives.Provider;
diff --git a/packages/ui/toaster.tsx b/packages/ui/src/toaster.tsx
similarity index 100%
rename from packages/ui/toaster.tsx
rename to packages/ui/src/toaster.tsx
diff --git a/packages/ui/tooltip.tsx b/packages/ui/src/tooltip.tsx
similarity index 96%
rename from packages/ui/tooltip.tsx
rename to packages/ui/src/tooltip.tsx
index 139e55cb3..c14e20eda 100644
--- a/packages/ui/tooltip.tsx
+++ b/packages/ui/src/tooltip.tsx
@@ -3,7 +3,7 @@
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
import * as React from "react";
-import { cn } from "./lib/utils";
+import { cn } from "@rallly/ui";
const TooltipProvider = TooltipPrimitive.Provider;
diff --git a/packages/ui/src/types.ts b/packages/ui/src/types.ts
new file mode 100644
index 000000000..e69de29bb
diff --git a/packages/ui/use-toast.ts b/packages/ui/src/use-toast.ts
similarity index 100%
rename from packages/ui/use-toast.ts
rename to packages/ui/src/use-toast.ts
diff --git a/packages/ui/tailwind.config.js b/packages/ui/tailwind.config.js
new file mode 100644
index 000000000..2706221bf
--- /dev/null
+++ b/packages/ui/tailwind.config.js
@@ -0,0 +1,5 @@
+const sharedConfig = require("@rallly/tailwind-config/tailwind.config");
+
+module.exports = {
+ ...sharedConfig,
+};
diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json
index f6eec80a0..6479fd81e 100644
--- a/packages/ui/tsconfig.json
+++ b/packages/ui/tsconfig.json
@@ -3,7 +3,7 @@
"compilerOptions": {
"baseUrl": ".",
"paths": {
- "@/*": ["./*"],
+ "@rallly/ui/*": ["./src/*"],
},
},
"include": ["**/*.ts", "**/*.tsx"],
diff --git a/yarn.lock b/yarn.lock
index 6c576500e..6263c31fb 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2630,20 +2630,20 @@
"@babel/runtime" "^7.13.10"
"@radix-ui/react-primitive" "1.0.3"
-"@radix-ui/react-checkbox@^1.0.3":
- version "1.0.3"
- resolved "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.0.3.tgz"
- integrity sha512-55B8/vKzTuzxllH5sGJO4zaBf9gYpJuJRRzaOKm+0oAefRnMvbf+Kgww7IOANVN0w3z7agFJgtnXaZl8Uj95AA==
+"@radix-ui/react-checkbox@^1.0.4":
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@radix-ui/react-checkbox/-/react-checkbox-1.0.4.tgz#98f22c38d5010dd6df4c5744cac74087e3275f4b"
+ integrity sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg==
dependencies:
"@babel/runtime" "^7.13.10"
- "@radix-ui/primitive" "1.0.0"
- "@radix-ui/react-compose-refs" "1.0.0"
- "@radix-ui/react-context" "1.0.0"
- "@radix-ui/react-presence" "1.0.0"
- "@radix-ui/react-primitive" "1.0.2"
- "@radix-ui/react-use-controllable-state" "1.0.0"
- "@radix-ui/react-use-previous" "1.0.0"
- "@radix-ui/react-use-size" "1.0.0"
+ "@radix-ui/primitive" "1.0.1"
+ "@radix-ui/react-compose-refs" "1.0.1"
+ "@radix-ui/react-context" "1.0.1"
+ "@radix-ui/react-presence" "1.0.1"
+ "@radix-ui/react-primitive" "1.0.3"
+ "@radix-ui/react-use-controllable-state" "1.0.1"
+ "@radix-ui/react-use-previous" "1.0.1"
+ "@radix-ui/react-use-size" "1.0.1"
"@radix-ui/react-collapsible@1.0.3":
version "1.0.3"