├── .gitignore ├── app ├── about-us │ └── page.jsx ├── layout.jsx ├── our-team │ ├── [slug] │ │ └── page.jsx │ └── page.jsx └── page.jsx ├── assets └── main.css ├── components ├── Footer.jsx ├── NavLink.jsx ├── Spoiler.jsx └── Testimonial.jsx ├── copyimages.js ├── jsconfig.json ├── next.config.mjs ├── package-lock.json ├── package.json ├── postcss.config.js └── tailwind.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | .next 2 | .DS_Store 3 | out/ 4 | node_modules/ 5 | public/uploads/ -------------------------------------------------------------------------------- /app/about-us/page.jsx: -------------------------------------------------------------------------------- 1 | import { BlocksRenderer } from "@strapi/blocks-react-renderer" 2 | 3 | async function getContent() { 4 | const res = await fetch("http://localhost:1337/api/aboutpage") 5 | const home = await res.json() 6 | return home.data.content 7 | } 8 | 9 | export default async function Page() { 10 | const content = await getContent() 11 | 12 | return ( 13 |
14 | 15 |
16 | ) 17 | } 18 | -------------------------------------------------------------------------------- /app/layout.jsx: -------------------------------------------------------------------------------- 1 | import "../assets/main.css" 2 | import Link from "next/link" 3 | import Footer from "../components/Footer" 4 | import NavLink from "../components/NavLink" 5 | 6 | export const metadata = { 7 | title: "Next.js", 8 | description: "Generated by Next.js" 9 | } 10 | 11 | export default function RootLayout({ children }) { 12 | return ( 13 | 14 | 15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |

Our Cool Project

23 | 36 |
37 |
38 |
{children}
39 |
41 | 42 | 43 | ) 44 | } 45 | -------------------------------------------------------------------------------- /app/our-team/[slug]/page.jsx: -------------------------------------------------------------------------------- 1 | import { BlocksRenderer } from "@strapi/blocks-react-renderer" 2 | import qs from "qs" 3 | import Spoiler from "@/components/Spoiler" 4 | import Testimonial from "@/components/Testimonial" 5 | import Link from "next/link" 6 | 7 | async function fetchTeamMember(slug) { 8 | const ourQuery = qs.stringify({ 9 | filters: { 10 | slug: slug 11 | }, 12 | populate: { 13 | photo: "*", 14 | bodyContent: { 15 | on: { 16 | "features.rich-text": { 17 | populate: "*" 18 | }, 19 | "features.spoiler": { 20 | populate: "*" 21 | }, 22 | "features.testimonial": { 23 | populate: "*" 24 | } 25 | } 26 | } 27 | } 28 | }) 29 | 30 | const membersPromise = await fetch(`http://localhost:1337/api/team-members?${ourQuery}`) 31 | const member = await membersPromise.json() 32 | return member.data[0] 33 | } 34 | 35 | function OurRenderer(item, index) { 36 | if (item.__component === "features.testimonial") { 37 | return 38 | } 39 | 40 | if (item.__component === "features.spoiler") { 41 | return 42 | } 43 | 44 | if (item.__component === "features.rich-text") { 45 | return 46 | } 47 | } 48 | 49 | export async function generateStaticParams() { 50 | const membersPromise = await fetch("http://localhost:1337/api/team-members?populate=*") 51 | const members = await membersPromise.json() 52 | return members.data.map(member => { 53 | return { 54 | slug: member.slug 55 | } 56 | }) 57 | } 58 | 59 | export default async function Page({ params }) { 60 | const member = await fetchTeamMember(params.slug) 61 | console.log(member) 62 | 63 | return ( 64 |
65 |
66 |

{member.name}

67 | 71 |
72 |
73 | 74 |
75 | 76 | « Back to all team members 77 | 78 |
79 | 80 |
{member.bodyContent.map((item, index) => OurRenderer(item, index))}
81 |
82 | ) 83 | } 84 | -------------------------------------------------------------------------------- /app/our-team/page.jsx: -------------------------------------------------------------------------------- 1 | import Link from "next/link" 2 | 3 | async function getAllTeamMembers() { 4 | const membersPromise = await fetch("http://localhost:1337/api/team-members?populate=*") 5 | const members = await membersPromise.json() 6 | return members.data 7 | } 8 | 9 | export default async function Page() { 10 | const members = await getAllTeamMembers() 11 | 12 | return ( 13 |
14 |

Our Team

15 |
16 | {members.map(member => { 17 | return ( 18 | 23 |
24 | 28 |
29 | 30 |
31 |

{member.name}

32 |

{member.description}

33 |
34 | 35 | ) 36 | })} 37 |
38 |
39 | ) 40 | } 41 | -------------------------------------------------------------------------------- /app/page.jsx: -------------------------------------------------------------------------------- 1 | import { BlocksRenderer } from "@strapi/blocks-react-renderer" 2 | 3 | async function getContent() { 4 | const res = await fetch("http://localhost:1337/api/homepage") 5 | const home = await res.json() 6 | return home.data.content 7 | } 8 | 9 | export default async function Page() { 10 | const content = await getContent() 11 | 12 | return ( 13 |
14 | 15 |
16 | ) 17 | } 18 | -------------------------------------------------------------------------------- /assets/main.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | .circle-one { 6 | animation: move1 10s linear infinite; 7 | } 8 | 9 | .circle-two { 10 | animation: move2 10s linear infinite; 11 | } 12 | 13 | @keyframes move1 { 14 | 0% { 15 | transform: translate(0, 0) scale(1); 16 | } 17 | 25% { 18 | transform: translate(200px, 200px) scale(1); 19 | } 20 | 50% { 21 | transform: translate(100px, 400px) scale(1.2); 22 | } 23 | 75% { 24 | transform: translate(-100px, -200px) scale(1.1); 25 | } 26 | 100% { 27 | transform: translate(0, 0) scale(1); 28 | } 29 | } 30 | 31 | @keyframes move2 { 32 | 0% { 33 | transform: translate(0, 0) scale(1); 34 | } 35 | 25% { 36 | transform: translate(-30px, -300px) scale(1); 37 | } 38 | 50% { 39 | transform: translate(-200px, -100px) scale(1.2); 40 | } 41 | 75% { 42 | transform: translate(30px, 70px) scale(1.1); 43 | } 44 | 100% { 45 | transform: translate(0, 0) scale(1); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /components/Footer.jsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import { useState } from "react" 4 | 5 | export default function Footer() { 6 | const [count, setCount] = useState(0) 7 | 8 | function handleClick() { 9 | setCount(prev => prev + 1) 10 | } 11 | 12 | return ( 13 |
14 |
15 |

© {new Date().getFullYear()} Our Company.

16 |

17 | You have clicked the following button {count} times. 18 |

19 |
20 |
21 | ) 22 | } 23 | -------------------------------------------------------------------------------- /components/NavLink.jsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import Link from "next/link" 4 | import { usePathname } from "next/navigation" 5 | 6 | export default function NavLink(props) { 7 | const pathname = usePathname() 8 | const active = pathname === props.path 9 | 10 | return ( 11 | 12 | {props.text} 13 | 14 | ) 15 | } 16 | -------------------------------------------------------------------------------- /components/Spoiler.jsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | import { useState } from "react" 3 | 4 | export default function Spoiler(props) { 5 | const [showSpoiler, setShowSpoiler] = useState(false) 6 | 7 | function handleClick() { 8 | setShowSpoiler(prev => !prev) 9 | } 10 | 11 | return ( 12 |
13 | {!showSpoiler && ( 14 | 20 | )} 21 | {showSpoiler && ( 22 | 32 | )} 33 |
{props.data.actualSpoiler}
34 |
35 | ) 36 | } 37 | -------------------------------------------------------------------------------- /components/Testimonial.jsx: -------------------------------------------------------------------------------- 1 | export default function Testimonial(props) { 2 | return ( 3 |
4 |

“{props.data.quote}”

5 |
6 | {props.data.authorName} 7 |

8 | {props.data.authorName} 9 |

10 |
11 |
12 | ) 13 | } 14 | -------------------------------------------------------------------------------- /copyimages.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs-extra") 2 | 3 | async function copyFolder(source, target) { 4 | try { 5 | await fs.remove(target) 6 | await fs.copy(source, target) 7 | } catch (err) { 8 | console.error(err) 9 | } 10 | } 11 | 12 | const sourceDir = "/Users/brad/Desktop/our-backend/public/uploads" 13 | const targetDir = "/Users/brad/Desktop/our-project/public/uploads" 14 | 15 | copyFolder(sourceDir, targetDir) 16 | -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "paths": { 4 | "@/*": ["./*"] 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | output: "export", 3 | trailingSlash: true 4 | } 5 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "our-project", 3 | "version": "1.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "our-project", 9 | "version": "1.0.0", 10 | "license": "ISC", 11 | "dependencies": { 12 | "@strapi/blocks-react-renderer": "^1.0.1", 13 | "@tailwindcss/typography": "^0.5.14", 14 | "fs-extra": "^11.2.0", 15 | "husky": "^9.1.4", 16 | "next": "^14.2.5", 17 | "qs": "^6.13.0", 18 | "react": "^18.3.1", 19 | "react-dom": "^18.3.1" 20 | }, 21 | "devDependencies": { 22 | "autoprefixer": "^10.4.20", 23 | "postcss": "^8.4.41", 24 | "tailwindcss": "^3.4.7" 25 | } 26 | }, 27 | "node_modules/@alloc/quick-lru": { 28 | "version": "5.2.0", 29 | "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", 30 | "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", 31 | "engines": { 32 | "node": ">=10" 33 | }, 34 | "funding": { 35 | "url": "https://github.com/sponsors/sindresorhus" 36 | } 37 | }, 38 | "node_modules/@isaacs/cliui": { 39 | "version": "8.0.2", 40 | "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", 41 | "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", 42 | "dependencies": { 43 | "string-width": "^5.1.2", 44 | "string-width-cjs": "npm:string-width@^4.2.0", 45 | "strip-ansi": "^7.0.1", 46 | "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", 47 | "wrap-ansi": "^8.1.0", 48 | "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" 49 | }, 50 | "engines": { 51 | "node": ">=12" 52 | } 53 | }, 54 | "node_modules/@jridgewell/gen-mapping": { 55 | "version": "0.3.5", 56 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", 57 | "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", 58 | "dependencies": { 59 | "@jridgewell/set-array": "^1.2.1", 60 | "@jridgewell/sourcemap-codec": "^1.4.10", 61 | "@jridgewell/trace-mapping": "^0.3.24" 62 | }, 63 | "engines": { 64 | "node": ">=6.0.0" 65 | } 66 | }, 67 | "node_modules/@jridgewell/resolve-uri": { 68 | "version": "3.1.2", 69 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 70 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 71 | "engines": { 72 | "node": ">=6.0.0" 73 | } 74 | }, 75 | "node_modules/@jridgewell/set-array": { 76 | "version": "1.2.1", 77 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", 78 | "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", 79 | "engines": { 80 | "node": ">=6.0.0" 81 | } 82 | }, 83 | "node_modules/@jridgewell/sourcemap-codec": { 84 | "version": "1.5.0", 85 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", 86 | "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" 87 | }, 88 | "node_modules/@jridgewell/trace-mapping": { 89 | "version": "0.3.25", 90 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", 91 | "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", 92 | "dependencies": { 93 | "@jridgewell/resolve-uri": "^3.1.0", 94 | "@jridgewell/sourcemap-codec": "^1.4.14" 95 | } 96 | }, 97 | "node_modules/@next/env": { 98 | "version": "14.2.5", 99 | "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.5.tgz", 100 | "integrity": "sha512-/zZGkrTOsraVfYjGP8uM0p6r0BDT6xWpkjdVbcz66PJVSpwXX3yNiRycxAuDfBKGWBrZBXRuK/YVlkNgxHGwmA==" 101 | }, 102 | "node_modules/@next/swc-darwin-arm64": { 103 | "version": "14.2.5", 104 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.5.tgz", 105 | "integrity": "sha512-/9zVxJ+K9lrzSGli1///ujyRfon/ZneeZ+v4ptpiPoOU+GKZnm8Wj8ELWU1Pm7GHltYRBklmXMTUqM/DqQ99FQ==", 106 | "cpu": [ 107 | "arm64" 108 | ], 109 | "optional": true, 110 | "os": [ 111 | "darwin" 112 | ], 113 | "engines": { 114 | "node": ">= 10" 115 | } 116 | }, 117 | "node_modules/@next/swc-darwin-x64": { 118 | "version": "14.2.5", 119 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.5.tgz", 120 | "integrity": "sha512-vXHOPCwfDe9qLDuq7U1OYM2wUY+KQ4Ex6ozwsKxp26BlJ6XXbHleOUldenM67JRyBfVjv371oneEvYd3H2gNSA==", 121 | "cpu": [ 122 | "x64" 123 | ], 124 | "optional": true, 125 | "os": [ 126 | "darwin" 127 | ], 128 | "engines": { 129 | "node": ">= 10" 130 | } 131 | }, 132 | "node_modules/@next/swc-linux-arm64-gnu": { 133 | "version": "14.2.5", 134 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.5.tgz", 135 | "integrity": "sha512-vlhB8wI+lj8q1ExFW8lbWutA4M2ZazQNvMWuEDqZcuJJc78iUnLdPPunBPX8rC4IgT6lIx/adB+Cwrl99MzNaA==", 136 | "cpu": [ 137 | "arm64" 138 | ], 139 | "optional": true, 140 | "os": [ 141 | "linux" 142 | ], 143 | "engines": { 144 | "node": ">= 10" 145 | } 146 | }, 147 | "node_modules/@next/swc-linux-arm64-musl": { 148 | "version": "14.2.5", 149 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.5.tgz", 150 | "integrity": "sha512-NpDB9NUR2t0hXzJJwQSGu1IAOYybsfeB+LxpGsXrRIb7QOrYmidJz3shzY8cM6+rO4Aojuef0N/PEaX18pi9OA==", 151 | "cpu": [ 152 | "arm64" 153 | ], 154 | "optional": true, 155 | "os": [ 156 | "linux" 157 | ], 158 | "engines": { 159 | "node": ">= 10" 160 | } 161 | }, 162 | "node_modules/@next/swc-linux-x64-gnu": { 163 | "version": "14.2.5", 164 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.5.tgz", 165 | "integrity": "sha512-8XFikMSxWleYNryWIjiCX+gU201YS+erTUidKdyOVYi5qUQo/gRxv/3N1oZFCgqpesN6FPeqGM72Zve+nReVXQ==", 166 | "cpu": [ 167 | "x64" 168 | ], 169 | "optional": true, 170 | "os": [ 171 | "linux" 172 | ], 173 | "engines": { 174 | "node": ">= 10" 175 | } 176 | }, 177 | "node_modules/@next/swc-linux-x64-musl": { 178 | "version": "14.2.5", 179 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.5.tgz", 180 | "integrity": "sha512-6QLwi7RaYiQDcRDSU/os40r5o06b5ue7Jsk5JgdRBGGp8l37RZEh9JsLSM8QF0YDsgcosSeHjglgqi25+m04IQ==", 181 | "cpu": [ 182 | "x64" 183 | ], 184 | "optional": true, 185 | "os": [ 186 | "linux" 187 | ], 188 | "engines": { 189 | "node": ">= 10" 190 | } 191 | }, 192 | "node_modules/@next/swc-win32-arm64-msvc": { 193 | "version": "14.2.5", 194 | "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.5.tgz", 195 | "integrity": "sha512-1GpG2VhbspO+aYoMOQPQiqc/tG3LzmsdBH0LhnDS3JrtDx2QmzXe0B6mSZZiN3Bq7IOMXxv1nlsjzoS1+9mzZw==", 196 | "cpu": [ 197 | "arm64" 198 | ], 199 | "optional": true, 200 | "os": [ 201 | "win32" 202 | ], 203 | "engines": { 204 | "node": ">= 10" 205 | } 206 | }, 207 | "node_modules/@next/swc-win32-ia32-msvc": { 208 | "version": "14.2.5", 209 | "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.5.tgz", 210 | "integrity": "sha512-Igh9ZlxwvCDsu6438FXlQTHlRno4gFpJzqPjSIBZooD22tKeI4fE/YMRoHVJHmrQ2P5YL1DoZ0qaOKkbeFWeMg==", 211 | "cpu": [ 212 | "ia32" 213 | ], 214 | "optional": true, 215 | "os": [ 216 | "win32" 217 | ], 218 | "engines": { 219 | "node": ">= 10" 220 | } 221 | }, 222 | "node_modules/@next/swc-win32-x64-msvc": { 223 | "version": "14.2.5", 224 | "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.5.tgz", 225 | "integrity": "sha512-tEQ7oinq1/CjSG9uSTerca3v4AZ+dFa+4Yu6ihaG8Ud8ddqLQgFGcnwYls13H5X5CPDPZJdYxyeMui6muOLd4g==", 226 | "cpu": [ 227 | "x64" 228 | ], 229 | "optional": true, 230 | "os": [ 231 | "win32" 232 | ], 233 | "engines": { 234 | "node": ">= 10" 235 | } 236 | }, 237 | "node_modules/@nodelib/fs.scandir": { 238 | "version": "2.1.5", 239 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 240 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 241 | "dependencies": { 242 | "@nodelib/fs.stat": "2.0.5", 243 | "run-parallel": "^1.1.9" 244 | }, 245 | "engines": { 246 | "node": ">= 8" 247 | } 248 | }, 249 | "node_modules/@nodelib/fs.stat": { 250 | "version": "2.0.5", 251 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 252 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 253 | "engines": { 254 | "node": ">= 8" 255 | } 256 | }, 257 | "node_modules/@nodelib/fs.walk": { 258 | "version": "1.2.8", 259 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 260 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 261 | "dependencies": { 262 | "@nodelib/fs.scandir": "2.1.5", 263 | "fastq": "^1.6.0" 264 | }, 265 | "engines": { 266 | "node": ">= 8" 267 | } 268 | }, 269 | "node_modules/@pkgjs/parseargs": { 270 | "version": "0.11.0", 271 | "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", 272 | "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", 273 | "optional": true, 274 | "engines": { 275 | "node": ">=14" 276 | } 277 | }, 278 | "node_modules/@strapi/blocks-react-renderer": { 279 | "version": "1.0.1", 280 | "resolved": "https://registry.npmjs.org/@strapi/blocks-react-renderer/-/blocks-react-renderer-1.0.1.tgz", 281 | "integrity": "sha512-oHQNYstM/361oJIKrj6wDFZhDWHg8M8sF7SszqWr8zH2EaoL36ccLq7F2XFWShYQshuKgY+V6axurDaxWo4jQA==", 282 | "hasInstallScript": true, 283 | "peerDependencies": { 284 | "react": "^18.0.0", 285 | "react-dom": "^18.0.0" 286 | } 287 | }, 288 | "node_modules/@swc/counter": { 289 | "version": "0.1.3", 290 | "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", 291 | "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==" 292 | }, 293 | "node_modules/@swc/helpers": { 294 | "version": "0.5.5", 295 | "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", 296 | "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", 297 | "dependencies": { 298 | "@swc/counter": "^0.1.3", 299 | "tslib": "^2.4.0" 300 | } 301 | }, 302 | "node_modules/@tailwindcss/typography": { 303 | "version": "0.5.14", 304 | "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.14.tgz", 305 | "integrity": "sha512-ZvOCjUbsJBjL9CxQBn+VEnFpouzuKhxh2dH8xMIWHILL+HfOYtlAkWcyoon8LlzE53d2Yo6YO6pahKKNW3q1YQ==", 306 | "dependencies": { 307 | "lodash.castarray": "^4.4.0", 308 | "lodash.isplainobject": "^4.0.6", 309 | "lodash.merge": "^4.6.2", 310 | "postcss-selector-parser": "6.0.10" 311 | }, 312 | "peerDependencies": { 313 | "tailwindcss": ">=3.0.0 || insiders" 314 | } 315 | }, 316 | "node_modules/@tailwindcss/typography/node_modules/postcss-selector-parser": { 317 | "version": "6.0.10", 318 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", 319 | "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", 320 | "dependencies": { 321 | "cssesc": "^3.0.0", 322 | "util-deprecate": "^1.0.2" 323 | }, 324 | "engines": { 325 | "node": ">=4" 326 | } 327 | }, 328 | "node_modules/ansi-regex": { 329 | "version": "6.0.1", 330 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", 331 | "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", 332 | "engines": { 333 | "node": ">=12" 334 | }, 335 | "funding": { 336 | "url": "https://github.com/chalk/ansi-regex?sponsor=1" 337 | } 338 | }, 339 | "node_modules/ansi-styles": { 340 | "version": "6.2.1", 341 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 342 | "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 343 | "engines": { 344 | "node": ">=12" 345 | }, 346 | "funding": { 347 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 348 | } 349 | }, 350 | "node_modules/any-promise": { 351 | "version": "1.3.0", 352 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 353 | "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" 354 | }, 355 | "node_modules/anymatch": { 356 | "version": "3.1.3", 357 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 358 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 359 | "dependencies": { 360 | "normalize-path": "^3.0.0", 361 | "picomatch": "^2.0.4" 362 | }, 363 | "engines": { 364 | "node": ">= 8" 365 | } 366 | }, 367 | "node_modules/arg": { 368 | "version": "5.0.2", 369 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 370 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" 371 | }, 372 | "node_modules/autoprefixer": { 373 | "version": "10.4.20", 374 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", 375 | "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", 376 | "dev": true, 377 | "funding": [ 378 | { 379 | "type": "opencollective", 380 | "url": "https://opencollective.com/postcss/" 381 | }, 382 | { 383 | "type": "tidelift", 384 | "url": "https://tidelift.com/funding/github/npm/autoprefixer" 385 | }, 386 | { 387 | "type": "github", 388 | "url": "https://github.com/sponsors/ai" 389 | } 390 | ], 391 | "dependencies": { 392 | "browserslist": "^4.23.3", 393 | "caniuse-lite": "^1.0.30001646", 394 | "fraction.js": "^4.3.7", 395 | "normalize-range": "^0.1.2", 396 | "picocolors": "^1.0.1", 397 | "postcss-value-parser": "^4.2.0" 398 | }, 399 | "bin": { 400 | "autoprefixer": "bin/autoprefixer" 401 | }, 402 | "engines": { 403 | "node": "^10 || ^12 || >=14" 404 | }, 405 | "peerDependencies": { 406 | "postcss": "^8.1.0" 407 | } 408 | }, 409 | "node_modules/balanced-match": { 410 | "version": "1.0.2", 411 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 412 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" 413 | }, 414 | "node_modules/binary-extensions": { 415 | "version": "2.3.0", 416 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", 417 | "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", 418 | "engines": { 419 | "node": ">=8" 420 | }, 421 | "funding": { 422 | "url": "https://github.com/sponsors/sindresorhus" 423 | } 424 | }, 425 | "node_modules/brace-expansion": { 426 | "version": "2.0.1", 427 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 428 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 429 | "dependencies": { 430 | "balanced-match": "^1.0.0" 431 | } 432 | }, 433 | "node_modules/braces": { 434 | "version": "3.0.3", 435 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 436 | "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 437 | "dependencies": { 438 | "fill-range": "^7.1.1" 439 | }, 440 | "engines": { 441 | "node": ">=8" 442 | } 443 | }, 444 | "node_modules/browserslist": { 445 | "version": "4.23.3", 446 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", 447 | "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", 448 | "dev": true, 449 | "funding": [ 450 | { 451 | "type": "opencollective", 452 | "url": "https://opencollective.com/browserslist" 453 | }, 454 | { 455 | "type": "tidelift", 456 | "url": "https://tidelift.com/funding/github/npm/browserslist" 457 | }, 458 | { 459 | "type": "github", 460 | "url": "https://github.com/sponsors/ai" 461 | } 462 | ], 463 | "dependencies": { 464 | "caniuse-lite": "^1.0.30001646", 465 | "electron-to-chromium": "^1.5.4", 466 | "node-releases": "^2.0.18", 467 | "update-browserslist-db": "^1.1.0" 468 | }, 469 | "bin": { 470 | "browserslist": "cli.js" 471 | }, 472 | "engines": { 473 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 474 | } 475 | }, 476 | "node_modules/busboy": { 477 | "version": "1.6.0", 478 | "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", 479 | "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", 480 | "dependencies": { 481 | "streamsearch": "^1.1.0" 482 | }, 483 | "engines": { 484 | "node": ">=10.16.0" 485 | } 486 | }, 487 | "node_modules/call-bind": { 488 | "version": "1.0.7", 489 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", 490 | "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", 491 | "dependencies": { 492 | "es-define-property": "^1.0.0", 493 | "es-errors": "^1.3.0", 494 | "function-bind": "^1.1.2", 495 | "get-intrinsic": "^1.2.4", 496 | "set-function-length": "^1.2.1" 497 | }, 498 | "engines": { 499 | "node": ">= 0.4" 500 | }, 501 | "funding": { 502 | "url": "https://github.com/sponsors/ljharb" 503 | } 504 | }, 505 | "node_modules/camelcase-css": { 506 | "version": "2.0.1", 507 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 508 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 509 | "engines": { 510 | "node": ">= 6" 511 | } 512 | }, 513 | "node_modules/caniuse-lite": { 514 | "version": "1.0.30001649", 515 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001649.tgz", 516 | "integrity": "sha512-fJegqZZ0ZX8HOWr6rcafGr72+xcgJKI9oWfDW5DrD7ExUtgZC7a7R7ZYmZqplh7XDocFdGeIFn7roAxhOeYrPQ==", 517 | "funding": [ 518 | { 519 | "type": "opencollective", 520 | "url": "https://opencollective.com/browserslist" 521 | }, 522 | { 523 | "type": "tidelift", 524 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 525 | }, 526 | { 527 | "type": "github", 528 | "url": "https://github.com/sponsors/ai" 529 | } 530 | ] 531 | }, 532 | "node_modules/chokidar": { 533 | "version": "3.6.0", 534 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", 535 | "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", 536 | "dependencies": { 537 | "anymatch": "~3.1.2", 538 | "braces": "~3.0.2", 539 | "glob-parent": "~5.1.2", 540 | "is-binary-path": "~2.1.0", 541 | "is-glob": "~4.0.1", 542 | "normalize-path": "~3.0.0", 543 | "readdirp": "~3.6.0" 544 | }, 545 | "engines": { 546 | "node": ">= 8.10.0" 547 | }, 548 | "funding": { 549 | "url": "https://paulmillr.com/funding/" 550 | }, 551 | "optionalDependencies": { 552 | "fsevents": "~2.3.2" 553 | } 554 | }, 555 | "node_modules/chokidar/node_modules/glob-parent": { 556 | "version": "5.1.2", 557 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 558 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 559 | "dependencies": { 560 | "is-glob": "^4.0.1" 561 | }, 562 | "engines": { 563 | "node": ">= 6" 564 | } 565 | }, 566 | "node_modules/client-only": { 567 | "version": "0.0.1", 568 | "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", 569 | "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" 570 | }, 571 | "node_modules/color-convert": { 572 | "version": "2.0.1", 573 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 574 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 575 | "dependencies": { 576 | "color-name": "~1.1.4" 577 | }, 578 | "engines": { 579 | "node": ">=7.0.0" 580 | } 581 | }, 582 | "node_modules/color-name": { 583 | "version": "1.1.4", 584 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 585 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 586 | }, 587 | "node_modules/commander": { 588 | "version": "4.1.1", 589 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 590 | "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 591 | "engines": { 592 | "node": ">= 6" 593 | } 594 | }, 595 | "node_modules/cross-spawn": { 596 | "version": "7.0.3", 597 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 598 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 599 | "dependencies": { 600 | "path-key": "^3.1.0", 601 | "shebang-command": "^2.0.0", 602 | "which": "^2.0.1" 603 | }, 604 | "engines": { 605 | "node": ">= 8" 606 | } 607 | }, 608 | "node_modules/cssesc": { 609 | "version": "3.0.0", 610 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 611 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 612 | "bin": { 613 | "cssesc": "bin/cssesc" 614 | }, 615 | "engines": { 616 | "node": ">=4" 617 | } 618 | }, 619 | "node_modules/define-data-property": { 620 | "version": "1.1.4", 621 | "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", 622 | "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", 623 | "dependencies": { 624 | "es-define-property": "^1.0.0", 625 | "es-errors": "^1.3.0", 626 | "gopd": "^1.0.1" 627 | }, 628 | "engines": { 629 | "node": ">= 0.4" 630 | }, 631 | "funding": { 632 | "url": "https://github.com/sponsors/ljharb" 633 | } 634 | }, 635 | "node_modules/didyoumean": { 636 | "version": "1.2.2", 637 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 638 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" 639 | }, 640 | "node_modules/dlv": { 641 | "version": "1.1.3", 642 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 643 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" 644 | }, 645 | "node_modules/eastasianwidth": { 646 | "version": "0.2.0", 647 | "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", 648 | "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" 649 | }, 650 | "node_modules/electron-to-chromium": { 651 | "version": "1.5.5", 652 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.5.tgz", 653 | "integrity": "sha512-QR7/A7ZkMS8tZuoftC/jfqNkZLQO779SSW3YuZHP4eXpj3EffGLFcB/Xu9AAZQzLccTiCV+EmUo3ha4mQ9wnlA==", 654 | "dev": true 655 | }, 656 | "node_modules/emoji-regex": { 657 | "version": "9.2.2", 658 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 659 | "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" 660 | }, 661 | "node_modules/es-define-property": { 662 | "version": "1.0.0", 663 | "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", 664 | "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", 665 | "dependencies": { 666 | "get-intrinsic": "^1.2.4" 667 | }, 668 | "engines": { 669 | "node": ">= 0.4" 670 | } 671 | }, 672 | "node_modules/es-errors": { 673 | "version": "1.3.0", 674 | "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", 675 | "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", 676 | "engines": { 677 | "node": ">= 0.4" 678 | } 679 | }, 680 | "node_modules/escalade": { 681 | "version": "3.1.2", 682 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", 683 | "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", 684 | "dev": true, 685 | "engines": { 686 | "node": ">=6" 687 | } 688 | }, 689 | "node_modules/fast-glob": { 690 | "version": "3.3.2", 691 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", 692 | "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", 693 | "dependencies": { 694 | "@nodelib/fs.stat": "^2.0.2", 695 | "@nodelib/fs.walk": "^1.2.3", 696 | "glob-parent": "^5.1.2", 697 | "merge2": "^1.3.0", 698 | "micromatch": "^4.0.4" 699 | }, 700 | "engines": { 701 | "node": ">=8.6.0" 702 | } 703 | }, 704 | "node_modules/fast-glob/node_modules/glob-parent": { 705 | "version": "5.1.2", 706 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 707 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 708 | "dependencies": { 709 | "is-glob": "^4.0.1" 710 | }, 711 | "engines": { 712 | "node": ">= 6" 713 | } 714 | }, 715 | "node_modules/fastq": { 716 | "version": "1.17.1", 717 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", 718 | "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", 719 | "dependencies": { 720 | "reusify": "^1.0.4" 721 | } 722 | }, 723 | "node_modules/fill-range": { 724 | "version": "7.1.1", 725 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 726 | "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 727 | "dependencies": { 728 | "to-regex-range": "^5.0.1" 729 | }, 730 | "engines": { 731 | "node": ">=8" 732 | } 733 | }, 734 | "node_modules/foreground-child": { 735 | "version": "3.2.1", 736 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", 737 | "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", 738 | "dependencies": { 739 | "cross-spawn": "^7.0.0", 740 | "signal-exit": "^4.0.1" 741 | }, 742 | "engines": { 743 | "node": ">=14" 744 | }, 745 | "funding": { 746 | "url": "https://github.com/sponsors/isaacs" 747 | } 748 | }, 749 | "node_modules/fraction.js": { 750 | "version": "4.3.7", 751 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", 752 | "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", 753 | "dev": true, 754 | "engines": { 755 | "node": "*" 756 | }, 757 | "funding": { 758 | "type": "patreon", 759 | "url": "https://github.com/sponsors/rawify" 760 | } 761 | }, 762 | "node_modules/fs-extra": { 763 | "version": "11.2.0", 764 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", 765 | "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", 766 | "dependencies": { 767 | "graceful-fs": "^4.2.0", 768 | "jsonfile": "^6.0.1", 769 | "universalify": "^2.0.0" 770 | }, 771 | "engines": { 772 | "node": ">=14.14" 773 | } 774 | }, 775 | "node_modules/fsevents": { 776 | "version": "2.3.3", 777 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 778 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 779 | "hasInstallScript": true, 780 | "optional": true, 781 | "os": [ 782 | "darwin" 783 | ], 784 | "engines": { 785 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 786 | } 787 | }, 788 | "node_modules/function-bind": { 789 | "version": "1.1.2", 790 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 791 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 792 | "funding": { 793 | "url": "https://github.com/sponsors/ljharb" 794 | } 795 | }, 796 | "node_modules/get-intrinsic": { 797 | "version": "1.2.4", 798 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", 799 | "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", 800 | "dependencies": { 801 | "es-errors": "^1.3.0", 802 | "function-bind": "^1.1.2", 803 | "has-proto": "^1.0.1", 804 | "has-symbols": "^1.0.3", 805 | "hasown": "^2.0.0" 806 | }, 807 | "engines": { 808 | "node": ">= 0.4" 809 | }, 810 | "funding": { 811 | "url": "https://github.com/sponsors/ljharb" 812 | } 813 | }, 814 | "node_modules/glob": { 815 | "version": "10.4.5", 816 | "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", 817 | "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", 818 | "dependencies": { 819 | "foreground-child": "^3.1.0", 820 | "jackspeak": "^3.1.2", 821 | "minimatch": "^9.0.4", 822 | "minipass": "^7.1.2", 823 | "package-json-from-dist": "^1.0.0", 824 | "path-scurry": "^1.11.1" 825 | }, 826 | "bin": { 827 | "glob": "dist/esm/bin.mjs" 828 | }, 829 | "funding": { 830 | "url": "https://github.com/sponsors/isaacs" 831 | } 832 | }, 833 | "node_modules/glob-parent": { 834 | "version": "6.0.2", 835 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 836 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 837 | "dependencies": { 838 | "is-glob": "^4.0.3" 839 | }, 840 | "engines": { 841 | "node": ">=10.13.0" 842 | } 843 | }, 844 | "node_modules/gopd": { 845 | "version": "1.0.1", 846 | "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", 847 | "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", 848 | "dependencies": { 849 | "get-intrinsic": "^1.1.3" 850 | }, 851 | "funding": { 852 | "url": "https://github.com/sponsors/ljharb" 853 | } 854 | }, 855 | "node_modules/graceful-fs": { 856 | "version": "4.2.11", 857 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 858 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" 859 | }, 860 | "node_modules/has-property-descriptors": { 861 | "version": "1.0.2", 862 | "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", 863 | "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", 864 | "dependencies": { 865 | "es-define-property": "^1.0.0" 866 | }, 867 | "funding": { 868 | "url": "https://github.com/sponsors/ljharb" 869 | } 870 | }, 871 | "node_modules/has-proto": { 872 | "version": "1.0.3", 873 | "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", 874 | "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", 875 | "engines": { 876 | "node": ">= 0.4" 877 | }, 878 | "funding": { 879 | "url": "https://github.com/sponsors/ljharb" 880 | } 881 | }, 882 | "node_modules/has-symbols": { 883 | "version": "1.0.3", 884 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 885 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", 886 | "engines": { 887 | "node": ">= 0.4" 888 | }, 889 | "funding": { 890 | "url": "https://github.com/sponsors/ljharb" 891 | } 892 | }, 893 | "node_modules/hasown": { 894 | "version": "2.0.2", 895 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 896 | "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 897 | "dependencies": { 898 | "function-bind": "^1.1.2" 899 | }, 900 | "engines": { 901 | "node": ">= 0.4" 902 | } 903 | }, 904 | "node_modules/husky": { 905 | "version": "9.1.4", 906 | "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.4.tgz", 907 | "integrity": "sha512-bho94YyReb4JV7LYWRWxZ/xr6TtOTt8cMfmQ39MQYJ7f/YE268s3GdghGwi+y4zAeqewE5zYLvuhV0M0ijsDEA==", 908 | "bin": { 909 | "husky": "bin.js" 910 | }, 911 | "engines": { 912 | "node": ">=18" 913 | }, 914 | "funding": { 915 | "url": "https://github.com/sponsors/typicode" 916 | } 917 | }, 918 | "node_modules/is-binary-path": { 919 | "version": "2.1.0", 920 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 921 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 922 | "dependencies": { 923 | "binary-extensions": "^2.0.0" 924 | }, 925 | "engines": { 926 | "node": ">=8" 927 | } 928 | }, 929 | "node_modules/is-core-module": { 930 | "version": "2.15.0", 931 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", 932 | "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", 933 | "dependencies": { 934 | "hasown": "^2.0.2" 935 | }, 936 | "engines": { 937 | "node": ">= 0.4" 938 | }, 939 | "funding": { 940 | "url": "https://github.com/sponsors/ljharb" 941 | } 942 | }, 943 | "node_modules/is-extglob": { 944 | "version": "2.1.1", 945 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 946 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 947 | "engines": { 948 | "node": ">=0.10.0" 949 | } 950 | }, 951 | "node_modules/is-fullwidth-code-point": { 952 | "version": "3.0.0", 953 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 954 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 955 | "engines": { 956 | "node": ">=8" 957 | } 958 | }, 959 | "node_modules/is-glob": { 960 | "version": "4.0.3", 961 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 962 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 963 | "dependencies": { 964 | "is-extglob": "^2.1.1" 965 | }, 966 | "engines": { 967 | "node": ">=0.10.0" 968 | } 969 | }, 970 | "node_modules/is-number": { 971 | "version": "7.0.0", 972 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 973 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 974 | "engines": { 975 | "node": ">=0.12.0" 976 | } 977 | }, 978 | "node_modules/isexe": { 979 | "version": "2.0.0", 980 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 981 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" 982 | }, 983 | "node_modules/jackspeak": { 984 | "version": "3.4.3", 985 | "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", 986 | "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", 987 | "dependencies": { 988 | "@isaacs/cliui": "^8.0.2" 989 | }, 990 | "funding": { 991 | "url": "https://github.com/sponsors/isaacs" 992 | }, 993 | "optionalDependencies": { 994 | "@pkgjs/parseargs": "^0.11.0" 995 | } 996 | }, 997 | "node_modules/jiti": { 998 | "version": "1.21.6", 999 | "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", 1000 | "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", 1001 | "bin": { 1002 | "jiti": "bin/jiti.js" 1003 | } 1004 | }, 1005 | "node_modules/js-tokens": { 1006 | "version": "4.0.0", 1007 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1008 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 1009 | }, 1010 | "node_modules/jsonfile": { 1011 | "version": "6.1.0", 1012 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", 1013 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", 1014 | "dependencies": { 1015 | "universalify": "^2.0.0" 1016 | }, 1017 | "optionalDependencies": { 1018 | "graceful-fs": "^4.1.6" 1019 | } 1020 | }, 1021 | "node_modules/lilconfig": { 1022 | "version": "2.1.0", 1023 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", 1024 | "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", 1025 | "engines": { 1026 | "node": ">=10" 1027 | } 1028 | }, 1029 | "node_modules/lines-and-columns": { 1030 | "version": "1.2.4", 1031 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 1032 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" 1033 | }, 1034 | "node_modules/lodash.castarray": { 1035 | "version": "4.4.0", 1036 | "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", 1037 | "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==" 1038 | }, 1039 | "node_modules/lodash.isplainobject": { 1040 | "version": "4.0.6", 1041 | "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", 1042 | "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" 1043 | }, 1044 | "node_modules/lodash.merge": { 1045 | "version": "4.6.2", 1046 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 1047 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" 1048 | }, 1049 | "node_modules/loose-envify": { 1050 | "version": "1.4.0", 1051 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 1052 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 1053 | "dependencies": { 1054 | "js-tokens": "^3.0.0 || ^4.0.0" 1055 | }, 1056 | "bin": { 1057 | "loose-envify": "cli.js" 1058 | } 1059 | }, 1060 | "node_modules/lru-cache": { 1061 | "version": "10.4.3", 1062 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", 1063 | "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" 1064 | }, 1065 | "node_modules/merge2": { 1066 | "version": "1.4.1", 1067 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1068 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1069 | "engines": { 1070 | "node": ">= 8" 1071 | } 1072 | }, 1073 | "node_modules/micromatch": { 1074 | "version": "4.0.7", 1075 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", 1076 | "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", 1077 | "dependencies": { 1078 | "braces": "^3.0.3", 1079 | "picomatch": "^2.3.1" 1080 | }, 1081 | "engines": { 1082 | "node": ">=8.6" 1083 | } 1084 | }, 1085 | "node_modules/minimatch": { 1086 | "version": "9.0.5", 1087 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 1088 | "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 1089 | "dependencies": { 1090 | "brace-expansion": "^2.0.1" 1091 | }, 1092 | "engines": { 1093 | "node": ">=16 || 14 >=14.17" 1094 | }, 1095 | "funding": { 1096 | "url": "https://github.com/sponsors/isaacs" 1097 | } 1098 | }, 1099 | "node_modules/minipass": { 1100 | "version": "7.1.2", 1101 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", 1102 | "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", 1103 | "engines": { 1104 | "node": ">=16 || 14 >=14.17" 1105 | } 1106 | }, 1107 | "node_modules/mz": { 1108 | "version": "2.7.0", 1109 | "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 1110 | "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 1111 | "dependencies": { 1112 | "any-promise": "^1.0.0", 1113 | "object-assign": "^4.0.1", 1114 | "thenify-all": "^1.0.0" 1115 | } 1116 | }, 1117 | "node_modules/nanoid": { 1118 | "version": "3.3.7", 1119 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", 1120 | "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", 1121 | "funding": [ 1122 | { 1123 | "type": "github", 1124 | "url": "https://github.com/sponsors/ai" 1125 | } 1126 | ], 1127 | "bin": { 1128 | "nanoid": "bin/nanoid.cjs" 1129 | }, 1130 | "engines": { 1131 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1132 | } 1133 | }, 1134 | "node_modules/next": { 1135 | "version": "14.2.5", 1136 | "resolved": "https://registry.npmjs.org/next/-/next-14.2.5.tgz", 1137 | "integrity": "sha512-0f8aRfBVL+mpzfBjYfQuLWh2WyAwtJXCRfkPF4UJ5qd2YwrHczsrSzXU4tRMV0OAxR8ZJZWPFn6uhSC56UTsLA==", 1138 | "dependencies": { 1139 | "@next/env": "14.2.5", 1140 | "@swc/helpers": "0.5.5", 1141 | "busboy": "1.6.0", 1142 | "caniuse-lite": "^1.0.30001579", 1143 | "graceful-fs": "^4.2.11", 1144 | "postcss": "8.4.31", 1145 | "styled-jsx": "5.1.1" 1146 | }, 1147 | "bin": { 1148 | "next": "dist/bin/next" 1149 | }, 1150 | "engines": { 1151 | "node": ">=18.17.0" 1152 | }, 1153 | "optionalDependencies": { 1154 | "@next/swc-darwin-arm64": "14.2.5", 1155 | "@next/swc-darwin-x64": "14.2.5", 1156 | "@next/swc-linux-arm64-gnu": "14.2.5", 1157 | "@next/swc-linux-arm64-musl": "14.2.5", 1158 | "@next/swc-linux-x64-gnu": "14.2.5", 1159 | "@next/swc-linux-x64-musl": "14.2.5", 1160 | "@next/swc-win32-arm64-msvc": "14.2.5", 1161 | "@next/swc-win32-ia32-msvc": "14.2.5", 1162 | "@next/swc-win32-x64-msvc": "14.2.5" 1163 | }, 1164 | "peerDependencies": { 1165 | "@opentelemetry/api": "^1.1.0", 1166 | "@playwright/test": "^1.41.2", 1167 | "react": "^18.2.0", 1168 | "react-dom": "^18.2.0", 1169 | "sass": "^1.3.0" 1170 | }, 1171 | "peerDependenciesMeta": { 1172 | "@opentelemetry/api": { 1173 | "optional": true 1174 | }, 1175 | "@playwright/test": { 1176 | "optional": true 1177 | }, 1178 | "sass": { 1179 | "optional": true 1180 | } 1181 | } 1182 | }, 1183 | "node_modules/next/node_modules/postcss": { 1184 | "version": "8.4.31", 1185 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", 1186 | "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", 1187 | "funding": [ 1188 | { 1189 | "type": "opencollective", 1190 | "url": "https://opencollective.com/postcss/" 1191 | }, 1192 | { 1193 | "type": "tidelift", 1194 | "url": "https://tidelift.com/funding/github/npm/postcss" 1195 | }, 1196 | { 1197 | "type": "github", 1198 | "url": "https://github.com/sponsors/ai" 1199 | } 1200 | ], 1201 | "dependencies": { 1202 | "nanoid": "^3.3.6", 1203 | "picocolors": "^1.0.0", 1204 | "source-map-js": "^1.0.2" 1205 | }, 1206 | "engines": { 1207 | "node": "^10 || ^12 || >=14" 1208 | } 1209 | }, 1210 | "node_modules/node-releases": { 1211 | "version": "2.0.18", 1212 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", 1213 | "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", 1214 | "dev": true 1215 | }, 1216 | "node_modules/normalize-path": { 1217 | "version": "3.0.0", 1218 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1219 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1220 | "engines": { 1221 | "node": ">=0.10.0" 1222 | } 1223 | }, 1224 | "node_modules/normalize-range": { 1225 | "version": "0.1.2", 1226 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 1227 | "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", 1228 | "dev": true, 1229 | "engines": { 1230 | "node": ">=0.10.0" 1231 | } 1232 | }, 1233 | "node_modules/object-assign": { 1234 | "version": "4.1.1", 1235 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1236 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 1237 | "engines": { 1238 | "node": ">=0.10.0" 1239 | } 1240 | }, 1241 | "node_modules/object-hash": { 1242 | "version": "3.0.0", 1243 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", 1244 | "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", 1245 | "engines": { 1246 | "node": ">= 6" 1247 | } 1248 | }, 1249 | "node_modules/object-inspect": { 1250 | "version": "1.13.2", 1251 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", 1252 | "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", 1253 | "engines": { 1254 | "node": ">= 0.4" 1255 | }, 1256 | "funding": { 1257 | "url": "https://github.com/sponsors/ljharb" 1258 | } 1259 | }, 1260 | "node_modules/package-json-from-dist": { 1261 | "version": "1.0.0", 1262 | "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", 1263 | "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" 1264 | }, 1265 | "node_modules/path-key": { 1266 | "version": "3.1.1", 1267 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1268 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1269 | "engines": { 1270 | "node": ">=8" 1271 | } 1272 | }, 1273 | "node_modules/path-parse": { 1274 | "version": "1.0.7", 1275 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1276 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" 1277 | }, 1278 | "node_modules/path-scurry": { 1279 | "version": "1.11.1", 1280 | "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", 1281 | "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", 1282 | "dependencies": { 1283 | "lru-cache": "^10.2.0", 1284 | "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" 1285 | }, 1286 | "engines": { 1287 | "node": ">=16 || 14 >=14.18" 1288 | }, 1289 | "funding": { 1290 | "url": "https://github.com/sponsors/isaacs" 1291 | } 1292 | }, 1293 | "node_modules/picocolors": { 1294 | "version": "1.0.1", 1295 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", 1296 | "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" 1297 | }, 1298 | "node_modules/picomatch": { 1299 | "version": "2.3.1", 1300 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1301 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1302 | "engines": { 1303 | "node": ">=8.6" 1304 | }, 1305 | "funding": { 1306 | "url": "https://github.com/sponsors/jonschlinkert" 1307 | } 1308 | }, 1309 | "node_modules/pify": { 1310 | "version": "2.3.0", 1311 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 1312 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 1313 | "engines": { 1314 | "node": ">=0.10.0" 1315 | } 1316 | }, 1317 | "node_modules/pirates": { 1318 | "version": "4.0.6", 1319 | "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", 1320 | "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", 1321 | "engines": { 1322 | "node": ">= 6" 1323 | } 1324 | }, 1325 | "node_modules/postcss": { 1326 | "version": "8.4.41", 1327 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", 1328 | "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", 1329 | "funding": [ 1330 | { 1331 | "type": "opencollective", 1332 | "url": "https://opencollective.com/postcss/" 1333 | }, 1334 | { 1335 | "type": "tidelift", 1336 | "url": "https://tidelift.com/funding/github/npm/postcss" 1337 | }, 1338 | { 1339 | "type": "github", 1340 | "url": "https://github.com/sponsors/ai" 1341 | } 1342 | ], 1343 | "dependencies": { 1344 | "nanoid": "^3.3.7", 1345 | "picocolors": "^1.0.1", 1346 | "source-map-js": "^1.2.0" 1347 | }, 1348 | "engines": { 1349 | "node": "^10 || ^12 || >=14" 1350 | } 1351 | }, 1352 | "node_modules/postcss-import": { 1353 | "version": "15.1.0", 1354 | "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", 1355 | "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", 1356 | "dependencies": { 1357 | "postcss-value-parser": "^4.0.0", 1358 | "read-cache": "^1.0.0", 1359 | "resolve": "^1.1.7" 1360 | }, 1361 | "engines": { 1362 | "node": ">=14.0.0" 1363 | }, 1364 | "peerDependencies": { 1365 | "postcss": "^8.0.0" 1366 | } 1367 | }, 1368 | "node_modules/postcss-js": { 1369 | "version": "4.0.1", 1370 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", 1371 | "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", 1372 | "dependencies": { 1373 | "camelcase-css": "^2.0.1" 1374 | }, 1375 | "engines": { 1376 | "node": "^12 || ^14 || >= 16" 1377 | }, 1378 | "funding": { 1379 | "type": "opencollective", 1380 | "url": "https://opencollective.com/postcss/" 1381 | }, 1382 | "peerDependencies": { 1383 | "postcss": "^8.4.21" 1384 | } 1385 | }, 1386 | "node_modules/postcss-load-config": { 1387 | "version": "4.0.2", 1388 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", 1389 | "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", 1390 | "funding": [ 1391 | { 1392 | "type": "opencollective", 1393 | "url": "https://opencollective.com/postcss/" 1394 | }, 1395 | { 1396 | "type": "github", 1397 | "url": "https://github.com/sponsors/ai" 1398 | } 1399 | ], 1400 | "dependencies": { 1401 | "lilconfig": "^3.0.0", 1402 | "yaml": "^2.3.4" 1403 | }, 1404 | "engines": { 1405 | "node": ">= 14" 1406 | }, 1407 | "peerDependencies": { 1408 | "postcss": ">=8.0.9", 1409 | "ts-node": ">=9.0.0" 1410 | }, 1411 | "peerDependenciesMeta": { 1412 | "postcss": { 1413 | "optional": true 1414 | }, 1415 | "ts-node": { 1416 | "optional": true 1417 | } 1418 | } 1419 | }, 1420 | "node_modules/postcss-load-config/node_modules/lilconfig": { 1421 | "version": "3.1.2", 1422 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", 1423 | "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", 1424 | "engines": { 1425 | "node": ">=14" 1426 | }, 1427 | "funding": { 1428 | "url": "https://github.com/sponsors/antonk52" 1429 | } 1430 | }, 1431 | "node_modules/postcss-nested": { 1432 | "version": "6.2.0", 1433 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", 1434 | "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", 1435 | "funding": [ 1436 | { 1437 | "type": "opencollective", 1438 | "url": "https://opencollective.com/postcss/" 1439 | }, 1440 | { 1441 | "type": "github", 1442 | "url": "https://github.com/sponsors/ai" 1443 | } 1444 | ], 1445 | "dependencies": { 1446 | "postcss-selector-parser": "^6.1.1" 1447 | }, 1448 | "engines": { 1449 | "node": ">=12.0" 1450 | }, 1451 | "peerDependencies": { 1452 | "postcss": "^8.2.14" 1453 | } 1454 | }, 1455 | "node_modules/postcss-selector-parser": { 1456 | "version": "6.1.1", 1457 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", 1458 | "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", 1459 | "dependencies": { 1460 | "cssesc": "^3.0.0", 1461 | "util-deprecate": "^1.0.2" 1462 | }, 1463 | "engines": { 1464 | "node": ">=4" 1465 | } 1466 | }, 1467 | "node_modules/postcss-value-parser": { 1468 | "version": "4.2.0", 1469 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 1470 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" 1471 | }, 1472 | "node_modules/qs": { 1473 | "version": "6.13.0", 1474 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", 1475 | "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", 1476 | "dependencies": { 1477 | "side-channel": "^1.0.6" 1478 | }, 1479 | "engines": { 1480 | "node": ">=0.6" 1481 | }, 1482 | "funding": { 1483 | "url": "https://github.com/sponsors/ljharb" 1484 | } 1485 | }, 1486 | "node_modules/queue-microtask": { 1487 | "version": "1.2.3", 1488 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1489 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1490 | "funding": [ 1491 | { 1492 | "type": "github", 1493 | "url": "https://github.com/sponsors/feross" 1494 | }, 1495 | { 1496 | "type": "patreon", 1497 | "url": "https://www.patreon.com/feross" 1498 | }, 1499 | { 1500 | "type": "consulting", 1501 | "url": "https://feross.org/support" 1502 | } 1503 | ] 1504 | }, 1505 | "node_modules/react": { 1506 | "version": "18.3.1", 1507 | "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", 1508 | "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", 1509 | "dependencies": { 1510 | "loose-envify": "^1.1.0" 1511 | }, 1512 | "engines": { 1513 | "node": ">=0.10.0" 1514 | } 1515 | }, 1516 | "node_modules/react-dom": { 1517 | "version": "18.3.1", 1518 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", 1519 | "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", 1520 | "dependencies": { 1521 | "loose-envify": "^1.1.0", 1522 | "scheduler": "^0.23.2" 1523 | }, 1524 | "peerDependencies": { 1525 | "react": "^18.3.1" 1526 | } 1527 | }, 1528 | "node_modules/read-cache": { 1529 | "version": "1.0.0", 1530 | "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 1531 | "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", 1532 | "dependencies": { 1533 | "pify": "^2.3.0" 1534 | } 1535 | }, 1536 | "node_modules/readdirp": { 1537 | "version": "3.6.0", 1538 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1539 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1540 | "dependencies": { 1541 | "picomatch": "^2.2.1" 1542 | }, 1543 | "engines": { 1544 | "node": ">=8.10.0" 1545 | } 1546 | }, 1547 | "node_modules/resolve": { 1548 | "version": "1.22.8", 1549 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", 1550 | "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", 1551 | "dependencies": { 1552 | "is-core-module": "^2.13.0", 1553 | "path-parse": "^1.0.7", 1554 | "supports-preserve-symlinks-flag": "^1.0.0" 1555 | }, 1556 | "bin": { 1557 | "resolve": "bin/resolve" 1558 | }, 1559 | "funding": { 1560 | "url": "https://github.com/sponsors/ljharb" 1561 | } 1562 | }, 1563 | "node_modules/reusify": { 1564 | "version": "1.0.4", 1565 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1566 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1567 | "engines": { 1568 | "iojs": ">=1.0.0", 1569 | "node": ">=0.10.0" 1570 | } 1571 | }, 1572 | "node_modules/run-parallel": { 1573 | "version": "1.2.0", 1574 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1575 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1576 | "funding": [ 1577 | { 1578 | "type": "github", 1579 | "url": "https://github.com/sponsors/feross" 1580 | }, 1581 | { 1582 | "type": "patreon", 1583 | "url": "https://www.patreon.com/feross" 1584 | }, 1585 | { 1586 | "type": "consulting", 1587 | "url": "https://feross.org/support" 1588 | } 1589 | ], 1590 | "dependencies": { 1591 | "queue-microtask": "^1.2.2" 1592 | } 1593 | }, 1594 | "node_modules/scheduler": { 1595 | "version": "0.23.2", 1596 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", 1597 | "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", 1598 | "dependencies": { 1599 | "loose-envify": "^1.1.0" 1600 | } 1601 | }, 1602 | "node_modules/set-function-length": { 1603 | "version": "1.2.2", 1604 | "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", 1605 | "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", 1606 | "dependencies": { 1607 | "define-data-property": "^1.1.4", 1608 | "es-errors": "^1.3.0", 1609 | "function-bind": "^1.1.2", 1610 | "get-intrinsic": "^1.2.4", 1611 | "gopd": "^1.0.1", 1612 | "has-property-descriptors": "^1.0.2" 1613 | }, 1614 | "engines": { 1615 | "node": ">= 0.4" 1616 | } 1617 | }, 1618 | "node_modules/shebang-command": { 1619 | "version": "2.0.0", 1620 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1621 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1622 | "dependencies": { 1623 | "shebang-regex": "^3.0.0" 1624 | }, 1625 | "engines": { 1626 | "node": ">=8" 1627 | } 1628 | }, 1629 | "node_modules/shebang-regex": { 1630 | "version": "3.0.0", 1631 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1632 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1633 | "engines": { 1634 | "node": ">=8" 1635 | } 1636 | }, 1637 | "node_modules/side-channel": { 1638 | "version": "1.0.6", 1639 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", 1640 | "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", 1641 | "dependencies": { 1642 | "call-bind": "^1.0.7", 1643 | "es-errors": "^1.3.0", 1644 | "get-intrinsic": "^1.2.4", 1645 | "object-inspect": "^1.13.1" 1646 | }, 1647 | "engines": { 1648 | "node": ">= 0.4" 1649 | }, 1650 | "funding": { 1651 | "url": "https://github.com/sponsors/ljharb" 1652 | } 1653 | }, 1654 | "node_modules/signal-exit": { 1655 | "version": "4.1.0", 1656 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 1657 | "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 1658 | "engines": { 1659 | "node": ">=14" 1660 | }, 1661 | "funding": { 1662 | "url": "https://github.com/sponsors/isaacs" 1663 | } 1664 | }, 1665 | "node_modules/source-map-js": { 1666 | "version": "1.2.0", 1667 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", 1668 | "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", 1669 | "engines": { 1670 | "node": ">=0.10.0" 1671 | } 1672 | }, 1673 | "node_modules/streamsearch": { 1674 | "version": "1.1.0", 1675 | "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", 1676 | "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", 1677 | "engines": { 1678 | "node": ">=10.0.0" 1679 | } 1680 | }, 1681 | "node_modules/string-width": { 1682 | "version": "5.1.2", 1683 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 1684 | "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 1685 | "dependencies": { 1686 | "eastasianwidth": "^0.2.0", 1687 | "emoji-regex": "^9.2.2", 1688 | "strip-ansi": "^7.0.1" 1689 | }, 1690 | "engines": { 1691 | "node": ">=12" 1692 | }, 1693 | "funding": { 1694 | "url": "https://github.com/sponsors/sindresorhus" 1695 | } 1696 | }, 1697 | "node_modules/string-width-cjs": { 1698 | "name": "string-width", 1699 | "version": "4.2.3", 1700 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 1701 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 1702 | "dependencies": { 1703 | "emoji-regex": "^8.0.0", 1704 | "is-fullwidth-code-point": "^3.0.0", 1705 | "strip-ansi": "^6.0.1" 1706 | }, 1707 | "engines": { 1708 | "node": ">=8" 1709 | } 1710 | }, 1711 | "node_modules/string-width-cjs/node_modules/ansi-regex": { 1712 | "version": "5.0.1", 1713 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1714 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 1715 | "engines": { 1716 | "node": ">=8" 1717 | } 1718 | }, 1719 | "node_modules/string-width-cjs/node_modules/emoji-regex": { 1720 | "version": "8.0.0", 1721 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 1722 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 1723 | }, 1724 | "node_modules/string-width-cjs/node_modules/strip-ansi": { 1725 | "version": "6.0.1", 1726 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1727 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1728 | "dependencies": { 1729 | "ansi-regex": "^5.0.1" 1730 | }, 1731 | "engines": { 1732 | "node": ">=8" 1733 | } 1734 | }, 1735 | "node_modules/strip-ansi": { 1736 | "version": "7.1.0", 1737 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", 1738 | "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", 1739 | "dependencies": { 1740 | "ansi-regex": "^6.0.1" 1741 | }, 1742 | "engines": { 1743 | "node": ">=12" 1744 | }, 1745 | "funding": { 1746 | "url": "https://github.com/chalk/strip-ansi?sponsor=1" 1747 | } 1748 | }, 1749 | "node_modules/strip-ansi-cjs": { 1750 | "name": "strip-ansi", 1751 | "version": "6.0.1", 1752 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1753 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1754 | "dependencies": { 1755 | "ansi-regex": "^5.0.1" 1756 | }, 1757 | "engines": { 1758 | "node": ">=8" 1759 | } 1760 | }, 1761 | "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { 1762 | "version": "5.0.1", 1763 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1764 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 1765 | "engines": { 1766 | "node": ">=8" 1767 | } 1768 | }, 1769 | "node_modules/styled-jsx": { 1770 | "version": "5.1.1", 1771 | "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", 1772 | "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", 1773 | "dependencies": { 1774 | "client-only": "0.0.1" 1775 | }, 1776 | "engines": { 1777 | "node": ">= 12.0.0" 1778 | }, 1779 | "peerDependencies": { 1780 | "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" 1781 | }, 1782 | "peerDependenciesMeta": { 1783 | "@babel/core": { 1784 | "optional": true 1785 | }, 1786 | "babel-plugin-macros": { 1787 | "optional": true 1788 | } 1789 | } 1790 | }, 1791 | "node_modules/sucrase": { 1792 | "version": "3.35.0", 1793 | "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", 1794 | "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", 1795 | "dependencies": { 1796 | "@jridgewell/gen-mapping": "^0.3.2", 1797 | "commander": "^4.0.0", 1798 | "glob": "^10.3.10", 1799 | "lines-and-columns": "^1.1.6", 1800 | "mz": "^2.7.0", 1801 | "pirates": "^4.0.1", 1802 | "ts-interface-checker": "^0.1.9" 1803 | }, 1804 | "bin": { 1805 | "sucrase": "bin/sucrase", 1806 | "sucrase-node": "bin/sucrase-node" 1807 | }, 1808 | "engines": { 1809 | "node": ">=16 || 14 >=14.17" 1810 | } 1811 | }, 1812 | "node_modules/supports-preserve-symlinks-flag": { 1813 | "version": "1.0.0", 1814 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1815 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1816 | "engines": { 1817 | "node": ">= 0.4" 1818 | }, 1819 | "funding": { 1820 | "url": "https://github.com/sponsors/ljharb" 1821 | } 1822 | }, 1823 | "node_modules/tailwindcss": { 1824 | "version": "3.4.7", 1825 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.7.tgz", 1826 | "integrity": "sha512-rxWZbe87YJb4OcSopb7up2Ba4U82BoiSGUdoDr3Ydrg9ckxFS/YWsvhN323GMcddgU65QRy7JndC7ahhInhvlQ==", 1827 | "dependencies": { 1828 | "@alloc/quick-lru": "^5.2.0", 1829 | "arg": "^5.0.2", 1830 | "chokidar": "^3.5.3", 1831 | "didyoumean": "^1.2.2", 1832 | "dlv": "^1.1.3", 1833 | "fast-glob": "^3.3.0", 1834 | "glob-parent": "^6.0.2", 1835 | "is-glob": "^4.0.3", 1836 | "jiti": "^1.21.0", 1837 | "lilconfig": "^2.1.0", 1838 | "micromatch": "^4.0.5", 1839 | "normalize-path": "^3.0.0", 1840 | "object-hash": "^3.0.0", 1841 | "picocolors": "^1.0.0", 1842 | "postcss": "^8.4.23", 1843 | "postcss-import": "^15.1.0", 1844 | "postcss-js": "^4.0.1", 1845 | "postcss-load-config": "^4.0.1", 1846 | "postcss-nested": "^6.0.1", 1847 | "postcss-selector-parser": "^6.0.11", 1848 | "resolve": "^1.22.2", 1849 | "sucrase": "^3.32.0" 1850 | }, 1851 | "bin": { 1852 | "tailwind": "lib/cli.js", 1853 | "tailwindcss": "lib/cli.js" 1854 | }, 1855 | "engines": { 1856 | "node": ">=14.0.0" 1857 | } 1858 | }, 1859 | "node_modules/thenify": { 1860 | "version": "3.3.1", 1861 | "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", 1862 | "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", 1863 | "dependencies": { 1864 | "any-promise": "^1.0.0" 1865 | } 1866 | }, 1867 | "node_modules/thenify-all": { 1868 | "version": "1.6.0", 1869 | "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 1870 | "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", 1871 | "dependencies": { 1872 | "thenify": ">= 3.1.0 < 4" 1873 | }, 1874 | "engines": { 1875 | "node": ">=0.8" 1876 | } 1877 | }, 1878 | "node_modules/to-regex-range": { 1879 | "version": "5.0.1", 1880 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 1881 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 1882 | "dependencies": { 1883 | "is-number": "^7.0.0" 1884 | }, 1885 | "engines": { 1886 | "node": ">=8.0" 1887 | } 1888 | }, 1889 | "node_modules/ts-interface-checker": { 1890 | "version": "0.1.13", 1891 | "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", 1892 | "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" 1893 | }, 1894 | "node_modules/tslib": { 1895 | "version": "2.6.3", 1896 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", 1897 | "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" 1898 | }, 1899 | "node_modules/universalify": { 1900 | "version": "2.0.1", 1901 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", 1902 | "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", 1903 | "engines": { 1904 | "node": ">= 10.0.0" 1905 | } 1906 | }, 1907 | "node_modules/update-browserslist-db": { 1908 | "version": "1.1.0", 1909 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", 1910 | "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", 1911 | "dev": true, 1912 | "funding": [ 1913 | { 1914 | "type": "opencollective", 1915 | "url": "https://opencollective.com/browserslist" 1916 | }, 1917 | { 1918 | "type": "tidelift", 1919 | "url": "https://tidelift.com/funding/github/npm/browserslist" 1920 | }, 1921 | { 1922 | "type": "github", 1923 | "url": "https://github.com/sponsors/ai" 1924 | } 1925 | ], 1926 | "dependencies": { 1927 | "escalade": "^3.1.2", 1928 | "picocolors": "^1.0.1" 1929 | }, 1930 | "bin": { 1931 | "update-browserslist-db": "cli.js" 1932 | }, 1933 | "peerDependencies": { 1934 | "browserslist": ">= 4.21.0" 1935 | } 1936 | }, 1937 | "node_modules/util-deprecate": { 1938 | "version": "1.0.2", 1939 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1940 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" 1941 | }, 1942 | "node_modules/which": { 1943 | "version": "2.0.2", 1944 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 1945 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 1946 | "dependencies": { 1947 | "isexe": "^2.0.0" 1948 | }, 1949 | "bin": { 1950 | "node-which": "bin/node-which" 1951 | }, 1952 | "engines": { 1953 | "node": ">= 8" 1954 | } 1955 | }, 1956 | "node_modules/wrap-ansi": { 1957 | "version": "8.1.0", 1958 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", 1959 | "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", 1960 | "dependencies": { 1961 | "ansi-styles": "^6.1.0", 1962 | "string-width": "^5.0.1", 1963 | "strip-ansi": "^7.0.1" 1964 | }, 1965 | "engines": { 1966 | "node": ">=12" 1967 | }, 1968 | "funding": { 1969 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 1970 | } 1971 | }, 1972 | "node_modules/wrap-ansi-cjs": { 1973 | "name": "wrap-ansi", 1974 | "version": "7.0.0", 1975 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 1976 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 1977 | "dependencies": { 1978 | "ansi-styles": "^4.0.0", 1979 | "string-width": "^4.1.0", 1980 | "strip-ansi": "^6.0.0" 1981 | }, 1982 | "engines": { 1983 | "node": ">=10" 1984 | }, 1985 | "funding": { 1986 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 1987 | } 1988 | }, 1989 | "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { 1990 | "version": "5.0.1", 1991 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1992 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 1993 | "engines": { 1994 | "node": ">=8" 1995 | } 1996 | }, 1997 | "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { 1998 | "version": "4.3.0", 1999 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 2000 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 2001 | "dependencies": { 2002 | "color-convert": "^2.0.1" 2003 | }, 2004 | "engines": { 2005 | "node": ">=8" 2006 | }, 2007 | "funding": { 2008 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 2009 | } 2010 | }, 2011 | "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { 2012 | "version": "8.0.0", 2013 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 2014 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 2015 | }, 2016 | "node_modules/wrap-ansi-cjs/node_modules/string-width": { 2017 | "version": "4.2.3", 2018 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 2019 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 2020 | "dependencies": { 2021 | "emoji-regex": "^8.0.0", 2022 | "is-fullwidth-code-point": "^3.0.0", 2023 | "strip-ansi": "^6.0.1" 2024 | }, 2025 | "engines": { 2026 | "node": ">=8" 2027 | } 2028 | }, 2029 | "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { 2030 | "version": "6.0.1", 2031 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2032 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2033 | "dependencies": { 2034 | "ansi-regex": "^5.0.1" 2035 | }, 2036 | "engines": { 2037 | "node": ">=8" 2038 | } 2039 | }, 2040 | "node_modules/yaml": { 2041 | "version": "2.5.0", 2042 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", 2043 | "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", 2044 | "bin": { 2045 | "yaml": "bin.mjs" 2046 | }, 2047 | "engines": { 2048 | "node": ">= 14" 2049 | } 2050 | } 2051 | } 2052 | } 2053 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "our-project", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint" 10 | }, 11 | "keywords": [], 12 | "author": "", 13 | "license": "ISC", 14 | "description": "", 15 | "dependencies": { 16 | "@strapi/blocks-react-renderer": "^1.0.1", 17 | "@tailwindcss/typography": "^0.5.14", 18 | "fs-extra": "^11.2.0", 19 | "husky": "^9.1.4", 20 | "next": "^14.2.5", 21 | "qs": "^6.13.0", 22 | "react": "^18.3.1", 23 | "react-dom": "^18.3.1" 24 | }, 25 | "devDependencies": { 26 | "autoprefixer": "^10.4.20", 27 | "postcss": "^8.4.41", 28 | "tailwindcss": "^3.4.7" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content: [ 4 | "./app/**/*.{js,ts,jsx,tsx,mdx}", 5 | "./pages/**/*.{js,ts,jsx,tsx,mdx}", 6 | "./components/**/*.{js,ts,jsx,tsx,mdx}", 7 | 8 | // Or if using `src` directory: 9 | "./src/**/*.{js,ts,jsx,tsx,mdx}" 10 | ], 11 | theme: { 12 | extend: {} 13 | }, 14 | plugins: [require("@tailwindcss/typography")] 15 | } 16 | --------------------------------------------------------------------------------