├── .gitignore ├── next-env.d.ts ├── package.json ├── postcss.config.js ├── src ├── hooks │ └── throttle.ts ├── layouts │ └── centered.tsx ├── pages │ ├── [id].tsx │ └── _app.tsx └── styles │ └── globals.css ├── tailwind.config.js ├── tsconfig.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .next 3 | .env 4 | dist 5 | .DS_Store 6 | .idea 7 | .vscode 8 | yarn-error.log 9 | hop.yml 10 | -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "obs-spotify", 3 | "version": "1.0.0", 4 | "repository": "git@github.com:alii/obs-spotify.git", 5 | "author": "Alistair Smith ", 6 | "scripts": { 7 | "dev": "next", 8 | "build": "next build", 9 | "start": "next start" 10 | }, 11 | "dependencies": { 12 | "next": "^12.2.5", 13 | "react": "^18.2.0", 14 | "react-dom": "^18.2.0", 15 | "react-spinners": "^0.13.4", 16 | "use-lanyard": "^1.2.0", 17 | "zod": "^3.19.0" 18 | }, 19 | "devDependencies": { 20 | "@types/node": "^18.7.16", 21 | "@types/react-dom": "^18.0.6", 22 | "autoprefixer": "^10.4.8", 23 | "postcss": "^8.4.16", 24 | "tailwindcss": "^3.1.8", 25 | "typescript": "^4.8.2" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /src/hooks/throttle.ts: -------------------------------------------------------------------------------- 1 | import { useState, useRef, useEffect } from "react"; 2 | 3 | export function useThrottle(value: T, limit = 1000) { 4 | const [throttledValue, setThrottledValue] = useState(value); 5 | const lastRan = useRef(Date.now()); 6 | 7 | useEffect(() => { 8 | const handler = setTimeout(() => { 9 | if (Date.now() - lastRan.current >= limit) { 10 | setThrottledValue(value); 11 | lastRan.current = Date.now(); 12 | } 13 | }, limit - (Date.now() - lastRan.current)); 14 | 15 | return () => { 16 | clearTimeout(handler); 17 | }; 18 | }, [value, limit]); 19 | 20 | return throttledValue; 21 | } 22 | -------------------------------------------------------------------------------- /src/layouts/centered.tsx: -------------------------------------------------------------------------------- 1 | import { PropsWithChildren } from "react"; 2 | 3 | export function Centered({ children }: PropsWithChildren) { 4 | return
{children}
; 5 | } 6 | -------------------------------------------------------------------------------- /src/pages/[id].tsx: -------------------------------------------------------------------------------- 1 | import { GetServerSideProps } from "next"; 2 | import { z } from "zod"; 3 | import { useLanyardWs } from "use-lanyard"; 4 | import { RotateLoader } from "react-spinners"; 5 | import { useThrottle } from "../hooks/throttle"; 6 | import { Centered } from "../layouts/centered"; 7 | import { useEffect, useState } from "react"; 8 | 9 | interface Props { 10 | userId: string; 11 | } 12 | 13 | function IndexPage(props: Props) { 14 | const data = useThrottle(useLanyardWs(props.userId)); 15 | const [, rerender] = useState({}); 16 | 17 | useEffect(() => { 18 | const interval = setInterval(() => { 19 | rerender({}); 20 | }, 1000); 21 | 22 | return () => { 23 | clearInterval(interval); 24 | }; 25 | }, []); 26 | 27 | if (!data) { 28 | // Loading state 29 | return ( 30 |
31 | 32 |
33 | ); 34 | } 35 | 36 | if (!data.spotify) { 37 | return null; 38 | } 39 | 40 | const total = data.spotify.timestamps.end - data.spotify.timestamps.start; 41 | const progress = 100 - (100 * (data.spotify.timestamps.end - new Date().getTime())) / total; 42 | 43 | return ( 44 |
45 |
46 |
47 | 48 |
49 | 50 |
51 |
52 |

{data.spotify.song}

53 |

{data.spotify.artist}

54 |
55 | 56 |
57 |
58 |
61 |
62 |
63 |
64 |
65 |
66 | ); 67 | } 68 | 69 | export default function Page(props: Props) { 70 | return ( 71 | 72 | 73 | 74 | ); 75 | } 76 | 77 | export const getServerSideProps: GetServerSideProps = async ctx => { 78 | const schema = z.object({ 79 | id: z.string(), 80 | }); 81 | 82 | const params = schema.parse(ctx.params); 83 | 84 | return { 85 | props: { 86 | userId: params.id, 87 | }, 88 | }; 89 | }; 90 | -------------------------------------------------------------------------------- /src/pages/_app.tsx: -------------------------------------------------------------------------------- 1 | import "tailwindcss/tailwind.css"; 2 | import "../styles/globals.css"; 3 | 4 | import { AppProps } from "next/app"; 5 | 6 | export default function App({ Component, pageProps }: AppProps) { 7 | return ; 8 | } 9 | -------------------------------------------------------------------------------- /src/styles/globals.css: -------------------------------------------------------------------------------- 1 | body { 2 | @apply text-white bg-black; 3 | } 4 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | 3 | /** @type {import('tailwindcss').Config} */ 4 | module.exports = { 5 | content: ["./src/**/*.{ts,tsx}"], 6 | theme: { 7 | extend: {}, 8 | }, 9 | plugins: [], 10 | }; 11 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "esModuleInterop": true, 8 | "strict": true, 9 | "forceConsistentCasingInFileNames": true, 10 | "module": "esnext", 11 | "moduleResolution": "node", 12 | "resolveJsonModule": true, 13 | "isolatedModules": true, 14 | "noEmit": true, 15 | "jsx": "preserve", 16 | "noFallthroughCasesInSwitch": true, 17 | "allowSyntheticDefaultImports": true, 18 | "incremental": true 19 | }, 20 | "exclude": ["node_modules"], 21 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"] 22 | } 23 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@next/env@12.2.5": 6 | version "12.2.5" 7 | resolved "https://registry.yarnpkg.com/@next/env/-/env-12.2.5.tgz#d908c57b35262b94db3e431e869b72ac3e1ad3e3" 8 | integrity sha512-vLPLV3cpPGjUPT3PjgRj7e3nio9t6USkuew3JE/jMeon/9Mvp1WyR18v3iwnCuX7eUAm1HmAbJHHLAbcu/EJcw== 9 | 10 | "@next/swc-android-arm-eabi@12.2.5": 11 | version "12.2.5" 12 | resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.2.5.tgz#903a5479ab4c2705d9c08d080907475f7bacf94d" 13 | integrity sha512-cPWClKxGhgn2dLWnspW+7psl3MoLQUcNqJqOHk2BhNcou9ARDtC0IjQkKe5qcn9qg7I7U83Gp1yh2aesZfZJMA== 14 | 15 | "@next/swc-android-arm64@12.2.5": 16 | version "12.2.5" 17 | resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.2.5.tgz#2f9a98ec4166c7860510963b31bda1f57a77c792" 18 | integrity sha512-vMj0efliXmC5b7p+wfcQCX0AfU8IypjkzT64GiKJD9PgiA3IILNiGJr1fw2lyUDHkjeWx/5HMlMEpLnTsQslwg== 19 | 20 | "@next/swc-darwin-arm64@12.2.5": 21 | version "12.2.5" 22 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.2.5.tgz#31b1c3c659d54be546120c488a1e1bad21c24a1d" 23 | integrity sha512-VOPWbO5EFr6snla/WcxUKtvzGVShfs302TEMOtzYyWni6f9zuOetijJvVh9CCTzInnXAZMtHyNhefijA4HMYLg== 24 | 25 | "@next/swc-darwin-x64@12.2.5": 26 | version "12.2.5" 27 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.2.5.tgz#2e44dd82b2b7fef88238d1bc4d3bead5884cedfd" 28 | integrity sha512-5o8bTCgAmtYOgauO/Xd27vW52G2/m3i5PX7MUYePquxXAnX73AAtqA3WgPXBRitEB60plSKZgOTkcpqrsh546A== 29 | 30 | "@next/swc-freebsd-x64@12.2.5": 31 | version "12.2.5" 32 | resolved "https://registry.yarnpkg.com/@next/swc-freebsd-x64/-/swc-freebsd-x64-12.2.5.tgz#e24e75d8c2581bfebc75e4f08f6ddbd116ce9dbd" 33 | integrity sha512-yYUbyup1JnznMtEBRkK4LT56N0lfK5qNTzr6/DEyDw5TbFVwnuy2hhLBzwCBkScFVjpFdfiC6SQAX3FrAZzuuw== 34 | 35 | "@next/swc-linux-arm-gnueabihf@12.2.5": 36 | version "12.2.5" 37 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.2.5.tgz#46d8c514d834d2b5f67086013f0bd5e3081e10b9" 38 | integrity sha512-2ZE2/G921Acks7UopJZVMgKLdm4vN4U0yuzvAMJ6KBavPzqESA2yHJlm85TV/K9gIjKhSk5BVtauIUntFRP8cg== 39 | 40 | "@next/swc-linux-arm64-gnu@12.2.5": 41 | version "12.2.5" 42 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.2.5.tgz#91f725ac217d3a1f4f9f53b553615ba582fd3d9f" 43 | integrity sha512-/I6+PWVlz2wkTdWqhlSYYJ1pWWgUVva6SgX353oqTh8njNQp1SdFQuWDqk8LnM6ulheVfSsgkDzxrDaAQZnzjQ== 44 | 45 | "@next/swc-linux-arm64-musl@12.2.5": 46 | version "12.2.5" 47 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.2.5.tgz#e627e8c867920995810250303cd9b8e963598383" 48 | integrity sha512-LPQRelfX6asXyVr59p5sTpx5l+0yh2Vjp/R8Wi4X9pnqcayqT4CUJLiHqCvZuLin3IsFdisJL0rKHMoaZLRfmg== 49 | 50 | "@next/swc-linux-x64-gnu@12.2.5": 51 | version "12.2.5" 52 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.2.5.tgz#83a5e224fbc4d119ef2e0f29d0d79c40cc43887e" 53 | integrity sha512-0szyAo8jMCClkjNK0hknjhmAngUppoRekW6OAezbEYwHXN/VNtsXbfzgYOqjKWxEx3OoAzrT3jLwAF0HdX2MEw== 54 | 55 | "@next/swc-linux-x64-musl@12.2.5": 56 | version "12.2.5" 57 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.2.5.tgz#be700d48471baac1ec2e9539396625584a317e95" 58 | integrity sha512-zg/Y6oBar1yVnW6Il1I/08/2ukWtOG6s3acdJdEyIdsCzyQi4RLxbbhkD/EGQyhqBvd3QrC6ZXQEXighQUAZ0g== 59 | 60 | "@next/swc-win32-arm64-msvc@12.2.5": 61 | version "12.2.5" 62 | resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.2.5.tgz#a93e958133ad3310373fda33a79aa10af2a0aa97" 63 | integrity sha512-3/90DRNSqeeSRMMEhj4gHHQlLhhKg5SCCoYfE3kBjGpE63EfnblYUqsszGGZ9ekpKL/R4/SGB40iCQr8tR5Jiw== 64 | 65 | "@next/swc-win32-ia32-msvc@12.2.5": 66 | version "12.2.5" 67 | resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.2.5.tgz#4f5f7ba0a98ff89a883625d4af0125baed8b2e19" 68 | integrity sha512-hGLc0ZRAwnaPL4ulwpp4D2RxmkHQLuI8CFOEEHdzZpS63/hMVzv81g8jzYA0UXbb9pus/iTc3VRbVbAM03SRrw== 69 | 70 | "@next/swc-win32-x64-msvc@12.2.5": 71 | version "12.2.5" 72 | resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.2.5.tgz#20fed129b04a0d3f632c6d0de135345bb623b1e4" 73 | integrity sha512-7h5/ahY7NeaO2xygqVrSG/Y8Vs4cdjxIjowTZ5W6CKoTKn7tmnuxlUc2h74x06FKmbhAd9agOjr/AOKyxYYm9Q== 74 | 75 | "@nodelib/fs.scandir@2.1.5": 76 | version "2.1.5" 77 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 78 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 79 | dependencies: 80 | "@nodelib/fs.stat" "2.0.5" 81 | run-parallel "^1.1.9" 82 | 83 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 84 | version "2.0.5" 85 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 86 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 87 | 88 | "@nodelib/fs.walk@^1.2.3": 89 | version "1.2.8" 90 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 91 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 92 | dependencies: 93 | "@nodelib/fs.scandir" "2.1.5" 94 | fastq "^1.6.0" 95 | 96 | "@swc/helpers@0.4.3": 97 | version "0.4.3" 98 | resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.3.tgz#16593dfc248c53b699d4b5026040f88ddb497012" 99 | integrity sha512-6JrF+fdUK2zbGpJIlN7G3v966PQjyx/dPt1T9km2wj+EUBqgrxCk3uX4Kct16MIm9gGxfKRcfax2hVf5jvlTzA== 100 | dependencies: 101 | tslib "^2.4.0" 102 | 103 | "@types/node@^18.7.16": 104 | version "18.7.16" 105 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.16.tgz#0eb3cce1e37c79619943d2fd903919fc30850601" 106 | integrity sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg== 107 | 108 | "@types/prop-types@*": 109 | version "15.7.5" 110 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" 111 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== 112 | 113 | "@types/react-dom@^18.0.6": 114 | version "18.0.6" 115 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.6.tgz#36652900024842b74607a17786b6662dd1e103a1" 116 | integrity sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA== 117 | dependencies: 118 | "@types/react" "*" 119 | 120 | "@types/react@*": 121 | version "18.0.18" 122 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.18.tgz#9f16f33d57bc5d9dca848d12c3572110ff9429ac" 123 | integrity sha512-6hI08umYs6NaiHFEEGioXnxJ+oEhY3eRz8VCUaudZmGdtvPviCJB8mgaMxaDWAdPSYd4eFavrPk2QIolwbLYrg== 124 | dependencies: 125 | "@types/prop-types" "*" 126 | "@types/scheduler" "*" 127 | csstype "^3.0.2" 128 | 129 | "@types/scheduler@*": 130 | version "0.16.2" 131 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" 132 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== 133 | 134 | acorn-node@^1.8.2: 135 | version "1.8.2" 136 | resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" 137 | integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== 138 | dependencies: 139 | acorn "^7.0.0" 140 | acorn-walk "^7.0.0" 141 | xtend "^4.0.2" 142 | 143 | acorn-walk@^7.0.0: 144 | version "7.2.0" 145 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" 146 | integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== 147 | 148 | acorn@^7.0.0: 149 | version "7.4.1" 150 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" 151 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 152 | 153 | anymatch@~3.1.2: 154 | version "3.1.2" 155 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 156 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 157 | dependencies: 158 | normalize-path "^3.0.0" 159 | picomatch "^2.0.4" 160 | 161 | arg@^5.0.2: 162 | version "5.0.2" 163 | resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" 164 | integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== 165 | 166 | autoprefixer@^10.4.8: 167 | version "10.4.8" 168 | resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.8.tgz#92c7a0199e1cfb2ad5d9427bd585a3d75895b9e5" 169 | integrity sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw== 170 | dependencies: 171 | browserslist "^4.21.3" 172 | caniuse-lite "^1.0.30001373" 173 | fraction.js "^4.2.0" 174 | normalize-range "^0.1.2" 175 | picocolors "^1.0.0" 176 | postcss-value-parser "^4.2.0" 177 | 178 | binary-extensions@^2.0.0: 179 | version "2.2.0" 180 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 181 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 182 | 183 | braces@^3.0.2, braces@~3.0.2: 184 | version "3.0.2" 185 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 186 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 187 | dependencies: 188 | fill-range "^7.0.1" 189 | 190 | browserslist@^4.21.3: 191 | version "4.21.3" 192 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" 193 | integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== 194 | dependencies: 195 | caniuse-lite "^1.0.30001370" 196 | electron-to-chromium "^1.4.202" 197 | node-releases "^2.0.6" 198 | update-browserslist-db "^1.0.5" 199 | 200 | camelcase-css@^2.0.1: 201 | version "2.0.1" 202 | resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" 203 | integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== 204 | 205 | caniuse-lite@^1.0.30001332, caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373: 206 | version "1.0.30001393" 207 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001393.tgz#1aa161e24fe6af2e2ccda000fc2b94be0b0db356" 208 | integrity sha512-N/od11RX+Gsk+1qY/jbPa0R6zJupEa0lxeBG598EbrtblxVCTJsQwbRBm6+V+rxpc5lHKdsXb9RY83cZIPLseA== 209 | 210 | chokidar@^3.5.3: 211 | version "3.5.3" 212 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 213 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 214 | dependencies: 215 | anymatch "~3.1.2" 216 | braces "~3.0.2" 217 | glob-parent "~5.1.2" 218 | is-binary-path "~2.1.0" 219 | is-glob "~4.0.1" 220 | normalize-path "~3.0.0" 221 | readdirp "~3.6.0" 222 | optionalDependencies: 223 | fsevents "~2.3.2" 224 | 225 | color-name@^1.1.4: 226 | version "1.1.4" 227 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 228 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 229 | 230 | cssesc@^3.0.0: 231 | version "3.0.0" 232 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" 233 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== 234 | 235 | csstype@^3.0.2: 236 | version "3.1.0" 237 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.0.tgz#4ddcac3718d787cf9df0d1b7d15033925c8f29f2" 238 | integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA== 239 | 240 | defined@^1.0.0: 241 | version "1.0.0" 242 | resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" 243 | integrity sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ== 244 | 245 | detective@^5.2.1: 246 | version "5.2.1" 247 | resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.1.tgz#6af01eeda11015acb0e73f933242b70f24f91034" 248 | integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw== 249 | dependencies: 250 | acorn-node "^1.8.2" 251 | defined "^1.0.0" 252 | minimist "^1.2.6" 253 | 254 | didyoumean@^1.2.2: 255 | version "1.2.2" 256 | resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" 257 | integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== 258 | 259 | dlv@^1.1.3: 260 | version "1.1.3" 261 | resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" 262 | integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== 263 | 264 | electron-to-chromium@^1.4.202: 265 | version "1.4.244" 266 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.244.tgz#ae9b56ed4ae2107e3a860dad80ed662c936e369e" 267 | integrity sha512-E21saXLt2eTDaTxgUtiJtBUqanF9A32wZasAwDZ8gvrqXoxrBrbwtDCx7c/PQTLp81wj4X0OLDeoGQg7eMo3+w== 268 | 269 | escalade@^3.1.1: 270 | version "3.1.1" 271 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 272 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 273 | 274 | fast-glob@^3.2.11: 275 | version "3.2.11" 276 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" 277 | integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== 278 | dependencies: 279 | "@nodelib/fs.stat" "^2.0.2" 280 | "@nodelib/fs.walk" "^1.2.3" 281 | glob-parent "^5.1.2" 282 | merge2 "^1.3.0" 283 | micromatch "^4.0.4" 284 | 285 | fastq@^1.6.0: 286 | version "1.13.0" 287 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" 288 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 289 | dependencies: 290 | reusify "^1.0.4" 291 | 292 | fill-range@^7.0.1: 293 | version "7.0.1" 294 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 295 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 296 | dependencies: 297 | to-regex-range "^5.0.1" 298 | 299 | fraction.js@^4.2.0: 300 | version "4.2.0" 301 | resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" 302 | integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== 303 | 304 | fsevents@~2.3.2: 305 | version "2.3.2" 306 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 307 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 308 | 309 | function-bind@^1.1.1: 310 | version "1.1.1" 311 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 312 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 313 | 314 | glob-parent@^5.1.2, glob-parent@~5.1.2: 315 | version "5.1.2" 316 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 317 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 318 | dependencies: 319 | is-glob "^4.0.1" 320 | 321 | glob-parent@^6.0.2: 322 | version "6.0.2" 323 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" 324 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 325 | dependencies: 326 | is-glob "^4.0.3" 327 | 328 | has@^1.0.3: 329 | version "1.0.3" 330 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 331 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 332 | dependencies: 333 | function-bind "^1.1.1" 334 | 335 | is-binary-path@~2.1.0: 336 | version "2.1.0" 337 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 338 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 339 | dependencies: 340 | binary-extensions "^2.0.0" 341 | 342 | is-core-module@^2.9.0: 343 | version "2.10.0" 344 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" 345 | integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== 346 | dependencies: 347 | has "^1.0.3" 348 | 349 | is-extglob@^2.1.1: 350 | version "2.1.1" 351 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 352 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 353 | 354 | is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: 355 | version "4.0.3" 356 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 357 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 358 | dependencies: 359 | is-extglob "^2.1.1" 360 | 361 | is-number@^7.0.0: 362 | version "7.0.0" 363 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 364 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 365 | 366 | "js-tokens@^3.0.0 || ^4.0.0": 367 | version "4.0.0" 368 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 369 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 370 | 371 | lilconfig@^2.0.5, lilconfig@^2.0.6: 372 | version "2.0.6" 373 | resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" 374 | integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== 375 | 376 | loose-envify@^1.1.0: 377 | version "1.4.0" 378 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 379 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 380 | dependencies: 381 | js-tokens "^3.0.0 || ^4.0.0" 382 | 383 | merge2@^1.3.0: 384 | version "1.4.1" 385 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 386 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 387 | 388 | micromatch@^4.0.4: 389 | version "4.0.5" 390 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 391 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 392 | dependencies: 393 | braces "^3.0.2" 394 | picomatch "^2.3.1" 395 | 396 | minimist@^1.2.6: 397 | version "1.2.6" 398 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" 399 | integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== 400 | 401 | nanoid@^3.3.4: 402 | version "3.3.4" 403 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" 404 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== 405 | 406 | next@^12.2.5: 407 | version "12.2.5" 408 | resolved "https://registry.yarnpkg.com/next/-/next-12.2.5.tgz#14fb5975e8841fad09553b8ef41fe1393602b717" 409 | integrity sha512-tBdjqX5XC/oFs/6gxrZhjmiq90YWizUYU6qOWAfat7zJwrwapJ+BYgX2PmiacunXMaRpeVT4vz5MSPSLgNkrpA== 410 | dependencies: 411 | "@next/env" "12.2.5" 412 | "@swc/helpers" "0.4.3" 413 | caniuse-lite "^1.0.30001332" 414 | postcss "8.4.14" 415 | styled-jsx "5.0.4" 416 | use-sync-external-store "1.2.0" 417 | optionalDependencies: 418 | "@next/swc-android-arm-eabi" "12.2.5" 419 | "@next/swc-android-arm64" "12.2.5" 420 | "@next/swc-darwin-arm64" "12.2.5" 421 | "@next/swc-darwin-x64" "12.2.5" 422 | "@next/swc-freebsd-x64" "12.2.5" 423 | "@next/swc-linux-arm-gnueabihf" "12.2.5" 424 | "@next/swc-linux-arm64-gnu" "12.2.5" 425 | "@next/swc-linux-arm64-musl" "12.2.5" 426 | "@next/swc-linux-x64-gnu" "12.2.5" 427 | "@next/swc-linux-x64-musl" "12.2.5" 428 | "@next/swc-win32-arm64-msvc" "12.2.5" 429 | "@next/swc-win32-ia32-msvc" "12.2.5" 430 | "@next/swc-win32-x64-msvc" "12.2.5" 431 | 432 | node-releases@^2.0.6: 433 | version "2.0.6" 434 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" 435 | integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== 436 | 437 | normalize-path@^3.0.0, normalize-path@~3.0.0: 438 | version "3.0.0" 439 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 440 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 441 | 442 | normalize-range@^0.1.2: 443 | version "0.1.2" 444 | resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" 445 | integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== 446 | 447 | object-hash@^3.0.0: 448 | version "3.0.0" 449 | resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" 450 | integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== 451 | 452 | path-parse@^1.0.7: 453 | version "1.0.7" 454 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 455 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 456 | 457 | picocolors@^1.0.0: 458 | version "1.0.0" 459 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 460 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 461 | 462 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: 463 | version "2.3.1" 464 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 465 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 466 | 467 | pify@^2.3.0: 468 | version "2.3.0" 469 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 470 | integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== 471 | 472 | postcss-import@^14.1.0: 473 | version "14.1.0" 474 | resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0" 475 | integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== 476 | dependencies: 477 | postcss-value-parser "^4.0.0" 478 | read-cache "^1.0.0" 479 | resolve "^1.1.7" 480 | 481 | postcss-js@^4.0.0: 482 | version "4.0.0" 483 | resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00" 484 | integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ== 485 | dependencies: 486 | camelcase-css "^2.0.1" 487 | 488 | postcss-load-config@^3.1.4: 489 | version "3.1.4" 490 | resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855" 491 | integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== 492 | dependencies: 493 | lilconfig "^2.0.5" 494 | yaml "^1.10.2" 495 | 496 | postcss-nested@5.0.6: 497 | version "5.0.6" 498 | resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc" 499 | integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== 500 | dependencies: 501 | postcss-selector-parser "^6.0.6" 502 | 503 | postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.6: 504 | version "6.0.10" 505 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" 506 | integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== 507 | dependencies: 508 | cssesc "^3.0.0" 509 | util-deprecate "^1.0.2" 510 | 511 | postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: 512 | version "4.2.0" 513 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" 514 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== 515 | 516 | postcss@8.4.14: 517 | version "8.4.14" 518 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" 519 | integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== 520 | dependencies: 521 | nanoid "^3.3.4" 522 | picocolors "^1.0.0" 523 | source-map-js "^1.0.2" 524 | 525 | postcss@^8.4.14, postcss@^8.4.16: 526 | version "8.4.16" 527 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" 528 | integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== 529 | dependencies: 530 | nanoid "^3.3.4" 531 | picocolors "^1.0.0" 532 | source-map-js "^1.0.2" 533 | 534 | queue-microtask@^1.2.2: 535 | version "1.2.3" 536 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 537 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 538 | 539 | quick-lru@^5.1.1: 540 | version "5.1.1" 541 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" 542 | integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== 543 | 544 | react-dom@^18.2.0: 545 | version "18.2.0" 546 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" 547 | integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== 548 | dependencies: 549 | loose-envify "^1.1.0" 550 | scheduler "^0.23.0" 551 | 552 | react-spinners@^0.13.4: 553 | version "0.13.4" 554 | resolved "https://registry.yarnpkg.com/react-spinners/-/react-spinners-0.13.4.tgz#20f7435e5cb3a2bde23110efa8b7dfbe485373e9" 555 | integrity sha512-V6IURjYOwomhdngMfuVxBp4utCF6v21sjQ6r4K2JoKl8fwXZp1UeHMBLf+2SU+cts8hAVj9rHOJ8kdT5UqqaJw== 556 | 557 | react@^18.2.0: 558 | version "18.2.0" 559 | resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" 560 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== 561 | dependencies: 562 | loose-envify "^1.1.0" 563 | 564 | read-cache@^1.0.0: 565 | version "1.0.0" 566 | resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" 567 | integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== 568 | dependencies: 569 | pify "^2.3.0" 570 | 571 | readdirp@~3.6.0: 572 | version "3.6.0" 573 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 574 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 575 | dependencies: 576 | picomatch "^2.2.1" 577 | 578 | resolve@^1.1.7, resolve@^1.22.1: 579 | version "1.22.1" 580 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 581 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 582 | dependencies: 583 | is-core-module "^2.9.0" 584 | path-parse "^1.0.7" 585 | supports-preserve-symlinks-flag "^1.0.0" 586 | 587 | reusify@^1.0.4: 588 | version "1.0.4" 589 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 590 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 591 | 592 | run-parallel@^1.1.9: 593 | version "1.2.0" 594 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 595 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 596 | dependencies: 597 | queue-microtask "^1.2.2" 598 | 599 | scheduler@^0.23.0: 600 | version "0.23.0" 601 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" 602 | integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== 603 | dependencies: 604 | loose-envify "^1.1.0" 605 | 606 | source-map-js@^1.0.2: 607 | version "1.0.2" 608 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 609 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 610 | 611 | styled-jsx@5.0.4: 612 | version "5.0.4" 613 | resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.4.tgz#5b1bd0b9ab44caae3dd1361295559706e044aa53" 614 | integrity sha512-sDFWLbg4zR+UkNzfk5lPilyIgtpddfxXEULxhujorr5jtePTUqiPDc5BC0v1NRqTr/WaFBGQQUoYToGlF4B2KQ== 615 | 616 | supports-preserve-symlinks-flag@^1.0.0: 617 | version "1.0.0" 618 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 619 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 620 | 621 | swr@^1.3.0: 622 | version "1.3.0" 623 | resolved "https://registry.yarnpkg.com/swr/-/swr-1.3.0.tgz#c6531866a35b4db37b38b72c45a63171faf9f4e8" 624 | integrity sha512-dkghQrOl2ORX9HYrMDtPa7LTVHJjCTeZoB1dqTbnnEDlSvN8JEKpYIYurDfvbQFUUS8Cg8PceFVZNkW0KNNYPw== 625 | 626 | tailwindcss@^3.1.8: 627 | version "3.1.8" 628 | resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.1.8.tgz#4f8520550d67a835d32f2f4021580f9fddb7b741" 629 | integrity sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g== 630 | dependencies: 631 | arg "^5.0.2" 632 | chokidar "^3.5.3" 633 | color-name "^1.1.4" 634 | detective "^5.2.1" 635 | didyoumean "^1.2.2" 636 | dlv "^1.1.3" 637 | fast-glob "^3.2.11" 638 | glob-parent "^6.0.2" 639 | is-glob "^4.0.3" 640 | lilconfig "^2.0.6" 641 | normalize-path "^3.0.0" 642 | object-hash "^3.0.0" 643 | picocolors "^1.0.0" 644 | postcss "^8.4.14" 645 | postcss-import "^14.1.0" 646 | postcss-js "^4.0.0" 647 | postcss-load-config "^3.1.4" 648 | postcss-nested "5.0.6" 649 | postcss-selector-parser "^6.0.10" 650 | postcss-value-parser "^4.2.0" 651 | quick-lru "^5.1.1" 652 | resolve "^1.22.1" 653 | 654 | to-regex-range@^5.0.1: 655 | version "5.0.1" 656 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 657 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 658 | dependencies: 659 | is-number "^7.0.0" 660 | 661 | tslib@^2.4.0: 662 | version "2.4.0" 663 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" 664 | integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== 665 | 666 | typescript@^4.8.2: 667 | version "4.8.2" 668 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.2.tgz#e3b33d5ccfb5914e4eeab6699cf208adee3fd790" 669 | integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== 670 | 671 | update-browserslist-db@^1.0.5: 672 | version "1.0.7" 673 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz#16279639cff1d0f800b14792de43d97df2d11b7d" 674 | integrity sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg== 675 | dependencies: 676 | escalade "^3.1.1" 677 | picocolors "^1.0.0" 678 | 679 | use-lanyard@^1.2.0: 680 | version "1.2.0" 681 | resolved "https://registry.yarnpkg.com/use-lanyard/-/use-lanyard-1.2.0.tgz#672193fe2e9c46d66c08a6037cd21f67295cb498" 682 | integrity sha512-cFGuRhQx1K7Mh3jAR+7GdNdQ/zRCp1FRg8b/ROPGXRKNptFdEXw1V1I3144WkDORXzkEQnJg6YSx1iq/7cLuCQ== 683 | dependencies: 684 | swr "^1.3.0" 685 | 686 | use-sync-external-store@1.2.0: 687 | version "1.2.0" 688 | resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" 689 | integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== 690 | 691 | util-deprecate@^1.0.2: 692 | version "1.0.2" 693 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 694 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 695 | 696 | xtend@^4.0.2: 697 | version "4.0.2" 698 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 699 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 700 | 701 | yaml@^1.10.2: 702 | version "1.10.2" 703 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 704 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 705 | 706 | zod@^3.19.0: 707 | version "3.19.0" 708 | resolved "https://registry.yarnpkg.com/zod/-/zod-3.19.0.tgz#a9303fcaed0950a3dc57bf35cc11f6282d4f52f2" 709 | integrity sha512-Yw0qvUsCNGBe5YacikdMt5gVYeUuaEFVDIHKMfElrGSaBhwR3CQK6vOzgfAJOjTdGIhEeoaj8GtT+NDZrepZbw== 710 | --------------------------------------------------------------------------------