├── .editorconfig ├── .eslintignore ├── .eslintrc.json ├── .gitignore ├── .husky └── pre-commit ├── .prettierignore ├── .prettierrc ├── .spaceignore ├── .vscode ├── extensions.json └── settings.json ├── Discovery.md ├── LICENSE ├── README.md ├── Spacefile ├── components ├── BigText │ ├── BigText.tsx │ └── index.ts ├── Comp │ ├── Comp.tsx │ └── index.ts ├── Container │ ├── Container.tsx │ └── index.ts ├── Footer │ ├── Footer.tsx │ └── index.ts └── Stacks │ ├── Stack.tsx │ ├── StackItem.tsx │ └── index.ts ├── lib ├── classNames.ts └── link.ts ├── next-env.d.ts ├── next.config.js ├── package-lock.json ├── package.json ├── pages ├── 404.tsx ├── _app.tsx ├── _document.tsx ├── api │ ├── stack.ts │ ├── stack_public.ts │ ├── stacks.ts │ └── stacks_public.ts ├── edit.tsx └── index.tsx ├── pnpm-lock.yaml ├── postcss.config.js ├── public ├── robots.txt └── static │ └── favicons │ ├── android-chrome-192x192.png │ ├── android-chrome-512x512.png │ ├── apple-touch-icon.png │ ├── browserconfig.xml │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── favicon.ico │ ├── icon.png │ └── site.webmanifest ├── styles └── globals.css ├── tailwind.config.js ├── tsconfig.json └── vercel.json /.editorconfig: -------------------------------------------------------------------------------- 1 | # https://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | 15 | [*.json] 16 | indent_size = 2 -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | out_functions 3 | out_publish 4 | .next -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "next", 4 | "eslint:recommended", 5 | "next/core-web-vitals", 6 | "eslint:recommended", 7 | "plugin:@typescript-eslint/recommended", 8 | "plugin:prettier/recommended" 9 | ], 10 | "parser": "@typescript-eslint/parser", 11 | "plugins": ["@typescript-eslint"], 12 | "ignorePatterns": ["postcss.config.js", "tailwind.config.js"], 13 | "rules": { 14 | "import/order": [ 15 | "error", 16 | { 17 | "groups": ["builtin", "external", "internal"], 18 | "pathGroups": [ 19 | { 20 | "pattern": "react", 21 | "group": "external", 22 | "position": "before" 23 | } 24 | ], 25 | "pathGroupsExcludedImportTypes": ["react"], 26 | "newlines-between": "always", 27 | "alphabetize": { 28 | "order": "asc", 29 | "caseInsensitive": true 30 | } 31 | } 32 | ], 33 | "no-unused-vars": "off", 34 | "no-console": "warn", 35 | "@typescript-eslint/explicit-module-boundary-types": "off" 36 | }, 37 | "globals": { 38 | "React": true, 39 | "JSX": true 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | .pnpm-debug.log* 27 | 28 | # local env files 29 | .env*.local 30 | 31 | # vercel 32 | .vercel 33 | 34 | # typescript 35 | *.tsbuildinfo 36 | .space -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | pnpm lint-staged 5 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | 27 | # local env files 28 | .env.local 29 | .env.development.local 30 | .env.test.local 31 | .env.production.local 32 | 33 | # vercel 34 | .vercel 35 | .cache 36 | package.json 37 | package-lock.json 38 | public 39 | node_modules 40 | out_functions 41 | out_publish 42 | .next 43 | yarn.lock 44 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "jsxSingleQuote": true, 4 | "tabWidth": 2, 5 | "printWidth": 80, 6 | "useTabs": false, 7 | "semi": false, 8 | "trailingComma": "es5", 9 | "bracketSpacing": true, 10 | "arrowParens": "avoid" 11 | } 12 | -------------------------------------------------------------------------------- /.spaceignore: -------------------------------------------------------------------------------- 1 | .next 2 | node_modules 3 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "bradlc.vscode-tailwindcss", 4 | "dbaeumer.vscode-eslint", 5 | "EditorConfig.EditorConfig", 6 | "esbenp.prettier-vscode" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.defaultFormatter": "esbenp.prettier-vscode", 3 | "editor.formatOnPaste": false, 4 | "editor.formatOnSave": true, 5 | "prettier.requireConfig": true, 6 | "editor.quickSuggestions": { 7 | "strings": true 8 | }, 9 | "editor.codeActionsOnSave": { 10 | "source.fixAll.eslint": true 11 | }, 12 | "eslint.workingDirectories": [{ "mode": "auto" }], 13 | 14 | // https://github.com/antfu/vscode-file-nesting-config 15 | "explorer.experimental.fileNesting.enabled": true, 16 | "explorer.experimental.fileNesting.expand": false, 17 | "explorer.experimental.fileNesting.patterns": { 18 | ".gitignore": ".gitattributes, .gitmodules, .gitmessage, .mailmap, .git-blame*", 19 | "*.js": "$(capture).js.map, $(capture).min.js, $(capture).d.ts", 20 | "*.jsx": "$(capture).js", 21 | "*.ts": "$(capture).js, $(capture).*.ts", 22 | "*.tsx": "$(capture).ts", 23 | "index.d.ts": "*.d.ts", 24 | "shims.d.ts": "*.d.ts", 25 | "go.mod": ".air*, go.sum", 26 | "default.nix": "shell.nix", 27 | "flake.nix": "flake.lock", 28 | ".env": "*.env, .env*, env.d.ts", 29 | "dockerfile": ".dockerignore, dockerfile*", 30 | "package.json": ".browserslist*, .circleci*, .codecov, .commitlint*, .editorconfig, .eslint*, .flowconfig, .gitlab*, .gitpod*, .huskyrc*, .jslint*, .markdownlint*, .mocha*, .node-version, .nodemon*, .npm*, .nvmrc, .pm2*, .pnp.*, .pnpm*, .prettier*, .releaserc*, .sentry*, .stackblitz*, .stylelint*, .tazerc*, .textlint*, .travis*, .vscode*, .watchman*, .xo-config*, .yamllint*, .yarnrc*, api-extractor.json, appveyor*, ava.config.*, azure-pipelines*, bower.json, build.config.*, commitlint*, crowdin*, cypress.json, dangerfile*, dprint.json, grunt*, gulp*, jasmine.*, jenkins*, jest.config.*, jsconfig.*, karma*, lerna*, lint-staged*, nest-cli.*, netlify*, nodemon*, nx.*, package-lock.json, playwright.config.*, pm2.*, pnpm*, prettier*, pullapprove*, puppeteer.config.*, renovate*, rollup.config.*, stylelint*, tsconfig.*, tsdoc.*, tslint*, tsup.config.*, turbo*, typedoc*, vercel*, vetur.config.*, vitest.config.*, webpack.config.*, workspace.json, xo.config.*, yarn*", 31 | "rush.json": ".browserslist*, .circleci*, .codecov, .commitlint*, .editorconfig, .eslint*, .flowconfig, .gitlab*, .gitpod*, .huskyrc*, .jslint*, .markdownlint*, .mocha*, .node-version, .nodemon*, .npm*, .nvmrc, .pm2*, .pnp.*, .pnpm*, .prettier*, .releaserc*, .sentry*, .stackblitz*, .stylelint*, .tazerc*, .textlint*, .travis*, .vscode*, .watchman*, .xo-config*, .yamllint*, .yarnrc*, api-extractor.json, appveyor*, ava.config.*, azure-pipelines*, bower.json, build.config.*, commitlint*, crowdin*, cypress.json, dangerfile*, dprint.json, grunt*, gulp*, jasmine.*, jenkins*, jest.config.*, jsconfig.*, karma*, lerna*, lint-staged*, nest-cli.*, netlify*, nodemon*, nx.*, package-lock.json, playwright.config.*, pm2.*, pnpm*, prettier*, pullapprove*, puppeteer.config.*, renovate*, rollup.config.*, stylelint*, tsconfig.*, tsdoc.*, tslint*, tsup.config.*, turbo*, typedoc*, vercel*, vetur.config.*, vitest.config.*, webpack.config.*, workspace.json, xo.config.*, yarn*", 32 | "readme.*": "authors, backers.md, changelog*, citation*, code_of_conduct.md, codeowners, contributing.md, contributors, copying, credits, governance.md, history.md, license*, maintainers, readme*, security.md, sponsors.md", 33 | "cargo.toml": "cargo.lock, rust-toolchain.toml, rustfmt.toml", 34 | "gemfile": ".ruby-version, gemfile.lock", 35 | "vite.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env*, .htmlnanorc*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, cssnano.config.*, cypress.json, env.d.ts, htmlnanorc.*, index.html, jasmine.*, jest.config.*, jsconfig.*, karma*, playwright.config.*, postcss.config.*, puppeteer.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*", 36 | "vue.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env*, .htmlnanorc*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, cssnano.config.*, cypress.json, env.d.ts, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, playwright.config.*, postcss.config.*, puppeteer.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*", 37 | "nuxt.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env*, .htmlnanorc*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, cssnano.config.*, cypress.json, env.d.ts, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, playwright.config.*, postcss.config.*, puppeteer.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*", 38 | "next.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env*, .htmlnanorc*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, cssnano.config.*, cypress.json, env.d.ts, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, next-env.d.ts, playwright.config.*, postcss.config.*, puppeteer.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*", 39 | "svelte.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env*, .htmlnanorc*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, cssnano.config.*, cypress.json, env.d.ts, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, playwright.config.*, postcss.config.*, puppeteer.config.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*", 40 | "remix.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env*, .htmlnanorc*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, cssnano.config.*, cypress.json, env.d.ts, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, playwright.config.*, postcss.config.*, puppeteer.config.*, remix.*, svgo.config.*, tailwind.config.*, tsconfig.*, tsdoc.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Discovery.md: -------------------------------------------------------------------------------- 1 | --- 2 | app_name: stacks 3 | tagline: share your stack of tools 4 | theme_color: '#181818' 5 | git: https://github.com/cristicretu/stacks 6 | --- 7 | 8 | 9 | A grid of stacks (title x description) where you could share anything you'd want: 10 | 11 | - Currently reading 12 | - Favorite editor 13 | - Workstation 14 | - ... 15 | 16 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Cristi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # stacks 2 | 3 | a lightweight website that you can self-host thanks to [Deta Space](https://deta.space/), and share with others ¬ [My own stack](https://stacks-2-r2358063.deta.app/). 4 | 5 | to grab your own version, go to [stacks' discovery page](https://deta.space/discovery/@cristicretu/stacks), install and then just use the app! 6 | 7 | image 8 | 9 | ## Running 10 | 11 | Use the [space CLI](https://deta.space/docs/en/build/reference/cli#content) to create a new builder project on Deta Space. 12 | 13 | ```bash 14 | space new 15 | ``` 16 | 17 | then run locally using 18 | 19 | ```bash 20 | space dev 21 | ``` 22 | 23 | this will simulate the space environment, with a dev db, without any keys and what not. 24 | 25 | To push your changes to space, and respectively create a release use 26 | 27 | ```bash 28 | space push 29 | # space release 30 | ``` 31 | 32 | ## Contributing 33 | 34 | i made this during an internal hackaton so i skipped a lot of steps 35 | 36 | so feel free to modify / hack things around and submit a pr :) 37 | -------------------------------------------------------------------------------- /Spacefile: -------------------------------------------------------------------------------- 1 | # Spacefile Docs: https://go.deta.dev/docs/spacefile/v0 2 | v: 0 3 | icon: ./public/static/favicons/icon.png 4 | micros: 5 | - name: stacks 6 | src: ./ 7 | engine: next 8 | primary: true 9 | public_routes: 10 | - '/' 11 | - '/api/stack_public' 12 | - '/api/stacks_public' 13 | - '_next/static/*' 14 | - 'static/*' 15 | -------------------------------------------------------------------------------- /components/BigText/BigText.tsx: -------------------------------------------------------------------------------- 1 | // https://github.com/delbaoliveira/website/blob/main/ui/challenge/TextSlider.tsx 2 | import React from 'react' 3 | 4 | import { useInterval } from 'react-use' 5 | 6 | import classNames from 'lib/classNames' 7 | 8 | interface BigTextProps { 9 | slides: Array 10 | } 11 | 12 | export default function BigText({ slides }: BigTextProps) { 13 | const [currentSlide, setSlide] = React.useState(0) 14 | 15 | const totalSlides = slides.length 16 | 17 | useInterval(() => { 18 | if (totalSlides - 1 === currentSlide) { 19 | setSlide(0) 20 | } else { 21 | setSlide(currentSlide + 1) 22 | } 23 | }, 2000) 24 | 25 | return ( 26 |
27 |
28 |

The ultimate

29 | {slides.map((text, index) => { 30 | return ( 31 | 32 | 39 | {text} 40 | 41 | 42 | 50 | {text} 51 | 52 | 53 | ) 54 | })} 55 |

56 | Front-End Template. 57 |

58 |

59 | Edit pages/index.tsx to get started. 🚀 60 |

