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"