forked from schulze/bam
		
	npx @tailwindcss/upgrade
This commit is contained in:
		@@ -1,24 +1,90 @@
 | 
			
		||||
@tailwind base;
 | 
			
		||||
@tailwind components;
 | 
			
		||||
@tailwind utilities;
 | 
			
		||||
@import 'tailwindcss';
 | 
			
		||||
 | 
			
		||||
:root {
 | 
			
		||||
  --foreground-rgb: 0, 0, 0;
 | 
			
		||||
  --background-start-rgb: 214, 219, 220;
 | 
			
		||||
  --background-end-rgb: 255, 255, 255;
 | 
			
		||||
@custom-variant dark (&:is(.dark *));
 | 
			
		||||
 | 
			
		||||
@theme {
 | 
			
		||||
  --font-sans: var(--font-sans);
 | 
			
		||||
 | 
			
		||||
  --background-image-gradient-radial: radial-gradient(var(--tw-gradient-stops));
 | 
			
		||||
  --background-image-gradient-conic: conic-gradient(
 | 
			
		||||
    from 180deg at 50% 50%,
 | 
			
		||||
    var(--tw-gradient-stops)
 | 
			
		||||
  );
 | 
			
		||||
 | 
			
		||||
  --radius-lg: var(--radius);
 | 
			
		||||
  --radius-md: calc(var(--radius) - 2px);
 | 
			
		||||
  --radius-sm: calc(var(--radius) - 4px);
 | 
			
		||||
 | 
			
		||||
  --color-background: hsl(var(--background));
 | 
			
		||||
  --color-foreground: hsl(var(--foreground));
 | 
			
		||||
 | 
			
		||||
  --color-card: hsl(var(--card));
 | 
			
		||||
  --color-card-foreground: hsl(var(--card-foreground));
 | 
			
		||||
 | 
			
		||||
  --color-popover: hsl(var(--popover));
 | 
			
		||||
  --color-popover-foreground: hsl(var(--popover-foreground));
 | 
			
		||||
 | 
			
		||||
  --color-primary: hsl(var(--primary));
 | 
			
		||||
  --color-primary-foreground: hsl(var(--primary-foreground));
 | 
			
		||||
 | 
			
		||||
  --color-secondary: hsl(var(--secondary));
 | 
			
		||||
  --color-secondary-foreground: hsl(var(--secondary-foreground));
 | 
			
		||||
 | 
			
		||||
  --color-muted: hsl(var(--muted));
 | 
			
		||||
  --color-muted-foreground: hsl(var(--muted-foreground));
 | 
			
		||||
 | 
			
		||||
  --color-accent: hsl(var(--accent));
 | 
			
		||||
  --color-accent-foreground: hsl(var(--accent-foreground));
 | 
			
		||||
 | 
			
		||||
  --color-destructive: hsl(var(--destructive));
 | 
			
		||||
  --color-destructive-foreground: hsl(var(--destructive-foreground));
 | 
			
		||||
 | 
			
		||||
  --color-border: hsl(var(--border));
 | 
			
		||||
  --color-input: hsl(var(--input));
 | 
			
		||||
  --color-ring: hsl(var(--ring));
 | 
			
		||||
 | 
			
		||||
  --color-chart-1: hsl(var(--chart-1));
 | 
			
		||||
  --color-chart-2: hsl(var(--chart-2));
 | 
			
		||||
  --color-chart-3: hsl(var(--chart-3));
 | 
			
		||||
  --color-chart-4: hsl(var(--chart-4));
 | 
			
		||||
  --color-chart-5: hsl(var(--chart-5));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media (prefers-color-scheme: dark) {
 | 
			
		||||
  :root {
 | 
			
		||||
    --foreground-rgb: 255, 255, 255;
 | 
			
		||||
    --background-start-rgb: 0, 0, 0;
 | 
			
		||||
    --background-end-rgb: 0, 0, 0;
 | 
			
		||||
/*
 | 
			
		||||
  The default border color has changed to `currentcolor` in Tailwind CSS v4,
 | 
			
		||||
  so we've added these compatibility styles to make sure everything still
 | 
			
		||||
  looks the same as it did with Tailwind CSS v3.
 | 
			
		||||
 | 
			
		||||
  If we ever want to remove these styles, we need to add an explicit border
 | 
			
		||||
  color utility to any element that depends on these defaults.
 | 
			
		||||
*/
 | 
			
		||||
@layer base {
 | 
			
		||||
  *,
 | 
			
		||||
  ::after,
 | 
			
		||||
  ::before,
 | 
			
		||||
  ::backdrop,
 | 
			
		||||
  ::file-selector-button {
 | 
			
		||||
    border-color: var(--color-gray-200, currentcolor);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@utility text-balance {
 | 
			
		||||
  text-wrap: balance;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@layer utilities {
 | 
			
		||||
  .text-balance {
 | 
			
		||||
    text-wrap: balance;
 | 
			
		||||
  :root {
 | 
			
		||||
    --foreground-rgb: 0, 0, 0;
 | 
			
		||||
    --background-start-rgb: 214, 219, 220;
 | 
			
		||||
    --background-end-rgb: 255, 255, 255;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @media (prefers-color-scheme: dark) {
 | 
			
		||||
    :root {
 | 
			
		||||
      --foreground-rgb: 255, 255, 255;
 | 
			
		||||
      --background-start-rgb: 0, 0, 0;
 | 
			
		||||
      --background-end-rgb: 0, 0, 0;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@ import { cva, type VariantProps } from "class-variance-authority";
 | 
			
		||||
import { cn } from "@/lib/utils";
 | 
			
		||||
 | 
			
		||||
const buttonVariants = cva(
 | 
			
		||||
  "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
 | 
			
		||||
  "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
 | 
			
		||||
  {
 | 
			
		||||
    variants: {
 | 
			
		||||
      variant: {
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@ const Input = React.forwardRef<HTMLInputElement, InputProps>(
 | 
			
		||||
      <input
 | 
			
		||||
        type={type}
 | 
			
		||||
        className={cn(
 | 
			
		||||
          "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
 | 
			
		||||
          "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
 | 
			
		||||
          className
 | 
			
		||||
        )}
 | 
			
		||||
        ref={ref}
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,7 @@ const PopoverContent = React.forwardRef<
 | 
			
		||||
      align={align}
 | 
			
		||||
      sideOffset={sideOffset}
 | 
			
		||||
      className={cn(
 | 
			
		||||
        "z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
 | 
			
		||||
        "z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
 | 
			
		||||
        className
 | 
			
		||||
      )}
 | 
			
		||||
      {...props}
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,7 @@ const SelectTrigger = React.forwardRef<
 | 
			
		||||
  <SelectPrimitive.Trigger
 | 
			
		||||
    ref={ref}
 | 
			
		||||
    className={cn(
 | 
			
		||||
      "flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
 | 
			
		||||
      "flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
 | 
			
		||||
      className
 | 
			
		||||
    )}
 | 
			
		||||
    {...props}
 | 
			
		||||
@@ -68,7 +68,7 @@ const SelectContent = React.forwardRef<
 | 
			
		||||
    <SelectPrimitive.Content
 | 
			
		||||
      ref={ref}
 | 
			
		||||
      className={cn(
 | 
			
		||||
        "relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
 | 
			
		||||
        "relative z-50 max-h-96 min-w-32 overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
 | 
			
		||||
        position === "popper" &&
 | 
			
		||||
          "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
 | 
			
		||||
        className
 | 
			
		||||
@@ -81,7 +81,7 @@ const SelectContent = React.forwardRef<
 | 
			
		||||
        className={cn(
 | 
			
		||||
          "p-1",
 | 
			
		||||
          position === "popper" &&
 | 
			
		||||
            "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
 | 
			
		||||
            "h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)"
 | 
			
		||||
        )}
 | 
			
		||||
      >
 | 
			
		||||
        {children}
 | 
			
		||||
@@ -111,7 +111,7 @@ const SelectItem = React.forwardRef<
 | 
			
		||||
  <SelectPrimitive.Item
 | 
			
		||||
    ref={ref}
 | 
			
		||||
    className={cn(
 | 
			
		||||
      "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
 | 
			
		||||
      "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
 | 
			
		||||
      className
 | 
			
		||||
    )}
 | 
			
		||||
    {...props}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1415
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1415
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -14,7 +14,6 @@
 | 
			
		||||
    "@radix-ui/react-popover": "^1.1.6",
 | 
			
		||||
    "@radix-ui/react-select": "^2.1.6",
 | 
			
		||||
    "@radix-ui/react-slot": "^1.1.2",
 | 
			
		||||
    "autoprefixer": "^10.4.19",
 | 
			
		||||
    "class-variance-authority": "^0.7.0",
 | 
			
		||||
    "clsx": "^2.1.1",
 | 
			
		||||
    "cssnano": "^7.0.1",
 | 
			
		||||
@@ -33,6 +32,7 @@
 | 
			
		||||
    "zod": "^3.24.2"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@tailwindcss/postcss": "^4.1.6",
 | 
			
		||||
    "@types/node": "22.15.17",
 | 
			
		||||
    "@types/react": "19.1.3",
 | 
			
		||||
    "@types/react-dom": "19.1.3",
 | 
			
		||||
@@ -40,7 +40,7 @@
 | 
			
		||||
    "eslint-config-next": "15.3.2",
 | 
			
		||||
    "eslint-config-prettier": "10.1.5",
 | 
			
		||||
    "postcss": "8.5.3",
 | 
			
		||||
    "tailwindcss": "3.4.17",
 | 
			
		||||
    "tailwindcss": "^4.1.6",
 | 
			
		||||
    "turbo": "2.5.3",
 | 
			
		||||
    "typescript": "5.8.3"
 | 
			
		||||
  },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,8 @@
 | 
			
		||||
/** @type {import('postcss-load-config').Config} */
 | 
			
		||||
const config = {
 | 
			
		||||
  plugins: {
 | 
			
		||||
    tailwindcss: {},
 | 
			
		||||
    '@tailwindcss/postcss': {},
 | 
			
		||||
 | 
			
		||||
    autoprefixer: {},
 | 
			
		||||
    "postcss-flexbugs-fixes": {
 | 
			
		||||
      "postcss-preset-env": {
 | 
			
		||||
        autoprefixer: {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,70 +0,0 @@
 | 
			
		||||
import type { Config } from "tailwindcss";
 | 
			
		||||
 | 
			
		||||
const config: Config = {
 | 
			
		||||
    darkMode: ["class"],
 | 
			
		||||
    content: [
 | 
			
		||||
    "./lib/**/*.{ts,tsx,js,jsx}",
 | 
			
		||||
    "./components/**/*.{js,ts,jsx,tsx,mdx}",
 | 
			
		||||
    "./app/**/*.{js,ts,jsx,tsx,mdx}",
 | 
			
		||||
  ],
 | 
			
		||||
  theme: {
 | 
			
		||||
  	extend: {
 | 
			
		||||
  		fontFamily: {
 | 
			
		||||
  			sans: ["var(--font-sans)"]
 | 
			
		||||
  		},
 | 
			
		||||
  		backgroundImage: {
 | 
			
		||||
  			'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))',
 | 
			
		||||
  			'gradient-conic': 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))'
 | 
			
		||||
  		},
 | 
			
		||||
  		borderRadius: {
 | 
			
		||||
  			lg: 'var(--radius)',
 | 
			
		||||
  			md: 'calc(var(--radius) - 2px)',
 | 
			
		||||
  			sm: 'calc(var(--radius) - 4px)'
 | 
			
		||||
  		},
 | 
			
		||||
  		colors: {
 | 
			
		||||
  			background: 'hsl(var(--background))',
 | 
			
		||||
  			foreground: 'hsl(var(--foreground))',
 | 
			
		||||
  			card: {
 | 
			
		||||
  				DEFAULT: 'hsl(var(--card))',
 | 
			
		||||
  				foreground: 'hsl(var(--card-foreground))'
 | 
			
		||||
  			},
 | 
			
		||||
  			popover: {
 | 
			
		||||
  				DEFAULT: 'hsl(var(--popover))',
 | 
			
		||||
  				foreground: 'hsl(var(--popover-foreground))'
 | 
			
		||||
  			},
 | 
			
		||||
  			primary: {
 | 
			
		||||
  				DEFAULT: 'hsl(var(--primary))',
 | 
			
		||||
  				foreground: 'hsl(var(--primary-foreground))'
 | 
			
		||||
  			},
 | 
			
		||||
  			secondary: {
 | 
			
		||||
  				DEFAULT: 'hsl(var(--secondary))',
 | 
			
		||||
  				foreground: 'hsl(var(--secondary-foreground))'
 | 
			
		||||
  			},
 | 
			
		||||
  			muted: {
 | 
			
		||||
  				DEFAULT: 'hsl(var(--muted))',
 | 
			
		||||
  				foreground: 'hsl(var(--muted-foreground))'
 | 
			
		||||
  			},
 | 
			
		||||
  			accent: {
 | 
			
		||||
  				DEFAULT: 'hsl(var(--accent))',
 | 
			
		||||
  				foreground: 'hsl(var(--accent-foreground))'
 | 
			
		||||
  			},
 | 
			
		||||
  			destructive: {
 | 
			
		||||
  				DEFAULT: 'hsl(var(--destructive))',
 | 
			
		||||
  				foreground: 'hsl(var(--destructive-foreground))'
 | 
			
		||||
  			},
 | 
			
		||||
  			border: 'hsl(var(--border))',
 | 
			
		||||
  			input: 'hsl(var(--input))',
 | 
			
		||||
  			ring: 'hsl(var(--ring))',
 | 
			
		||||
  			chart: {
 | 
			
		||||
  				'1': 'hsl(var(--chart-1))',
 | 
			
		||||
  				'2': 'hsl(var(--chart-2))',
 | 
			
		||||
  				'3': 'hsl(var(--chart-3))',
 | 
			
		||||
  				'4': 'hsl(var(--chart-4))',
 | 
			
		||||
  				'5': 'hsl(var(--chart-5))'
 | 
			
		||||
  			}
 | 
			
		||||
  		}
 | 
			
		||||
  	}
 | 
			
		||||
  },
 | 
			
		||||
  plugins: [require("tailwindcss-animate")],
 | 
			
		||||
};
 | 
			
		||||
export default config;
 | 
			
		||||
		Reference in New Issue
	
	Block a user