61 |
62 |
63 | ) 64 | } 65 | -------------------------------------------------------------------------------- /components/BigText/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './BigText' 2 | -------------------------------------------------------------------------------- /components/Comp/Comp.tsx: -------------------------------------------------------------------------------- 1 | function Comp({ 2 | as, 3 | children, 4 | ...props 5 | }: { 6 | [key: string]: any 7 | as: any 8 | children?: React.ReactNode 9 | }): JSX.Element { 10 | const Component = as 11 | if (Component === 'input') { 12 | return 13 | } 14 | return {children} 15 | } 16 | 17 | export default Comp 18 | -------------------------------------------------------------------------------- /components/Comp/index.ts: -------------------------------------------------------------------------------- 1 | export { default as Comp } from './Comp' 2 | -------------------------------------------------------------------------------- /components/Container/Container.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | // import { useRouter } from 'next/dist/client/router' 4 | import Head from 'next/head' 5 | // import useSWR from 'swr' 6 | 7 | import Footer from 'components/Footer/Footer' 8 | import cn from 'lib/classNames' 9 | // import { IStack } from 'pages/api/stack' 10 | 11 | // eslint-disable-next-line @typescript-eslint/no-explicit-any 12 | export default function Container(props: any) { 13 | // const { data } = useSWR('/api/stack_public', key => 14 | // fetch(key).then(res => res.json()) 15 | // ) 16 | 17 | const { children, ...customMeta } = props 18 | // const router = useRouter() 19 | 20 | const meta = { 21 | title: 'space user', 22 | description: 'join deta space', 23 | type: 'website', 24 | ...customMeta, 25 | } 26 | 27 | // if (data && data[0] === undefined) { 28 | // // createStack() 29 | // // switch to url /edit 30 | // router.push('/edit') 31 | 32 | // return
Loading...
33 | // } 34 | 35 | return ( 36 | <> 37 |
45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | {meta.date && ( 57 | 58 | )} 59 | 60 | 61 |
70 |
71 |
{children}
72 |
73 |
74 |
75 |
76 |
77 | 78 | ) 79 | } 80 | -------------------------------------------------------------------------------- /components/Container/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './Container' 2 | -------------------------------------------------------------------------------- /components/Footer/Footer.tsx: -------------------------------------------------------------------------------- 1 | import { useEffect, useState } from 'react' 2 | 3 | import { useTheme } from 'next-themes' 4 | 5 | export default function Footer() { 6 | const { resolvedTheme, setTheme } = useTheme() 7 | const [mounted, setMounted] = useState(false) 8 | 9 | useEffect(() => { 10 | setMounted(true) 11 | }, []) 12 | 13 | return ( 14 |
15 | 27 |

28 | made with{' '} 29 | 35 | stacks 36 | 37 | ↗ 38 | 39 | 40 |

41 |
42 | ) 43 | } 44 | -------------------------------------------------------------------------------- /components/Footer/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './Footer' 2 | -------------------------------------------------------------------------------- /components/Stacks/Stack.tsx: -------------------------------------------------------------------------------- 1 | import { useCallback, useEffect, useState } from 'react' 2 | 3 | import useSWR from 'swr' 4 | 5 | import { IStacks } from 'pages/api/stacks' 6 | 7 | import StackItem from './StackItem' 8 | 9 | export default function Stack({ editable = true }: { editable?: boolean }) { 10 | const { data, error, mutate } = useSWR('/api/stacks_public', key => 11 | fetch(key).then(res => res.json()) 12 | ) 13 | 14 | const [newTitle, setNewTitle] = useState('') 15 | const [newDescription, setNewDescription] = useState('') 16 | const [titleFocused, setTitleFocused] = useState(false) 17 | const [descriptionFocused, setDescriptionFocused] = useState(false) 18 | 19 | const createStack = useCallback( 20 | async (title = 'title', description = 'description') => { 21 | if (!editable) return 22 | await fetch('/api/stacks', { 23 | method: 'POST', 24 | headers: { 25 | 'Content-Type': 'application/json', 26 | }, 27 | body: JSON.stringify({ 28 | title, 29 | description, 30 | }), 31 | }) 32 | mutate() 33 | setNewDescription('') 34 | setNewTitle('') 35 | // if (titleRef.current) { 36 | // titleRef.current.blur() 37 | // } 38 | // if (descriptionRef.current) { 39 | // descriptionRef.current.blur() 40 | // } 41 | }, 42 | [editable, mutate] 43 | ) 44 | 45 | useEffect(() => { 46 | if ( 47 | newTitle && 48 | newDescription && 49 | titleFocused === false && 50 | descriptionFocused === false && 51 | editable 52 | ) { 53 | createStack(newTitle, newDescription) 54 | } 55 | }, [ 56 | newTitle, 57 | newDescription, 58 | createStack, 59 | titleFocused, 60 | descriptionFocused, 61 | editable, 62 | ]) 63 | 64 | if (error) { 65 | return
Failed to load stacks
66 | } 67 | if (!data) { 68 | return
Loading...
69 | } 70 | 71 | return ( 72 | <> 73 | {data.map(stack => ( 74 | 81 | {stack.description} 82 | 83 | ))} 84 | {editable && ( 85 | 86 | { 91 | if (!editable) return 92 | const newTitle = e.target.value 93 | setNewTitle(newTitle) 94 | }} 95 | className='text-secondary bg-transparent border-none focus:border-transparen focus:ring-0 focus:outline-none' 96 | onFocus={() => { 97 | setTitleFocused(true) 98 | }} 99 | disabled={!editable} 100 | onBlur={() => { 101 | setTitleFocused(false) 102 | }} 103 | > 104 | { 109 | if (!editable) return 110 | const newDescription = e.target.value 111 | setNewDescription(newDescription) 112 | }} 113 | disabled={!editable} 114 | className='text-secondary hover:text-primary text-quaternary bg-transparent border-none focus:border-transparent focus:outline-none focus:ring-0 w-full transition-all duration-200' 115 | onFocus={() => { 116 | setDescriptionFocused(true) 117 | }} 118 | onBlur={() => { 119 | setDescriptionFocused(false) 120 | }} 121 | > 122 | 123 | )} 124 | 125 | ) 126 | } 127 | -------------------------------------------------------------------------------- /components/Stacks/StackItem.tsx: -------------------------------------------------------------------------------- 1 | import { useCallback, useEffect, useState } from 'react' 2 | 3 | import { KeyedMutator } from 'swr/_internal' 4 | 5 | import { Comp } from 'components/Comp' 6 | import { isLink, shortenLink } from 'lib/link' 7 | import { IStacks } from 'pages/api/stacks' 8 | 9 | function StackItem({ 10 | id, 11 | title, 12 | children, 13 | mutate, 14 | editable = true, 15 | }: { 16 | id?: string 17 | title: string 18 | children?: React.ReactNode 19 | mutate?: KeyedMutator 20 | editable?: boolean 21 | }) { 22 | const [updatedTitle, setUpdatedTitle] = useState(title) 23 | const [updatedDescription, setUpdatedDescription] = useState(children) 24 | 25 | const updateStack = useCallback( 26 | async (title: string | undefined, description: string | undefined) => { 27 | if (!editable) return 28 | await fetch(`/api/stacks/`, { 29 | method: 'PATCH', 30 | headers: { 31 | 'Content-Type': 'application/json', 32 | }, 33 | body: JSON.stringify({ 34 | key: id, 35 | title: title ? updatedTitle : undefined, 36 | description: description ? updatedDescription : undefined, 37 | }), 38 | }) 39 | }, 40 | [editable, id, updatedDescription, updatedTitle] 41 | ) 42 | 43 | useEffect(() => { 44 | if (!editable) return 45 | updateStack(updatedTitle, undefined) 46 | }, [editable, updateStack, updatedTitle]) 47 | 48 | useEffect(() => { 49 | if (!editable) return 50 | updateStack(undefined, updatedDescription as string) 51 | }, [editable, updateStack, updatedDescription]) 52 | 53 | return ( 54 | 58 | {editable && ( 59 | 78 | )} 79 | { 83 | if (!editable) return 84 | const newTitle = e.target.value 85 | setUpdatedTitle(newTitle) 86 | }} 87 | disabled={!editable} 88 | className='text-secondary bg-transparent border-none focus:border-transparen focus:ring-0 focus:outline-none' 89 | > 90 | {/* { 94 | if (!editable) return 95 | const newDescription = e.target.value 96 | setUpdatedDescription(newDescription) 97 | }} 98 | disabled={!editable} 99 | className='text-secondary hover:text-primary text-quaternary bg-transparent border-none focus:border-transparent focus:outline-none focus:ring-0 w-full transition-all duration-200' 100 | > */} 101 | { 108 | if (!editable) return 109 | const newDescription = e.target.value 110 | setUpdatedDescription(newDescription) 111 | }} 112 | href={ 113 | // if it starts with http:// or https:// 114 | /^(http|https):\/\/[^ "]+$/.test(updatedDescription as string) 115 | ? (updatedDescription as string) 116 | : `https://${updatedDescription as string}` 117 | } 118 | disabled={!editable && !isLink(updatedDescription as string)} 119 | className={`text-secondary ${ 120 | isLink(updatedDescription as string) 121 | ? 'cursor-pointer' 122 | : 'cursor-auto' 123 | } hover:text-primary text-quaternary bg-transparent border-none focus:border-transparent focus:outline-none focus:ring-0 w-full transition-all duration-200`} 124 | rel='noreferrer noopener' 125 | target='_blank' 126 | > 127 | {!editable && {shortenLink(updatedDescription as string)}} 128 | 129 | 130 | ) 131 | } 132 | 133 | export default StackItem 134 | -------------------------------------------------------------------------------- /components/Stacks/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './Stack' 2 | -------------------------------------------------------------------------------- /lib/classNames.ts: -------------------------------------------------------------------------------- 1 | export default function cn(...classes: string[]): string { 2 | return classes.filter(Boolean).join(' ') 3 | } 4 | -------------------------------------------------------------------------------- /lib/link.ts: -------------------------------------------------------------------------------- 1 | function isLink(str: string) { 2 | const websiteRegex = 3 | /^(https?:\/\/)?(www\.)?[a-zA-Z0-9_-]+\.[a-zA-Z]+(\/\S*)?$/ 4 | return websiteRegex.test(str) 5 | } 6 | 7 | function shortenLink(str: string) { 8 | // if it starts with http:// or https:// 9 | if (/^(http|https):\/\/[^ "]+$/.test(str)) { 10 | // remove http:// or https:// 11 | return str.replace(/^(http|https):\/\//, '') 12 | } 13 | return str 14 | } 15 | 16 | export { isLink, shortenLink } 17 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | reactStrictMode: true, 4 | swcMinify: true, 5 | output: 'standalone', 6 | } 7 | 8 | module.exports = nextConfig 9 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ts-next-tailwind-template", 3 | "version": "0.5.0", 4 | "private": "true", 5 | "description": "Customizable Front-End Template", 6 | "packageManager": "pnpm@7.9.5", 7 | "scripts": { 8 | "dev": "next dev", 9 | "build": "next build", 10 | "start": "next start", 11 | "lint": "eslint --ext=jsx,ts,tsx .", 12 | "lint:fix": "eslint --ext=jsx,ts,tsx . --fix", 13 | "format": "prettier --write \"./**/*.{js,jsx,ts,tsx}\"", 14 | "prepare": "husky install" 15 | }, 16 | "dependencies": { 17 | "deta": "^1.1.0", 18 | "eslint-config-prettier": "^8.7.0", 19 | "next": "^13.2.4", 20 | "next-themes": "^0.2.1", 21 | "react": "^18.2.0", 22 | "react-dom": "^18.2.0", 23 | "react-use": "^17.4.0", 24 | "swr": "^2.2.0" 25 | }, 26 | "devDependencies": { 27 | "@types/node": "^18.15.0", 28 | "@types/react": "^18.0.28", 29 | "@typescript-eslint/eslint-plugin": "^5.54.1", 30 | "@typescript-eslint/parser": "^5.54.1", 31 | "autoprefixer": "^10.4.14", 32 | "eslint": "^8.35.0", 33 | "eslint-config-next": "13.2.4", 34 | "eslint-config-prettier": "^8.5.0", 35 | "eslint-plugin-prettier": "^4.2.1", 36 | "eslint-plugin-react": "^7.32.2", 37 | "husky": "^8.0.3", 38 | "lint-staged": "^13.2.0", 39 | "postcss": "^8.4.21", 40 | "prettier": "^2.8.4", 41 | "tailwindcss": "^3.2.7", 42 | "typescript": "^4.9.5" 43 | }, 44 | "lint-staged": { 45 | "*.tsx,*.ts,*.mdx": [ 46 | "eslint --fix" 47 | ] 48 | }, 49 | "husky": { 50 | "hooks": { 51 | "pre-commit": "lint-staged" 52 | } 53 | }, 54 | "author": { 55 | "email": "crisemcr@gmail.com", 56 | "name": "Cristian Crețu", 57 | "url": "https://cretu.dev" 58 | }, 59 | "license": "MIT", 60 | "bugs": { 61 | "url": "https://github.com/cristicretu/ts-next-tailwind-template/issues" 62 | }, 63 | "homepage": "https://template.cretu.dev", 64 | "browserslist": { 65 | "production": [ 66 | ">0.2%", 67 | "not dead", 68 | "not op_mini all" 69 | ], 70 | "development": [ 71 | "last 1 chrome version", 72 | "last 1 firefox version", 73 | "last 1 safari version" 74 | ] 75 | }, 76 | "keywords": [ 77 | "tailwindcss", 78 | "template", 79 | "radix", 80 | "react", 81 | "nextjs" 82 | ] 83 | } 84 | -------------------------------------------------------------------------------- /pages/404.tsx: -------------------------------------------------------------------------------- 1 | import Link from 'next/link' 2 | 3 | import Container from 'components/Container' 4 | 5 | export default function NotFound() { 6 | return ( 7 | 8 |
9 |

10 | 404 - Not Found 11 |

12 |
13 |

14 | You found something that used to exist, or you typed something 15 | wrong. Try that URL again or return home. 16 |

17 | 21 | Return home 22 | 23 |
24 |
25 |
26 | ) 27 | } 28 | -------------------------------------------------------------------------------- /pages/_app.tsx: -------------------------------------------------------------------------------- 1 | import type { AppProps } from 'next/app' 2 | import { ThemeProvider } from 'next-themes' 3 | 4 | import 'styles/globals.css' 5 | 6 | function MyApp({ Component, pageProps }: AppProps) { 7 | return ( 8 | 9 | 10 | 11 | ) 12 | } 13 | 14 | export default MyApp 15 | -------------------------------------------------------------------------------- /pages/_document.tsx: -------------------------------------------------------------------------------- 1 | import Document, { Head, Html, Main, NextScript } from 'next/document' 2 | 3 | class MyDocument extends Document { 4 | render() { 5 | return ( 6 | 7 | 8 | 15 | 16 | 17 | 22 | 28 | 34 | 39 | 43 | 48 | 53 | 54 | 55 |
56 | 57 | 58 | 59 | ) 60 | } 61 | } 62 | 63 | export default MyDocument 64 | -------------------------------------------------------------------------------- /pages/api/stack.ts: -------------------------------------------------------------------------------- 1 | import { Base } from 'deta' 2 | import { NextApiRequest, NextApiResponse } from 'next' 3 | 4 | export type IStack = { 5 | name: string 6 | description: string 7 | key: string 8 | } 9 | 10 | export default async function handler( 11 | request: NextApiRequest, 12 | response: NextApiResponse 13 | ) { 14 | // Connect to a Base for storing todo items. 15 | const base = Base('name') 16 | if (request.method == 'POST') { 17 | const { name, description } = await request.body 18 | const existing = await base.fetch({ name }) 19 | if (existing.items.length > 0) { 20 | response.status(409).json({ message: 'Stack already exists' }) 21 | return 22 | } 23 | const resp = await base.put({ name, description }) 24 | response.status(201).json(resp) 25 | } else if (request.method === 'PATCH') { 26 | const { key, name, description } = await request.body 27 | 28 | if (name) { 29 | await base.update( 30 | { 31 | name, 32 | }, 33 | key 34 | ) 35 | } 36 | if (description) { 37 | await base.update( 38 | { 39 | description, 40 | }, 41 | key 42 | ) 43 | } 44 | // const resp = await base.update(key, item) 45 | // Return the response as JSON. 46 | response.status(200).json({ key }) 47 | } else { 48 | response.status(405).end() 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /pages/api/stack_public.ts: -------------------------------------------------------------------------------- 1 | import { Base } from 'deta' 2 | import { NextApiRequest, NextApiResponse } from 'next' 3 | 4 | export default async function handler( 5 | request: NextApiRequest, 6 | response: NextApiResponse 7 | ) { 8 | // Connect to a Base for storing todo items. 9 | const base = Base('name') 10 | if (request.method === 'GET') { 11 | const stacks = await base.fetch() 12 | response.status(200).json(stacks.items) 13 | } else { 14 | response.status(405).end() 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /pages/api/stacks.ts: -------------------------------------------------------------------------------- 1 | import { Base } from 'deta' 2 | import { NextApiRequest, NextApiResponse } from 'next' 3 | 4 | export type IStacks = { 5 | title: string 6 | description: string 7 | key: string 8 | } 9 | 10 | export default async function handler( 11 | request: NextApiRequest, 12 | response: NextApiResponse 13 | ) { 14 | // Connect to a Base for storing todo items. 15 | const base = Base('stacks') 16 | if (request.method === 'POST') { 17 | // Get the item from the request body. 18 | const item = await request.body 19 | // Put the item into the Base. 20 | const resp = await base.put(item) 21 | // Return the response as JSON. 22 | response.status(201).json(resp) 23 | } else if (request.method === 'DELETE') { 24 | // Get the key from the request body. 25 | const { key } = await request.body 26 | // Delete the item from the Base. 27 | const resp = await base.delete(key) 28 | // Return the response as JSON. 29 | response.status(200).json(resp) 30 | } else if (request.method === 'PATCH') { 31 | const { key, title, description } = await request.body 32 | 33 | if (title) { 34 | await base.update( 35 | { 36 | title, 37 | }, 38 | key 39 | ) 40 | } 41 | if (description) { 42 | await base.update( 43 | { 44 | description, 45 | }, 46 | key 47 | ) 48 | } 49 | // const resp = await base.update(key, item) 50 | // Return the response as JSON. 51 | response.status(200).json({ key }) 52 | } else { 53 | response.status(405).end() 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /pages/api/stacks_public.ts: -------------------------------------------------------------------------------- 1 | import { Base } from 'deta' 2 | import { NextApiRequest, NextApiResponse } from 'next' 3 | 4 | export default async function handler( 5 | request: NextApiRequest, 6 | response: NextApiResponse 7 | ) { 8 | const base = Base('stacks') 9 | if (request.method === 'GET') { 10 | const stacks = await base.fetch() 11 | response.status(200).json(stacks.items) 12 | } else { 13 | response.status(405).end() 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /pages/edit.tsx: -------------------------------------------------------------------------------- 1 | import { useCallback, useEffect, useState } from 'react' 2 | 3 | import useSWR from 'swr' 4 | 5 | import Container from 'components/Container' 6 | import Stack from 'components/Stacks/Stack' 7 | 8 | import { IStack } from './api/stack' 9 | 10 | export default function Edit() { 11 | return ( 12 | 13 |
14 |
15 |

16 | ˆto add a new stack, fill in the two fields and click away to confirm.{' '} 17 |
18 | ˆto edit a stack, click the title or description and start typing.{' '} 19 | (or use tab) 20 |
21 | ˆto delete a stack, hover over it. 22 |

23 |
24 | 25 |
26 |
27 |
28 | ) 29 | } 30 | 31 | function Header() { 32 | const { data, error, mutate } = useSWR('/api/stack_public', key => 33 | fetch(key).then(res => res.json()) 34 | ) 35 | 36 | const [ran, setRan] = useState(false) 37 | 38 | async function createStack( 39 | name = 'john doe', 40 | description = 'enthusiast coder' 41 | ) { 42 | if (ran) return 43 | setRan(true) 44 | await fetch('/api/stack', { 45 | method: 'POST', 46 | headers: { 47 | 'Content-Type': 'application/json', 48 | }, 49 | body: JSON.stringify({ 50 | name, 51 | description, 52 | }), 53 | }) 54 | mutate() 55 | } 56 | 57 | if (error) { 58 | return
Failed to load
59 | } 60 | if (!data) { 61 | return
Loading...
62 | } 63 | 64 | if (data[0] === undefined) { 65 | createStack() 66 | 67 | return
Loading...
68 | } 69 | 70 | return ( 71 |
72 | {/*
73 | Logo 80 |
81 | ✨ 82 |
83 |
*/} 84 |
85 | 86 | {data[0].description} 87 | 88 |
89 |
90 | ) 91 | } 92 | 93 | function HeaderItem({ 94 | id, 95 | title, 96 | children, 97 | }: { 98 | id?: string 99 | title: string 100 | children?: React.ReactNode 101 | }) { 102 | const [updatedName, setName] = useState(title) 103 | const [updatedDescription, setDescription] = useState(children) 104 | 105 | const updateStack = useCallback( 106 | async (name: string | undefined, description: string | undefined) => { 107 | await fetch(`/api/stack/`, { 108 | method: 'PATCH', 109 | headers: { 110 | 'Content-Type': 'application/json', 111 | }, 112 | body: JSON.stringify({ 113 | key: id, 114 | name: name ? updatedName : undefined, 115 | description: description ? updatedDescription : undefined, 116 | }), 117 | }) 118 | }, 119 | [id, updatedDescription, updatedName] 120 | ) 121 | 122 | useEffect(() => { 123 | updateStack(updatedName, undefined) 124 | }, [updateStack, updatedName]) 125 | 126 | useEffect(() => { 127 | updateStack(undefined, updatedDescription as string) 128 | }, [updateStack, updatedDescription]) 129 | 130 | return ( 131 | 132 | { 136 | const newTitle = e.target.value 137 | setName(newTitle) 138 | }} 139 | className='text-secondary bg-transparent border-none focus:border-transparen focus:ring-0 focus:outline-none' 140 | > 141 | { 145 | const newDescription = e.target.value 146 | setDescription(newDescription) 147 | }} 148 | className='text-secondary hover:text-primary text-quaternary bg-transparent border-none focus:border-transparent focus:outline-none focus:ring-0 w-full transition-all duration-200' 149 | > 150 | 151 | ) 152 | } 153 | -------------------------------------------------------------------------------- /pages/index.tsx: -------------------------------------------------------------------------------- 1 | import { useRouter } from 'next/router' 2 | import useSWR from 'swr' 3 | 4 | import { Comp } from 'components/Comp' 5 | import Container from 'components/Container' 6 | import Stack from 'components/Stacks/Stack' 7 | import { isLink, shortenLink } from 'lib/link' 8 | 9 | import { IStack } from './api/stack' 10 | 11 | export default function Home() { 12 | return ( 13 | 14 |
15 |
16 |
17 | 18 |
19 |
20 |
21 | ) 22 | } 23 | 24 | function Header() { 25 | const { data, error } = useSWR('/api/stack_public', key => 26 | fetch(key).then(res => res.json()) 27 | ) 28 | const router = useRouter() 29 | // const [ran, setRan] = useState(false) 30 | 31 | // async function createStack( 32 | // name = 'john doe', 33 | // description = 'enthusiast coder' 34 | // ) { 35 | // if (ran) return 36 | // setRan(true) 37 | // await fetch('/api/stack', { 38 | // method: 'POST', 39 | // headers: { 40 | // 'Content-Type': 'application/json', 41 | // }, 42 | // body: JSON.stringify({ 43 | // name, 44 | // description, 45 | // }), 46 | // }) 47 | // mutate() 48 | // } 49 | 50 | if (error) { 51 | return
Failed to load
52 | } 53 | if (!data) { 54 | return
Loading...
55 | } 56 | 57 | if (data[0] === undefined) { 58 | // createStack() 59 | // switch to url /edit 60 | router.push('/edit') 61 | 62 | return
Loading...
63 | } 64 | 65 | return ( 66 |
67 | {/*
68 | Logo 75 |
76 | ✨ 77 |
78 |
*/} 79 |
80 | 81 | {data[0].description} 82 | 83 |
84 |
85 | ) 86 | } 87 | 88 | function HeaderItem({ 89 | title, 90 | children, 91 | }: { 92 | id?: string 93 | title: string 94 | children?: React.ReactNode 95 | }) { 96 | return ( 97 | 98 | 104 | 120 | {shortenLink(children as string)} 121 | 122 | 123 | ) 124 | } 125 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | dependencies: 8 | deta: 9 | specifier: ^1.1.0 10 | version: 1.1.0 11 | eslint-config-prettier: 12 | specifier: ^8.7.0 13 | version: 8.7.0(eslint@8.35.0) 14 | next: 15 | specifier: ^13.2.4 16 | version: 13.2.4(react-dom@18.2.0)(react@18.2.0) 17 | next-themes: 18 | specifier: ^0.2.1 19 | version: 0.2.1(next@13.2.4)(react-dom@18.2.0)(react@18.2.0) 20 | react: 21 | specifier: ^18.2.0 22 | version: 18.2.0 23 | react-dom: 24 | specifier: ^18.2.0 25 | version: 18.2.0(react@18.2.0) 26 | react-use: 27 | specifier: ^17.4.0 28 | version: 17.4.0(react-dom@18.2.0)(react@18.2.0) 29 | swr: 30 | specifier: ^2.2.0 31 | version: 2.2.0(react@18.2.0) 32 | 33 | devDependencies: 34 | '@types/node': 35 | specifier: ^18.15.0 36 | version: 18.15.0 37 | '@types/react': 38 | specifier: ^18.0.28 39 | version: 18.0.28 40 | '@typescript-eslint/eslint-plugin': 41 | specifier: ^5.54.1 42 | version: 5.54.1(@typescript-eslint/parser@5.54.1)(eslint@8.35.0)(typescript@4.9.5) 43 | '@typescript-eslint/parser': 44 | specifier: ^5.54.1 45 | version: 5.54.1(eslint@8.35.0)(typescript@4.9.5) 46 | autoprefixer: 47 | specifier: ^10.4.14 48 | version: 10.4.14(postcss@8.4.21) 49 | eslint: 50 | specifier: ^8.35.0 51 | version: 8.35.0 52 | eslint-config-next: 53 | specifier: 13.2.4 54 | version: 13.2.4(eslint@8.35.0)(typescript@4.9.5) 55 | eslint-plugin-prettier: 56 | specifier: ^4.2.1 57 | version: 4.2.1(eslint-config-prettier@8.7.0)(eslint@8.35.0)(prettier@2.8.4) 58 | eslint-plugin-react: 59 | specifier: ^7.32.2 60 | version: 7.32.2(eslint@8.35.0) 61 | husky: 62 | specifier: ^8.0.3 63 | version: 8.0.3 64 | lint-staged: 65 | specifier: ^13.2.0 66 | version: 13.2.0 67 | postcss: 68 | specifier: ^8.4.21 69 | version: 8.4.21 70 | prettier: 71 | specifier: ^2.8.4 72 | version: 2.8.4 73 | tailwindcss: 74 | specifier: ^3.2.7 75 | version: 3.2.7(postcss@8.4.21) 76 | typescript: 77 | specifier: ^4.9.5 78 | version: 4.9.5 79 | 80 | packages: 81 | 82 | /@babel/runtime@7.21.0: 83 | resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} 84 | engines: {node: '>=6.9.0'} 85 | dependencies: 86 | regenerator-runtime: 0.13.11 87 | 88 | /@eslint/eslintrc@2.0.0: 89 | resolution: {integrity: sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==} 90 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 91 | dependencies: 92 | ajv: 6.12.6 93 | debug: 4.3.4 94 | espree: 9.4.1 95 | globals: 13.20.0 96 | ignore: 5.2.4 97 | import-fresh: 3.3.0 98 | js-yaml: 4.1.0 99 | minimatch: 3.1.2 100 | strip-json-comments: 3.1.1 101 | transitivePeerDependencies: 102 | - supports-color 103 | 104 | /@eslint/js@8.35.0: 105 | resolution: {integrity: sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==} 106 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 107 | 108 | /@humanwhocodes/config-array@0.11.8: 109 | resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} 110 | engines: {node: '>=10.10.0'} 111 | dependencies: 112 | '@humanwhocodes/object-schema': 1.2.1 113 | debug: 4.3.4 114 | minimatch: 3.1.2 115 | transitivePeerDependencies: 116 | - supports-color 117 | 118 | /@humanwhocodes/module-importer@1.0.1: 119 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 120 | engines: {node: '>=12.22'} 121 | 122 | /@humanwhocodes/object-schema@1.2.1: 123 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 124 | 125 | /@next/env@13.2.4: 126 | resolution: {integrity: sha512-+Mq3TtpkeeKFZanPturjcXt+KHfKYnLlX6jMLyCrmpq6OOs4i1GqBOAauSkii9QeKCMTYzGppar21JU57b/GEA==} 127 | dev: false 128 | 129 | /@next/eslint-plugin-next@13.2.4: 130 | resolution: {integrity: sha512-ck1lI+7r1mMJpqLNa3LJ5pxCfOB1lfJncKmRJeJxcJqcngaFwylreLP7da6Rrjr6u2gVRTfmnkSkjc80IiQCwQ==} 131 | dependencies: 132 | glob: 7.1.7 133 | dev: true 134 | 135 | /@next/swc-android-arm-eabi@13.2.4: 136 | resolution: {integrity: sha512-DWlalTSkLjDU11MY11jg17O1gGQzpRccM9Oes2yTqj2DpHndajrXHGxj9HGtJ+idq2k7ImUdJVWS2h2l/EDJOw==} 137 | engines: {node: '>= 10'} 138 | cpu: [arm] 139 | os: [android] 140 | requiresBuild: true 141 | dev: false 142 | optional: true 143 | 144 | /@next/swc-android-arm64@13.2.4: 145 | resolution: {integrity: sha512-sRavmUImUCf332Gy+PjIfLkMhiRX1Ez4SI+3vFDRs1N5eXp+uNzjFUK/oLMMOzk6KFSkbiK/3Wt8+dHQR/flNg==} 146 | engines: {node: '>= 10'} 147 | cpu: [arm64] 148 | os: [android] 149 | requiresBuild: true 150 | dev: false 151 | optional: true 152 | 153 | /@next/swc-darwin-arm64@13.2.4: 154 | resolution: {integrity: sha512-S6vBl+OrInP47TM3LlYx65betocKUUlTZDDKzTiRDbsRESeyIkBtZ6Qi5uT2zQs4imqllJznVjFd1bXLx3Aa6A==} 155 | engines: {node: '>= 10'} 156 | cpu: [arm64] 157 | os: [darwin] 158 | requiresBuild: true 159 | dev: false 160 | optional: true 161 | 162 | /@next/swc-darwin-x64@13.2.4: 163 | resolution: {integrity: sha512-a6LBuoYGcFOPGd4o8TPo7wmv5FnMr+Prz+vYHopEDuhDoMSHOnC+v+Ab4D7F0NMZkvQjEJQdJS3rqgFhlZmKlw==} 164 | engines: {node: '>= 10'} 165 | cpu: [x64] 166 | os: [darwin] 167 | requiresBuild: true 168 | dev: false 169 | optional: true 170 | 171 | /@next/swc-freebsd-x64@13.2.4: 172 | resolution: {integrity: sha512-kkbzKVZGPaXRBPisoAQkh3xh22r+TD+5HwoC5bOkALraJ0dsOQgSMAvzMXKsN3tMzJUPS0tjtRf1cTzrQ0I5vQ==} 173 | engines: {node: '>= 10'} 174 | cpu: [x64] 175 | os: [freebsd] 176 | requiresBuild: true 177 | dev: false 178 | optional: true 179 | 180 | /@next/swc-linux-arm-gnueabihf@13.2.4: 181 | resolution: {integrity: sha512-7qA1++UY0fjprqtjBZaOA6cas/7GekpjVsZn/0uHvquuITFCdKGFCsKNBx3S0Rpxmx6WYo0GcmhNRM9ru08BGg==} 182 | engines: {node: '>= 10'} 183 | cpu: [arm] 184 | os: [linux] 185 | requiresBuild: true 186 | dev: false 187 | optional: true 188 | 189 | /@next/swc-linux-arm64-gnu@13.2.4: 190 | resolution: {integrity: sha512-xzYZdAeq883MwXgcwc72hqo/F/dwUxCukpDOkx/j1HTq/J0wJthMGjinN9wH5bPR98Mfeh1MZJ91WWPnZOedOg==} 191 | engines: {node: '>= 10'} 192 | cpu: [arm64] 193 | os: [linux] 194 | requiresBuild: true 195 | dev: false 196 | optional: true 197 | 198 | /@next/swc-linux-arm64-musl@13.2.4: 199 | resolution: {integrity: sha512-8rXr3WfmqSiYkb71qzuDP6I6R2T2tpkmf83elDN8z783N9nvTJf2E7eLx86wu2OJCi4T05nuxCsh4IOU3LQ5xw==} 200 | engines: {node: '>= 10'} 201 | cpu: [arm64] 202 | os: [linux] 203 | requiresBuild: true 204 | dev: false 205 | optional: true 206 | 207 | /@next/swc-linux-x64-gnu@13.2.4: 208 | resolution: {integrity: sha512-Ngxh51zGSlYJ4EfpKG4LI6WfquulNdtmHg1yuOYlaAr33KyPJp4HeN/tivBnAHcZkoNy0hh/SbwDyCnz5PFJQQ==} 209 | engines: {node: '>= 10'} 210 | cpu: [x64] 211 | os: [linux] 212 | requiresBuild: true 213 | dev: false 214 | optional: true 215 | 216 | /@next/swc-linux-x64-musl@13.2.4: 217 | resolution: {integrity: sha512-gOvwIYoSxd+j14LOcvJr+ekd9fwYT1RyMAHOp7znA10+l40wkFiMONPLWiZuHxfRk+Dy7YdNdDh3ImumvL6VwA==} 218 | engines: {node: '>= 10'} 219 | cpu: [x64] 220 | os: [linux] 221 | requiresBuild: true 222 | dev: false 223 | optional: true 224 | 225 | /@next/swc-win32-arm64-msvc@13.2.4: 226 | resolution: {integrity: sha512-q3NJzcfClgBm4HvdcnoEncmztxrA5GXqKeiZ/hADvC56pwNALt3ngDC6t6qr1YW9V/EPDxCYeaX4zYxHciW4Dw==} 227 | engines: {node: '>= 10'} 228 | cpu: [arm64] 229 | os: [win32] 230 | requiresBuild: true 231 | dev: false 232 | optional: true 233 | 234 | /@next/swc-win32-ia32-msvc@13.2.4: 235 | resolution: {integrity: sha512-/eZ5ncmHUYtD2fc6EUmAIZlAJnVT2YmxDsKs1Ourx0ttTtvtma/WKlMV5NoUsyOez0f9ExLyOpeCoz5aj+MPXw==} 236 | engines: {node: '>= 10'} 237 | cpu: [ia32] 238 | os: [win32] 239 | requiresBuild: true 240 | dev: false 241 | optional: true 242 | 243 | /@next/swc-win32-x64-msvc@13.2.4: 244 | resolution: {integrity: sha512-0MffFmyv7tBLlji01qc0IaPP/LVExzvj7/R5x1Jph1bTAIj4Vu81yFQWHHQAP6r4ff9Ukj1mBK6MDNVXm7Tcvw==} 245 | engines: {node: '>= 10'} 246 | cpu: [x64] 247 | os: [win32] 248 | requiresBuild: true 249 | dev: false 250 | optional: true 251 | 252 | /@nodelib/fs.scandir@2.1.5: 253 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 254 | engines: {node: '>= 8'} 255 | dependencies: 256 | '@nodelib/fs.stat': 2.0.5 257 | run-parallel: 1.2.0 258 | 259 | /@nodelib/fs.stat@2.0.5: 260 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 261 | engines: {node: '>= 8'} 262 | 263 | /@nodelib/fs.walk@1.2.8: 264 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 265 | engines: {node: '>= 8'} 266 | dependencies: 267 | '@nodelib/fs.scandir': 2.1.5 268 | fastq: 1.15.0 269 | 270 | /@pkgr/utils@2.3.1: 271 | resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==} 272 | engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} 273 | dependencies: 274 | cross-spawn: 7.0.3 275 | is-glob: 4.0.3 276 | open: 8.4.2 277 | picocolors: 1.0.0 278 | tiny-glob: 0.2.9 279 | tslib: 2.5.0 280 | dev: true 281 | 282 | /@rushstack/eslint-patch@1.2.0: 283 | resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==} 284 | dev: true 285 | 286 | /@swc/helpers@0.4.14: 287 | resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} 288 | dependencies: 289 | tslib: 2.5.0 290 | dev: false 291 | 292 | /@types/js-cookie@2.2.7: 293 | resolution: {integrity: sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==} 294 | dev: false 295 | 296 | /@types/json-schema@7.0.11: 297 | resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} 298 | dev: true 299 | 300 | /@types/json5@0.0.29: 301 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 302 | dev: true 303 | 304 | /@types/node@18.15.0: 305 | resolution: {integrity: sha512-z6nr0TTEOBGkzLGmbypWOGnpSpSIBorEhC4L+4HeQ2iezKCi4f77kyslRwvHeNitymGQ+oFyIWGP96l/DPSV9w==} 306 | dev: true 307 | 308 | /@types/prop-types@15.7.5: 309 | resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} 310 | dev: true 311 | 312 | /@types/react@18.0.28: 313 | resolution: {integrity: sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==} 314 | dependencies: 315 | '@types/prop-types': 15.7.5 316 | '@types/scheduler': 0.16.2 317 | csstype: 3.1.1 318 | dev: true 319 | 320 | /@types/scheduler@0.16.2: 321 | resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} 322 | dev: true 323 | 324 | /@types/semver@7.3.13: 325 | resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} 326 | dev: true 327 | 328 | /@typescript-eslint/eslint-plugin@5.54.1(@typescript-eslint/parser@5.54.1)(eslint@8.35.0)(typescript@4.9.5): 329 | resolution: {integrity: sha512-a2RQAkosH3d3ZIV08s3DcL/mcGc2M/UC528VkPULFxR9VnVPT8pBu0IyBAJJmVsCmhVfwQX1v6q+QGnmSe1bew==} 330 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 331 | peerDependencies: 332 | '@typescript-eslint/parser': ^5.0.0 333 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 334 | typescript: '*' 335 | peerDependenciesMeta: 336 | typescript: 337 | optional: true 338 | dependencies: 339 | '@typescript-eslint/parser': 5.54.1(eslint@8.35.0)(typescript@4.9.5) 340 | '@typescript-eslint/scope-manager': 5.54.1 341 | '@typescript-eslint/type-utils': 5.54.1(eslint@8.35.0)(typescript@4.9.5) 342 | '@typescript-eslint/utils': 5.54.1(eslint@8.35.0)(typescript@4.9.5) 343 | debug: 4.3.4 344 | eslint: 8.35.0 345 | grapheme-splitter: 1.0.4 346 | ignore: 5.2.4 347 | natural-compare-lite: 1.4.0 348 | regexpp: 3.2.0 349 | semver: 7.3.8 350 | tsutils: 3.21.0(typescript@4.9.5) 351 | typescript: 4.9.5 352 | transitivePeerDependencies: 353 | - supports-color 354 | dev: true 355 | 356 | /@typescript-eslint/parser@5.54.1(eslint@8.35.0)(typescript@4.9.5): 357 | resolution: {integrity: sha512-8zaIXJp/nG9Ff9vQNh7TI+C3nA6q6iIsGJ4B4L6MhZ7mHnTMR4YP5vp2xydmFXIy8rpyIVbNAG44871LMt6ujg==} 358 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 359 | peerDependencies: 360 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 361 | typescript: '*' 362 | peerDependenciesMeta: 363 | typescript: 364 | optional: true 365 | dependencies: 366 | '@typescript-eslint/scope-manager': 5.54.1 367 | '@typescript-eslint/types': 5.54.1 368 | '@typescript-eslint/typescript-estree': 5.54.1(typescript@4.9.5) 369 | debug: 4.3.4 370 | eslint: 8.35.0 371 | typescript: 4.9.5 372 | transitivePeerDependencies: 373 | - supports-color 374 | dev: true 375 | 376 | /@typescript-eslint/scope-manager@5.54.1: 377 | resolution: {integrity: sha512-zWKuGliXxvuxyM71UA/EcPxaviw39dB2504LqAmFDjmkpO8qNLHcmzlh6pbHs1h/7YQ9bnsO8CCcYCSA8sykUg==} 378 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 379 | dependencies: 380 | '@typescript-eslint/types': 5.54.1 381 | '@typescript-eslint/visitor-keys': 5.54.1 382 | dev: true 383 | 384 | /@typescript-eslint/type-utils@5.54.1(eslint@8.35.0)(typescript@4.9.5): 385 | resolution: {integrity: sha512-WREHsTz0GqVYLIbzIZYbmUUr95DKEKIXZNH57W3s+4bVnuF1TKe2jH8ZNH8rO1CeMY3U4j4UQeqPNkHMiGem3g==} 386 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 387 | peerDependencies: 388 | eslint: '*' 389 | typescript: '*' 390 | peerDependenciesMeta: 391 | typescript: 392 | optional: true 393 | dependencies: 394 | '@typescript-eslint/typescript-estree': 5.54.1(typescript@4.9.5) 395 | '@typescript-eslint/utils': 5.54.1(eslint@8.35.0)(typescript@4.9.5) 396 | debug: 4.3.4 397 | eslint: 8.35.0 398 | tsutils: 3.21.0(typescript@4.9.5) 399 | typescript: 4.9.5 400 | transitivePeerDependencies: 401 | - supports-color 402 | dev: true 403 | 404 | /@typescript-eslint/types@5.54.1: 405 | resolution: {integrity: sha512-G9+1vVazrfAfbtmCapJX8jRo2E4MDXxgm/IMOF4oGh3kq7XuK3JRkOg6y2Qu1VsTRmWETyTkWt1wxy7X7/yLkw==} 406 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 407 | dev: true 408 | 409 | /@typescript-eslint/typescript-estree@5.54.1(typescript@4.9.5): 410 | resolution: {integrity: sha512-bjK5t+S6ffHnVwA0qRPTZrxKSaFYocwFIkZx5k7pvWfsB1I57pO/0M0Skatzzw1sCkjJ83AfGTL0oFIFiDX3bg==} 411 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 412 | peerDependencies: 413 | typescript: '*' 414 | peerDependenciesMeta: 415 | typescript: 416 | optional: true 417 | dependencies: 418 | '@typescript-eslint/types': 5.54.1 419 | '@typescript-eslint/visitor-keys': 5.54.1 420 | debug: 4.3.4 421 | globby: 11.1.0 422 | is-glob: 4.0.3 423 | semver: 7.3.8 424 | tsutils: 3.21.0(typescript@4.9.5) 425 | typescript: 4.9.5 426 | transitivePeerDependencies: 427 | - supports-color 428 | dev: true 429 | 430 | /@typescript-eslint/utils@5.54.1(eslint@8.35.0)(typescript@4.9.5): 431 | resolution: {integrity: sha512-IY5dyQM8XD1zfDe5X8jegX6r2EVU5o/WJnLu/znLPWCBF7KNGC+adacXnt5jEYS9JixDcoccI6CvE4RCjHMzCQ==} 432 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 433 | peerDependencies: 434 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 435 | dependencies: 436 | '@types/json-schema': 7.0.11 437 | '@types/semver': 7.3.13 438 | '@typescript-eslint/scope-manager': 5.54.1 439 | '@typescript-eslint/types': 5.54.1 440 | '@typescript-eslint/typescript-estree': 5.54.1(typescript@4.9.5) 441 | eslint: 8.35.0 442 | eslint-scope: 5.1.1 443 | eslint-utils: 3.0.0(eslint@8.35.0) 444 | semver: 7.3.8 445 | transitivePeerDependencies: 446 | - supports-color 447 | - typescript 448 | dev: true 449 | 450 | /@typescript-eslint/visitor-keys@5.54.1: 451 | resolution: {integrity: sha512-q8iSoHTgwCfgcRJ2l2x+xCbu8nBlRAlsQ33k24Adj8eoVBE0f8dUeI+bAa8F84Mv05UGbAx57g2zrRsYIooqQg==} 452 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 453 | dependencies: 454 | '@typescript-eslint/types': 5.54.1 455 | eslint-visitor-keys: 3.3.0 456 | dev: true 457 | 458 | /@xobotyi/scrollbar-width@1.9.5: 459 | resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==} 460 | dev: false 461 | 462 | /acorn-jsx@5.3.2(acorn@8.8.2): 463 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 464 | peerDependencies: 465 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 466 | dependencies: 467 | acorn: 8.8.2 468 | 469 | /acorn-node@1.8.2: 470 | resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} 471 | dependencies: 472 | acorn: 7.4.1 473 | acorn-walk: 7.2.0 474 | xtend: 4.0.2 475 | dev: true 476 | 477 | /acorn-walk@7.2.0: 478 | resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} 479 | engines: {node: '>=0.4.0'} 480 | dev: true 481 | 482 | /acorn@7.4.1: 483 | resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} 484 | engines: {node: '>=0.4.0'} 485 | hasBin: true 486 | dev: true 487 | 488 | /acorn@8.8.2: 489 | resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} 490 | engines: {node: '>=0.4.0'} 491 | hasBin: true 492 | 493 | /aggregate-error@3.1.0: 494 | resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} 495 | engines: {node: '>=8'} 496 | dependencies: 497 | clean-stack: 2.2.0 498 | indent-string: 4.0.0 499 | dev: true 500 | 501 | /ajv@6.12.6: 502 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 503 | dependencies: 504 | fast-deep-equal: 3.1.3 505 | fast-json-stable-stringify: 2.1.0 506 | json-schema-traverse: 0.4.1 507 | uri-js: 4.4.1 508 | 509 | /ansi-escapes@4.3.2: 510 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 511 | engines: {node: '>=8'} 512 | dependencies: 513 | type-fest: 0.21.3 514 | dev: true 515 | 516 | /ansi-regex@5.0.1: 517 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 518 | engines: {node: '>=8'} 519 | 520 | /ansi-regex@6.0.1: 521 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 522 | engines: {node: '>=12'} 523 | dev: true 524 | 525 | /ansi-styles@4.3.0: 526 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 527 | engines: {node: '>=8'} 528 | dependencies: 529 | color-convert: 2.0.1 530 | 531 | /ansi-styles@6.2.1: 532 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 533 | engines: {node: '>=12'} 534 | dev: true 535 | 536 | /anymatch@3.1.3: 537 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 538 | engines: {node: '>= 8'} 539 | dependencies: 540 | normalize-path: 3.0.0 541 | picomatch: 2.3.1 542 | dev: true 543 | 544 | /arg@5.0.2: 545 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 546 | dev: true 547 | 548 | /argparse@2.0.1: 549 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 550 | 551 | /aria-query@5.1.3: 552 | resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} 553 | dependencies: 554 | deep-equal: 2.2.0 555 | dev: true 556 | 557 | /array-includes@3.1.6: 558 | resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} 559 | engines: {node: '>= 0.4'} 560 | dependencies: 561 | call-bind: 1.0.2 562 | define-properties: 1.2.0 563 | es-abstract: 1.21.1 564 | get-intrinsic: 1.2.0 565 | is-string: 1.0.7 566 | dev: true 567 | 568 | /array-union@2.1.0: 569 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 570 | engines: {node: '>=8'} 571 | dev: true 572 | 573 | /array.prototype.flat@1.3.1: 574 | resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} 575 | engines: {node: '>= 0.4'} 576 | dependencies: 577 | call-bind: 1.0.2 578 | define-properties: 1.2.0 579 | es-abstract: 1.21.1 580 | es-shim-unscopables: 1.0.0 581 | dev: true 582 | 583 | /array.prototype.flatmap@1.3.1: 584 | resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} 585 | engines: {node: '>= 0.4'} 586 | dependencies: 587 | call-bind: 1.0.2 588 | define-properties: 1.2.0 589 | es-abstract: 1.21.1 590 | es-shim-unscopables: 1.0.0 591 | dev: true 592 | 593 | /array.prototype.tosorted@1.1.1: 594 | resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} 595 | dependencies: 596 | call-bind: 1.0.2 597 | define-properties: 1.2.0 598 | es-abstract: 1.21.1 599 | es-shim-unscopables: 1.0.0 600 | get-intrinsic: 1.2.0 601 | dev: true 602 | 603 | /ast-types-flow@0.0.7: 604 | resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} 605 | dev: true 606 | 607 | /astral-regex@2.0.0: 608 | resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} 609 | engines: {node: '>=8'} 610 | dev: true 611 | 612 | /autoprefixer@10.4.14(postcss@8.4.21): 613 | resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} 614 | engines: {node: ^10 || ^12 || >=14} 615 | hasBin: true 616 | peerDependencies: 617 | postcss: ^8.1.0 618 | dependencies: 619 | browserslist: 4.21.5 620 | caniuse-lite: 1.0.30001464 621 | fraction.js: 4.2.0 622 | normalize-range: 0.1.2 623 | picocolors: 1.0.0 624 | postcss: 8.4.21 625 | postcss-value-parser: 4.2.0 626 | dev: true 627 | 628 | /available-typed-arrays@1.0.5: 629 | resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} 630 | engines: {node: '>= 0.4'} 631 | dev: true 632 | 633 | /axe-core@4.6.3: 634 | resolution: {integrity: sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==} 635 | engines: {node: '>=4'} 636 | dev: true 637 | 638 | /axobject-query@3.1.1: 639 | resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} 640 | dependencies: 641 | deep-equal: 2.2.0 642 | dev: true 643 | 644 | /balanced-match@1.0.2: 645 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 646 | 647 | /binary-extensions@2.2.0: 648 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 649 | engines: {node: '>=8'} 650 | dev: true 651 | 652 | /brace-expansion@1.1.11: 653 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 654 | dependencies: 655 | balanced-match: 1.0.2 656 | concat-map: 0.0.1 657 | 658 | /braces@3.0.2: 659 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 660 | engines: {node: '>=8'} 661 | dependencies: 662 | fill-range: 7.0.1 663 | dev: true 664 | 665 | /browserslist@4.21.5: 666 | resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} 667 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 668 | hasBin: true 669 | dependencies: 670 | caniuse-lite: 1.0.30001464 671 | electron-to-chromium: 1.4.327 672 | node-releases: 2.0.10 673 | update-browserslist-db: 1.0.10(browserslist@4.21.5) 674 | dev: true 675 | 676 | /call-bind@1.0.2: 677 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 678 | dependencies: 679 | function-bind: 1.1.1 680 | get-intrinsic: 1.2.0 681 | dev: true 682 | 683 | /callsites@3.1.0: 684 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 685 | engines: {node: '>=6'} 686 | 687 | /camelcase-css@2.0.1: 688 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 689 | engines: {node: '>= 6'} 690 | dev: true 691 | 692 | /caniuse-lite@1.0.30001464: 693 | resolution: {integrity: sha512-oww27MtUmusatpRpCGSOneQk2/l5czXANDSFvsc7VuOQ86s3ANhZetpwXNf1zY/zdfP63Xvjz325DAdAoES13g==} 694 | 695 | /chalk@4.1.2: 696 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 697 | engines: {node: '>=10'} 698 | dependencies: 699 | ansi-styles: 4.3.0 700 | supports-color: 7.2.0 701 | 702 | /chalk@5.2.0: 703 | resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} 704 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 705 | dev: true 706 | 707 | /chokidar@3.5.3: 708 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 709 | engines: {node: '>= 8.10.0'} 710 | dependencies: 711 | anymatch: 3.1.3 712 | braces: 3.0.2 713 | glob-parent: 5.1.2 714 | is-binary-path: 2.1.0 715 | is-glob: 4.0.3 716 | normalize-path: 3.0.0 717 | readdirp: 3.6.0 718 | optionalDependencies: 719 | fsevents: 2.3.2 720 | dev: true 721 | 722 | /clean-stack@2.2.0: 723 | resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} 724 | engines: {node: '>=6'} 725 | dev: true 726 | 727 | /cli-cursor@3.1.0: 728 | resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} 729 | engines: {node: '>=8'} 730 | dependencies: 731 | restore-cursor: 3.1.0 732 | dev: true 733 | 734 | /cli-truncate@2.1.0: 735 | resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} 736 | engines: {node: '>=8'} 737 | dependencies: 738 | slice-ansi: 3.0.0 739 | string-width: 4.2.3 740 | dev: true 741 | 742 | /cli-truncate@3.1.0: 743 | resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} 744 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 745 | dependencies: 746 | slice-ansi: 5.0.0 747 | string-width: 5.1.2 748 | dev: true 749 | 750 | /client-only@0.0.1: 751 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} 752 | dev: false 753 | 754 | /color-convert@2.0.1: 755 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 756 | engines: {node: '>=7.0.0'} 757 | dependencies: 758 | color-name: 1.1.4 759 | 760 | /color-name@1.1.4: 761 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 762 | 763 | /colorette@2.0.19: 764 | resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} 765 | dev: true 766 | 767 | /commander@10.0.0: 768 | resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==} 769 | engines: {node: '>=14'} 770 | dev: true 771 | 772 | /concat-map@0.0.1: 773 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 774 | 775 | /copy-to-clipboard@3.3.3: 776 | resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} 777 | dependencies: 778 | toggle-selection: 1.0.6 779 | dev: false 780 | 781 | /cross-spawn@7.0.3: 782 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 783 | engines: {node: '>= 8'} 784 | dependencies: 785 | path-key: 3.1.1 786 | shebang-command: 2.0.0 787 | which: 2.0.2 788 | 789 | /css-in-js-utils@3.1.0: 790 | resolution: {integrity: sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==} 791 | dependencies: 792 | hyphenate-style-name: 1.0.4 793 | dev: false 794 | 795 | /css-tree@1.1.3: 796 | resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} 797 | engines: {node: '>=8.0.0'} 798 | dependencies: 799 | mdn-data: 2.0.14 800 | source-map: 0.6.1 801 | dev: false 802 | 803 | /cssesc@3.0.0: 804 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 805 | engines: {node: '>=4'} 806 | hasBin: true 807 | dev: true 808 | 809 | /csstype@3.1.1: 810 | resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} 811 | 812 | /damerau-levenshtein@1.0.8: 813 | resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} 814 | dev: true 815 | 816 | /debug@3.2.7: 817 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 818 | peerDependencies: 819 | supports-color: '*' 820 | peerDependenciesMeta: 821 | supports-color: 822 | optional: true 823 | dependencies: 824 | ms: 2.1.3 825 | dev: true 826 | 827 | /debug@4.3.4: 828 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 829 | engines: {node: '>=6.0'} 830 | peerDependencies: 831 | supports-color: '*' 832 | peerDependenciesMeta: 833 | supports-color: 834 | optional: true 835 | dependencies: 836 | ms: 2.1.2 837 | 838 | /deep-equal@2.2.0: 839 | resolution: {integrity: sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==} 840 | dependencies: 841 | call-bind: 1.0.2 842 | es-get-iterator: 1.1.3 843 | get-intrinsic: 1.2.0 844 | is-arguments: 1.1.1 845 | is-array-buffer: 3.0.2 846 | is-date-object: 1.0.5 847 | is-regex: 1.1.4 848 | is-shared-array-buffer: 1.0.2 849 | isarray: 2.0.5 850 | object-is: 1.1.5 851 | object-keys: 1.1.1 852 | object.assign: 4.1.4 853 | regexp.prototype.flags: 1.4.3 854 | side-channel: 1.0.4 855 | which-boxed-primitive: 1.0.2 856 | which-collection: 1.0.1 857 | which-typed-array: 1.1.9 858 | dev: true 859 | 860 | /deep-is@0.1.4: 861 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 862 | 863 | /define-lazy-prop@2.0.0: 864 | resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} 865 | engines: {node: '>=8'} 866 | dev: true 867 | 868 | /define-properties@1.2.0: 869 | resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} 870 | engines: {node: '>= 0.4'} 871 | dependencies: 872 | has-property-descriptors: 1.0.0 873 | object-keys: 1.1.1 874 | dev: true 875 | 876 | /defined@1.0.1: 877 | resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} 878 | dev: true 879 | 880 | /deta@1.1.0: 881 | resolution: {integrity: sha512-mQAvfAsB++McPMT3Gb39KWkxfFzaPSF+z8XNpomakkUslg9xTu6Z8gVjAXaDGJm0LFEIIZQdokpU+lOJOXtOqw==} 882 | dependencies: 883 | node-fetch: 2.6.12 884 | transitivePeerDependencies: 885 | - encoding 886 | dev: false 887 | 888 | /detective@5.2.1: 889 | resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} 890 | engines: {node: '>=0.8.0'} 891 | hasBin: true 892 | dependencies: 893 | acorn-node: 1.8.2 894 | defined: 1.0.1 895 | minimist: 1.2.8 896 | dev: true 897 | 898 | /didyoumean@1.2.2: 899 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 900 | dev: true 901 | 902 | /dir-glob@3.0.1: 903 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 904 | engines: {node: '>=8'} 905 | dependencies: 906 | path-type: 4.0.0 907 | dev: true 908 | 909 | /dlv@1.1.3: 910 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 911 | dev: true 912 | 913 | /doctrine@2.1.0: 914 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 915 | engines: {node: '>=0.10.0'} 916 | dependencies: 917 | esutils: 2.0.3 918 | dev: true 919 | 920 | /doctrine@3.0.0: 921 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 922 | engines: {node: '>=6.0.0'} 923 | dependencies: 924 | esutils: 2.0.3 925 | 926 | /eastasianwidth@0.2.0: 927 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 928 | dev: true 929 | 930 | /electron-to-chromium@1.4.327: 931 | resolution: {integrity: sha512-DIk2H4g/3ZhjgiABJjVdQvUdMlSABOsjeCm6gmUzIdKxAuFrGiJ8QXMm3i09grZdDBMC/d8MELMrdwYRC0+YHg==} 932 | dev: true 933 | 934 | /emoji-regex@8.0.0: 935 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 936 | dev: true 937 | 938 | /emoji-regex@9.2.2: 939 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 940 | dev: true 941 | 942 | /enhanced-resolve@5.12.0: 943 | resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} 944 | engines: {node: '>=10.13.0'} 945 | dependencies: 946 | graceful-fs: 4.2.10 947 | tapable: 2.2.1 948 | dev: true 949 | 950 | /error-stack-parser@2.1.4: 951 | resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} 952 | dependencies: 953 | stackframe: 1.3.4 954 | dev: false 955 | 956 | /es-abstract@1.21.1: 957 | resolution: {integrity: sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==} 958 | engines: {node: '>= 0.4'} 959 | dependencies: 960 | available-typed-arrays: 1.0.5 961 | call-bind: 1.0.2 962 | es-set-tostringtag: 2.0.1 963 | es-to-primitive: 1.2.1 964 | function-bind: 1.1.1 965 | function.prototype.name: 1.1.5 966 | get-intrinsic: 1.2.0 967 | get-symbol-description: 1.0.0 968 | globalthis: 1.0.3 969 | gopd: 1.0.1 970 | has: 1.0.3 971 | has-property-descriptors: 1.0.0 972 | has-proto: 1.0.1 973 | has-symbols: 1.0.3 974 | internal-slot: 1.0.5 975 | is-array-buffer: 3.0.2 976 | is-callable: 1.2.7 977 | is-negative-zero: 2.0.2 978 | is-regex: 1.1.4 979 | is-shared-array-buffer: 1.0.2 980 | is-string: 1.0.7 981 | is-typed-array: 1.1.10 982 | is-weakref: 1.0.2 983 | object-inspect: 1.12.3 984 | object-keys: 1.1.1 985 | object.assign: 4.1.4 986 | regexp.prototype.flags: 1.4.3 987 | safe-regex-test: 1.0.0 988 | string.prototype.trimend: 1.0.6 989 | string.prototype.trimstart: 1.0.6 990 | typed-array-length: 1.0.4 991 | unbox-primitive: 1.0.2 992 | which-typed-array: 1.1.9 993 | dev: true 994 | 995 | /es-get-iterator@1.1.3: 996 | resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} 997 | dependencies: 998 | call-bind: 1.0.2 999 | get-intrinsic: 1.2.0 1000 | has-symbols: 1.0.3 1001 | is-arguments: 1.1.1 1002 | is-map: 2.0.2 1003 | is-set: 2.0.2 1004 | is-string: 1.0.7 1005 | isarray: 2.0.5 1006 | stop-iteration-iterator: 1.0.0 1007 | dev: true 1008 | 1009 | /es-set-tostringtag@2.0.1: 1010 | resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} 1011 | engines: {node: '>= 0.4'} 1012 | dependencies: 1013 | get-intrinsic: 1.2.0 1014 | has: 1.0.3 1015 | has-tostringtag: 1.0.0 1016 | dev: true 1017 | 1018 | /es-shim-unscopables@1.0.0: 1019 | resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} 1020 | dependencies: 1021 | has: 1.0.3 1022 | dev: true 1023 | 1024 | /es-to-primitive@1.2.1: 1025 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 1026 | engines: {node: '>= 0.4'} 1027 | dependencies: 1028 | is-callable: 1.2.7 1029 | is-date-object: 1.0.5 1030 | is-symbol: 1.0.4 1031 | dev: true 1032 | 1033 | /escalade@3.1.1: 1034 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1035 | engines: {node: '>=6'} 1036 | dev: true 1037 | 1038 | /escape-string-regexp@4.0.0: 1039 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1040 | engines: {node: '>=10'} 1041 | 1042 | /eslint-config-next@13.2.4(eslint@8.35.0)(typescript@4.9.5): 1043 | resolution: {integrity: sha512-lunIBhsoeqw6/Lfkd6zPt25w1bn0znLA/JCL+au1HoEpSb4/PpsOYsYtgV/q+YPsoKIOzFyU5xnb04iZnXjUvg==} 1044 | peerDependencies: 1045 | eslint: ^7.23.0 || ^8.0.0 1046 | typescript: '>=3.3.1' 1047 | peerDependenciesMeta: 1048 | typescript: 1049 | optional: true 1050 | dependencies: 1051 | '@next/eslint-plugin-next': 13.2.4 1052 | '@rushstack/eslint-patch': 1.2.0 1053 | '@typescript-eslint/parser': 5.54.1(eslint@8.35.0)(typescript@4.9.5) 1054 | eslint: 8.35.0 1055 | eslint-import-resolver-node: 0.3.7 1056 | eslint-import-resolver-typescript: 3.5.3(eslint-plugin-import@2.27.5)(eslint@8.35.0) 1057 | eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.54.1)(eslint-import-resolver-typescript@3.5.3)(eslint@8.35.0) 1058 | eslint-plugin-jsx-a11y: 6.7.1(eslint@8.35.0) 1059 | eslint-plugin-react: 7.32.2(eslint@8.35.0) 1060 | eslint-plugin-react-hooks: 4.6.0(eslint@8.35.0) 1061 | typescript: 4.9.5 1062 | transitivePeerDependencies: 1063 | - eslint-import-resolver-webpack 1064 | - supports-color 1065 | dev: true 1066 | 1067 | /eslint-config-prettier@8.7.0(eslint@8.35.0): 1068 | resolution: {integrity: sha512-HHVXLSlVUhMSmyW4ZzEuvjpwqamgmlfkutD53cYXLikh4pt/modINRcCIApJ84czDxM4GZInwUrromsDdTImTA==} 1069 | hasBin: true 1070 | peerDependencies: 1071 | eslint: '>=7.0.0' 1072 | dependencies: 1073 | eslint: 8.35.0 1074 | 1075 | /eslint-import-resolver-node@0.3.7: 1076 | resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} 1077 | dependencies: 1078 | debug: 3.2.7 1079 | is-core-module: 2.11.0 1080 | resolve: 1.22.1 1081 | transitivePeerDependencies: 1082 | - supports-color 1083 | dev: true 1084 | 1085 | /eslint-import-resolver-typescript@3.5.3(eslint-plugin-import@2.27.5)(eslint@8.35.0): 1086 | resolution: {integrity: sha512-njRcKYBc3isE42LaTcJNVANR3R99H9bAxBDMNDr2W7yq5gYPxbU3MkdhsQukxZ/Xg9C2vcyLlDsbKfRDg0QvCQ==} 1087 | engines: {node: ^14.18.0 || >=16.0.0} 1088 | peerDependencies: 1089 | eslint: '*' 1090 | eslint-plugin-import: '*' 1091 | dependencies: 1092 | debug: 4.3.4 1093 | enhanced-resolve: 5.12.0 1094 | eslint: 8.35.0 1095 | eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.54.1)(eslint-import-resolver-typescript@3.5.3)(eslint@8.35.0) 1096 | get-tsconfig: 4.4.0 1097 | globby: 13.1.3 1098 | is-core-module: 2.11.0 1099 | is-glob: 4.0.3 1100 | synckit: 0.8.5 1101 | transitivePeerDependencies: 1102 | - supports-color 1103 | dev: true 1104 | 1105 | /eslint-module-utils@2.7.4(@typescript-eslint/parser@5.54.1)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.3)(eslint@8.35.0): 1106 | resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} 1107 | engines: {node: '>=4'} 1108 | peerDependencies: 1109 | '@typescript-eslint/parser': '*' 1110 | eslint: '*' 1111 | eslint-import-resolver-node: '*' 1112 | eslint-import-resolver-typescript: '*' 1113 | eslint-import-resolver-webpack: '*' 1114 | peerDependenciesMeta: 1115 | '@typescript-eslint/parser': 1116 | optional: true 1117 | eslint: 1118 | optional: true 1119 | eslint-import-resolver-node: 1120 | optional: true 1121 | eslint-import-resolver-typescript: 1122 | optional: true 1123 | eslint-import-resolver-webpack: 1124 | optional: true 1125 | dependencies: 1126 | '@typescript-eslint/parser': 5.54.1(eslint@8.35.0)(typescript@4.9.5) 1127 | debug: 3.2.7 1128 | eslint: 8.35.0 1129 | eslint-import-resolver-node: 0.3.7 1130 | eslint-import-resolver-typescript: 3.5.3(eslint-plugin-import@2.27.5)(eslint@8.35.0) 1131 | transitivePeerDependencies: 1132 | - supports-color 1133 | dev: true 1134 | 1135 | /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.54.1)(eslint-import-resolver-typescript@3.5.3)(eslint@8.35.0): 1136 | resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} 1137 | engines: {node: '>=4'} 1138 | peerDependencies: 1139 | '@typescript-eslint/parser': '*' 1140 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 1141 | peerDependenciesMeta: 1142 | '@typescript-eslint/parser': 1143 | optional: true 1144 | dependencies: 1145 | '@typescript-eslint/parser': 5.54.1(eslint@8.35.0)(typescript@4.9.5) 1146 | array-includes: 3.1.6 1147 | array.prototype.flat: 1.3.1 1148 | array.prototype.flatmap: 1.3.1 1149 | debug: 3.2.7 1150 | doctrine: 2.1.0 1151 | eslint: 8.35.0 1152 | eslint-import-resolver-node: 0.3.7 1153 | eslint-module-utils: 2.7.4(@typescript-eslint/parser@5.54.1)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.3)(eslint@8.35.0) 1154 | has: 1.0.3 1155 | is-core-module: 2.11.0 1156 | is-glob: 4.0.3 1157 | minimatch: 3.1.2 1158 | object.values: 1.1.6 1159 | resolve: 1.22.1 1160 | semver: 6.3.0 1161 | tsconfig-paths: 3.14.2 1162 | transitivePeerDependencies: 1163 | - eslint-import-resolver-typescript 1164 | - eslint-import-resolver-webpack 1165 | - supports-color 1166 | dev: true 1167 | 1168 | /eslint-plugin-jsx-a11y@6.7.1(eslint@8.35.0): 1169 | resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} 1170 | engines: {node: '>=4.0'} 1171 | peerDependencies: 1172 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 1173 | dependencies: 1174 | '@babel/runtime': 7.21.0 1175 | aria-query: 5.1.3 1176 | array-includes: 3.1.6 1177 | array.prototype.flatmap: 1.3.1 1178 | ast-types-flow: 0.0.7 1179 | axe-core: 4.6.3 1180 | axobject-query: 3.1.1 1181 | damerau-levenshtein: 1.0.8 1182 | emoji-regex: 9.2.2 1183 | eslint: 8.35.0 1184 | has: 1.0.3 1185 | jsx-ast-utils: 3.3.3 1186 | language-tags: 1.0.5 1187 | minimatch: 3.1.2 1188 | object.entries: 1.1.6 1189 | object.fromentries: 2.0.6 1190 | semver: 6.3.0 1191 | dev: true 1192 | 1193 | /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.7.0)(eslint@8.35.0)(prettier@2.8.4): 1194 | resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} 1195 | engines: {node: '>=12.0.0'} 1196 | peerDependencies: 1197 | eslint: '>=7.28.0' 1198 | eslint-config-prettier: '*' 1199 | prettier: '>=2.0.0' 1200 | peerDependenciesMeta: 1201 | eslint-config-prettier: 1202 | optional: true 1203 | dependencies: 1204 | eslint: 8.35.0 1205 | eslint-config-prettier: 8.7.0(eslint@8.35.0) 1206 | prettier: 2.8.4 1207 | prettier-linter-helpers: 1.0.0 1208 | dev: true 1209 | 1210 | /eslint-plugin-react-hooks@4.6.0(eslint@8.35.0): 1211 | resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} 1212 | engines: {node: '>=10'} 1213 | peerDependencies: 1214 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 1215 | dependencies: 1216 | eslint: 8.35.0 1217 | dev: true 1218 | 1219 | /eslint-plugin-react@7.32.2(eslint@8.35.0): 1220 | resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} 1221 | engines: {node: '>=4'} 1222 | peerDependencies: 1223 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 1224 | dependencies: 1225 | array-includes: 3.1.6 1226 | array.prototype.flatmap: 1.3.1 1227 | array.prototype.tosorted: 1.1.1 1228 | doctrine: 2.1.0 1229 | eslint: 8.35.0 1230 | estraverse: 5.3.0 1231 | jsx-ast-utils: 3.3.3 1232 | minimatch: 3.1.2 1233 | object.entries: 1.1.6 1234 | object.fromentries: 2.0.6 1235 | object.hasown: 1.1.2 1236 | object.values: 1.1.6 1237 | prop-types: 15.8.1 1238 | resolve: 2.0.0-next.4 1239 | semver: 6.3.0 1240 | string.prototype.matchall: 4.0.8 1241 | dev: true 1242 | 1243 | /eslint-scope@5.1.1: 1244 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 1245 | engines: {node: '>=8.0.0'} 1246 | dependencies: 1247 | esrecurse: 4.3.0 1248 | estraverse: 4.3.0 1249 | dev: true 1250 | 1251 | /eslint-scope@7.1.1: 1252 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} 1253 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1254 | dependencies: 1255 | esrecurse: 4.3.0 1256 | estraverse: 5.3.0 1257 | 1258 | /eslint-utils@3.0.0(eslint@8.35.0): 1259 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} 1260 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} 1261 | peerDependencies: 1262 | eslint: '>=5' 1263 | dependencies: 1264 | eslint: 8.35.0 1265 | eslint-visitor-keys: 2.1.0 1266 | 1267 | /eslint-visitor-keys@2.1.0: 1268 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} 1269 | engines: {node: '>=10'} 1270 | 1271 | /eslint-visitor-keys@3.3.0: 1272 | resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} 1273 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1274 | 1275 | /eslint@8.35.0: 1276 | resolution: {integrity: sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==} 1277 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1278 | hasBin: true 1279 | dependencies: 1280 | '@eslint/eslintrc': 2.0.0 1281 | '@eslint/js': 8.35.0 1282 | '@humanwhocodes/config-array': 0.11.8 1283 | '@humanwhocodes/module-importer': 1.0.1 1284 | '@nodelib/fs.walk': 1.2.8 1285 | ajv: 6.12.6 1286 | chalk: 4.1.2 1287 | cross-spawn: 7.0.3 1288 | debug: 4.3.4 1289 | doctrine: 3.0.0 1290 | escape-string-regexp: 4.0.0 1291 | eslint-scope: 7.1.1 1292 | eslint-utils: 3.0.0(eslint@8.35.0) 1293 | eslint-visitor-keys: 3.3.0 1294 | espree: 9.4.1 1295 | esquery: 1.5.0 1296 | esutils: 2.0.3 1297 | fast-deep-equal: 3.1.3 1298 | file-entry-cache: 6.0.1 1299 | find-up: 5.0.0 1300 | glob-parent: 6.0.2 1301 | globals: 13.20.0 1302 | grapheme-splitter: 1.0.4 1303 | ignore: 5.2.4 1304 | import-fresh: 3.3.0 1305 | imurmurhash: 0.1.4 1306 | is-glob: 4.0.3 1307 | is-path-inside: 3.0.3 1308 | js-sdsl: 4.3.0 1309 | js-yaml: 4.1.0 1310 | json-stable-stringify-without-jsonify: 1.0.1 1311 | levn: 0.4.1 1312 | lodash.merge: 4.6.2 1313 | minimatch: 3.1.2 1314 | natural-compare: 1.4.0 1315 | optionator: 0.9.1 1316 | regexpp: 3.2.0 1317 | strip-ansi: 6.0.1 1318 | strip-json-comments: 3.1.1 1319 | text-table: 0.2.0 1320 | transitivePeerDependencies: 1321 | - supports-color 1322 | 1323 | /espree@9.4.1: 1324 | resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==} 1325 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1326 | dependencies: 1327 | acorn: 8.8.2 1328 | acorn-jsx: 5.3.2(acorn@8.8.2) 1329 | eslint-visitor-keys: 3.3.0 1330 | 1331 | /esquery@1.5.0: 1332 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 1333 | engines: {node: '>=0.10'} 1334 | dependencies: 1335 | estraverse: 5.3.0 1336 | 1337 | /esrecurse@4.3.0: 1338 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1339 | engines: {node: '>=4.0'} 1340 | dependencies: 1341 | estraverse: 5.3.0 1342 | 1343 | /estraverse@4.3.0: 1344 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 1345 | engines: {node: '>=4.0'} 1346 | dev: true 1347 | 1348 | /estraverse@5.3.0: 1349 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1350 | engines: {node: '>=4.0'} 1351 | 1352 | /esutils@2.0.3: 1353 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1354 | engines: {node: '>=0.10.0'} 1355 | 1356 | /execa@7.0.0: 1357 | resolution: {integrity: sha512-tQbH0pH/8LHTnwTrsKWideqi6rFB/QNUawEwrn+WHyz7PX1Tuz2u7wfTvbaNBdP5JD5LVWxNo8/A8CHNZ3bV6g==} 1358 | engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} 1359 | dependencies: 1360 | cross-spawn: 7.0.3 1361 | get-stream: 6.0.1 1362 | human-signals: 4.3.0 1363 | is-stream: 3.0.0 1364 | merge-stream: 2.0.0 1365 | npm-run-path: 5.1.0 1366 | onetime: 6.0.0 1367 | signal-exit: 3.0.7 1368 | strip-final-newline: 3.0.0 1369 | dev: true 1370 | 1371 | /fast-deep-equal@3.1.3: 1372 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1373 | 1374 | /fast-diff@1.2.0: 1375 | resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} 1376 | dev: true 1377 | 1378 | /fast-glob@3.2.12: 1379 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 1380 | engines: {node: '>=8.6.0'} 1381 | dependencies: 1382 | '@nodelib/fs.stat': 2.0.5 1383 | '@nodelib/fs.walk': 1.2.8 1384 | glob-parent: 5.1.2 1385 | merge2: 1.4.1 1386 | micromatch: 4.0.5 1387 | dev: true 1388 | 1389 | /fast-json-stable-stringify@2.1.0: 1390 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1391 | 1392 | /fast-levenshtein@2.0.6: 1393 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1394 | 1395 | /fast-loops@1.1.3: 1396 | resolution: {integrity: sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==} 1397 | dev: false 1398 | 1399 | /fast-shallow-equal@1.0.0: 1400 | resolution: {integrity: sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==} 1401 | dev: false 1402 | 1403 | /fastest-stable-stringify@2.0.2: 1404 | resolution: {integrity: sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==} 1405 | dev: false 1406 | 1407 | /fastq@1.15.0: 1408 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 1409 | dependencies: 1410 | reusify: 1.0.4 1411 | 1412 | /file-entry-cache@6.0.1: 1413 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1414 | engines: {node: ^10.12.0 || >=12.0.0} 1415 | dependencies: 1416 | flat-cache: 3.0.4 1417 | 1418 | /fill-range@7.0.1: 1419 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1420 | engines: {node: '>=8'} 1421 | dependencies: 1422 | to-regex-range: 5.0.1 1423 | dev: true 1424 | 1425 | /find-up@5.0.0: 1426 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1427 | engines: {node: '>=10'} 1428 | dependencies: 1429 | locate-path: 6.0.0 1430 | path-exists: 4.0.0 1431 | 1432 | /flat-cache@3.0.4: 1433 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 1434 | engines: {node: ^10.12.0 || >=12.0.0} 1435 | dependencies: 1436 | flatted: 3.2.7 1437 | rimraf: 3.0.2 1438 | 1439 | /flatted@3.2.7: 1440 | resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} 1441 | 1442 | /for-each@0.3.3: 1443 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} 1444 | dependencies: 1445 | is-callable: 1.2.7 1446 | dev: true 1447 | 1448 | /fraction.js@4.2.0: 1449 | resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} 1450 | dev: true 1451 | 1452 | /fs.realpath@1.0.0: 1453 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1454 | 1455 | /fsevents@2.3.2: 1456 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1457 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1458 | os: [darwin] 1459 | requiresBuild: true 1460 | dev: true 1461 | optional: true 1462 | 1463 | /function-bind@1.1.1: 1464 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1465 | dev: true 1466 | 1467 | /function.prototype.name@1.1.5: 1468 | resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} 1469 | engines: {node: '>= 0.4'} 1470 | dependencies: 1471 | call-bind: 1.0.2 1472 | define-properties: 1.2.0 1473 | es-abstract: 1.21.1 1474 | functions-have-names: 1.2.3 1475 | dev: true 1476 | 1477 | /functions-have-names@1.2.3: 1478 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1479 | dev: true 1480 | 1481 | /get-intrinsic@1.2.0: 1482 | resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} 1483 | dependencies: 1484 | function-bind: 1.1.1 1485 | has: 1.0.3 1486 | has-symbols: 1.0.3 1487 | dev: true 1488 | 1489 | /get-stream@6.0.1: 1490 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 1491 | engines: {node: '>=10'} 1492 | dev: true 1493 | 1494 | /get-symbol-description@1.0.0: 1495 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 1496 | engines: {node: '>= 0.4'} 1497 | dependencies: 1498 | call-bind: 1.0.2 1499 | get-intrinsic: 1.2.0 1500 | dev: true 1501 | 1502 | /get-tsconfig@4.4.0: 1503 | resolution: {integrity: sha512-0Gdjo/9+FzsYhXCEFueo2aY1z1tpXrxWZzP7k8ul9qt1U5o8rYJwTJYmaeHdrVosYIVYkOy2iwCJ9FdpocJhPQ==} 1504 | dev: true 1505 | 1506 | /glob-parent@5.1.2: 1507 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1508 | engines: {node: '>= 6'} 1509 | dependencies: 1510 | is-glob: 4.0.3 1511 | dev: true 1512 | 1513 | /glob-parent@6.0.2: 1514 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1515 | engines: {node: '>=10.13.0'} 1516 | dependencies: 1517 | is-glob: 4.0.3 1518 | 1519 | /glob@7.1.7: 1520 | resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} 1521 | dependencies: 1522 | fs.realpath: 1.0.0 1523 | inflight: 1.0.6 1524 | inherits: 2.0.4 1525 | minimatch: 3.1.2 1526 | once: 1.4.0 1527 | path-is-absolute: 1.0.1 1528 | dev: true 1529 | 1530 | /glob@7.2.3: 1531 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1532 | dependencies: 1533 | fs.realpath: 1.0.0 1534 | inflight: 1.0.6 1535 | inherits: 2.0.4 1536 | minimatch: 3.1.2 1537 | once: 1.4.0 1538 | path-is-absolute: 1.0.1 1539 | 1540 | /globals@13.20.0: 1541 | resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} 1542 | engines: {node: '>=8'} 1543 | dependencies: 1544 | type-fest: 0.20.2 1545 | 1546 | /globalthis@1.0.3: 1547 | resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} 1548 | engines: {node: '>= 0.4'} 1549 | dependencies: 1550 | define-properties: 1.2.0 1551 | dev: true 1552 | 1553 | /globalyzer@0.1.0: 1554 | resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} 1555 | dev: true 1556 | 1557 | /globby@11.1.0: 1558 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1559 | engines: {node: '>=10'} 1560 | dependencies: 1561 | array-union: 2.1.0 1562 | dir-glob: 3.0.1 1563 | fast-glob: 3.2.12 1564 | ignore: 5.2.4 1565 | merge2: 1.4.1 1566 | slash: 3.0.0 1567 | dev: true 1568 | 1569 | /globby@13.1.3: 1570 | resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} 1571 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1572 | dependencies: 1573 | dir-glob: 3.0.1 1574 | fast-glob: 3.2.12 1575 | ignore: 5.2.4 1576 | merge2: 1.4.1 1577 | slash: 4.0.0 1578 | dev: true 1579 | 1580 | /globrex@0.1.2: 1581 | resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} 1582 | dev: true 1583 | 1584 | /gopd@1.0.1: 1585 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 1586 | dependencies: 1587 | get-intrinsic: 1.2.0 1588 | dev: true 1589 | 1590 | /graceful-fs@4.2.10: 1591 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} 1592 | dev: true 1593 | 1594 | /grapheme-splitter@1.0.4: 1595 | resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} 1596 | 1597 | /has-bigints@1.0.2: 1598 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 1599 | dev: true 1600 | 1601 | /has-flag@4.0.0: 1602 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1603 | engines: {node: '>=8'} 1604 | 1605 | /has-property-descriptors@1.0.0: 1606 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 1607 | dependencies: 1608 | get-intrinsic: 1.2.0 1609 | dev: true 1610 | 1611 | /has-proto@1.0.1: 1612 | resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} 1613 | engines: {node: '>= 0.4'} 1614 | dev: true 1615 | 1616 | /has-symbols@1.0.3: 1617 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1618 | engines: {node: '>= 0.4'} 1619 | dev: true 1620 | 1621 | /has-tostringtag@1.0.0: 1622 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 1623 | engines: {node: '>= 0.4'} 1624 | dependencies: 1625 | has-symbols: 1.0.3 1626 | dev: true 1627 | 1628 | /has@1.0.3: 1629 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1630 | engines: {node: '>= 0.4.0'} 1631 | dependencies: 1632 | function-bind: 1.1.1 1633 | dev: true 1634 | 1635 | /human-signals@4.3.0: 1636 | resolution: {integrity: sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ==} 1637 | engines: {node: '>=14.18.0'} 1638 | dev: true 1639 | 1640 | /husky@8.0.3: 1641 | resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} 1642 | engines: {node: '>=14'} 1643 | hasBin: true 1644 | dev: true 1645 | 1646 | /hyphenate-style-name@1.0.4: 1647 | resolution: {integrity: sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==} 1648 | dev: false 1649 | 1650 | /ignore@5.2.4: 1651 | resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} 1652 | engines: {node: '>= 4'} 1653 | 1654 | /import-fresh@3.3.0: 1655 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1656 | engines: {node: '>=6'} 1657 | dependencies: 1658 | parent-module: 1.0.1 1659 | resolve-from: 4.0.0 1660 | 1661 | /imurmurhash@0.1.4: 1662 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1663 | engines: {node: '>=0.8.19'} 1664 | 1665 | /indent-string@4.0.0: 1666 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 1667 | engines: {node: '>=8'} 1668 | dev: true 1669 | 1670 | /inflight@1.0.6: 1671 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1672 | dependencies: 1673 | once: 1.4.0 1674 | wrappy: 1.0.2 1675 | 1676 | /inherits@2.0.4: 1677 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1678 | 1679 | /inline-style-prefixer@6.0.4: 1680 | resolution: {integrity: sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==} 1681 | dependencies: 1682 | css-in-js-utils: 3.1.0 1683 | fast-loops: 1.1.3 1684 | dev: false 1685 | 1686 | /internal-slot@1.0.5: 1687 | resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} 1688 | engines: {node: '>= 0.4'} 1689 | dependencies: 1690 | get-intrinsic: 1.2.0 1691 | has: 1.0.3 1692 | side-channel: 1.0.4 1693 | dev: true 1694 | 1695 | /is-arguments@1.1.1: 1696 | resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} 1697 | engines: {node: '>= 0.4'} 1698 | dependencies: 1699 | call-bind: 1.0.2 1700 | has-tostringtag: 1.0.0 1701 | dev: true 1702 | 1703 | /is-array-buffer@3.0.2: 1704 | resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} 1705 | dependencies: 1706 | call-bind: 1.0.2 1707 | get-intrinsic: 1.2.0 1708 | is-typed-array: 1.1.10 1709 | dev: true 1710 | 1711 | /is-bigint@1.0.4: 1712 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 1713 | dependencies: 1714 | has-bigints: 1.0.2 1715 | dev: true 1716 | 1717 | /is-binary-path@2.1.0: 1718 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1719 | engines: {node: '>=8'} 1720 | dependencies: 1721 | binary-extensions: 2.2.0 1722 | dev: true 1723 | 1724 | /is-boolean-object@1.1.2: 1725 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 1726 | engines: {node: '>= 0.4'} 1727 | dependencies: 1728 | call-bind: 1.0.2 1729 | has-tostringtag: 1.0.0 1730 | dev: true 1731 | 1732 | /is-callable@1.2.7: 1733 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 1734 | engines: {node: '>= 0.4'} 1735 | dev: true 1736 | 1737 | /is-core-module@2.11.0: 1738 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} 1739 | dependencies: 1740 | has: 1.0.3 1741 | dev: true 1742 | 1743 | /is-date-object@1.0.5: 1744 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 1745 | engines: {node: '>= 0.4'} 1746 | dependencies: 1747 | has-tostringtag: 1.0.0 1748 | dev: true 1749 | 1750 | /is-docker@2.2.1: 1751 | resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} 1752 | engines: {node: '>=8'} 1753 | hasBin: true 1754 | dev: true 1755 | 1756 | /is-extglob@2.1.1: 1757 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1758 | engines: {node: '>=0.10.0'} 1759 | 1760 | /is-fullwidth-code-point@3.0.0: 1761 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1762 | engines: {node: '>=8'} 1763 | dev: true 1764 | 1765 | /is-fullwidth-code-point@4.0.0: 1766 | resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} 1767 | engines: {node: '>=12'} 1768 | dev: true 1769 | 1770 | /is-glob@4.0.3: 1771 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1772 | engines: {node: '>=0.10.0'} 1773 | dependencies: 1774 | is-extglob: 2.1.1 1775 | 1776 | /is-map@2.0.2: 1777 | resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} 1778 | dev: true 1779 | 1780 | /is-negative-zero@2.0.2: 1781 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 1782 | engines: {node: '>= 0.4'} 1783 | dev: true 1784 | 1785 | /is-number-object@1.0.7: 1786 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 1787 | engines: {node: '>= 0.4'} 1788 | dependencies: 1789 | has-tostringtag: 1.0.0 1790 | dev: true 1791 | 1792 | /is-number@7.0.0: 1793 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1794 | engines: {node: '>=0.12.0'} 1795 | dev: true 1796 | 1797 | /is-path-inside@3.0.3: 1798 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 1799 | engines: {node: '>=8'} 1800 | 1801 | /is-regex@1.1.4: 1802 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 1803 | engines: {node: '>= 0.4'} 1804 | dependencies: 1805 | call-bind: 1.0.2 1806 | has-tostringtag: 1.0.0 1807 | dev: true 1808 | 1809 | /is-set@2.0.2: 1810 | resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} 1811 | dev: true 1812 | 1813 | /is-shared-array-buffer@1.0.2: 1814 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 1815 | dependencies: 1816 | call-bind: 1.0.2 1817 | dev: true 1818 | 1819 | /is-stream@3.0.0: 1820 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 1821 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1822 | dev: true 1823 | 1824 | /is-string@1.0.7: 1825 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 1826 | engines: {node: '>= 0.4'} 1827 | dependencies: 1828 | has-tostringtag: 1.0.0 1829 | dev: true 1830 | 1831 | /is-symbol@1.0.4: 1832 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 1833 | engines: {node: '>= 0.4'} 1834 | dependencies: 1835 | has-symbols: 1.0.3 1836 | dev: true 1837 | 1838 | /is-typed-array@1.1.10: 1839 | resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} 1840 | engines: {node: '>= 0.4'} 1841 | dependencies: 1842 | available-typed-arrays: 1.0.5 1843 | call-bind: 1.0.2 1844 | for-each: 0.3.3 1845 | gopd: 1.0.1 1846 | has-tostringtag: 1.0.0 1847 | dev: true 1848 | 1849 | /is-weakmap@2.0.1: 1850 | resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} 1851 | dev: true 1852 | 1853 | /is-weakref@1.0.2: 1854 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 1855 | dependencies: 1856 | call-bind: 1.0.2 1857 | dev: true 1858 | 1859 | /is-weakset@2.0.2: 1860 | resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} 1861 | dependencies: 1862 | call-bind: 1.0.2 1863 | get-intrinsic: 1.2.0 1864 | dev: true 1865 | 1866 | /is-wsl@2.2.0: 1867 | resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} 1868 | engines: {node: '>=8'} 1869 | dependencies: 1870 | is-docker: 2.2.1 1871 | dev: true 1872 | 1873 | /isarray@2.0.5: 1874 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 1875 | dev: true 1876 | 1877 | /isexe@2.0.0: 1878 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1879 | 1880 | /js-cookie@2.2.1: 1881 | resolution: {integrity: sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==} 1882 | dev: false 1883 | 1884 | /js-sdsl@4.3.0: 1885 | resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} 1886 | 1887 | /js-tokens@4.0.0: 1888 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1889 | 1890 | /js-yaml@4.1.0: 1891 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1892 | hasBin: true 1893 | dependencies: 1894 | argparse: 2.0.1 1895 | 1896 | /json-schema-traverse@0.4.1: 1897 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1898 | 1899 | /json-stable-stringify-without-jsonify@1.0.1: 1900 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1901 | 1902 | /json5@1.0.2: 1903 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} 1904 | hasBin: true 1905 | dependencies: 1906 | minimist: 1.2.8 1907 | dev: true 1908 | 1909 | /jsx-ast-utils@3.3.3: 1910 | resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} 1911 | engines: {node: '>=4.0'} 1912 | dependencies: 1913 | array-includes: 3.1.6 1914 | object.assign: 4.1.4 1915 | dev: true 1916 | 1917 | /language-subtag-registry@0.3.22: 1918 | resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} 1919 | dev: true 1920 | 1921 | /language-tags@1.0.5: 1922 | resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} 1923 | dependencies: 1924 | language-subtag-registry: 0.3.22 1925 | dev: true 1926 | 1927 | /levn@0.4.1: 1928 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1929 | engines: {node: '>= 0.8.0'} 1930 | dependencies: 1931 | prelude-ls: 1.2.1 1932 | type-check: 0.4.0 1933 | 1934 | /lilconfig@2.1.0: 1935 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 1936 | engines: {node: '>=10'} 1937 | dev: true 1938 | 1939 | /lint-staged@13.2.0: 1940 | resolution: {integrity: sha512-GbyK5iWinax5Dfw5obm2g2ccUiZXNGtAS4mCbJ0Lv4rq6iEtfBSjOYdcbOtAIFtM114t0vdpViDDetjVTSd8Vw==} 1941 | engines: {node: ^14.13.1 || >=16.0.0} 1942 | hasBin: true 1943 | dependencies: 1944 | chalk: 5.2.0 1945 | cli-truncate: 3.1.0 1946 | commander: 10.0.0 1947 | debug: 4.3.4 1948 | execa: 7.0.0 1949 | lilconfig: 2.1.0 1950 | listr2: 5.0.7 1951 | micromatch: 4.0.5 1952 | normalize-path: 3.0.0 1953 | object-inspect: 1.12.3 1954 | pidtree: 0.6.0 1955 | string-argv: 0.3.1 1956 | yaml: 2.2.1 1957 | transitivePeerDependencies: 1958 | - enquirer 1959 | - supports-color 1960 | dev: true 1961 | 1962 | /listr2@5.0.7: 1963 | resolution: {integrity: sha512-MD+qXHPmtivrHIDRwPYdfNkrzqDiuaKU/rfBcec3WMyMF3xylQj3jMq344OtvQxz7zaCFViRAeqlr2AFhPvXHw==} 1964 | engines: {node: ^14.13.1 || >=16.0.0} 1965 | peerDependencies: 1966 | enquirer: '>= 2.3.0 < 3' 1967 | peerDependenciesMeta: 1968 | enquirer: 1969 | optional: true 1970 | dependencies: 1971 | cli-truncate: 2.1.0 1972 | colorette: 2.0.19 1973 | log-update: 4.0.0 1974 | p-map: 4.0.0 1975 | rfdc: 1.3.0 1976 | rxjs: 7.8.0 1977 | through: 2.3.8 1978 | wrap-ansi: 7.0.0 1979 | dev: true 1980 | 1981 | /locate-path@6.0.0: 1982 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1983 | engines: {node: '>=10'} 1984 | dependencies: 1985 | p-locate: 5.0.0 1986 | 1987 | /lodash.merge@4.6.2: 1988 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1989 | 1990 | /log-update@4.0.0: 1991 | resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} 1992 | engines: {node: '>=10'} 1993 | dependencies: 1994 | ansi-escapes: 4.3.2 1995 | cli-cursor: 3.1.0 1996 | slice-ansi: 4.0.0 1997 | wrap-ansi: 6.2.0 1998 | dev: true 1999 | 2000 | /loose-envify@1.4.0: 2001 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 2002 | hasBin: true 2003 | dependencies: 2004 | js-tokens: 4.0.0 2005 | 2006 | /lru-cache@6.0.0: 2007 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 2008 | engines: {node: '>=10'} 2009 | dependencies: 2010 | yallist: 4.0.0 2011 | dev: true 2012 | 2013 | /mdn-data@2.0.14: 2014 | resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} 2015 | dev: false 2016 | 2017 | /merge-stream@2.0.0: 2018 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 2019 | dev: true 2020 | 2021 | /merge2@1.4.1: 2022 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2023 | engines: {node: '>= 8'} 2024 | dev: true 2025 | 2026 | /micromatch@4.0.5: 2027 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 2028 | engines: {node: '>=8.6'} 2029 | dependencies: 2030 | braces: 3.0.2 2031 | picomatch: 2.3.1 2032 | dev: true 2033 | 2034 | /mimic-fn@2.1.0: 2035 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 2036 | engines: {node: '>=6'} 2037 | dev: true 2038 | 2039 | /mimic-fn@4.0.0: 2040 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 2041 | engines: {node: '>=12'} 2042 | dev: true 2043 | 2044 | /minimatch@3.1.2: 2045 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2046 | dependencies: 2047 | brace-expansion: 1.1.11 2048 | 2049 | /minimist@1.2.8: 2050 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 2051 | dev: true 2052 | 2053 | /ms@2.1.2: 2054 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2055 | 2056 | /ms@2.1.3: 2057 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 2058 | dev: true 2059 | 2060 | /nano-css@5.3.5(react-dom@18.2.0)(react@18.2.0): 2061 | resolution: {integrity: sha512-vSB9X12bbNu4ALBu7nigJgRViZ6ja3OU7CeuiV1zMIbXOdmkLahgtPmh3GBOlDxbKY0CitqlPdOReGlBLSp+yg==} 2062 | peerDependencies: 2063 | react: '*' 2064 | react-dom: '*' 2065 | dependencies: 2066 | css-tree: 1.1.3 2067 | csstype: 3.1.1 2068 | fastest-stable-stringify: 2.0.2 2069 | inline-style-prefixer: 6.0.4 2070 | react: 18.2.0 2071 | react-dom: 18.2.0(react@18.2.0) 2072 | rtl-css-js: 1.16.1 2073 | sourcemap-codec: 1.4.8 2074 | stacktrace-js: 2.0.2 2075 | stylis: 4.1.3 2076 | dev: false 2077 | 2078 | /nanoid@3.3.4: 2079 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} 2080 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2081 | hasBin: true 2082 | 2083 | /natural-compare-lite@1.4.0: 2084 | resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} 2085 | dev: true 2086 | 2087 | /natural-compare@1.4.0: 2088 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 2089 | 2090 | /next-themes@0.2.1(next@13.2.4)(react-dom@18.2.0)(react@18.2.0): 2091 | resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} 2092 | peerDependencies: 2093 | next: '*' 2094 | react: '*' 2095 | react-dom: '*' 2096 | dependencies: 2097 | next: 13.2.4(react-dom@18.2.0)(react@18.2.0) 2098 | react: 18.2.0 2099 | react-dom: 18.2.0(react@18.2.0) 2100 | dev: false 2101 | 2102 | /next@13.2.4(react-dom@18.2.0)(react@18.2.0): 2103 | resolution: {integrity: sha512-g1I30317cThkEpvzfXujf0O4wtaQHtDCLhlivwlTJ885Ld+eOgcz7r3TGQzeU+cSRoNHtD8tsJgzxVdYojFssw==} 2104 | engines: {node: '>=14.6.0'} 2105 | hasBin: true 2106 | peerDependencies: 2107 | '@opentelemetry/api': ^1.4.0 2108 | fibers: '>= 3.1.0' 2109 | node-sass: ^6.0.0 || ^7.0.0 2110 | react: ^18.2.0 2111 | react-dom: ^18.2.0 2112 | sass: ^1.3.0 2113 | peerDependenciesMeta: 2114 | '@opentelemetry/api': 2115 | optional: true 2116 | fibers: 2117 | optional: true 2118 | node-sass: 2119 | optional: true 2120 | sass: 2121 | optional: true 2122 | dependencies: 2123 | '@next/env': 13.2.4 2124 | '@swc/helpers': 0.4.14 2125 | caniuse-lite: 1.0.30001464 2126 | postcss: 8.4.14 2127 | react: 18.2.0 2128 | react-dom: 18.2.0(react@18.2.0) 2129 | styled-jsx: 5.1.1(react@18.2.0) 2130 | optionalDependencies: 2131 | '@next/swc-android-arm-eabi': 13.2.4 2132 | '@next/swc-android-arm64': 13.2.4 2133 | '@next/swc-darwin-arm64': 13.2.4 2134 | '@next/swc-darwin-x64': 13.2.4 2135 | '@next/swc-freebsd-x64': 13.2.4 2136 | '@next/swc-linux-arm-gnueabihf': 13.2.4 2137 | '@next/swc-linux-arm64-gnu': 13.2.4 2138 | '@next/swc-linux-arm64-musl': 13.2.4 2139 | '@next/swc-linux-x64-gnu': 13.2.4 2140 | '@next/swc-linux-x64-musl': 13.2.4 2141 | '@next/swc-win32-arm64-msvc': 13.2.4 2142 | '@next/swc-win32-ia32-msvc': 13.2.4 2143 | '@next/swc-win32-x64-msvc': 13.2.4 2144 | transitivePeerDependencies: 2145 | - '@babel/core' 2146 | - babel-plugin-macros 2147 | dev: false 2148 | 2149 | /node-fetch@2.6.12: 2150 | resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} 2151 | engines: {node: 4.x || >=6.0.0} 2152 | peerDependencies: 2153 | encoding: ^0.1.0 2154 | peerDependenciesMeta: 2155 | encoding: 2156 | optional: true 2157 | dependencies: 2158 | whatwg-url: 5.0.0 2159 | dev: false 2160 | 2161 | /node-releases@2.0.10: 2162 | resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} 2163 | dev: true 2164 | 2165 | /normalize-path@3.0.0: 2166 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 2167 | engines: {node: '>=0.10.0'} 2168 | dev: true 2169 | 2170 | /normalize-range@0.1.2: 2171 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} 2172 | engines: {node: '>=0.10.0'} 2173 | dev: true 2174 | 2175 | /npm-run-path@5.1.0: 2176 | resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} 2177 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2178 | dependencies: 2179 | path-key: 4.0.0 2180 | dev: true 2181 | 2182 | /object-assign@4.1.1: 2183 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 2184 | engines: {node: '>=0.10.0'} 2185 | dev: true 2186 | 2187 | /object-hash@3.0.0: 2188 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 2189 | engines: {node: '>= 6'} 2190 | dev: true 2191 | 2192 | /object-inspect@1.12.3: 2193 | resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} 2194 | dev: true 2195 | 2196 | /object-is@1.1.5: 2197 | resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} 2198 | engines: {node: '>= 0.4'} 2199 | dependencies: 2200 | call-bind: 1.0.2 2201 | define-properties: 1.2.0 2202 | dev: true 2203 | 2204 | /object-keys@1.1.1: 2205 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 2206 | engines: {node: '>= 0.4'} 2207 | dev: true 2208 | 2209 | /object.assign@4.1.4: 2210 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} 2211 | engines: {node: '>= 0.4'} 2212 | dependencies: 2213 | call-bind: 1.0.2 2214 | define-properties: 1.2.0 2215 | has-symbols: 1.0.3 2216 | object-keys: 1.1.1 2217 | dev: true 2218 | 2219 | /object.entries@1.1.6: 2220 | resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} 2221 | engines: {node: '>= 0.4'} 2222 | dependencies: 2223 | call-bind: 1.0.2 2224 | define-properties: 1.2.0 2225 | es-abstract: 1.21.1 2226 | dev: true 2227 | 2228 | /object.fromentries@2.0.6: 2229 | resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} 2230 | engines: {node: '>= 0.4'} 2231 | dependencies: 2232 | call-bind: 1.0.2 2233 | define-properties: 1.2.0 2234 | es-abstract: 1.21.1 2235 | dev: true 2236 | 2237 | /object.hasown@1.1.2: 2238 | resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} 2239 | dependencies: 2240 | define-properties: 1.2.0 2241 | es-abstract: 1.21.1 2242 | dev: true 2243 | 2244 | /object.values@1.1.6: 2245 | resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} 2246 | engines: {node: '>= 0.4'} 2247 | dependencies: 2248 | call-bind: 1.0.2 2249 | define-properties: 1.2.0 2250 | es-abstract: 1.21.1 2251 | dev: true 2252 | 2253 | /once@1.4.0: 2254 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2255 | dependencies: 2256 | wrappy: 1.0.2 2257 | 2258 | /onetime@5.1.2: 2259 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 2260 | engines: {node: '>=6'} 2261 | dependencies: 2262 | mimic-fn: 2.1.0 2263 | dev: true 2264 | 2265 | /onetime@6.0.0: 2266 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 2267 | engines: {node: '>=12'} 2268 | dependencies: 2269 | mimic-fn: 4.0.0 2270 | dev: true 2271 | 2272 | /open@8.4.2: 2273 | resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} 2274 | engines: {node: '>=12'} 2275 | dependencies: 2276 | define-lazy-prop: 2.0.0 2277 | is-docker: 2.2.1 2278 | is-wsl: 2.2.0 2279 | dev: true 2280 | 2281 | /optionator@0.9.1: 2282 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 2283 | engines: {node: '>= 0.8.0'} 2284 | dependencies: 2285 | deep-is: 0.1.4 2286 | fast-levenshtein: 2.0.6 2287 | levn: 0.4.1 2288 | prelude-ls: 1.2.1 2289 | type-check: 0.4.0 2290 | word-wrap: 1.2.3 2291 | 2292 | /p-limit@3.1.0: 2293 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 2294 | engines: {node: '>=10'} 2295 | dependencies: 2296 | yocto-queue: 0.1.0 2297 | 2298 | /p-locate@5.0.0: 2299 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 2300 | engines: {node: '>=10'} 2301 | dependencies: 2302 | p-limit: 3.1.0 2303 | 2304 | /p-map@4.0.0: 2305 | resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} 2306 | engines: {node: '>=10'} 2307 | dependencies: 2308 | aggregate-error: 3.1.0 2309 | dev: true 2310 | 2311 | /parent-module@1.0.1: 2312 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2313 | engines: {node: '>=6'} 2314 | dependencies: 2315 | callsites: 3.1.0 2316 | 2317 | /path-exists@4.0.0: 2318 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2319 | engines: {node: '>=8'} 2320 | 2321 | /path-is-absolute@1.0.1: 2322 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 2323 | engines: {node: '>=0.10.0'} 2324 | 2325 | /path-key@3.1.1: 2326 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2327 | engines: {node: '>=8'} 2328 | 2329 | /path-key@4.0.0: 2330 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 2331 | engines: {node: '>=12'} 2332 | dev: true 2333 | 2334 | /path-parse@1.0.7: 2335 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2336 | dev: true 2337 | 2338 | /path-type@4.0.0: 2339 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2340 | engines: {node: '>=8'} 2341 | dev: true 2342 | 2343 | /picocolors@1.0.0: 2344 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2345 | 2346 | /picomatch@2.3.1: 2347 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2348 | engines: {node: '>=8.6'} 2349 | dev: true 2350 | 2351 | /pidtree@0.6.0: 2352 | resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} 2353 | engines: {node: '>=0.10'} 2354 | hasBin: true 2355 | dev: true 2356 | 2357 | /pify@2.3.0: 2358 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 2359 | engines: {node: '>=0.10.0'} 2360 | dev: true 2361 | 2362 | /postcss-import@14.1.0(postcss@8.4.21): 2363 | resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} 2364 | engines: {node: '>=10.0.0'} 2365 | peerDependencies: 2366 | postcss: ^8.0.0 2367 | dependencies: 2368 | postcss: 8.4.21 2369 | postcss-value-parser: 4.2.0 2370 | read-cache: 1.0.0 2371 | resolve: 1.22.1 2372 | dev: true 2373 | 2374 | /postcss-js@4.0.1(postcss@8.4.21): 2375 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} 2376 | engines: {node: ^12 || ^14 || >= 16} 2377 | peerDependencies: 2378 | postcss: ^8.4.21 2379 | dependencies: 2380 | camelcase-css: 2.0.1 2381 | postcss: 8.4.21 2382 | dev: true 2383 | 2384 | /postcss-load-config@3.1.4(postcss@8.4.21): 2385 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} 2386 | engines: {node: '>= 10'} 2387 | peerDependencies: 2388 | postcss: '>=8.0.9' 2389 | ts-node: '>=9.0.0' 2390 | peerDependenciesMeta: 2391 | postcss: 2392 | optional: true 2393 | ts-node: 2394 | optional: true 2395 | dependencies: 2396 | lilconfig: 2.1.0 2397 | postcss: 8.4.21 2398 | yaml: 1.10.2 2399 | dev: true 2400 | 2401 | /postcss-nested@6.0.0(postcss@8.4.21): 2402 | resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} 2403 | engines: {node: '>=12.0'} 2404 | peerDependencies: 2405 | postcss: ^8.2.14 2406 | dependencies: 2407 | postcss: 8.4.21 2408 | postcss-selector-parser: 6.0.11 2409 | dev: true 2410 | 2411 | /postcss-selector-parser@6.0.11: 2412 | resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} 2413 | engines: {node: '>=4'} 2414 | dependencies: 2415 | cssesc: 3.0.0 2416 | util-deprecate: 1.0.2 2417 | dev: true 2418 | 2419 | /postcss-value-parser@4.2.0: 2420 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 2421 | dev: true 2422 | 2423 | /postcss@8.4.14: 2424 | resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} 2425 | engines: {node: ^10 || ^12 || >=14} 2426 | dependencies: 2427 | nanoid: 3.3.4 2428 | picocolors: 1.0.0 2429 | source-map-js: 1.0.2 2430 | dev: false 2431 | 2432 | /postcss@8.4.21: 2433 | resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} 2434 | engines: {node: ^10 || ^12 || >=14} 2435 | dependencies: 2436 | nanoid: 3.3.4 2437 | picocolors: 1.0.0 2438 | source-map-js: 1.0.2 2439 | dev: true 2440 | 2441 | /prelude-ls@1.2.1: 2442 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 2443 | engines: {node: '>= 0.8.0'} 2444 | 2445 | /prettier-linter-helpers@1.0.0: 2446 | resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} 2447 | engines: {node: '>=6.0.0'} 2448 | dependencies: 2449 | fast-diff: 1.2.0 2450 | dev: true 2451 | 2452 | /prettier@2.8.4: 2453 | resolution: {integrity: sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==} 2454 | engines: {node: '>=10.13.0'} 2455 | hasBin: true 2456 | dev: true 2457 | 2458 | /prop-types@15.8.1: 2459 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 2460 | dependencies: 2461 | loose-envify: 1.4.0 2462 | object-assign: 4.1.1 2463 | react-is: 16.13.1 2464 | dev: true 2465 | 2466 | /punycode@2.3.0: 2467 | resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} 2468 | engines: {node: '>=6'} 2469 | 2470 | /queue-microtask@1.2.3: 2471 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2472 | 2473 | /quick-lru@5.1.1: 2474 | resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} 2475 | engines: {node: '>=10'} 2476 | dev: true 2477 | 2478 | /react-dom@18.2.0(react@18.2.0): 2479 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} 2480 | peerDependencies: 2481 | react: ^18.2.0 2482 | dependencies: 2483 | loose-envify: 1.4.0 2484 | react: 18.2.0 2485 | scheduler: 0.23.0 2486 | dev: false 2487 | 2488 | /react-is@16.13.1: 2489 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 2490 | dev: true 2491 | 2492 | /react-universal-interface@0.6.2(react@18.2.0)(tslib@2.5.0): 2493 | resolution: {integrity: sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==} 2494 | peerDependencies: 2495 | react: '*' 2496 | tslib: '*' 2497 | dependencies: 2498 | react: 18.2.0 2499 | tslib: 2.5.0 2500 | dev: false 2501 | 2502 | /react-use@17.4.0(react-dom@18.2.0)(react@18.2.0): 2503 | resolution: {integrity: sha512-TgbNTCA33Wl7xzIJegn1HndB4qTS9u03QUwyNycUnXaweZkE4Kq2SB+Yoxx8qbshkZGYBDvUXbXWRUmQDcZZ/Q==} 2504 | peerDependencies: 2505 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 2506 | react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 2507 | dependencies: 2508 | '@types/js-cookie': 2.2.7 2509 | '@xobotyi/scrollbar-width': 1.9.5 2510 | copy-to-clipboard: 3.3.3 2511 | fast-deep-equal: 3.1.3 2512 | fast-shallow-equal: 1.0.0 2513 | js-cookie: 2.2.1 2514 | nano-css: 5.3.5(react-dom@18.2.0)(react@18.2.0) 2515 | react: 18.2.0 2516 | react-dom: 18.2.0(react@18.2.0) 2517 | react-universal-interface: 0.6.2(react@18.2.0)(tslib@2.5.0) 2518 | resize-observer-polyfill: 1.5.1 2519 | screenfull: 5.2.0 2520 | set-harmonic-interval: 1.0.1 2521 | throttle-debounce: 3.0.1 2522 | ts-easing: 0.2.0 2523 | tslib: 2.5.0 2524 | dev: false 2525 | 2526 | /react@18.2.0: 2527 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} 2528 | engines: {node: '>=0.10.0'} 2529 | dependencies: 2530 | loose-envify: 1.4.0 2531 | dev: false 2532 | 2533 | /read-cache@1.0.0: 2534 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 2535 | dependencies: 2536 | pify: 2.3.0 2537 | dev: true 2538 | 2539 | /readdirp@3.6.0: 2540 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2541 | engines: {node: '>=8.10.0'} 2542 | dependencies: 2543 | picomatch: 2.3.1 2544 | dev: true 2545 | 2546 | /regenerator-runtime@0.13.11: 2547 | resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} 2548 | 2549 | /regexp.prototype.flags@1.4.3: 2550 | resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} 2551 | engines: {node: '>= 0.4'} 2552 | dependencies: 2553 | call-bind: 1.0.2 2554 | define-properties: 1.2.0 2555 | functions-have-names: 1.2.3 2556 | dev: true 2557 | 2558 | /regexpp@3.2.0: 2559 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} 2560 | engines: {node: '>=8'} 2561 | 2562 | /resize-observer-polyfill@1.5.1: 2563 | resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} 2564 | dev: false 2565 | 2566 | /resolve-from@4.0.0: 2567 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2568 | engines: {node: '>=4'} 2569 | 2570 | /resolve@1.22.1: 2571 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 2572 | hasBin: true 2573 | dependencies: 2574 | is-core-module: 2.11.0 2575 | path-parse: 1.0.7 2576 | supports-preserve-symlinks-flag: 1.0.0 2577 | dev: true 2578 | 2579 | /resolve@2.0.0-next.4: 2580 | resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} 2581 | hasBin: true 2582 | dependencies: 2583 | is-core-module: 2.11.0 2584 | path-parse: 1.0.7 2585 | supports-preserve-symlinks-flag: 1.0.0 2586 | dev: true 2587 | 2588 | /restore-cursor@3.1.0: 2589 | resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} 2590 | engines: {node: '>=8'} 2591 | dependencies: 2592 | onetime: 5.1.2 2593 | signal-exit: 3.0.7 2594 | dev: true 2595 | 2596 | /reusify@1.0.4: 2597 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2598 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2599 | 2600 | /rfdc@1.3.0: 2601 | resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} 2602 | dev: true 2603 | 2604 | /rimraf@3.0.2: 2605 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 2606 | hasBin: true 2607 | dependencies: 2608 | glob: 7.2.3 2609 | 2610 | /rtl-css-js@1.16.1: 2611 | resolution: {integrity: sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==} 2612 | dependencies: 2613 | '@babel/runtime': 7.21.0 2614 | dev: false 2615 | 2616 | /run-parallel@1.2.0: 2617 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2618 | dependencies: 2619 | queue-microtask: 1.2.3 2620 | 2621 | /rxjs@7.8.0: 2622 | resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} 2623 | dependencies: 2624 | tslib: 2.5.0 2625 | dev: true 2626 | 2627 | /safe-regex-test@1.0.0: 2628 | resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} 2629 | dependencies: 2630 | call-bind: 1.0.2 2631 | get-intrinsic: 1.2.0 2632 | is-regex: 1.1.4 2633 | dev: true 2634 | 2635 | /scheduler@0.23.0: 2636 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} 2637 | dependencies: 2638 | loose-envify: 1.4.0 2639 | dev: false 2640 | 2641 | /screenfull@5.2.0: 2642 | resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==} 2643 | engines: {node: '>=0.10.0'} 2644 | dev: false 2645 | 2646 | /semver@6.3.0: 2647 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 2648 | hasBin: true 2649 | dev: true 2650 | 2651 | /semver@7.3.8: 2652 | resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} 2653 | engines: {node: '>=10'} 2654 | hasBin: true 2655 | dependencies: 2656 | lru-cache: 6.0.0 2657 | dev: true 2658 | 2659 | /set-harmonic-interval@1.0.1: 2660 | resolution: {integrity: sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==} 2661 | engines: {node: '>=6.9'} 2662 | dev: false 2663 | 2664 | /shebang-command@2.0.0: 2665 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2666 | engines: {node: '>=8'} 2667 | dependencies: 2668 | shebang-regex: 3.0.0 2669 | 2670 | /shebang-regex@3.0.0: 2671 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2672 | engines: {node: '>=8'} 2673 | 2674 | /side-channel@1.0.4: 2675 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 2676 | dependencies: 2677 | call-bind: 1.0.2 2678 | get-intrinsic: 1.2.0 2679 | object-inspect: 1.12.3 2680 | dev: true 2681 | 2682 | /signal-exit@3.0.7: 2683 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 2684 | dev: true 2685 | 2686 | /slash@3.0.0: 2687 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2688 | engines: {node: '>=8'} 2689 | dev: true 2690 | 2691 | /slash@4.0.0: 2692 | resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} 2693 | engines: {node: '>=12'} 2694 | dev: true 2695 | 2696 | /slice-ansi@3.0.0: 2697 | resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} 2698 | engines: {node: '>=8'} 2699 | dependencies: 2700 | ansi-styles: 4.3.0 2701 | astral-regex: 2.0.0 2702 | is-fullwidth-code-point: 3.0.0 2703 | dev: true 2704 | 2705 | /slice-ansi@4.0.0: 2706 | resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} 2707 | engines: {node: '>=10'} 2708 | dependencies: 2709 | ansi-styles: 4.3.0 2710 | astral-regex: 2.0.0 2711 | is-fullwidth-code-point: 3.0.0 2712 | dev: true 2713 | 2714 | /slice-ansi@5.0.0: 2715 | resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} 2716 | engines: {node: '>=12'} 2717 | dependencies: 2718 | ansi-styles: 6.2.1 2719 | is-fullwidth-code-point: 4.0.0 2720 | dev: true 2721 | 2722 | /source-map-js@1.0.2: 2723 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 2724 | engines: {node: '>=0.10.0'} 2725 | 2726 | /source-map@0.5.6: 2727 | resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==} 2728 | engines: {node: '>=0.10.0'} 2729 | dev: false 2730 | 2731 | /source-map@0.6.1: 2732 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 2733 | engines: {node: '>=0.10.0'} 2734 | dev: false 2735 | 2736 | /sourcemap-codec@1.4.8: 2737 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 2738 | deprecated: Please use @jridgewell/sourcemap-codec instead 2739 | dev: false 2740 | 2741 | /stack-generator@2.0.10: 2742 | resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} 2743 | dependencies: 2744 | stackframe: 1.3.4 2745 | dev: false 2746 | 2747 | /stackframe@1.3.4: 2748 | resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} 2749 | dev: false 2750 | 2751 | /stacktrace-gps@3.1.2: 2752 | resolution: {integrity: sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==} 2753 | dependencies: 2754 | source-map: 0.5.6 2755 | stackframe: 1.3.4 2756 | dev: false 2757 | 2758 | /stacktrace-js@2.0.2: 2759 | resolution: {integrity: sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==} 2760 | dependencies: 2761 | error-stack-parser: 2.1.4 2762 | stack-generator: 2.0.10 2763 | stacktrace-gps: 3.1.2 2764 | dev: false 2765 | 2766 | /stop-iteration-iterator@1.0.0: 2767 | resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} 2768 | engines: {node: '>= 0.4'} 2769 | dependencies: 2770 | internal-slot: 1.0.5 2771 | dev: true 2772 | 2773 | /string-argv@0.3.1: 2774 | resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} 2775 | engines: {node: '>=0.6.19'} 2776 | dev: true 2777 | 2778 | /string-width@4.2.3: 2779 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2780 | engines: {node: '>=8'} 2781 | dependencies: 2782 | emoji-regex: 8.0.0 2783 | is-fullwidth-code-point: 3.0.0 2784 | strip-ansi: 6.0.1 2785 | dev: true 2786 | 2787 | /string-width@5.1.2: 2788 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 2789 | engines: {node: '>=12'} 2790 | dependencies: 2791 | eastasianwidth: 0.2.0 2792 | emoji-regex: 9.2.2 2793 | strip-ansi: 7.0.1 2794 | dev: true 2795 | 2796 | /string.prototype.matchall@4.0.8: 2797 | resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} 2798 | dependencies: 2799 | call-bind: 1.0.2 2800 | define-properties: 1.2.0 2801 | es-abstract: 1.21.1 2802 | get-intrinsic: 1.2.0 2803 | has-symbols: 1.0.3 2804 | internal-slot: 1.0.5 2805 | regexp.prototype.flags: 1.4.3 2806 | side-channel: 1.0.4 2807 | dev: true 2808 | 2809 | /string.prototype.trimend@1.0.6: 2810 | resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} 2811 | dependencies: 2812 | call-bind: 1.0.2 2813 | define-properties: 1.2.0 2814 | es-abstract: 1.21.1 2815 | dev: true 2816 | 2817 | /string.prototype.trimstart@1.0.6: 2818 | resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} 2819 | dependencies: 2820 | call-bind: 1.0.2 2821 | define-properties: 1.2.0 2822 | es-abstract: 1.21.1 2823 | dev: true 2824 | 2825 | /strip-ansi@6.0.1: 2826 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2827 | engines: {node: '>=8'} 2828 | dependencies: 2829 | ansi-regex: 5.0.1 2830 | 2831 | /strip-ansi@7.0.1: 2832 | resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} 2833 | engines: {node: '>=12'} 2834 | dependencies: 2835 | ansi-regex: 6.0.1 2836 | dev: true 2837 | 2838 | /strip-bom@3.0.0: 2839 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 2840 | engines: {node: '>=4'} 2841 | dev: true 2842 | 2843 | /strip-final-newline@3.0.0: 2844 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 2845 | engines: {node: '>=12'} 2846 | dev: true 2847 | 2848 | /strip-json-comments@3.1.1: 2849 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 2850 | engines: {node: '>=8'} 2851 | 2852 | /styled-jsx@5.1.1(react@18.2.0): 2853 | resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} 2854 | engines: {node: '>= 12.0.0'} 2855 | peerDependencies: 2856 | '@babel/core': '*' 2857 | babel-plugin-macros: '*' 2858 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' 2859 | peerDependenciesMeta: 2860 | '@babel/core': 2861 | optional: true 2862 | babel-plugin-macros: 2863 | optional: true 2864 | dependencies: 2865 | client-only: 0.0.1 2866 | react: 18.2.0 2867 | dev: false 2868 | 2869 | /stylis@4.1.3: 2870 | resolution: {integrity: sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==} 2871 | dev: false 2872 | 2873 | /supports-color@7.2.0: 2874 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2875 | engines: {node: '>=8'} 2876 | dependencies: 2877 | has-flag: 4.0.0 2878 | 2879 | /supports-preserve-symlinks-flag@1.0.0: 2880 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2881 | engines: {node: '>= 0.4'} 2882 | dev: true 2883 | 2884 | /swr@2.2.0(react@18.2.0): 2885 | resolution: {integrity: sha512-AjqHOv2lAhkuUdIiBu9xbuettzAzWXmCEcLONNKJRba87WAefz8Ca9d6ds/SzrPc235n1IxWYdhJ2zF3MNUaoQ==} 2886 | peerDependencies: 2887 | react: ^16.11.0 || ^17.0.0 || ^18.0.0 2888 | dependencies: 2889 | react: 18.2.0 2890 | use-sync-external-store: 1.2.0(react@18.2.0) 2891 | dev: false 2892 | 2893 | /synckit@0.8.5: 2894 | resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} 2895 | engines: {node: ^14.18.0 || >=16.0.0} 2896 | dependencies: 2897 | '@pkgr/utils': 2.3.1 2898 | tslib: 2.5.0 2899 | dev: true 2900 | 2901 | /tailwindcss@3.2.7(postcss@8.4.21): 2902 | resolution: {integrity: sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==} 2903 | engines: {node: '>=12.13.0'} 2904 | hasBin: true 2905 | peerDependencies: 2906 | postcss: ^8.0.9 2907 | dependencies: 2908 | arg: 5.0.2 2909 | chokidar: 3.5.3 2910 | color-name: 1.1.4 2911 | detective: 5.2.1 2912 | didyoumean: 1.2.2 2913 | dlv: 1.1.3 2914 | fast-glob: 3.2.12 2915 | glob-parent: 6.0.2 2916 | is-glob: 4.0.3 2917 | lilconfig: 2.1.0 2918 | micromatch: 4.0.5 2919 | normalize-path: 3.0.0 2920 | object-hash: 3.0.0 2921 | picocolors: 1.0.0 2922 | postcss: 8.4.21 2923 | postcss-import: 14.1.0(postcss@8.4.21) 2924 | postcss-js: 4.0.1(postcss@8.4.21) 2925 | postcss-load-config: 3.1.4(postcss@8.4.21) 2926 | postcss-nested: 6.0.0(postcss@8.4.21) 2927 | postcss-selector-parser: 6.0.11 2928 | postcss-value-parser: 4.2.0 2929 | quick-lru: 5.1.1 2930 | resolve: 1.22.1 2931 | transitivePeerDependencies: 2932 | - ts-node 2933 | dev: true 2934 | 2935 | /tapable@2.2.1: 2936 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} 2937 | engines: {node: '>=6'} 2938 | dev: true 2939 | 2940 | /text-table@0.2.0: 2941 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 2942 | 2943 | /throttle-debounce@3.0.1: 2944 | resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==} 2945 | engines: {node: '>=10'} 2946 | dev: false 2947 | 2948 | /through@2.3.8: 2949 | resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} 2950 | dev: true 2951 | 2952 | /tiny-glob@0.2.9: 2953 | resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} 2954 | dependencies: 2955 | globalyzer: 0.1.0 2956 | globrex: 0.1.2 2957 | dev: true 2958 | 2959 | /to-regex-range@5.0.1: 2960 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2961 | engines: {node: '>=8.0'} 2962 | dependencies: 2963 | is-number: 7.0.0 2964 | dev: true 2965 | 2966 | /toggle-selection@1.0.6: 2967 | resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} 2968 | dev: false 2969 | 2970 | /tr46@0.0.3: 2971 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 2972 | dev: false 2973 | 2974 | /ts-easing@0.2.0: 2975 | resolution: {integrity: sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==} 2976 | dev: false 2977 | 2978 | /tsconfig-paths@3.14.2: 2979 | resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} 2980 | dependencies: 2981 | '@types/json5': 0.0.29 2982 | json5: 1.0.2 2983 | minimist: 1.2.8 2984 | strip-bom: 3.0.0 2985 | dev: true 2986 | 2987 | /tslib@1.14.1: 2988 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 2989 | dev: true 2990 | 2991 | /tslib@2.5.0: 2992 | resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} 2993 | 2994 | /tsutils@3.21.0(typescript@4.9.5): 2995 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 2996 | engines: {node: '>= 6'} 2997 | peerDependencies: 2998 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 2999 | dependencies: 3000 | tslib: 1.14.1 3001 | typescript: 4.9.5 3002 | dev: true 3003 | 3004 | /type-check@0.4.0: 3005 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 3006 | engines: {node: '>= 0.8.0'} 3007 | dependencies: 3008 | prelude-ls: 1.2.1 3009 | 3010 | /type-fest@0.20.2: 3011 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 3012 | engines: {node: '>=10'} 3013 | 3014 | /type-fest@0.21.3: 3015 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 3016 | engines: {node: '>=10'} 3017 | dev: true 3018 | 3019 | /typed-array-length@1.0.4: 3020 | resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} 3021 | dependencies: 3022 | call-bind: 1.0.2 3023 | for-each: 0.3.3 3024 | is-typed-array: 1.1.10 3025 | dev: true 3026 | 3027 | /typescript@4.9.5: 3028 | resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} 3029 | engines: {node: '>=4.2.0'} 3030 | hasBin: true 3031 | dev: true 3032 | 3033 | /unbox-primitive@1.0.2: 3034 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 3035 | dependencies: 3036 | call-bind: 1.0.2 3037 | has-bigints: 1.0.2 3038 | has-symbols: 1.0.3 3039 | which-boxed-primitive: 1.0.2 3040 | dev: true 3041 | 3042 | /update-browserslist-db@1.0.10(browserslist@4.21.5): 3043 | resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} 3044 | hasBin: true 3045 | peerDependencies: 3046 | browserslist: '>= 4.21.0' 3047 | dependencies: 3048 | browserslist: 4.21.5 3049 | escalade: 3.1.1 3050 | picocolors: 1.0.0 3051 | dev: true 3052 | 3053 | /uri-js@4.4.1: 3054 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 3055 | dependencies: 3056 | punycode: 2.3.0 3057 | 3058 | /use-sync-external-store@1.2.0(react@18.2.0): 3059 | resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} 3060 | peerDependencies: 3061 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 3062 | dependencies: 3063 | react: 18.2.0 3064 | dev: false 3065 | 3066 | /util-deprecate@1.0.2: 3067 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 3068 | dev: true 3069 | 3070 | /webidl-conversions@3.0.1: 3071 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 3072 | dev: false 3073 | 3074 | /whatwg-url@5.0.0: 3075 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 3076 | dependencies: 3077 | tr46: 0.0.3 3078 | webidl-conversions: 3.0.1 3079 | dev: false 3080 | 3081 | /which-boxed-primitive@1.0.2: 3082 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 3083 | dependencies: 3084 | is-bigint: 1.0.4 3085 | is-boolean-object: 1.1.2 3086 | is-number-object: 1.0.7 3087 | is-string: 1.0.7 3088 | is-symbol: 1.0.4 3089 | dev: true 3090 | 3091 | /which-collection@1.0.1: 3092 | resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} 3093 | dependencies: 3094 | is-map: 2.0.2 3095 | is-set: 2.0.2 3096 | is-weakmap: 2.0.1 3097 | is-weakset: 2.0.2 3098 | dev: true 3099 | 3100 | /which-typed-array@1.1.9: 3101 | resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} 3102 | engines: {node: '>= 0.4'} 3103 | dependencies: 3104 | available-typed-arrays: 1.0.5 3105 | call-bind: 1.0.2 3106 | for-each: 0.3.3 3107 | gopd: 1.0.1 3108 | has-tostringtag: 1.0.0 3109 | is-typed-array: 1.1.10 3110 | dev: true 3111 | 3112 | /which@2.0.2: 3113 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 3114 | engines: {node: '>= 8'} 3115 | hasBin: true 3116 | dependencies: 3117 | isexe: 2.0.0 3118 | 3119 | /word-wrap@1.2.3: 3120 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 3121 | engines: {node: '>=0.10.0'} 3122 | 3123 | /wrap-ansi@6.2.0: 3124 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} 3125 | engines: {node: '>=8'} 3126 | dependencies: 3127 | ansi-styles: 4.3.0 3128 | string-width: 4.2.3 3129 | strip-ansi: 6.0.1 3130 | dev: true 3131 | 3132 | /wrap-ansi@7.0.0: 3133 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 3134 | engines: {node: '>=10'} 3135 | dependencies: 3136 | ansi-styles: 4.3.0 3137 | string-width: 4.2.3 3138 | strip-ansi: 6.0.1 3139 | dev: true 3140 | 3141 | /wrappy@1.0.2: 3142 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 3143 | 3144 | /xtend@4.0.2: 3145 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} 3146 | engines: {node: '>=0.4'} 3147 | dev: true 3148 | 3149 | /yallist@4.0.0: 3150 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 3151 | dev: true 3152 | 3153 | /yaml@1.10.2: 3154 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 3155 | engines: {node: '>= 6'} 3156 | dev: true 3157 | 3158 | /yaml@2.2.1: 3159 | resolution: {integrity: sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==} 3160 | engines: {node: '>= 14'} 3161 | dev: true 3162 | 3163 | /yocto-queue@0.1.0: 3164 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 3165 | engines: {node: '>=10'} 3166 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | // If you want to use other PostCSS plugins, see the following: 2 | // https://tailwindcss.com/docs/using-with-preprocessors 3 | module.exports = { 4 | plugins: { 5 | tailwindcss: {}, 6 | autoprefixer: {}, 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: -------------------------------------------------------------------------------- /public/static/favicons/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cristicretu/stacks/5ae72be413100839c9e8dfabbf439d2ff35dcb69/public/static/favicons/android-chrome-192x192.png -------------------------------------------------------------------------------- /public/static/favicons/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cristicretu/stacks/5ae72be413100839c9e8dfabbf439d2ff35dcb69/public/static/favicons/android-chrome-512x512.png -------------------------------------------------------------------------------- /public/static/favicons/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cristicretu/stacks/5ae72be413100839c9e8dfabbf439d2ff35dcb69/public/static/favicons/apple-touch-icon.png -------------------------------------------------------------------------------- /public/static/favicons/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #00aba9 7 | 8 | 9 | -------------------------------------------------------------------------------- /public/static/favicons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cristicretu/stacks/5ae72be413100839c9e8dfabbf439d2ff35dcb69/public/static/favicons/favicon-16x16.png -------------------------------------------------------------------------------- /public/static/favicons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cristicretu/stacks/5ae72be413100839c9e8dfabbf439d2ff35dcb69/public/static/favicons/favicon-32x32.png -------------------------------------------------------------------------------- /public/static/favicons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cristicretu/stacks/5ae72be413100839c9e8dfabbf439d2ff35dcb69/public/static/favicons/favicon.ico -------------------------------------------------------------------------------- /public/static/favicons/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cristicretu/stacks/5ae72be413100839c9e8dfabbf439d2ff35dcb69/public/static/favicons/icon.png -------------------------------------------------------------------------------- /public/static/favicons/site.webmanifest: -------------------------------------------------------------------------------- 1 | {"name":"Stacks","short_name":"Stacks","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#000000","background_color":"#000000","display":"standalone"} 2 | -------------------------------------------------------------------------------- /styles/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | @layer base { 6 | @font-face { 7 | font-family: 'Inter'; 8 | font-style: normal; 9 | font-weight: 100 900; 10 | font-display: optional; 11 | src: url(/fonts/inter-var-latin.woff2) format('woff2'); 12 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, 13 | U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, 14 | U+2215, U+FEFF, U+FFFD; 15 | } 16 | 17 | #__next { 18 | display: flex; 19 | flex-direction: column; 20 | min-height: 100vh; 21 | } 22 | 23 | .capsize::before { 24 | content: ''; 25 | margin-bottom: -0.098em; 26 | display: table; 27 | } 28 | 29 | .capsize::after { 30 | content: ''; 31 | margin-top: -0.219em; 32 | display: table; 33 | } 34 | 35 | pre::-webkit-scrollbar { 36 | display: none; 37 | } 38 | 39 | pre { 40 | -ms-overflow-style: none; /* IE and Edge */ 41 | scrollbar-width: none; /* Firefox */ 42 | } 43 | 44 | /* https://seek-oss.github.io/capsize/ */ 45 | .capsize::before { 46 | content: ''; 47 | margin-bottom: -0.098em; 48 | display: table; 49 | } 50 | 51 | .capsize::after { 52 | content: ''; 53 | margin-top: -0.219em; 54 | display: table; 55 | } 56 | 57 | ::-moz-selection { 58 | color: #fff; 59 | background: #000; 60 | } 61 | 62 | .light ::selection { 63 | color: #fff; 64 | background: #000; 65 | } 66 | 67 | .dark ::selection { 68 | background: #fff; 69 | color: #000; 70 | } 71 | 72 | html { 73 | @apply max-h-screen antialiased; 74 | } 75 | 76 | * { 77 | box-sizing: border-box; 78 | } 79 | 80 | body { 81 | @apply p-0 m-0 font-mono; 82 | } 83 | 84 | body:after { 85 | content: ''; 86 | position: fixed; 87 | top: -50%; 88 | right: -50%; 89 | bottom: -50%; 90 | left: -50%; 91 | z-index: -1; 92 | @apply bg-white dark:bg-black; 93 | } 94 | } 95 | 96 | /* Your own custom utilities */ 97 | @layer utilities { 98 | .text-primary { 99 | @apply text-gray-1000 dark:text-gray-100; 100 | } 101 | 102 | .text-secondary { 103 | @apply text-gray-700 dark:text-gray-300; 104 | } 105 | 106 | .text-tertiary { 107 | @apply text-gray-500 dark:text-gray-400; 108 | } 109 | 110 | .text-quaternary { 111 | @apply text-gray-400 dark:text-gray-500; 112 | } 113 | 114 | .bg-elevated { 115 | @apply bg-gray-400 bg-opacity-5 dark:bg-gray-50; 116 | } 117 | 118 | .bg-primary { 119 | @apply bg-gray-100/60 dark:bg-gray-1000/70; 120 | } 121 | 122 | .highlight { 123 | @apply bg-black/10 dark:bg-white/[.06]; 124 | } 125 | 126 | .button-primary-x { 127 | @apply flex items-center justify-center flex-none px-4 py-2 space-x-2 text-sm font-semibold leading-none text-gray-700 transition-all bg-white border border-gray-400 rounded-md shadow-sm cursor-pointer dark:text-gray-300 hover:text-gray-1000 dark:bg-gray-900 border-opacity-30 dark:border-opacity-30 dark:border-gray-500 dark:hover:text-white hover:border-opacity-50 dark:hover:border-opacity-50 hover:shadow-sm; 128 | } 129 | 130 | .button-primary-y { 131 | @apply flex items-center justify-center flex-none px-2 py-2 space-x-2 font-semibold leading-none text-gray-700 bg-white border border-gray-400 rounded-md shadow-sm cursor-pointer dark:text-gray-300 hover:text-gray-1000 dark:bg-gray-900 border-opacity-30 dark:border-opacity-30 dark:border-gray-500 dark:hover:text-white hover:border-opacity-50 dark:hover:border-opacity-50 hover:shadow-sm; 132 | } 133 | 134 | .filter-none { 135 | filter: none; 136 | } 137 | 138 | .filter-grayscale { 139 | filter: grayscale(100%); 140 | } 141 | 142 | .filter-saturate { 143 | -webkit-filter: brightness(105%) saturate(200%) contrast(1); 144 | filter: brightness(105%) saturate(200%) contrast(1); 145 | } 146 | 147 | .filter-blur { 148 | backdrop-filter: saturate(180%) blur(25px); 149 | } 150 | 151 | .highlight-link-hover { 152 | @apply -mx-0.5 rounded-sm bg-opacity-20 px-0.5 text-gray-1000 no-underline dark:bg-opacity-100 dark:text-gray-300 md:hover:bg-yellow-400 md:hover:bg-opacity-30 md:dark:hover:bg-yellow-500 md:dark:hover:bg-opacity-100 md:dark:hover:text-gray-1000; 153 | } 154 | 155 | .highlight-link { 156 | @apply -mx-0.5 bg-opacity-20 px-0.5 text-gray-1000 dark:bg-gray-100 dark:bg-opacity-20 dark:text-gray-300 md:hover:bg-opacity-30 md:dark:hover:bg-yellow-500 md:dark:hover:bg-opacity-100 md:dark:hover:text-gray-1000; 157 | } 158 | 159 | .blink { 160 | animation: blink-animation 1.5s steps(2, start) infinite; 161 | -webkit-animation: blink-animation 1.5s steps(2, start) infinite; 162 | } 163 | } 164 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | const { fontFamily } = require('tailwindcss/defaultTheme') 2 | const colors = require('tailwindcss/colors') 3 | 4 | module.exports = { 5 | mode: 'jit', 6 | content: [ 7 | './components/**/*.{js,ts,jsx,tsx}', 8 | './pages/**/*.{js,ts,jsx,tsx}', 9 | ], 10 | darkMode: 'class', 11 | theme: { 12 | extend: { 13 | colors: { 14 | 'gray-1000': '#050505', 15 | gray: colors.neutral, 16 | }, 17 | }, 18 | fontFamily: { 19 | mono: ['JetBrains Mono', ...fontFamily.mono], 20 | }, 21 | }, 22 | variants: { 23 | extend: {}, 24 | }, 25 | plugins: [], 26 | } 27 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "strict": true, 8 | "forceConsistentCasingInFileNames": true, 9 | "noEmit": true, 10 | "esModuleInterop": true, 11 | "module": "esnext", 12 | "moduleResolution": "node", 13 | "resolveJsonModule": true, 14 | "isolatedModules": true, 15 | "jsx": "preserve", 16 | "incremental": true, 17 | "baseUrl": "." 18 | }, 19 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], 20 | "exclude": ["node_modules"] 21 | } 22 | -------------------------------------------------------------------------------- /vercel.json: -------------------------------------------------------------------------------- 1 | { 2 | "headers": [ 3 | { 4 | "source": "/fonts/inter-var-latin.woff2", 5 | "headers": [ 6 | { 7 | "key": "Cache-Control", 8 | "value": "public, max-age=31536000, immutable" 9 | } 10 | ] 11 | } 12 | ] 13 | } 14 | --------------------------------------------------------------------------------