Merge branch 'main' into Andersgee/main

This commit is contained in:
shadcn
2023-01-29 13:56:41 +04:00
15 changed files with 195 additions and 303 deletions

21
LICENSE.md Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2023 shadcn
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -8,7 +8,7 @@ interface DocsLayoutProps {
export default function DocsLayout({ children }: DocsLayoutProps) {
return (
<div className="flex-1 items-start md:grid md:grid-cols-[220px_1fr] md:gap-6 lg:grid-cols-[240px_1fr] lg:gap-10">
<div className="flex-1 items-start md:grid md:grid-cols-[220px_minmax(0,1fr)] md:gap-6 lg:grid-cols-[240px_minmax(0,1fr)] lg:gap-10">
<aside className="fixed top-14 z-30 hidden h-[calc(100vh-3.5rem)] w-full shrink-0 overflow-y-auto border-r border-r-slate-100 dark:border-r-slate-700 md:sticky md:block">
<ScrollArea className="pr-6 lg:py-10">
<DocsSidebarNav items={docsConfig.sidebarNav} />

View File

@@ -11,6 +11,7 @@ import { ThemeProvider } from "@/components/theme-provider"
const fontSans = FontSans({
subsets: ["latin"],
variable: "--font-sans",
display: 'swap',
})
interface RootLayoutProps {

View File

@@ -8,11 +8,13 @@ import {
const fontSans = FontSans({
subsets: ["latin"],
variable: "--font-sans",
display: 'swap',
})
const fontMono = FontMono({
subsets: ["latin"],
variable: "--font-mono",
display: 'swap',
})
export function Fonts() {

View File

@@ -1,15 +1,15 @@
"use client"
import * as React from "react"
import * as AvatarPrimivite from "@radix-ui/react-avatar"
import * as AvatarPrimitive from "@radix-ui/react-avatar"
import { cn } from "@/lib/utils"
const Avatar = React.forwardRef<
React.ElementRef<typeof AvatarPrimivite.Root>,
React.ComponentPropsWithoutRef<typeof AvatarPrimivite.Root>
React.ElementRef<typeof AvatarPrimitive.Root>,
React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>
>(({ className, ...props }, ref) => (
<AvatarPrimivite.Root
<AvatarPrimitive.Root
ref={ref}
className={cn(
"relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",
@@ -18,25 +18,25 @@ const Avatar = React.forwardRef<
{...props}
/>
))
Avatar.displayName = AvatarPrimivite.Root.displayName
Avatar.displayName = AvatarPrimitive.Root.displayName
const AvatarImage = React.forwardRef<
React.ElementRef<typeof AvatarPrimivite.Image>,
React.ComponentPropsWithoutRef<typeof AvatarPrimivite.Image>
React.ElementRef<typeof AvatarPrimitive.Image>,
React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>
>(({ className, ...props }, ref) => (
<AvatarPrimivite.Image
<AvatarPrimitive.Image
ref={ref}
className={cn("aspect-square h-full w-full", className)}
{...props}
/>
))
AvatarImage.displayName = AvatarPrimivite.Image.displayName
AvatarImage.displayName = AvatarPrimitive.Image.displayName
const AvatarFallback = React.forwardRef<
React.ElementRef<typeof AvatarPrimivite.Fallback>,
React.ComponentPropsWithoutRef<typeof AvatarPrimivite.Fallback>
React.ElementRef<typeof AvatarPrimitive.Fallback>,
React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>
>(({ className, ...props }, ref) => (
<AvatarPrimivite.Fallback
<AvatarPrimitive.Fallback
ref={ref}
className={cn(
"flex h-full w-full items-center justify-center rounded-full bg-slate-100 dark:bg-slate-700",
@@ -45,6 +45,6 @@ const AvatarFallback = React.forwardRef<
{...props}
/>
))
AvatarFallback.displayName = AvatarPrimivite.Fallback.displayName
AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName
export { Avatar, AvatarImage, AvatarFallback }

View File

@@ -1,17 +1,17 @@
"use client"
import * as React from "react"
import * as TabsPrimivite from "@radix-ui/react-tabs"
import * as TabsPrimitive from "@radix-ui/react-tabs"
import { cn } from "@/lib/utils"
const Tabs = TabsPrimivite.Root
const Tabs = TabsPrimitive.Root
const TabsList = React.forwardRef<
React.ElementRef<typeof TabsPrimivite.List>,
React.ComponentPropsWithoutRef<typeof TabsPrimivite.List>
React.ElementRef<typeof TabsPrimitive.List>,
React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>
>(({ className, ...props }, ref) => (
<TabsPrimivite.List
<TabsPrimitive.List
ref={ref}
className={cn(
"inline-flex items-center justify-center rounded-md bg-slate-100 p-1 dark:bg-slate-800",
@@ -20,13 +20,13 @@ const TabsList = React.forwardRef<
{...props}
/>
))
TabsList.displayName = TabsPrimivite.List.displayName
TabsList.displayName = TabsPrimitive.List.displayName
const TabsTrigger = React.forwardRef<
React.ElementRef<typeof TabsPrimivite.Trigger>,
React.ComponentPropsWithoutRef<typeof TabsPrimivite.Trigger>
React.ElementRef<typeof TabsPrimitive.Trigger>,
React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>
>(({ className, ...props }, ref) => (
<TabsPrimivite.Trigger
<TabsPrimitive.Trigger
className={cn(
"inline-flex min-w-[100px] items-center justify-center rounded-[0.185rem] px-3 py-1.5 text-sm font-medium text-slate-700 transition-all disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-white data-[state=active]:text-slate-900 data-[state=active]:shadow-sm dark:text-slate-200 dark:data-[state=active]:bg-slate-900",
className
@@ -35,13 +35,13 @@ const TabsTrigger = React.forwardRef<
ref={ref}
/>
))
TabsTrigger.displayName = TabsPrimivite.Trigger.displayName
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName
const TabsContent = React.forwardRef<
React.ElementRef<typeof TabsPrimivite.Content>,
React.ComponentPropsWithoutRef<typeof TabsPrimivite.Content>
React.ElementRef<typeof TabsPrimitive.Content>,
React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>
>(({ className, ...props }, ref) => (
<TabsPrimivite.Content
<TabsPrimitive.Content
className={cn(
"mt-2 rounded-md border border-slate-200 p-6 dark:border-slate-700",
className
@@ -50,6 +50,6 @@ const TabsContent = React.forwardRef<
ref={ref}
/>
))
TabsContent.displayName = TabsPrimivite.Content.displayName
TabsContent.displayName = TabsPrimitive.Content.displayName
export { Tabs, TabsList, TabsTrigger, TabsContent }

View File

@@ -17,7 +17,7 @@ It's a collection of re-usable components built using [Radix UI](https://radix-u
## FAQs
### What do mean by not a component library?
### What do you mean by not a component library?
I mean you do not install it as a dependency. You copy and paste the code into your project and customize to your needs. The code is yours.

View File

@@ -10,7 +10,7 @@
"preview": "next build && next start"
},
"dependencies": {
"@next/font": "^13.0.7",
"@next/font": "^13.1.6",
"@radix-ui/react-accessible-icon": "^1.0.1",
"@radix-ui/react-accordion": "^1.1.0",
"@radix-ui/react-alert-dialog": "^1.0.2",
@@ -43,7 +43,7 @@
"contentlayer": "^0.3.0",
"logsnag": "^0.1.6",
"lucide-react": "0.105.0-alpha.4",
"next": "^13.1.1",
"next": "^13.1.6",
"next-contentlayer": "^0.3.0",
"next-themes": "^0.2.1",
"react": "^18.2.0",

View File

@@ -2,6 +2,7 @@
"name": "ui",
"version": "0.0.1",
"private": true,
"license" : "MIT",
"author": {
"name": "shadcn",
"url": "https://twitter.com/shadcn"

347
pnpm-lock.yaml generated
View File

@@ -53,7 +53,7 @@ importers:
apps/www:
specifiers:
'@next/font': ^13.0.7
'@next/font': ^13.1.6
'@radix-ui/react-accessible-icon': ^1.0.1
'@radix-ui/react-accordion': ^1.1.0
'@radix-ui/react-alert-dialog': ^1.0.2
@@ -92,7 +92,7 @@ importers:
logsnag: ^0.1.6
lucide-react: 0.105.0-alpha.4
mdast-util-toc: ^6.1.0
next: ^13.1.1
next: ^13.1.6
next-contentlayer: ^0.3.0
next-themes: ^0.2.1
postcss: ^8.4.14
@@ -115,7 +115,7 @@ importers:
unist-util-visit: ^4.1.1
zod: ^3.20.2
dependencies:
'@next/font': 13.0.7
'@next/font': 13.1.6
'@radix-ui/react-accessible-icon': 1.0.1_biqbaboplfbrettd7655fr4n2y
'@radix-ui/react-accordion': 1.1.0_biqbaboplfbrettd7655fr4n2y
'@radix-ui/react-alert-dialog': 1.0.2_ib3m5ricvtkl2cll7qpr2f6lvq
@@ -148,9 +148,9 @@ importers:
contentlayer: 0.3.0_esbuild@0.17.3
logsnag: 0.1.6
lucide-react: 0.105.0-alpha.4_react@18.2.0
next: 13.1.1_biqbaboplfbrettd7655fr4n2y
next-contentlayer: 0.3.0_b7kmehnkem5eirxtazuki7aru4
next-themes: 0.2.1_q76c2b4vyoegvsbrcwkfvimnai
next: 13.1.6_biqbaboplfbrettd7655fr4n2y
next-contentlayer: 0.3.0_as22kstmd5fdgoopsr5hyah3ym
next-themes: 0.2.1_3vryta7zmbcsw4rrqf4axjqggm
react: 18.2.0
react-dom: 18.2.0_react@18.2.0
sharp: 0.31.3
@@ -181,7 +181,7 @@ importers:
templates/next-template:
specifiers:
'@ianvs/prettier-plugin-sort-imports': ^3.7.1
'@next/font': ^13.1.5
'@next/font': ^13.1.6
'@radix-ui/react-accessible-icon': ^1.0.1
'@radix-ui/react-accordion': ^1.1.0
'@radix-ui/react-alert-dialog': ^1.0.2
@@ -219,7 +219,7 @@ importers:
eslint-plugin-react: ^7.31.11
eslint-plugin-tailwindcss: ^3.8.0
lucide-react: 0.105.0-alpha.4
next: ^13.1.5
next: ^13.1.6
next-themes: ^0.2.1
postcss: ^8.4.14
prettier: ^2.7.1
@@ -231,7 +231,7 @@ importers:
tailwindcss-animate: ^1.0.5
typescript: ^4.5.3
dependencies:
'@next/font': 13.1.5
'@next/font': 13.1.6
'@radix-ui/react-accessible-icon': 1.0.1_biqbaboplfbrettd7655fr4n2y
'@radix-ui/react-accordion': 1.1.0_biqbaboplfbrettd7655fr4n2y
'@radix-ui/react-alert-dialog': 1.0.2_ib3m5ricvtkl2cll7qpr2f6lvq
@@ -260,8 +260,8 @@ importers:
class-variance-authority: 0.4.0_typescript@4.9.4
clsx: 1.2.1
lucide-react: 0.105.0-alpha.4_react@18.2.0
next: 13.1.5_7xlrwlvvs7cv2obrs6a5y6oxxq
next-themes: 0.2.1_s6zlkfvllybxhmcq5pkr2zsuza
next: 13.1.6_7xlrwlvvs7cv2obrs6a5y6oxxq
next-themes: 0.2.1_3vryta7zmbcsw4rrqf4axjqggm
react: 18.2.0
react-dom: 18.2.0_react@18.2.0
sharp: 0.31.3
@@ -1245,12 +1245,8 @@ packages:
- supports-color
dev: false
/@next/env/13.1.1:
resolution: {integrity: sha512-vFMyXtPjSAiOXOywMojxfKIqE3VWN5RCAx+tT3AS3pcKjMLFTCJFUWsKv8hC+87Z1F4W3r68qTwDFZIFmd5Xkw==}
dev: false
/@next/env/13.1.5:
resolution: {integrity: sha512-0Ry4NhJy6qLbXhvxPRUQ1H6RzgtryGdUto7hfgAK0Iw/bScgeVjwLZdfhm2iT7qsOS32apo9cWzLCxjc6iGPsA==}
/@next/env/13.1.6:
resolution: {integrity: sha512-s+W9Fdqh5MFk6ECrbnVmmAOwxKQuhGMT7xXHrkYIBMBcTiOqNWhv5KbJIboKR5STXxNXl32hllnvKaffzFaWQg==}
dev: false
/@next/eslint-plugin-next/13.0.0:
@@ -1258,16 +1254,12 @@ packages:
dependencies:
glob: 7.1.7
/@next/font/13.0.7:
resolution: {integrity: sha512-39SzuoMI6jbrIzPs3KtXdKX03OrVp6Y7kRHcoVmOg69spiBzruPJ5x5DQSfN+OXqznbvVBNZBXnmdnSqs3qXiA==}
/@next/font/13.1.6:
resolution: {integrity: sha512-AITjmeb1RgX1HKMCiA39ztx2mxeAyxl4ljv2UoSBUGAbFFMg8MO7YAvjHCgFhD39hL7YTbFjol04e/BPBH5RzQ==}
dev: false
/@next/font/13.1.5:
resolution: {integrity: sha512-6M5R6yC3JkdJiqo/YJxDp6+0vDn0smXOAzl8uHt4qmDS2u53ji/19K0HM51d+5kg8xntDi+N2hw7YjaU9inkNA==}
dev: false
/@next/swc-android-arm-eabi/13.1.1:
resolution: {integrity: sha512-qnFCx1kT3JTWhWve4VkeWuZiyjG0b5T6J2iWuin74lORCupdrNukxkq9Pm+Z7PsatxuwVJMhjUoYz7H4cWzx2A==}
/@next/swc-android-arm-eabi/13.1.6:
resolution: {integrity: sha512-F3/6Z8LH/pGlPzR1AcjPFxx35mPqjE5xZcf+IL+KgbW9tMkp7CYi1y7qKrEWU7W4AumxX/8OINnDQWLiwLasLQ==}
engines: {node: '>= 10'}
cpu: [arm]
os: [android]
@@ -1275,17 +1267,8 @@ packages:
dev: false
optional: true
/@next/swc-android-arm-eabi/13.1.5:
resolution: {integrity: sha512-QAEf3YM9U0qWVQTxgF3Tsh4OeCN1i9Smsf6cVlwZsPzoLyj2nQ879joCoN+ONqDknkBgG6OG/ajefywL3jw9Cg==}
engines: {node: '>= 10'}
cpu: [arm]
os: [android]
requiresBuild: true
dev: false
optional: true
/@next/swc-android-arm64/13.1.1:
resolution: {integrity: sha512-eCiZhTzjySubNqUnNkQCjU3Fh+ep3C6b5DCM5FKzsTH/3Gr/4Y7EiaPZKILbvnXmhWtKPIdcY6Zjx51t4VeTfA==}
/@next/swc-android-arm64/13.1.6:
resolution: {integrity: sha512-cMwQjnB8vrYkWyK/H0Rf2c2pKIH4RGjpKUDvbjVAit6SbwPDpmaijLio0LWFV3/tOnY6kvzbL62lndVA0mkYpw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [android]
@@ -1293,17 +1276,8 @@ packages:
dev: false
optional: true
/@next/swc-android-arm64/13.1.5:
resolution: {integrity: sha512-ZmtGPTghRuT5YKL0nNcC2bBVSiG1O0is16eIZ2rWSP/hRW64ZCcAew6pxw2rihntNp22UfequjSTHd91WE/tyQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [android]
requiresBuild: true
dev: false
optional: true
/@next/swc-darwin-arm64/13.1.1:
resolution: {integrity: sha512-9zRJSSIwER5tu9ADDkPw5rIZ+Np44HTXpYMr0rkM656IvssowPxmhK0rTreC1gpUCYwFsRbxarUJnJsTWiutPg==}
/@next/swc-darwin-arm64/13.1.6:
resolution: {integrity: sha512-KKRQH4DDE4kONXCvFMNBZGDb499Hs+xcFAwvj+rfSUssIDrZOlyfJNy55rH5t2Qxed1e4K80KEJgsxKQN1/fyw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
@@ -1311,17 +1285,8 @@ packages:
dev: false
optional: true
/@next/swc-darwin-arm64/13.1.5:
resolution: {integrity: sha512-aeFXK+M/zmG/CNdMJ0tGNs0MWcLueUe7vZ2V6fa+2yz/ZgYJLI7fEfFvVh1p1yBMzupSbZDowvMuCSFTaeg3MA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: false
optional: true
/@next/swc-darwin-x64/13.1.1:
resolution: {integrity: sha512-qWr9qEn5nrnlhB0rtjSdR00RRZEtxg4EGvicIipqZWEyayPxhUu6NwKiG8wZiYZCLfJ5KWr66PGSNeDMGlNaiA==}
/@next/swc-darwin-x64/13.1.6:
resolution: {integrity: sha512-/uOky5PaZDoaU99ohjtNcDTJ6ks/gZ5ykTQDvNZDjIoCxFe3+t06bxsTPY6tAO6uEAw5f6vVFX5H5KLwhrkZCA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
@@ -1329,17 +1294,8 @@ packages:
dev: false
optional: true
/@next/swc-darwin-x64/13.1.5:
resolution: {integrity: sha512-6mPX0GNRg8NzjV70at8I8pD9YBnPHDpxJCoMuIqysdTjtQhd09Xk6GUhquNhp1kEJzzVk7OW5l2ch4XIJjtY3A==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: false
optional: true
/@next/swc-freebsd-x64/13.1.1:
resolution: {integrity: sha512-UwP4w/NcQ7V/VJEj3tGVszgb4pyUCt3lzJfUhjDMUmQbzG9LDvgiZgAGMYH6L21MoyAATJQPDGiAMWAPKsmumA==}
/@next/swc-freebsd-x64/13.1.6:
resolution: {integrity: sha512-qaEALZeV7to6weSXk3Br80wtFQ7cFTpos/q+m9XVRFggu+8Ib895XhMWdJBzew6aaOcMvYR6KQ6JmHA2/eMzWw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [freebsd]
@@ -1347,17 +1303,8 @@ packages:
dev: false
optional: true
/@next/swc-freebsd-x64/13.1.5:
resolution: {integrity: sha512-nR4a/SNblG0w8hhYRflTZjk4yD99ld18w/FCftw99ziw8sgciBlOXRICJIiRIaMRU8UH7QLSgBOQVnfNcVNKMA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [freebsd]
requiresBuild: true
dev: false
optional: true
/@next/swc-linux-arm-gnueabihf/13.1.1:
resolution: {integrity: sha512-CnsxmKHco9sosBs1XcvCXP845Db+Wx1G0qouV5+Gr+HT/ZlDYEWKoHVDgnJXLVEQzq4FmHddBNGbXvgqM1Gfkg==}
/@next/swc-linux-arm-gnueabihf/13.1.6:
resolution: {integrity: sha512-OybkbC58A1wJ+JrJSOjGDvZzrVEQA4sprJejGqMwiZyLqhr9Eo8FXF0y6HL+m1CPCpPhXEHz/2xKoYsl16kNqw==}
engines: {node: '>= 10'}
cpu: [arm]
os: [linux]
@@ -1365,17 +1312,8 @@ packages:
dev: false
optional: true
/@next/swc-linux-arm-gnueabihf/13.1.5:
resolution: {integrity: sha512-EzkltCVKg3gUzamoeKPhGeSgXTTLAhSzc7v/+g1Y+HQa7JKMrlzdRkrJf+H4LJXcz7lnxgNKHGRyZBSXnmJKJw==}
engines: {node: '>= 10'}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: false
optional: true
/@next/swc-linux-arm64-gnu/13.1.1:
resolution: {integrity: sha512-JfDq1eri5Dif+VDpTkONRd083780nsMCOKoFG87wA0sa4xL8LGcXIBAkUGIC1uVy9SMsr2scA9CySLD/i+Oqiw==}
/@next/swc-linux-arm64-gnu/13.1.6:
resolution: {integrity: sha512-yCH+yDr7/4FDuWv6+GiYrPI9kcTAO3y48UmaIbrKy8ZJpi7RehJe3vIBRUmLrLaNDH3rY1rwoHi471NvR5J5NQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
@@ -1383,8 +1321,8 @@ packages:
dev: false
optional: true
/@next/swc-linux-arm64-gnu/13.1.5:
resolution: {integrity: sha512-E7HMkdoxStmTUJU4KzBUU4vZ5DHT4Gd327tC3KFZS5lda0NRerJAOCfsRg+fBj22FvCb1UWsX6XI+weL6xhyeQ==}
/@next/swc-linux-arm64-musl/13.1.6:
resolution: {integrity: sha512-ECagB8LGX25P9Mrmlc7Q/TQBb9rGScxHbv/kLqqIWs2fIXy6Y/EiBBiM72NTwuXUFCNrWR4sjUPSooVBJJ3ESQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
@@ -1392,26 +1330,8 @@ packages:
dev: false
optional: true
/@next/swc-linux-arm64-musl/13.1.1:
resolution: {integrity: sha512-GA67ZbDq2AW0CY07zzGt07M5b5Yaq5qUpFIoW3UFfjOPgb0Sqf3DAW7GtFMK1sF4ROHsRDMGQ9rnT0VM2dVfKA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: false
optional: true
/@next/swc-linux-arm64-musl/13.1.5:
resolution: {integrity: sha512-qlO0Fd3GQwJS6YpbF9NyL5NGHVZ43dKtZDC/jP4vdeMIYDtSu13HcY/nmA1NdW+RpMwDxSCpx4WKsCCEZGIX8Q==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: false
optional: true
/@next/swc-linux-x64-gnu/13.1.1:
resolution: {integrity: sha512-nnjuBrbzvqaOJaV+XgT8/+lmXrSCOt1YYZn/irbDb2fR2QprL6Q7WJNgwsZNxiLSfLdv+2RJGGegBx9sLBEzGA==}
/@next/swc-linux-x64-gnu/13.1.6:
resolution: {integrity: sha512-GT5w2mruk90V/I5g6ScuueE7fqj/d8Bui2qxdw6lFxmuTgMeol5rnzAv4uAoVQgClOUO/MULilzlODg9Ib3Y4Q==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
@@ -1419,8 +1339,8 @@ packages:
dev: false
optional: true
/@next/swc-linux-x64-gnu/13.1.5:
resolution: {integrity: sha512-GftSBFAay2nocGl+KNqFsj6EVSvomaM/bp86hzezbKsTwQmu76PjOCVcejI1gE+4k7f5zPDgCuorF6F04BV0HQ==}
/@next/swc-linux-x64-musl/13.1.6:
resolution: {integrity: sha512-keFD6KvwOPzmat4TCnlnuxJCQepPN+8j3Nw876FtULxo8005Y9Ghcl7ACcR8GoiKoddAq8gxNBrpjoxjQRHeAQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
@@ -1428,26 +1348,8 @@ packages:
dev: false
optional: true
/@next/swc-linux-x64-musl/13.1.1:
resolution: {integrity: sha512-CM9xnAQNIZ8zf/igbIT/i3xWbQZYaF397H+JroF5VMOCUleElaMdQLL5riJml8wUfPoN3dtfn2s4peSr3azz/g==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: false
optional: true
/@next/swc-linux-x64-musl/13.1.5:
resolution: {integrity: sha512-UD+3lxU4yuAjd+uBkCDfBpAcbGAVfEcE8mX/efIxUGIImmzN0QzgTHYEpKFnY3Lxu02dIBcwQRT3Q5mfO4obng==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: false
optional: true
/@next/swc-win32-arm64-msvc/13.1.1:
resolution: {integrity: sha512-pzUHOGrbgfGgPlOMx9xk3QdPJoRPU+om84hqVoe6u+E0RdwOG0Ho/2UxCgDqmvpUrMab1Deltlt6RqcXFpnigQ==}
/@next/swc-win32-arm64-msvc/13.1.6:
resolution: {integrity: sha512-OwertslIiGQluFvHyRDzBCIB07qJjqabAmINlXUYt7/sY7Q7QPE8xVi5beBxX/rxTGPIbtyIe3faBE6Z2KywhQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
@@ -1455,17 +1357,8 @@ packages:
dev: false
optional: true
/@next/swc-win32-arm64-msvc/13.1.5:
resolution: {integrity: sha512-uzsvkQY+K3EbL+97IUHPWZPwjsCmCkdH/O5Cf9wCnh0k0gaj7ob1mGKqr1vNNak+9U7HloGwuHcXnZpijWSP7w==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: false
optional: true
/@next/swc-win32-ia32-msvc/13.1.1:
resolution: {integrity: sha512-WeX8kVS46aobM9a7Xr/kEPcrTyiwJqQv/tbw6nhJ4fH9xNZ+cEcyPoQkwPo570dCOLz3Zo9S2q0E6lJ/EAUOBg==}
/@next/swc-win32-ia32-msvc/13.1.6:
resolution: {integrity: sha512-g8zowiuP8FxUR9zslPmlju7qYbs2XBtTLVSxVikPtUDQedhcls39uKYLvOOd1JZg0ehyhopobRoH1q+MHlIN/w==}
engines: {node: '>= 10'}
cpu: [ia32]
os: [win32]
@@ -1473,26 +1366,8 @@ packages:
dev: false
optional: true
/@next/swc-win32-ia32-msvc/13.1.5:
resolution: {integrity: sha512-v0NaC1w8mPf620GlJaHBdEm3dm4G4AEQMasDqjzQvo0yCRrvtvzMgCIe8MocBxFHzaF6868NybMqvumxP5YxEg==}
engines: {node: '>= 10'}
cpu: [ia32]
os: [win32]
requiresBuild: true
dev: false
optional: true
/@next/swc-win32-x64-msvc/13.1.1:
resolution: {integrity: sha512-mVF0/3/5QAc5EGVnb8ll31nNvf3BWpPY4pBb84tk+BfQglWLqc5AC9q1Ht/YMWiEgs8ALNKEQ3GQnbY0bJF2Gg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: false
optional: true
/@next/swc-win32-x64-msvc/13.1.5:
resolution: {integrity: sha512-IZHwvd649ccbWyLCfu92IXEpR250NpmBkaRelPV+WVm4jrd62FKRFCNdqdCXq6TrEg9wN8cK4YG8tm44uEZqLA==}
/@next/swc-win32-x64-msvc/13.1.6:
resolution: {integrity: sha512-Ls2OL9hi3YlJKGNdKv8k3X/lLgc3VmLG3a/DeTkAd+lAituJp8ZHmRmm9f9SL84fT3CotlzcgbdaCDfFwFA6bA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -5861,7 +5736,7 @@ packages:
/natural-compare/1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
/next-contentlayer/0.3.0_b7kmehnkem5eirxtazuki7aru4:
/next-contentlayer/0.3.0_as22kstmd5fdgoopsr5hyah3ym:
resolution: {integrity: sha512-vt+RaD3nIgZ6oXadtZH19a1mpxvGEoiifdtmXqBSz4rHMRcMA1YZCuSWyj+P9uX7MDmIL6JT6QSp+hvTBMaxiw==}
peerDependencies:
next: ^12 || ^13
@@ -5870,7 +5745,7 @@ packages:
dependencies:
'@contentlayer/core': 0.3.0_esbuild@0.17.3
'@contentlayer/utils': 0.3.0
next: 13.1.1_biqbaboplfbrettd7655fr4n2y
next: 13.1.6_biqbaboplfbrettd7655fr4n2y
react: 18.2.0
react-dom: 18.2.0_react@18.2.0
transitivePeerDependencies:
@@ -5880,32 +5755,20 @@ packages:
- supports-color
dev: false
/next-themes/0.2.1_q76c2b4vyoegvsbrcwkfvimnai:
/next-themes/0.2.1_3vryta7zmbcsw4rrqf4axjqggm:
resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==}
peerDependencies:
next: '*'
react: '*'
react-dom: '*'
dependencies:
next: 13.1.1_biqbaboplfbrettd7655fr4n2y
next: 13.1.6_biqbaboplfbrettd7655fr4n2y
react: 18.2.0
react-dom: 18.2.0_react@18.2.0
dev: false
/next-themes/0.2.1_s6zlkfvllybxhmcq5pkr2zsuza:
resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==}
peerDependencies:
next: '*'
react: '*'
react-dom: '*'
dependencies:
next: 13.1.5_7xlrwlvvs7cv2obrs6a5y6oxxq
react: 18.2.0
react-dom: 18.2.0_react@18.2.0
dev: false
/next/13.1.1_biqbaboplfbrettd7655fr4n2y:
resolution: {integrity: sha512-R5eBAaIa3X7LJeYvv1bMdGnAVF4fVToEjim7MkflceFPuANY3YyvFxXee/A+acrSYwYPvOvf7f6v/BM/48ea5w==}
/next/13.1.6_7xlrwlvvs7cv2obrs6a5y6oxxq:
resolution: {integrity: sha512-hHlbhKPj9pW+Cymvfzc15lvhaOZ54l+8sXDXJWm3OBNBzgrVj6hwGPmqqsXg40xO1Leq+kXpllzRPuncpC0Phw==}
engines: {node: '>=14.6.0'}
hasBin: true
peerDependencies:
@@ -5922,51 +5785,7 @@ packages:
sass:
optional: true
dependencies:
'@next/env': 13.1.1
'@swc/helpers': 0.4.14
caniuse-lite: 1.0.30001439
postcss: 8.4.14
react: 18.2.0
react-dom: 18.2.0_react@18.2.0
styled-jsx: 5.1.1_react@18.2.0
optionalDependencies:
'@next/swc-android-arm-eabi': 13.1.1
'@next/swc-android-arm64': 13.1.1
'@next/swc-darwin-arm64': 13.1.1
'@next/swc-darwin-x64': 13.1.1
'@next/swc-freebsd-x64': 13.1.1
'@next/swc-linux-arm-gnueabihf': 13.1.1
'@next/swc-linux-arm64-gnu': 13.1.1
'@next/swc-linux-arm64-musl': 13.1.1
'@next/swc-linux-x64-gnu': 13.1.1
'@next/swc-linux-x64-musl': 13.1.1
'@next/swc-win32-arm64-msvc': 13.1.1
'@next/swc-win32-ia32-msvc': 13.1.1
'@next/swc-win32-x64-msvc': 13.1.1
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros
dev: false
/next/13.1.5_7xlrwlvvs7cv2obrs6a5y6oxxq:
resolution: {integrity: sha512-rmpYZFCxxWAi2nJCT9sSqMLGC3cu+Pf689hx9clcyP0KbVIhh/7Dus5QcKrVd/PrAd6AjsuogSRR1mCP7BoYRw==}
engines: {node: '>=14.6.0'}
hasBin: true
peerDependencies:
fibers: '>= 3.1.0'
node-sass: ^6.0.0 || ^7.0.0
react: ^18.2.0
react-dom: ^18.2.0
sass: ^1.3.0
peerDependenciesMeta:
fibers:
optional: true
node-sass:
optional: true
sass:
optional: true
dependencies:
'@next/env': 13.1.5
'@next/env': 13.1.6
'@swc/helpers': 0.4.14
caniuse-lite: 1.0.30001439
postcss: 8.4.14
@@ -5974,19 +5793,63 @@ packages:
react-dom: 18.2.0_react@18.2.0
styled-jsx: 5.1.1_dojr2aquw55jwdpbannhlirjf4
optionalDependencies:
'@next/swc-android-arm-eabi': 13.1.5
'@next/swc-android-arm64': 13.1.5
'@next/swc-darwin-arm64': 13.1.5
'@next/swc-darwin-x64': 13.1.5
'@next/swc-freebsd-x64': 13.1.5
'@next/swc-linux-arm-gnueabihf': 13.1.5
'@next/swc-linux-arm64-gnu': 13.1.5
'@next/swc-linux-arm64-musl': 13.1.5
'@next/swc-linux-x64-gnu': 13.1.5
'@next/swc-linux-x64-musl': 13.1.5
'@next/swc-win32-arm64-msvc': 13.1.5
'@next/swc-win32-ia32-msvc': 13.1.5
'@next/swc-win32-x64-msvc': 13.1.5
'@next/swc-android-arm-eabi': 13.1.6
'@next/swc-android-arm64': 13.1.6
'@next/swc-darwin-arm64': 13.1.6
'@next/swc-darwin-x64': 13.1.6
'@next/swc-freebsd-x64': 13.1.6
'@next/swc-linux-arm-gnueabihf': 13.1.6
'@next/swc-linux-arm64-gnu': 13.1.6
'@next/swc-linux-arm64-musl': 13.1.6
'@next/swc-linux-x64-gnu': 13.1.6
'@next/swc-linux-x64-musl': 13.1.6
'@next/swc-win32-arm64-msvc': 13.1.6
'@next/swc-win32-ia32-msvc': 13.1.6
'@next/swc-win32-x64-msvc': 13.1.6
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros
dev: false
/next/13.1.6_biqbaboplfbrettd7655fr4n2y:
resolution: {integrity: sha512-hHlbhKPj9pW+Cymvfzc15lvhaOZ54l+8sXDXJWm3OBNBzgrVj6hwGPmqqsXg40xO1Leq+kXpllzRPuncpC0Phw==}
engines: {node: '>=14.6.0'}
hasBin: true
peerDependencies:
fibers: '>= 3.1.0'
node-sass: ^6.0.0 || ^7.0.0
react: ^18.2.0
react-dom: ^18.2.0
sass: ^1.3.0
peerDependenciesMeta:
fibers:
optional: true
node-sass:
optional: true
sass:
optional: true
dependencies:
'@next/env': 13.1.6
'@swc/helpers': 0.4.14
caniuse-lite: 1.0.30001439
postcss: 8.4.14
react: 18.2.0
react-dom: 18.2.0_react@18.2.0
styled-jsx: 5.1.1_react@18.2.0
optionalDependencies:
'@next/swc-android-arm-eabi': 13.1.6
'@next/swc-android-arm64': 13.1.6
'@next/swc-darwin-arm64': 13.1.6
'@next/swc-darwin-x64': 13.1.6
'@next/swc-freebsd-x64': 13.1.6
'@next/swc-linux-arm-gnueabihf': 13.1.6
'@next/swc-linux-arm64-gnu': 13.1.6
'@next/swc-linux-arm64-musl': 13.1.6
'@next/swc-linux-x64-gnu': 13.1.6
'@next/swc-linux-x64-musl': 13.1.6
'@next/swc-win32-arm64-msvc': 13.1.6
'@next/swc-win32-ia32-msvc': 13.1.6
'@next/swc-win32-x64-msvc': 13.1.6
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros

View File

@@ -16,7 +16,10 @@ export const Icons = {
twitter: Twitter,
logo: (props: LucideProps) => (
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" {...props}>
<path d="M11.572 0c-.176 0-.31.001-.358.007a19.76 19.76 0 0 1-.364.033C7.443.346 4.25 2.185 2.228 5.012a11.875 11.875 0 0 0-2.119 5.243c-.096.659-.108.854-.108 1.747s.012 1.089.108 1.748c.652 4.506 3.86 8.292 8.209 9.695.779.25 1.6.422 2.534.525.363.04 1.935.04 2.299 0 1.611-.178 2.977-.577 4.323-1.264.207-.106.247-.134.219-.158-.02-.013-.9-1.193-1.955-2.62l-1.919-2.592-2.404-3.558a338.739 338.739 0 0 0-2.422-3.556c-.009-.002-.018 1.579-.023 3.51-.007 3.38-.01 3.515-.052 3.595a.426.426 0 0 1-.206.214c-.075.037-.14.044-.495.044H7.81l-.108-.068a.438.438 0 0 1-.157-.171l-.05-.106.006-4.703.007-4.705.072-.092a.645.645 0 0 1 .174-.143c.096-.047.134-.051.54-.051.478 0 .558.018.682.154.035.038 1.337 1.999 2.895 4.361a10760.433 10760.433 0 0 0 4.735 7.17l1.9 2.879.096-.063a12.317 12.317 0 0 0 2.466-2.163 11.944 11.944 0 0 0 2.824-6.134c.096-.66.108-.854.108-1.748 0-.893-.012-1.088-.108-1.747-.652-4.506-3.859-8.292-8.208-9.695a12.597 12.597 0 0 0-2.499-.523A33.119 33.119 0 0 0 11.573 0zm4.069 7.217c.347 0 .408.005.486.047a.473.473 0 0 1 .237.277c.018.06.023 1.365.018 4.304l-.006 4.218-.744-1.14-.746-1.14v-3.066c0-1.982.01-3.097.023-3.15a.478.478 0 0 1 .233-.296c.096-.05.13-.054.5-.054z" />
<path
fill="currentColor"
d="M11.572 0c-.176 0-.31.001-.358.007a19.76 19.76 0 0 1-.364.033C7.443.346 4.25 2.185 2.228 5.012a11.875 11.875 0 0 0-2.119 5.243c-.096.659-.108.854-.108 1.747s.012 1.089.108 1.748c.652 4.506 3.86 8.292 8.209 9.695.779.25 1.6.422 2.534.525.363.04 1.935.04 2.299 0 1.611-.178 2.977-.577 4.323-1.264.207-.106.247-.134.219-.158-.02-.013-.9-1.193-1.955-2.62l-1.919-2.592-2.404-3.558a338.739 338.739 0 0 0-2.422-3.556c-.009-.002-.018 1.579-.023 3.51-.007 3.38-.01 3.515-.052 3.595a.426.426 0 0 1-.206.214c-.075.037-.14.044-.495.044H7.81l-.108-.068a.438.438 0 0 1-.157-.171l-.05-.106.006-4.703.007-4.705.072-.092a.645.645 0 0 1 .174-.143c.096-.047.134-.051.54-.051.478 0 .558.018.682.154.035.038 1.337 1.999 2.895 4.361a10760.433 10760.433 0 0 0 4.735 7.17l1.9 2.879.096-.063a12.317 12.317 0 0 0 2.466-2.163 11.944 11.944 0 0 0 2.824-6.134c.096-.66.108-.854.108-1.748 0-.893-.012-1.088-.108-1.747-.652-4.506-3.859-8.292-8.208-9.695a12.597 12.597 0 0 0-2.499-.523A33.119 33.119 0 0 0 11.573 0zm4.069 7.217c.347 0 .408.005.486.047a.473.473 0 0 1 .237.277c.018.06.023 1.365.018 4.304l-.006 4.218-.744-1.14-.746-1.14v-3.066c0-1.982.01-3.097.023-3.15a.478.478 0 0 1 .233-.296c.096-.05.13-.054.5-.054z"
/>
</svg>
),
gitHub: (props: LucideProps) => (

View File

@@ -1,15 +1,15 @@
"use client"
import * as React from "react"
import * as AvatarPrimivite from "@radix-ui/react-avatar"
import * as AvatarPrimitive from "@radix-ui/react-avatar"
import { cn } from "@/lib/utils"
const Avatar = React.forwardRef<
React.ElementRef<typeof AvatarPrimivite.Root>,
React.ComponentPropsWithoutRef<typeof AvatarPrimivite.Root>
React.ElementRef<typeof AvatarPrimitive.Root>,
React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>
>(({ className, ...props }, ref) => (
<AvatarPrimivite.Root
<AvatarPrimitive.Root
ref={ref}
className={cn(
"relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",
@@ -18,25 +18,25 @@ const Avatar = React.forwardRef<
{...props}
/>
))
Avatar.displayName = AvatarPrimivite.Root.displayName
Avatar.displayName = AvatarPrimitive.Root.displayName
const AvatarImage = React.forwardRef<
React.ElementRef<typeof AvatarPrimivite.Image>,
React.ComponentPropsWithoutRef<typeof AvatarPrimivite.Image>
React.ElementRef<typeof AvatarPrimitive.Image>,
React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>
>(({ className, ...props }, ref) => (
<AvatarPrimivite.Image
<AvatarPrimitive.Image
ref={ref}
className={cn("aspect-square h-full w-full", className)}
{...props}
/>
))
AvatarImage.displayName = AvatarPrimivite.Image.displayName
AvatarImage.displayName = AvatarPrimitive.Image.displayName
const AvatarFallback = React.forwardRef<
React.ElementRef<typeof AvatarPrimivite.Fallback>,
React.ComponentPropsWithoutRef<typeof AvatarPrimivite.Fallback>
React.ElementRef<typeof AvatarPrimitive.Fallback>,
React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>
>(({ className, ...props }, ref) => (
<AvatarPrimivite.Fallback
<AvatarPrimitive.Fallback
ref={ref}
className={cn(
"flex h-full w-full items-center justify-center rounded-full bg-slate-100 dark:bg-slate-700",
@@ -45,6 +45,6 @@ const AvatarFallback = React.forwardRef<
{...props}
/>
))
AvatarFallback.displayName = AvatarPrimivite.Fallback.displayName
AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName
export { Avatar, AvatarImage, AvatarFallback }

View File

@@ -1,17 +1,17 @@
"use client"
import * as React from "react"
import * as TabsPrimivite from "@radix-ui/react-tabs"
import * as TabsPrimitive from "@radix-ui/react-tabs"
import { cn } from "@/lib/utils"
const Tabs = TabsPrimivite.Root
const Tabs = TabsPrimitive.Root
const TabsList = React.forwardRef<
React.ElementRef<typeof TabsPrimivite.List>,
React.ComponentPropsWithoutRef<typeof TabsPrimivite.List>
React.ElementRef<typeof TabsPrimitive.List>,
React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>
>(({ className, ...props }, ref) => (
<TabsPrimivite.List
<TabsPrimitive.List
ref={ref}
className={cn(
"inline-flex items-center justify-center rounded-md bg-slate-100 p-1 dark:bg-slate-800",
@@ -20,13 +20,13 @@ const TabsList = React.forwardRef<
{...props}
/>
))
TabsList.displayName = TabsPrimivite.List.displayName
TabsList.displayName = TabsPrimitive.List.displayName
const TabsTrigger = React.forwardRef<
React.ElementRef<typeof TabsPrimivite.Trigger>,
React.ComponentPropsWithoutRef<typeof TabsPrimivite.Trigger>
React.ElementRef<typeof TabsPrimitive.Trigger>,
React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>
>(({ className, ...props }, ref) => (
<TabsPrimivite.Trigger
<TabsPrimitive.Trigger
className={cn(
"inline-flex min-w-[100px] items-center justify-center rounded-[0.185rem] px-3 py-1.5 text-sm font-medium text-slate-700 transition-all disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-white data-[state=active]:text-slate-900 data-[state=active]:shadow-sm dark:text-slate-200 dark:data-[state=active]:bg-slate-900",
className
@@ -35,13 +35,13 @@ const TabsTrigger = React.forwardRef<
ref={ref}
/>
))
TabsTrigger.displayName = TabsPrimivite.Trigger.displayName
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName
const TabsContent = React.forwardRef<
React.ElementRef<typeof TabsPrimivite.Content>,
React.ComponentPropsWithoutRef<typeof TabsPrimivite.Content>
React.ElementRef<typeof TabsPrimitive.Content>,
React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>
>(({ className, ...props }, ref) => (
<TabsPrimivite.Content
<TabsPrimitive.Content
className={cn(
"mt-2 rounded-md border border-slate-200 p-6 dark:border-slate-700",
className
@@ -50,6 +50,6 @@ const TabsContent = React.forwardRef<
ref={ref}
/>
))
TabsContent.displayName = TabsPrimivite.Content.displayName
TabsContent.displayName = TabsPrimitive.Content.displayName
export { Tabs, TabsList, TabsTrigger, TabsContent }

View File

@@ -10,7 +10,7 @@
"preview": "next build && next start"
},
"dependencies": {
"@next/font": "^13.1.5",
"@next/font": "^13.1.6",
"@radix-ui/react-accessible-icon": "^1.0.1",
"@radix-ui/react-accordion": "^1.1.0",
"@radix-ui/react-alert-dialog": "^1.0.2",
@@ -39,7 +39,7 @@
"class-variance-authority": "^0.4.0",
"clsx": "^1.2.1",
"lucide-react": "0.105.0-alpha.4",
"next": "^13.1.5",
"next": "^13.1.6",
"next-themes": "^0.2.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",

View File

@@ -7,6 +7,7 @@ import "@/styles/globals.css"
const fontSans = FontSans({
subsets: ["latin"],
variable: "--font-sans",
display: 'swap',
})
export default function App({ Component, pageProps }: AppProps) {