From 45b9da3ecbe9dcfcf91956068dd66e7406cb57d9 Mon Sep 17 00:00:00 2001 From: soecka Date: Thu, 10 Oct 2024 02:24:38 +0800 Subject: [PATCH 1/7] [add] darkmode [polish] MainNavigator, ColorModeDropdown [config] tailwind, eslint, postcss [migrate] replace bootstrap with material-ui within components [fix] dark mode flicker --- .eslintrc.json | 61 +- components/Client/Partner.tsx | 28 +- components/Git/Card.tsx | 46 +- components/Git/Logo.tsx | 9 +- components/Git/index.tsx | 14 +- components/Icon.tsx | 15 + components/LanguageMenu.tsx | 24 - components/Layout/ColorModeDropdown.tsx | 26 + components/Layout/Footer.tsx | 1 + components/Layout/MainNavigator.tsx | 86 + components/Layout/Svg.tsx | 9 + components/Member/Card.tsx | 66 +- components/Member/List.tsx | 14 +- components/PageHead.tsx | 11 +- components/Project/Card.module.less | 13 - components/Project/Card.tsx | 57 +- components/Project/index.tsx | 19 +- components/Section.tsx | 8 +- next-env.d.ts | 3 +- next.config.js | 43 + next.config.mjs | 40 - package.json | 74 +- pages/_app.tsx | 134 +- pages/_document.tsx | 38 +- pages/_error.tsx | 2 +- pages/api/GitHub/core.ts | 4 +- pages/index.tsx | 124 +- pnpm-lock.yaml | 3867 +++++++++++++++-------- postcss.config.js | 10 + public/idea2app.svg | 12 + public/manifest.json | 4 +- styles/Home.module.less | 27 - styles/globals.less | 16 - styles/main.css | 11 + tailwind.config.ts | 383 +++ tsconfig.json | 16 +- 36 files changed, 3458 insertions(+), 1857 deletions(-) create mode 100644 components/Icon.tsx delete mode 100644 components/LanguageMenu.tsx create mode 100644 components/Layout/ColorModeDropdown.tsx create mode 100644 components/Layout/Footer.tsx create mode 100644 components/Layout/MainNavigator.tsx create mode 100644 components/Layout/Svg.tsx delete mode 100644 components/Project/Card.module.less create mode 100644 next.config.js delete mode 100644 next.config.mjs create mode 100644 postcss.config.js create mode 100644 public/idea2app.svg delete mode 100644 styles/Home.module.less delete mode 100644 styles/globals.less create mode 100644 styles/main.css create mode 100644 tailwind.config.ts diff --git a/.eslintrc.json b/.eslintrc.json index 0b50615..b04c7db 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,10 +1,61 @@ { - "extends": ["next/core-web-vitals", "prettier"], - "plugins": ["simple-import-sort"], + "env": { + "browser": true, + "node": true, + "es2020": true + }, + "extends": [ + "next/core-web-vitals", + "prettier", + "eslint:recommended", + "plugin:@typescript-eslint/recommended-type-checked", + "plugin:@typescript-eslint/stylistic-type-checked", + "plugin:react/recommended", + "plugin:@next/next/recommended" + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "sourceType": "module", + "warnOnUnsupportedTypeScriptVersion": false, + "ecmaFeatures": { + "jsx": true + }, + "project": "./tsconfig.json" + }, + "settings": { + "react": { + "version": "detect" + } + }, + "globals": { + "React": true + }, + "plugins": ["simple-import-sort", "@cspell", "@typescript-eslint", "react"], "rules": { - "react/jsx-no-target-blank": "warn", - "@next/next/no-sync-scripts": "warn", + "arrow-body-style": ["error", "as-needed"], "simple-import-sort/exports": "error", - "simple-import-sort/imports": "error" + "simple-import-sort/imports": "error", + "react/jsx-curly-brace-presence": ["error", { "props": "never", "children": "never" }], + "react/jsx-no-target-blank": "warn", + "react/jsx-sort-props": [ + "error", + { + "reservedFirst": true, + "shorthandLast": true, + "callbacksLast": true, + "noSortAlphabetically": true + } + ], + "react/self-closing-comp": ["error", { "component": true, "html": true }], + "@typescript-eslint/no-empty-object-type": "off", + "@cspell/spellchecker": [ + "warn", + { + "cspell": { + "language": "en", + "dictionaries": ["typescript", "node", "html", "css", "bash", "npm"] + } + } + ] } } diff --git a/components/Client/Partner.tsx b/components/Client/Partner.tsx index 8963a81..6e46639 100644 --- a/components/Client/Partner.tsx +++ b/components/Client/Partner.tsx @@ -1,5 +1,5 @@ +import Image from 'next/image'; import { FC } from 'react'; -import { Image } from 'react-bootstrap'; import { Client } from '../../models/Client'; import { fileURLOf } from '../../pages/api/Lark/file/[id]'; @@ -8,33 +8,21 @@ export interface PartnerProps extends Client { className?: string; } -export const Partner: FC = ({ - className = '', - name, - image, - summary, - address, -}) => ( +export const Partner: FC = ({ className = '', name, image, summary, address }) => (
{`partner

- - {name + ''} + + {String(name)}

-

{summary + ''}

+

{String(summary)}

); diff --git a/components/Git/Card.tsx b/components/Git/Card.tsx index dfc74c7..5673902 100644 --- a/components/Git/Card.tsx +++ b/components/Git/Card.tsx @@ -1,11 +1,11 @@ -import { text2color } from 'idea-react'; import { GitRepository } from 'mobx-github'; import { observer } from 'mobx-react'; import { FC } from 'react'; -import { Badge, Button, Card, Col, Row } from 'react-bootstrap'; import { i18n } from '../../models/Translation'; import { GitLogo } from './Logo'; +import { Card, CardActions, CardContent, CardHeader, Chip, Grid2 } from '@mui/material'; +import Link from 'next/link'; export interface GitCardProps extends Pick, @@ -21,46 +21,44 @@ export const GitCard: FC = observer( languages = [], topics = [], description, - homepage, + homepage }) => ( - - + + {full_name} - + - + {languages.map(language => ( - + - + ))} - - {description} - - + + {description} + + {homepage && ( - + )} - + - ), + ) ); diff --git a/components/Git/Logo.tsx b/components/Git/Logo.tsx index cb2ee73..fa983f5 100644 --- a/components/Git/Logo.tsx +++ b/components/Git/Logo.tsx @@ -1,8 +1,7 @@ -import { makeObservable, observable } from 'mobx'; +import { observable } from 'mobx'; import { observer } from 'mobx-react'; +import Image from 'next/image'; import { PureComponent } from 'react'; -import { Image } from 'react-bootstrap'; - export interface GitLogoProps { name: string; } @@ -18,7 +17,7 @@ export class GitLogo extends PureComponent { try { const { src } = await this.loadImage( - `https://raw.githubusercontent.com/github/explore/master/topics/${topic}/${topic}.png`, + `https://raw.githubusercontent.com/github/explore/master/topics/${topic}/${topic}.png` ); this.path = src; } catch { @@ -43,6 +42,6 @@ export class GitLogo extends PureComponent { const { path } = this; const { name } = this.props; - return path && {name}; + return path && {name}; } } diff --git a/components/Git/index.tsx b/components/Git/index.tsx index 7b1729f..f24b08e 100644 --- a/components/Git/index.tsx +++ b/components/Git/index.tsx @@ -1,17 +1,15 @@ import { GitRepository } from 'mobx-github'; import { FC } from 'react'; -import { Col, Row } from 'react-bootstrap'; import { GitCard } from './Card'; +import { Grid2 } from '@mui/material'; -export const GitListLayout: FC<{ defaultData: GitRepository[] }> = ({ - defaultData, -}) => ( - +export const GitListLayout: FC<{ defaultData: GitRepository[] }> = ({ defaultData }) => ( + {defaultData.map(item => ( - + - + ))} - + ); diff --git a/components/Icon.tsx b/components/Icon.tsx new file mode 100644 index 0000000..9f25c33 --- /dev/null +++ b/components/Icon.tsx @@ -0,0 +1,15 @@ +import { FC, HTMLAttributes, PropsWithRef } from 'react'; + +export type IconProps = PropsWithRef< + HTMLAttributes & { + name: string; + } +>; + +export const Icon: FC = ({ className, name, ...props }) => ( + + {name} + +); + +Icon.displayName = 'Icon'; diff --git a/components/LanguageMenu.tsx b/components/LanguageMenu.tsx deleted file mode 100644 index 3c414b5..0000000 --- a/components/LanguageMenu.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { Option, Select } from 'idea-react'; -import { observer } from 'mobx-react'; -import { FC } from 'react'; - -import { i18n, LanguageName } from '../models/Translation'; - -const LanguageMenu: FC = observer(() => { - const { currentLanguage } = i18n; - - return ( - - ); -}); - -export default LanguageMenu; diff --git a/components/Layout/ColorModeDropdown.tsx b/components/Layout/ColorModeDropdown.tsx new file mode 100644 index 0000000..1ed7f64 --- /dev/null +++ b/components/Layout/ColorModeDropdown.tsx @@ -0,0 +1,26 @@ +import IconButton from '@mui/material/IconButton'; +import { useColorScheme } from '@mui/material/styles'; + +import { Icon } from '../Icon'; + +export const themeSwitchIcons = { + light: , + dark: +}; + +export default function ColorModeIconDropdown() { + const { mode, systemMode, setMode } = useColorScheme(); + + const resolvedMode = (systemMode ?? mode) as 'light' | 'dark'; + const icon = themeSwitchIcons[resolvedMode]; + + const toggleMode = () => { + setMode(resolvedMode === 'light' ? 'dark' : 'light'); + }; + + return ( + + {icon} + + ); +} diff --git a/components/Layout/Footer.tsx b/components/Layout/Footer.tsx new file mode 100644 index 0000000..eda7d15 --- /dev/null +++ b/components/Layout/Footer.tsx @@ -0,0 +1 @@ +export const Footer = () => <>Footer; diff --git a/components/Layout/MainNavigator.tsx b/components/Layout/MainNavigator.tsx new file mode 100644 index 0000000..055eff7 --- /dev/null +++ b/components/Layout/MainNavigator.tsx @@ -0,0 +1,86 @@ +import { AppBar, Drawer, IconButton, PopoverProps, Tab, Tabs, Toolbar } from '@mui/material'; +import { observable } from 'mobx'; +import { observer } from 'mobx-react'; +import Image from 'next/image'; +import { Component } from 'react'; + +import Link from 'next/link'; +import { Icon } from '../Icon'; +import ColorModeIconDropdown from './ColorModeDropdown'; + +export const mainNavLinks = () => [ + { title: 'Projects', href: '/projects' }, + { title: 'Members', href: '/members' }, + { title: 'Careers', href: '/careers' } +]; + +@observer +export class MainNavigator extends Component { + @observable accessor menuExpand = false; + @observable accessor menuAnchor: PopoverProps['anchorEl'] = null; + + renderLinks = () => + mainNavLinks().map(({ title, href }) => ( + + )); + + renderDrawer = () => ( + + ); + + render() { + return ( + + +
+ + + + {this.renderLinks()} + + +
    + +
+
+
+
+ ); + } +} diff --git a/components/Layout/Svg.tsx b/components/Layout/Svg.tsx new file mode 100644 index 0000000..24be7d5 --- /dev/null +++ b/components/Layout/Svg.tsx @@ -0,0 +1,9 @@ +import { SvgIcon, SvgIconProps } from '@mui/material'; +import { FC } from 'react'; + +export const GtihubIcon: FC = props => ( + + + +); + diff --git a/components/Member/Card.tsx b/components/Member/Card.tsx index f48eabb..cb98bb8 100644 --- a/components/Member/Card.tsx +++ b/components/Member/Card.tsx @@ -1,45 +1,38 @@ -import { Avatar, Icon, text2color } from 'idea-react'; import { observer } from 'mobx-react'; import Link from 'next/link'; import { FC } from 'react'; -import { Badge, Card, CardProps } from 'react-bootstrap'; import { Markdown } from 'react-marked-renderer'; import { Member } from '../../models/Member'; +import { Avatar, Card, CardActions, CardContent, CardHeader, CardProps, Chip } from '@mui/material'; +import { GtihubIcon } from '../Layout/Svg'; export type MemberCardProps = Member & Omit; export const MemberCard: FC = observer( - ({ - id, - className = 'shadow-sm', - nickname, - skill, - position, - summary, - github, - ...props - }) => ( + ({ id, className = 'shadow-sm', nickname, skill, position, summary, github, ...props }) => ( - - - - {nickname + ''} - - {github && ( - - )} - - {position && {position + ''}} + + } + action={ + + {nickname + ''} + + } + subheader={position && position + ''} + /> - + - + {github && ( = observer( target="_blank" rel="noreferrer" > - + )} {skill && ( -
    +
      {(skill as string[]).map(value => ( - - {value} - + ))}
    )} - + - ), + ) ); diff --git a/components/Member/List.tsx b/components/Member/List.tsx index fda9054..f34600b 100644 --- a/components/Member/List.tsx +++ b/components/Member/List.tsx @@ -1,17 +1,15 @@ import { FC } from 'react'; -import { Col, Row } from 'react-bootstrap'; import { Member } from '../../models/Member'; import { MemberCard } from './Card'; +import { Grid2 } from '@mui/material'; -export const MemberListLayout: FC<{ defaultData: Member[] }> = ({ - defaultData, -}) => ( - +export const MemberListLayout: FC<{ defaultData: Member[] }> = ({ defaultData }) => ( + {defaultData.map(item => ( - + - + ))} - + ); diff --git a/components/PageHead.tsx b/components/PageHead.tsx index 89f3fcd..dcd3d09 100644 --- a/components/PageHead.tsx +++ b/components/PageHead.tsx @@ -9,16 +9,9 @@ export type PageHeadProps = PropsWithChildren<{ const Name = process.env.NEXT_PUBLIC_SITE_NAME, Summary = process.env.NEXT_PUBLIC_SITE_SUMMARY; -export const PageHead: FC = ({ - title, - description = Summary, - children, -}) => ( +export const PageHead: FC = ({ title, description = Summary, children }) => ( - - {title ? `${title} - ` : ''} - {Name} - + {(title ? `${title} - ` : '') + Name} {description && } diff --git a/components/Project/Card.module.less b/components/Project/Card.module.less deleted file mode 100644 index 7360a1f..0000000 --- a/components/Project/Card.module.less +++ /dev/null @@ -1,13 +0,0 @@ -.card { - color: inherit; - transition: color 0.15s ease, border-color 0.15s ease; - &:hover, - &:focus, - &:active { - color: #0070f3; - border-color: #0070f3; - } - p { - line-height: 1.5; - } -} diff --git a/components/Project/Card.tsx b/components/Project/Card.tsx index ef2c88b..8583263 100644 --- a/components/Project/Card.tsx +++ b/components/Project/Card.tsx @@ -1,11 +1,9 @@ import classNames from 'classnames'; -import { text2color } from 'idea-react'; import { FC } from 'react'; -import { Badge, Card } from 'react-bootstrap'; import { formatDate } from 'web-utility'; import { Project } from '../../models/Project'; -import styles from './Card.module.less'; +import { Card, CardActions, CardContent, CardHeader, Chip } from '@mui/material'; export interface ProjectCardProps extends Project { className?: string; @@ -18,43 +16,36 @@ export const ProjectCard: FC = ({ type, workForm, price, - settlementDate, + settlementDate }) => ( - - - - - {name + ''} - - {workForm + ''} - -
      - {(type as string[])?.map(value => ( - + + - {value} - + {name + ''} + + } + title={} + /> +
        + {(type as string[])?.map(value => ( + ))}
      - - + + - ¥ - {(price + '').replace(/\d/g, (matched, offset) => - offset ? '0' : matched, - )} - + + ¥{(price + '').replace(/\d/g, (matched, offset) => (offset ? '0' : matched))}+ - + ); diff --git a/components/Project/index.tsx b/components/Project/index.tsx index 129d271..a2f181c 100644 --- a/components/Project/index.tsx +++ b/components/Project/index.tsx @@ -1,10 +1,10 @@ import { FC } from 'react'; -import { Col, Row, RowProps } from 'react-bootstrap'; import { Project } from '../../models/Project'; import { ProjectCard } from './Card'; +import { Grid2, Grid2Props } from '@mui/material'; -export interface ProjectListLayoutProps extends RowProps { +export interface ProjectListLayoutProps extends Grid2Props { defaultData: Project[]; } @@ -13,18 +13,11 @@ export const ProjectListLayout: FC = ({ defaultData, ...props }) => ( - + {defaultData.map(item => ( - + - + ))} - + ); diff --git a/components/Section.tsx b/components/Section.tsx index 2b7a1af..b68f8a6 100644 --- a/components/Section.tsx +++ b/components/Section.tsx @@ -1,11 +1,9 @@ import { FC, PropsWithChildren } from 'react'; -import { Button } from 'react-bootstrap'; import { i18n } from '../models/Translation'; +import { Button } from '@mui/material'; -export type SectionProps = PropsWithChildren< - Partial> ->; +export type SectionProps = PropsWithChildren>>; const { t } = i18n; @@ -19,7 +17,7 @@ export const Section: FC = ({ id, title, children, link }) => ( {link && (
      -
      diff --git a/next-env.d.ts b/next-env.d.ts index a4a7b3f..725dd6f 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,5 +1,6 @@ /// /// +/// // NOTE: This file should not be edited -// see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information. +// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information. diff --git a/next.config.js b/next.config.js new file mode 100644 index 0000000..82ab207 --- /dev/null +++ b/next.config.js @@ -0,0 +1,43 @@ +import { withSentryConfig } from '@sentry/nextjs'; +import setPWA from 'next-pwa'; +import webpack from 'webpack'; + +const { NODE_ENV, CI, SENTRY_AUTH_TOKEN, SENTRY_ORG, SENTRY_PROJECT } = + process.env; +const isDev = NODE_ENV === 'development'; + +const withPWA = setPWA({ + dest: 'public', + register: true, + skipWaiting: true, + disable: isDev, +}) + + +const nextConfig = withPWA({ + output: CI ? 'standalone' : undefined, + compiler: { + emotion: true, + }, + webpack: config => { + // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access + config.plugins.push( + new webpack.NormalModuleReplacementPlugin(/^node:/, resource => { + resource.request = resource.request.replace(/^node:/, ''); + }), + ); + // eslint-disable-next-line @typescript-eslint/no-unsafe-return + return config; + }, + +}) + +export default isDev || !SENTRY_AUTH_TOKEN + ? nextConfig + : withSentryConfig(nextConfig, { + autoInstrumentServerFunctions: false, + org: SENTRY_ORG, + project: SENTRY_PROJECT, + authToken: SENTRY_AUTH_TOKEN, + silent: true, + }); diff --git a/next.config.mjs b/next.config.mjs deleted file mode 100644 index 2696a47..0000000 --- a/next.config.mjs +++ /dev/null @@ -1,40 +0,0 @@ -import { withSentryConfig } from '@sentry/nextjs'; -import setPWA from 'next-pwa'; -// @ts-ignore -import withLess from 'next-with-less'; -import webpack from 'webpack'; - -const { NODE_ENV, CI, SENTRY_AUTH_TOKEN, SENTRY_ORG, SENTRY_PROJECT } = - process.env; -const isDev = NODE_ENV === 'development'; - -const withPWA = setPWA({ - dest: 'public', - register: true, - skipWaiting: true, - disable: isDev, -}); - -const nextConfig = withLess( - withPWA({ - output: CI ? 'standalone' : undefined, - webpack: config => { - config.plugins.push( - new webpack.NormalModuleReplacementPlugin(/^node:/, resource => { - resource.request = resource.request.replace(/^node:/, ''); - }), - ); - return config; - }, - }), -); - -export default isDev || !SENTRY_AUTH_TOKEN - ? nextConfig - : withSentryConfig(nextConfig, { - autoInstrumentServerFunctions: false, - org: SENTRY_ORG, - project: SENTRY_PROJECT, - authToken: SENTRY_AUTH_TOKEN, - silent: true, - }); diff --git a/package.json b/package.json index f60fdf2..194372e 100644 --- a/package.json +++ b/package.json @@ -4,54 +4,76 @@ "description": "React project scaffold based on TypeScript, Next.js, Bootstrap & Workbox.", "private": true, "dependencies": { - "@sentry/nextjs": "^8.28.0", + "@emotion/react": "^11.13.3", + "@emotion/styled": "^11.13.0", + "@mui/material": "^6.1.3", + "@sentry/nextjs": "^8.33.1", "classnames": "^2.5.1", - "file-type": "^19.4.1", - "idea-react": "^2.0.0-rc.2", - "koajax": "^3.0.1", - "less": "^4.2.0", - "less-loader": "^12.2.0", - "mobx": "^6.13.1", + "file-type": "^19.5.0", + "koajax": "^3.0.2", + "mobx": "^6.13.3", "mobx-github": "^0.3.4", - "mobx-i18n": "^0.5.0", + "mobx-i18n": "^0.6.0", "mobx-lark": "^2.0.0-rc.2", "mobx-react": "^9.1.1", "mobx-restful": "^1.0.1", - "mobx-restful-table": "^2.0.0", - "next": "^14.2.8", + "next": "^14.2.15", "next-pwa": "~5.6.0", - "next-ssr-middleware": "^0.8.7", - "next-with-less": "^3.0.1", + "next-ssr-middleware": "^0.8.8", "react": "^18.3.1", - "react-bootstrap": "^2.10.4", "react-dom": "^18.3.1", "react-marked-renderer": "^2.0.1", "web-utility": "^4.4.0", - "webpack": "^5.94.0" + "webpack": "^5.95.0" }, "devDependencies": { - "@babel/plugin-proposal-decorators": "^7.24.7", - "@babel/plugin-transform-typescript": "^7.25.2", - "@babel/preset-react": "^7.24.7", + "@babel/plugin-proposal-decorators": "^7.25.7", + "@babel/plugin-transform-typescript": "^7.25.7", + "@babel/preset-react": "^7.25.7", + "@cspell/eslint-plugin": "^8.14.4", + "@eslint/compat": "^1.2.0", + "@eslint/js": "^9.12.0", + "@next/eslint-plugin-next": "^14.2.15", + "@softonus/prettier-plugin-duplicate-remover": "^1.0.1", + "@types/eslint-config-prettier": "^6.11.3", + "@types/eslint__js": "^8.42.3", "@types/next-pwa": "^5.6.9", - "@types/node": "^20.16.5", - "@types/react": "^18.3.5", - "eslint": "^8.57.0", - "eslint-config-next": "^14.2.8", + "@types/node": "^22.7.4", + "@types/react": "^18.3.11", + "@typescript-eslint/eslint-plugin": "^8.8.1", + "@typescript-eslint/parser": "^8.8.0", + "@typescript-eslint/types": "^8.8.1", + "autoprefixer": "^10.4.20", + "eslint": "^8.57.1", + "eslint-config-next": "^14.2.14", "eslint-config-prettier": "^9.1.0", + "eslint-plugin-material-ui": "^1.0.1", + "eslint-plugin-react": "^7.37.1", "eslint-plugin-simple-import-sort": "^12.1.1", - "husky": "^9.1.5", + "globals": "^15.11.0", + "husky": "^9.1.6", "lint-staged": "^15.2.10", + "postcss": "^8.4.47", "prettier": "^3.3.3", - "typescript": "~5.5.4" + "prettier-plugin-css-order": "^2.1.2", + "prettier-plugin-tailwindcss": "^0.6.8", + "tailwindcss": "^3.4.13", + "typescript": "~5.6.3", + "typescript-eslint": "^8.8.1" }, "resolutions": { "native-file-system-adapter": "npm:@tech_query/native-file-system-adapter@^3.0.1" }, "prettier": { + "plugins": [ + "prettier-plugin-css-order", + "prettier-plugin-tailwindcss" + ], "singleQuote": true, - "trailingComma": "all", - "arrowParens": "avoid" + "trailingComma": "none", + "arrowParens": "avoid", + "tabWidth": 2, + "printWidth": 100 }, "lint-staged": { "*.{html,md,less,json,yml,js,mjs,ts,tsx}": "prettier --write", @@ -68,4 +90,4 @@ "pack-image": "docker build -t idea2app/web-server .", "container": "docker rm -f web-server && docker run --name web-server -p 3000:3000 -d idea2app/web-server" } -} +} \ No newline at end of file diff --git a/pages/_app.tsx b/pages/_app.tsx index cef3b9a..544c697 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -1,97 +1,87 @@ -import '../styles/globals.less'; +import '../styles/main.css'; +import { createTheme, StyledEngineProvider, ThemeProvider } from '@mui/material'; import { HTTPError } from 'koajax'; import { configure } from 'mobx'; import { enableStaticRendering, observer } from 'mobx-react'; -import type { AppProps } from 'next/app'; -import dynamic from 'next/dynamic'; -import Head from 'next/head'; -import { Container, Image, Nav, Navbar } from 'react-bootstrap'; +import { AppProps } from 'next/app'; +import { Footer } from '../components/Layout/Footer'; +import { MainNavigator } from '../components/Layout/MainNavigator'; import { isServer } from '../models/Base'; -import { i18n } from '../models/Translation'; - -const LanguageMenu = dynamic(() => import('../components/LanguageMenu'), { - ssr: false, - }), - { t } = i18n; +import Head from 'next/head'; configure({ enforceActions: 'never' }); enableStaticRendering(isServer()); globalThis.addEventListener?.('unhandledrejection', ({ reason }) => { - var { message, response } = reason as HTTPError; + const { message, response } = reason as HTTPError<{ message?: string }>; const { statusText, body } = response || {}; - message = body?.message || statusText || message; + const errorMessage = body?.message ?? statusText ?? message; - if (message) alert(message); + if (errorMessage) alert(errorMessage); }); -const Name = process.env.NEXT_PUBLIC_SITE_NAME || ''; +const rootElement = isServer() ? null : document.getElementById('__next'); + +export const theme = createTheme({ + colorSchemes: { dark: true, light: true }, + /** + * @see {@link https://mui.com/material-ui/customization/css-theme-variables/usage/#adding-new-theme-tokens} + * @see {@link https://mui.com/material-ui/customization/css-theme-variables/configuration/#toggling-dark-mode-manually} + */ + cssVariables: { colorSchemeSelector: 'class' }, + /** + * add your custom token here, Palette, Typography, etc. @see {@link https://mui.com/material-ui/customization/palette/} for more details + */ + components: { + /** + * target root element for Portal-related elements, for tailwind support @see {@link https://mui.com/material-ui/integrations/interoperability/#setup} + * */ + MuiPopover: { + defaultProps: { + container: rootElement + } + }, + MuiPopper: { + defaultProps: { + container: rootElement + } + }, + MuiDialog: { + defaultProps: { + container: rootElement + } + }, + MuiModal: { + defaultProps: { + container: rootElement + } + } + } +}); -const AppShell = observer(({ Component, pageProps }: AppProps) => ( +const AppShell = observer(({ Component, pageProps }: AppProps<{}>) => ( <> - - - - {Name} - - - - - - - - - - - - - -
      - -
      - - + + {/** + * @see {@link https://mui.com/material-ui/integrations/interoperability/#tailwind-css} + */} + + + +
      + +
      + +
      + + )); diff --git a/pages/_document.tsx b/pages/_document.tsx index fe7ccd0..d85f074 100644 --- a/pages/_document.tsx +++ b/pages/_document.tsx @@ -1,25 +1,53 @@ import { Head, Html, Main, NextScript } from 'next/document'; +import Script from 'next/script'; +import InitColorSchemeScript from '@mui/material/InitColorSchemeScript'; + +/** + * Influence Google Search to display search results with the name "idea2app" instead of idea2.app + * @see {@link https://developers.google.com/search/docs/appearance/site-names#how-site-names-in-google-search-are-created} + */ +const siteNameJsonLd = { + '@context': 'https://schema.org', + '@type': 'WebSite', + name: 'Ameliorate', + url: 'https://idea2.app/' +}; export default function Document() { return ( - - + - + + + + + {/** + * Preventing SSR flickering @see {@link https://mui.com/material-ui/customization/css-theme-variables/configuration/#preventing-ssr-flickering} + */} +
      diff --git a/pages/_error.tsx b/pages/_error.tsx index 49c23bc..b2ba0e1 100644 --- a/pages/_error.tsx +++ b/pages/_error.tsx @@ -21,7 +21,7 @@ CustomErrorComponent.getInitialProps = async contextData => { const { 'accept-language': acceptLanguage, cookie = '' } = contextData.req!.headers; const { language } = parseCookie(cookie), - languages = parseLanguageHeader(acceptLanguage || ''); + languages = parseLanguageHeader(acceptLanguage ?? ''); await i18n.loadLanguages([language, ...languages].filter(Boolean)); diff --git a/pages/api/GitHub/core.ts b/pages/api/GitHub/core.ts index df1609d..aaf8488 100644 --- a/pages/api/GitHub/core.ts +++ b/pages/api/GitHub/core.ts @@ -9,12 +9,10 @@ export const proxyGithub = (dataFilter?: (path: string, data: T) => T) => const path = url!.slice(`/api/GitHub/`.length); const { status, body: data } = await githubClient.request({ - // @ts-ignore method, path, - // @ts-ignore headers, - body: body || undefined, + body: body || undefined }); response.status(status); diff --git a/pages/index.tsx b/pages/index.tsx index 59cc631..85f43e8 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,95 +1,84 @@ +import { + Button, + Card, + CardActions, + CardContent, + CardHeader, + CardMedia, + Container, + Grid2 +} from '@mui/material'; import { GitRepository } from 'mobx-github'; import { observer } from 'mobx-react'; import { InferGetServerSidePropsType } from 'next'; import { cache, compose, errorLogger, translator } from 'next-ssr-middleware'; import { FC } from 'react'; -import { Button, Card, Col, Container, Image, Row } from 'react-bootstrap'; -import { Partner } from '../components/Client/Partner'; -import { GitListLayout } from '../components/Git'; -import { MemberListLayout } from '../components/Member/List'; import { PageHead } from '../components/PageHead'; -import { ProjectListLayout } from '../components/Project'; -import { Section } from '../components/Section'; import { ClientModel } from '../models/Client'; import { MEMBER_VIEW, MemberModel } from '../models/Member'; import { Project, ProjectModel } from '../models/Project'; import { GitRepositoryModel } from '../models/Repository'; import { i18n } from '../models/Translation'; -import styles from '../styles/Home.module.less'; import { getTarget } from './api/core'; import { service } from './api/home'; -export const getServerSideProps = compose( - cache(), - errorLogger, - translator(i18n), - async () => { - const [projects, repositories, partners, members] = await Promise.all([ - new ProjectModel().getList({}, 1, 9), - new GitRepositoryModel('idea2app').getList(), - new ClientModel().getList({ partnership: '战略合作' }), - new MemberModel().getViewList(MEMBER_VIEW), - ]); +export const getServerSideProps = compose(cache(), errorLogger, translator(i18n), async () => { + // const [ + // projects, + // repositories + // partners, members + // ] = await Promise.all([ + // new ProjectModel().getList({}, 1, 9), + // new GitRepositoryModel('idea2app').getList() + // new ClientModel().getList({ partnership: '战略合作' }), + // new MemberModel().getViewList(MEMBER_VIEW) + // ]); - return { - props: { - projects: JSON.parse(JSON.stringify(projects)) as Project[], - repositories: JSON.parse( - JSON.stringify(repositories), - ) as GitRepository[], - partners, - members: members.filter( - ({ github, position, summary }) => github && position && summary, - ), - }, - }; - }, -); + return { + props: { + // projects: JSON.parse(JSON.stringify(projects)) as Project[], + // repositories: JSON.parse(JSON.stringify(repositories)) as GitRepository[] + // partners, + // members: members.filter(({ github, position, summary }) => github && position && summary) + } + }; +}); const { t } = i18n; -const HomePage: FC> = - observer(({ projects, repositories, partners, members }) => ( +const HomePage: FC> = observer( + ({ projects, repositories, partners, members }) => ( <> - -

      - idea2app - idea2app logo + +

      +

      -

      - {t('idea2app_summary')} -

      -

      - {t('idea2app_slogan')} -

      +

      {t('idea2app_summary')}

      +

      {t('idea2app_slogan')}

      - + {service().map(({ title, summary, buttonText, buttonLink }) => ( - - - - - {title} - - {summary} + + + + + {summary} + {buttonText && buttonLink && ( )} - + - + ))} - + -
      + {/*
      @@ -99,19 +88,20 @@ const HomePage: FC> =
      -
      +
      */} -
      - + {/*
      + {partners.map(item => ( - + - + ))} - -
      + +
      */}
      - )); + ) +); export default HomePage; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e4adcd1..0fe8a02 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,66 +11,60 @@ importers: .: dependencies: + '@emotion/react': + specifier: ^11.13.3 + version: 11.13.3(@types/react@18.3.11)(react@18.3.1) + '@emotion/styled': + specifier: ^11.13.0 + version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1) + '@mui/material': + specifier: ^6.1.3 + version: 6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@sentry/nextjs': - specifier: ^8.28.0 - version: 8.28.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(next@14.2.8(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(webpack@5.94.0) + specifier: ^8.33.1 + version: 8.33.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(next@14.2.15(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(webpack@5.95.0) classnames: specifier: ^2.5.1 version: 2.5.1 file-type: - specifier: ^19.4.1 - version: 19.4.1 - idea-react: - specifier: ^2.0.0-rc.2 - version: 2.0.0-rc.2(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + specifier: ^19.5.0 + version: 19.5.0 koajax: - specifier: ^3.0.1 - version: 3.0.1(typescript@5.5.4) - less: - specifier: ^4.2.0 - version: 4.2.0 - less-loader: - specifier: ^12.2.0 - version: 12.2.0(less@4.2.0)(webpack@5.94.0) + specifier: ^3.0.2 + version: 3.0.2(typescript@5.6.3) mobx: - specifier: ^6.13.1 - version: 6.13.1 + specifier: ^6.13.3 + version: 6.13.3 mobx-github: specifier: ^0.3.4 - version: 0.3.4(typescript@5.5.4) + version: 0.3.4(typescript@5.6.3) mobx-i18n: - specifier: ^0.5.0 - version: 0.5.0(mobx@6.13.1) + specifier: ^0.6.0 + version: 0.6.0(mobx@6.13.3)(typescript@5.6.3) mobx-lark: specifier: ^2.0.0-rc.2 - version: 2.0.0-rc.2(mobx@6.13.1)(typescript@5.5.4) + version: 2.0.0-rc.2(mobx@6.13.3)(typescript@5.6.3) mobx-react: specifier: ^9.1.1 - version: 9.1.1(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 9.1.1(mobx@6.13.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) mobx-restful: specifier: ^1.0.1 - version: 1.0.1(mobx@6.13.1)(typescript@5.5.4) - mobx-restful-table: - specifier: ^2.0.0 - version: 2.0.0(@types/react@18.3.5)(mobx-i18n@0.5.0(mobx@6.13.1))(mobx-react@9.1.1(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(mobx-restful@1.0.1(mobx@6.13.1)(typescript@5.5.4))(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) + version: 1.0.1(mobx@6.13.3)(typescript@5.6.3) next: - specifier: ^14.2.8 - version: 14.2.8(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^14.2.15 + version: 14.2.15(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) next-pwa: specifier: ~5.6.0 - version: 5.6.0(@babel/core@7.25.2)(next@14.2.8(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.94.0) + version: 5.6.0(@babel/core@7.25.2)(next@14.2.15(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.95.0) next-ssr-middleware: - specifier: ^0.8.7 - version: 0.8.7(mobx@6.13.1)(next@14.2.8(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4) - next-with-less: - specifier: ^3.0.1 - version: 3.0.1(less-loader@12.2.0(less@4.2.0)(webpack@5.94.0))(less@4.2.0)(next@14.2.8(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + specifier: ^0.8.8 + version: 0.8.8(mobx-i18n@0.6.0(mobx@6.13.3)(typescript@5.6.3))(next@14.2.15(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + next-themes: + specifier: ^0.3.0 + version: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: ^18.3.1 version: 18.3.1 - react-bootstrap: - specifier: ^2.10.4 - version: 2.10.4(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-dom: specifier: ^18.3.1 version: 18.3.1(react@18.3.1) @@ -79,56 +73,117 @@ importers: version: 2.0.1(react@18.3.1) web-utility: specifier: ^4.4.0 - version: 4.4.0(typescript@5.5.4) + version: 4.4.0(typescript@5.6.3) webpack: - specifier: ^5.94.0 - version: 5.94.0 + specifier: ^5.95.0 + version: 5.95.0 devDependencies: '@babel/plugin-proposal-decorators': - specifier: ^7.24.7 - version: 7.24.7(@babel/core@7.25.2) + specifier: ^7.25.7 + version: 7.25.7(@babel/core@7.25.2) '@babel/plugin-transform-typescript': - specifier: ^7.25.2 - version: 7.25.2(@babel/core@7.25.2) + specifier: ^7.25.7 + version: 7.25.7(@babel/core@7.25.2) '@babel/preset-react': - specifier: ^7.24.7 - version: 7.24.7(@babel/core@7.25.2) + specifier: ^7.25.7 + version: 7.25.7(@babel/core@7.25.2) + '@cspell/eslint-plugin': + specifier: ^8.14.4 + version: 8.14.4(eslint@8.57.1) + '@eslint/compat': + specifier: ^1.2.0 + version: 1.2.0(eslint@8.57.1) + '@eslint/js': + specifier: ^9.12.0 + version: 9.12.0 + '@next/eslint-plugin-next': + specifier: ^14.2.15 + version: 14.2.15 + '@softonus/prettier-plugin-duplicate-remover': + specifier: ^1.0.1 + version: 1.0.1 + '@types/eslint-config-prettier': + specifier: ^6.11.3 + version: 6.11.3 + '@types/eslint__js': + specifier: ^8.42.3 + version: 8.42.3 '@types/next-pwa': specifier: ^5.6.9 version: 5.6.9(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/node': - specifier: ^20.16.5 - version: 20.16.5 + specifier: ^22.7.4 + version: 22.7.4 '@types/react': - specifier: ^18.3.5 - version: 18.3.5 + specifier: ^18.3.11 + version: 18.3.11 + '@typescript-eslint/eslint-plugin': + specifier: ^8.8.1 + version: 8.8.1(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/parser': + specifier: ^8.8.0 + version: 8.8.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/types': + specifier: ^8.8.1 + version: 8.8.1 + autoprefixer: + specifier: ^10.4.20 + version: 10.4.20(postcss@8.4.47) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^8.57.1 + version: 8.57.1 eslint-config-next: - specifier: ^14.2.8 - version: 14.2.8(eslint@8.57.0)(typescript@5.5.4) + specifier: ^14.2.14 + version: 14.2.14(eslint@8.57.1)(typescript@5.6.3) eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.0) + version: 9.1.0(eslint@8.57.1) + eslint-plugin-material-ui: + specifier: ^1.0.1 + version: 1.0.1 + eslint-plugin-react: + specifier: ^7.37.1 + version: 7.37.1(eslint@8.57.1) eslint-plugin-simple-import-sort: specifier: ^12.1.1 - version: 12.1.1(eslint@8.57.0) + version: 12.1.1(eslint@8.57.1) + globals: + specifier: ^15.11.0 + version: 15.11.0 husky: - specifier: ^9.1.5 - version: 9.1.5 + specifier: ^9.1.6 + version: 9.1.6 lint-staged: specifier: ^15.2.10 version: 15.2.10 + postcss: + specifier: ^8.4.47 + version: 8.4.47 prettier: specifier: ^3.3.3 version: 3.3.3 + prettier-plugin-css-order: + specifier: ^2.1.2 + version: 2.1.2(postcss@8.4.47)(prettier@3.3.3) + prettier-plugin-tailwindcss: + specifier: ^0.6.8 + version: 0.6.8(prettier-plugin-css-order@2.1.2(postcss@8.4.47)(prettier@3.3.3))(prettier@3.3.3) + tailwindcss: + specifier: ^3.4.13 + version: 3.4.13 typescript: - specifier: ~5.5.4 - version: 5.5.4 + specifier: ~5.6.3 + version: 5.6.3 + typescript-eslint: + specifier: ^8.8.1 + version: 8.8.1(eslint@8.57.1)(typescript@5.6.3) packages: + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -139,8 +194,8 @@ packages: peerDependencies: ajv: '>=8' - '@babel/code-frame@7.24.7': - resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + '@babel/code-frame@7.25.7': + resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==} engines: {node: '>=6.9.0'} '@babel/compat-data@7.25.4': @@ -151,12 +206,12 @@ packages: resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} engines: {node: '>=6.9.0'} - '@babel/generator@7.25.6': - resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} + '@babel/generator@7.25.7': + resolution: {integrity: sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==} engines: {node: '>=6.9.0'} - '@babel/helper-annotate-as-pure@7.24.7': - resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} + '@babel/helper-annotate-as-pure@7.25.7': + resolution: {integrity: sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==} engines: {node: '>=6.9.0'} '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': @@ -167,8 +222,8 @@ packages: resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} engines: {node: '>=6.9.0'} - '@babel/helper-create-class-features-plugin@7.25.4': - resolution: {integrity: sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==} + '@babel/helper-create-class-features-plugin@7.25.7': + resolution: {integrity: sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -184,12 +239,12 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - '@babel/helper-member-expression-to-functions@7.24.8': - resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} + '@babel/helper-member-expression-to-functions@7.25.7': + resolution: {integrity: sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.24.7': - resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + '@babel/helper-module-imports@7.25.7': + resolution: {integrity: sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==} engines: {node: '>=6.9.0'} '@babel/helper-module-transforms@7.25.2': @@ -198,12 +253,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-optimise-call-expression@7.24.7': - resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} + '@babel/helper-optimise-call-expression@7.25.7': + resolution: {integrity: sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.24.8': - resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} + '@babel/helper-plugin-utils@7.25.7': + resolution: {integrity: sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==} engines: {node: '>=6.9.0'} '@babel/helper-remap-async-to-generator@7.25.0': @@ -212,8 +267,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-replace-supers@7.25.0': - resolution: {integrity: sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==} + '@babel/helper-replace-supers@7.25.7': + resolution: {integrity: sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -222,20 +277,20 @@ packages: resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} - '@babel/helper-skip-transparent-expression-wrappers@7.24.7': - resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} + '@babel/helper-skip-transparent-expression-wrappers@7.25.7': + resolution: {integrity: sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.24.8': - resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + '@babel/helper-string-parser@7.25.7': + resolution: {integrity: sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.7': - resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + '@babel/helper-validator-identifier@7.25.7': + resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.24.8': - resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} + '@babel/helper-validator-option@7.25.7': + resolution: {integrity: sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==} engines: {node: '>=6.9.0'} '@babel/helper-wrap-function@7.25.0': @@ -246,12 +301,12 @@ packages: resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.7': - resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + '@babel/highlight@7.25.7': + resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.25.6': - resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} + '@babel/parser@7.25.7': + resolution: {integrity: sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==} engines: {node: '>=6.0.0'} hasBin: true @@ -285,8 +340,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-proposal-decorators@7.24.7': - resolution: {integrity: sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==} + '@babel/plugin-proposal-decorators@7.25.7': + resolution: {integrity: sha512-q1mqqqH0e1lhmsEQHV5U8OmdueBC2y0RFr2oUzZoFRtN3MvPmt2fsFRcNQAoGLTSNdHBFUYGnlgcRFhkBbKjPw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -313,8 +368,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-decorators@7.24.7': - resolution: {integrity: sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==} + '@babel/plugin-syntax-decorators@7.25.7': + resolution: {integrity: sha512-oXduHo642ZhstLVYTe2z2GSJIruU0c/W3/Ghr6A5yGMsVrvdnxO1z+3pbTcT7f3/Clnt+1z8D/w1r1f1SHaCHw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -351,8 +406,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.24.7': - resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + '@babel/plugin-syntax-jsx@7.25.7': + resolution: {integrity: sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -399,8 +454,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.25.4': - resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} + '@babel/plugin-syntax-typescript@7.25.7': + resolution: {integrity: sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -639,26 +694,26 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-display-name@7.24.7': - resolution: {integrity: sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==} + '@babel/plugin-transform-react-display-name@7.25.7': + resolution: {integrity: sha512-r0QY7NVU8OnrwE+w2IWiRom0wwsTbjx4+xH2RTd7AVdof3uurXOF+/mXHQDRk+2jIvWgSaCHKMgggfvM4dyUGA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx-development@7.24.7': - resolution: {integrity: sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==} + '@babel/plugin-transform-react-jsx-development@7.25.7': + resolution: {integrity: sha512-5yd3lH1PWxzW6IZj+p+Y4OLQzz0/LzlOG8vGqonHfVR3euf1vyzyMUJk9Ac+m97BH46mFc/98t9PmYLyvgL3qg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx@7.25.2': - resolution: {integrity: sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==} + '@babel/plugin-transform-react-jsx@7.25.7': + resolution: {integrity: sha512-vILAg5nwGlR9EXE8JIOX4NHXd49lrYbN8hnjffDtoULwpL9hUx/N55nqh2qd0q6FyNDfjl9V79ecKGvFbcSA0Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-pure-annotations@7.24.7': - resolution: {integrity: sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==} + '@babel/plugin-transform-react-pure-annotations@7.25.7': + resolution: {integrity: sha512-6YTHJ7yjjgYqGc8S+CbEXhLICODk0Tn92j+vNJo07HFk9t3bjFgAKxPLFhHwF2NjmQVSI1zBRfBWUeVBa2osfA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -705,8 +760,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typescript@7.25.2': - resolution: {integrity: sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==} + '@babel/plugin-transform-typescript@7.25.7': + resolution: {integrity: sha512-VKlgy2vBzj8AmEzunocMun2fF06bsSWV+FvVXohtL6FGve/+L217qhHxRTVGHEDO/YR8IANcjzgJsd04J8ge5Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -746,8 +801,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - '@babel/preset-react@7.24.7': - resolution: {integrity: sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==} + '@babel/preset-react@7.25.7': + resolution: {integrity: sha512-GjV0/mUEEXpi1U5ZgDprMRRgajGMRW3G5FjMr5KLKD8nT2fTG8+h/klV3+6Dm5739QE+K5+2e91qFKAYI3pmRg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -759,29 +814,275 @@ packages: resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} engines: {node: '>=6.9.0'} - '@babel/template@7.25.0': - resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} + '@babel/template@7.25.7': + resolution: {integrity: sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.25.6': - resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} + '@babel/traverse@7.25.7': + resolution: {integrity: sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==} engines: {node: '>=6.9.0'} - '@babel/types@7.25.6': - resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} + '@babel/types@7.25.7': + resolution: {integrity: sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==} engines: {node: '>=6.9.0'} - '@base2/pretty-print-object@1.0.1': - resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==} + '@cspell/cspell-bundled-dicts@8.14.4': + resolution: {integrity: sha512-JHZOpCJzN6fPBapBOvoeMxZbr0ZA11ZAkwcqM4w0lKoacbi6TwK8GIYf66hHvwLmMeav75TNXWE6aPTvBLMMqA==} + engines: {node: '>=18'} + + '@cspell/cspell-pipe@8.14.4': + resolution: {integrity: sha512-CLLdouqfrQ4rqdQdPu0Oo+HHCU/oLYoEsK1nNPb28cZTFxnn0cuSPKB6AMPBJmMwdfJ6fMD0BCKNbEe1UNLHcw==} + engines: {node: '>=18'} + + '@cspell/cspell-resolver@8.14.4': + resolution: {integrity: sha512-s3uZyymJ04yn8+zlTp7Pt1WRSlAel6XVo+iZRxls3LSvIP819KK64DoyjCD2Uon0Vg9P/K7aAPt8GcxDcnJtgA==} + engines: {node: '>=18'} + + '@cspell/cspell-service-bus@8.14.4': + resolution: {integrity: sha512-i3UG+ep63akNsDXZrtGgICNF3MLBHtvKe/VOIH6+L+NYaAaVHqqQvOY9MdUwt1HXh8ElzfwfoRp36wc5aAvt6g==} + engines: {node: '>=18'} + + '@cspell/cspell-types@8.14.4': + resolution: {integrity: sha512-VXwikqdHgjOVperVVCn2DOe8W3rPIswwZtMHfRYnagpzZo/TOntIjkXPJSfTtl/cFyx5DnCBsDH8ytKGlMeHkw==} + engines: {node: '>=18'} + + '@cspell/dict-ada@4.0.2': + resolution: {integrity: sha512-0kENOWQeHjUlfyId/aCM/mKXtkEgV0Zu2RhUXCBr4hHo9F9vph+Uu8Ww2b0i5a4ZixoIkudGA+eJvyxrG1jUpA==} + + '@cspell/dict-aws@4.0.4': + resolution: {integrity: sha512-6AWI/Kkf+RcX/J81VX8+GKLeTgHWEr/OMhGk3dHQzWK66RaqDJCGDqi7494ghZKcBB7dGa3U5jcKw2FZHL/u3w==} + + '@cspell/dict-bash@4.1.5': + resolution: {integrity: sha512-YGim/h7E2U5HCCb2ckNufT6/yyWygt9nSZ5C7qw6oOD3bygbObqD1+rlPor1JW+YyO+3GwTIHE70uKEEU6VZYw==} + + '@cspell/dict-companies@3.1.4': + resolution: {integrity: sha512-y9e0amzEK36EiiKx3VAA+SHQJPpf2Qv5cCt5eTUSggpTkiFkCh6gRKQ97rVlrKh5GJrqinDwYIJtTsxuh2vy2Q==} + + '@cspell/dict-cpp@5.1.19': + resolution: {integrity: sha512-i/odUPNFLdqWisOktu6c4qjUR4k+P9Al2RCri3Wso9EFblp53xt/5jIUdGMdDDVQGqX7s/KLtdqNxNKqP3/d+w==} + + '@cspell/dict-cryptocurrencies@5.0.0': + resolution: {integrity: sha512-Z4ARIw5+bvmShL+4ZrhDzGhnc9znaAGHOEMaB/GURdS/jdoreEDY34wdN0NtdLHDO5KO7GduZnZyqGdRoiSmYA==} + + '@cspell/dict-csharp@4.0.2': + resolution: {integrity: sha512-1JMofhLK+4p4KairF75D3A924m5ERMgd1GvzhwK2geuYgd2ZKuGW72gvXpIV7aGf52E3Uu1kDXxxGAiZ5uVG7g==} + + '@cspell/dict-css@4.0.13': + resolution: {integrity: sha512-WfOQkqlAJTo8eIQeztaH0N0P+iF5hsJVKFuhy4jmARPISy8Efcv8QXk2/IVbmjJH0/ZV7dKRdnY5JFVXuVz37g==} + + '@cspell/dict-dart@2.2.1': + resolution: {integrity: sha512-yriKm7QkoPx3JPSSOcw6iX9gOb2N50bOo/wqWviqPYbhpMRh9Xiv6dkUy3+ot+21GuShZazO8X6U5+Vw67XEwg==} + + '@cspell/dict-data-science@2.0.1': + resolution: {integrity: sha512-xeutkzK0eBe+LFXOFU2kJeAYO6IuFUc1g7iRLr7HeCmlC4rsdGclwGHh61KmttL3+YHQytYStxaRBdGAXWC8Lw==} + + '@cspell/dict-django@4.1.0': + resolution: {integrity: sha512-bKJ4gPyrf+1c78Z0Oc4trEB9MuhcB+Yg+uTTWsvhY6O2ncFYbB/LbEZfqhfmmuK/XJJixXfI1laF2zicyf+l0w==} + + '@cspell/dict-docker@1.1.7': + resolution: {integrity: sha512-XlXHAr822euV36GGsl2J1CkBIVg3fZ6879ZOg5dxTIssuhUOCiV2BuzKZmt6aIFmcdPmR14+9i9Xq+3zuxeX0A==} + + '@cspell/dict-dotnet@5.0.5': + resolution: {integrity: sha512-gjg0L97ee146wX47dnA698cHm85e7EOpf9mVrJD8DmEaqoo/k1oPy2g7c7LgKxK9XnqwoXxhLNnngPrwXOoEtQ==} + + '@cspell/dict-elixir@4.0.3': + resolution: {integrity: sha512-g+uKLWvOp9IEZvrIvBPTr/oaO6619uH/wyqypqvwpmnmpjcfi8+/hqZH8YNKt15oviK8k4CkINIqNhyndG9d9Q==} + + '@cspell/dict-en-common-misspellings@2.0.4': + resolution: {integrity: sha512-lvOiRjV/FG4pAGZL3PN2GCVHSTCE92cwhfLGGkOsQtxSmef6WCHfHwp9auafkBlX0yFQSKDfq6/TlpQbjbJBtQ==} + + '@cspell/dict-en-gb@1.1.33': + resolution: {integrity: sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==} + + '@cspell/dict-en_us@4.3.23': + resolution: {integrity: sha512-l0SoEQBsi3zDSl3OuL4/apBkxjuj4hLIg/oy6+gZ7LWh03rKdF6VNtSZNXWAmMY+pmb1cGA3ouleTiJIglbsIg==} + + '@cspell/dict-filetypes@3.0.4': + resolution: {integrity: sha512-IBi8eIVdykoGgIv5wQhOURi5lmCNJq0we6DvqKoPQJHthXbgsuO1qrHSiUVydMiQl/XvcnUWTMeAlVUlUClnVg==} + + '@cspell/dict-flutter@1.0.0': + resolution: {integrity: sha512-W7k1VIc4KeV8BjEBxpA3cqpzbDWjfb7oXkEb0LecBCBp5Z7kcfnjT1YVotTx/U9PGyAOBhDaEdgZACVGNQhayw==} + + '@cspell/dict-fonts@4.0.0': + resolution: {integrity: sha512-t9V4GeN/m517UZn63kZPUYP3OQg5f0OBLSd3Md5CU3eH1IFogSvTzHHnz4Wqqbv8NNRiBZ3HfdY/pqREZ6br3Q==} + + '@cspell/dict-fsharp@1.0.1': + resolution: {integrity: sha512-23xyPcD+j+NnqOjRHgW3IU7Li912SX9wmeefcY0QxukbAxJ/vAN4rBpjSwwYZeQPAn3fxdfdNZs03fg+UM+4yQ==} + + '@cspell/dict-fullstack@3.2.0': + resolution: {integrity: sha512-sIGQwU6G3rLTo+nx0GKyirR5dQSFeTIzFTOrURw51ISf+jKG9a3OmvsVtc2OANfvEAOLOC9Wfd8WYhmsO8KRDQ==} + + '@cspell/dict-gaming-terms@1.0.5': + resolution: {integrity: sha512-C3riccZDD3d9caJQQs1+MPfrUrQ+0KHdlj9iUR1QD92FgTOF6UxoBpvHUUZ9YSezslcmpFQK4xQQ5FUGS7uWfw==} + + '@cspell/dict-git@3.0.0': + resolution: {integrity: sha512-simGS/lIiXbEaqJu9E2VPoYW1OTC2xrwPPXNXFMa2uo/50av56qOuaxDrZ5eH1LidFXwoc8HROCHYeKoNrDLSw==} + + '@cspell/dict-golang@6.0.13': + resolution: {integrity: sha512-uBUWi+AjFpluB6qF0rsC1gGyooqXeKPUdWHSmSXW/DCnS5PBSjRW6VWWp8efc1Fanob0QJxiZiYlc4U7oxuG6Q==} + + '@cspell/dict-google@1.0.1': + resolution: {integrity: sha512-dQr4M3n95uOhtloNSgB9tYYGXGGEGEykkFyRtfcp5pFuEecYUa0BSgtlGKx9RXVtJtKgR+yFT/a5uQSlt8WjqQ==} + + '@cspell/dict-haskell@4.0.1': + resolution: {integrity: sha512-uRrl65mGrOmwT7NxspB4xKXFUenNC7IikmpRZW8Uzqbqcu7ZRCUfstuVH7T1rmjRgRkjcIjE4PC11luDou4wEQ==} + + '@cspell/dict-html-symbol-entities@4.0.0': + resolution: {integrity: sha512-HGRu+48ErJjoweR5IbcixxETRewrBb0uxQBd6xFGcxbEYCX8CnQFTAmKI5xNaIt2PKaZiJH3ijodGSqbKdsxhw==} + + '@cspell/dict-html@4.0.6': + resolution: {integrity: sha512-cLWHfuOhE4wqwC12up6Doxo2u1xxVhX1A8zriR4CUD+osFQzUIcBK1ykNXppga+rt1WyypaJdTU2eV6OpzYrgQ==} + + '@cspell/dict-java@5.0.7': + resolution: {integrity: sha512-ejQ9iJXYIq7R09BScU2y5OUGrSqwcD+J5mHFOKbduuQ5s/Eh/duz45KOzykeMLI6KHPVxhBKpUPBWIsfewECpQ==} + + '@cspell/dict-julia@1.0.1': + resolution: {integrity: sha512-4JsCLCRhhLMLiaHpmR7zHFjj1qOauzDI5ZzCNQS31TUMfsOo26jAKDfo0jljFAKgw5M2fEG7sKr8IlPpQAYrmQ==} + + '@cspell/dict-k8s@1.0.6': + resolution: {integrity: sha512-srhVDtwrd799uxMpsPOQqeDJY+gEocgZpoK06EFrb4GRYGhv7lXo9Fb+xQMyQytzOW9dw4DNOEck++nacDuymg==} + + '@cspell/dict-latex@4.0.0': + resolution: {integrity: sha512-LPY4y6D5oI7D3d+5JMJHK/wxYTQa2lJMSNxps2JtuF8hbAnBQb3igoWEjEbIbRRH1XBM0X8dQqemnjQNCiAtxQ==} + + '@cspell/dict-lorem-ipsum@4.0.0': + resolution: {integrity: sha512-1l3yjfNvMzZPibW8A7mQU4kTozwVZVw0AvFEdy+NcqtbxH+TvbSkNMqROOFWrkD2PjnKG0+Ea0tHI2Pi6Gchnw==} + + '@cspell/dict-lua@4.0.3': + resolution: {integrity: sha512-lDHKjsrrbqPaea13+G9s0rtXjMO06gPXPYRjRYawbNmo4E/e3XFfVzeci3OQDQNDmf2cPOwt9Ef5lu2lDmwfJg==} + + '@cspell/dict-makefile@1.0.0': + resolution: {integrity: sha512-3W9tHPcSbJa6s0bcqWo6VisEDTSN5zOtDbnPabF7rbyjRpNo0uHXHRJQF8gAbFzoTzBBhgkTmrfSiuyQm7vBUQ==} + + '@cspell/dict-monkeyc@1.0.6': + resolution: {integrity: sha512-oO8ZDu/FtZ55aq9Mb67HtaCnsLn59xvhO/t2mLLTHAp667hJFxpp7bCtr2zOrR1NELzFXmKln/2lw/PvxMSvrA==} + + '@cspell/dict-node@5.0.1': + resolution: {integrity: sha512-lax/jGz9h3Dv83v8LHa5G0bf6wm8YVRMzbjJPG/9rp7cAGPtdrga+XANFq+B7bY5+jiSA3zvj10LUFCFjnnCCg==} + + '@cspell/dict-npm@5.1.5': + resolution: {integrity: sha512-oAOGWuJYU3DlO+cAsStKMWN8YEkBue25cRC9EwdiL5Z84nchU20UIoYrLfIQejMlZca+1GyrNeyxRAgn4KiivA==} + + '@cspell/dict-php@4.0.10': + resolution: {integrity: sha512-NfTZdp6kcZDF1PvgQ6cY0zE4FUO5rSwNmBH/iwCBuaLfJAFQ97rgjxo+D2bic4CFwNjyHutnHPtjJBRANO5XQw==} + + '@cspell/dict-powershell@5.0.10': + resolution: {integrity: sha512-U4H0zm94sNK+YP7jSFb7xb160XLf2dKIPVt5sOYctKlEyR9M16sP8FHbyWV2Yp1YtxXugoNdeCm2vwGEDAd8sg==} + + '@cspell/dict-public-licenses@2.0.8': + resolution: {integrity: sha512-Sup+tFS7cDV0fgpoKtUqEZ6+fA/H+XUgBiqQ/Fbs6vUE3WCjJHOIVsP+udHuyMH7iBfJ4UFYOYeORcY4EaKdMg==} + + '@cspell/dict-python@4.2.8': + resolution: {integrity: sha512-4y5dynLiajvowhB3PqlcwJ2C4okK1y2Hombec1+TGcV9sUBfo8FYNw6VRFUUrpsxO+Ut/3ncIifdZS5/zAWi5w==} + + '@cspell/dict-r@2.0.1': + resolution: {integrity: sha512-KCmKaeYMLm2Ip79mlYPc8p+B2uzwBp4KMkzeLd5E6jUlCL93Y5Nvq68wV5fRLDRTf7N1LvofkVFWfDcednFOgA==} + + '@cspell/dict-ruby@5.0.4': + resolution: {integrity: sha512-URw0jScj5pv8sKCVLNnde11qVCQR442rUpSd12u46Swl+5qBaSdnOUoCWQk419kd9/dpC6bB/3l4kOSY2fdYHw==} + + '@cspell/dict-rust@4.0.6': + resolution: {integrity: sha512-Buzy9PfLbdRPibSth8CV1D8ZsYqybo26yNIlAN+8ehU0pSBss0Jv4aleL4vKQ3FjouXeAC27rtEsLd7yaMZTog==} + + '@cspell/dict-scala@5.0.3': + resolution: {integrity: sha512-4yGb4AInT99rqprxVNT9TYb1YSpq58Owzq7zi3ZS5T0u899Y4VsxsBiOgHnQ/4W+ygi+sp+oqef8w8nABR2lkg==} + + '@cspell/dict-software-terms@4.1.7': + resolution: {integrity: sha512-+fFTALseXszDN8/khonF1DpTcYzwyNqYxhATLakr7CUPtUCO1fCH4lidMtBN4UtPVpE6tbjc5D8tj51PJxEOcw==} + + '@cspell/dict-sql@2.1.5': + resolution: {integrity: sha512-FmxanytHXss7GAWAXmgaxl3icTCW7YxlimyOSPNfm+njqeUDjw3kEv4mFNDDObBJv8Ec5AWCbUDkWIpkE3IpKg==} - '@codexteam/icons@0.0.4': - resolution: {integrity: sha512-V8N/TY2TGyas4wLrPIFq7bcow68b3gu8DfDt1+rrHPtXxcexadKauRJL6eQgfG7Z0LCrN4boLRawR4S9gjIh/Q==} + '@cspell/dict-svelte@1.0.2': + resolution: {integrity: sha512-rPJmnn/GsDs0btNvrRBciOhngKV98yZ9SHmg8qI6HLS8hZKvcXc0LMsf9LLuMK1TmS2+WQFAan6qeqg6bBxL2Q==} - '@editorjs/editorjs@2.30.5': - resolution: {integrity: sha512-sE7m/UPbuf+nSGjv9cmWggFsfvtYlgEX7PCby2lZWvOsOLbRxuLT+ZYlwbWshD+8BFJwiAmBj9e+ScZcOjCzeg==} + '@cspell/dict-swift@2.0.1': + resolution: {integrity: sha512-gxrCMUOndOk7xZFmXNtkCEeroZRnS2VbeaIPiymGRHj5H+qfTAzAKxtv7jJbVA3YYvEzWcVE2oKDP4wcbhIERw==} - '@editorjs/paragraph@2.11.6': - resolution: {integrity: sha512-i9B50Ylvh+0ZzUGWIba09PfUXsA00Y//zFZMwqsyaXXKxMluSIJ6ADFJbbK0zaV9Ijx49Xocrlg+CEPRqATk9w==} + '@cspell/dict-terraform@1.0.2': + resolution: {integrity: sha512-UZdJwWIpib2Rx02w6vtXTU3z+M/VMZU0F1dhSL3Ab9otQsFntT8U1CX7wBSqQCLg8bJiCfnUyVvMK3UBm3SR8A==} + + '@cspell/dict-typescript@3.1.6': + resolution: {integrity: sha512-1beC6O4P/j23VuxX+i0+F7XqPVc3hhiAzGJHEKqnWf5cWAXQtg0xz3xQJ5MvYx2a7iLaSa+lu7+05vG9UHyu9Q==} + + '@cspell/dict-vue@3.0.0': + resolution: {integrity: sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A==} + + '@cspell/dynamic-import@8.14.4': + resolution: {integrity: sha512-GjKsBJvPXp4dYRqsMn7n1zpnKbnpfJnlKLOVeoFBh8fi4n06G50xYr+G25CWX1WT3WFaALAavvVICEUPrVsuqg==} + engines: {node: '>=18.0'} + + '@cspell/eslint-plugin@8.14.4': + resolution: {integrity: sha512-Wv6Jkttp/rsEm1nadLFQrUrYg9nTWQFwJu47KO2cfWP39TeH0zXQpmyas1xNlcDx5QJ9JJw9urTT/iw2tsHeRA==} + engines: {node: '>=18'} + peerDependencies: + eslint: ^7 || ^8 || ^9 + + '@cspell/filetypes@8.14.4': + resolution: {integrity: sha512-qd68dD7xTA4Mnf/wjIKYz2SkiTBshIM+yszOUtLa06YJm0aocoNQ25FHXyYEQYm9NQXCYnRWWA02sFMGs8Sv/w==} + engines: {node: '>=18'} + + '@cspell/strong-weak-map@8.14.4': + resolution: {integrity: sha512-Uyfck64TfVU24wAP3BLGQ5EsAfzIZiLfN90NhttpEM7GlOBmbGrEJd4hNOwfpYsE/TT80eGWQVPRTLr5SDbXFA==} + engines: {node: '>=18'} + + '@cspell/url@8.14.4': + resolution: {integrity: sha512-htHhNF8WrM/NfaLSWuTYw0NqVgFRVHYSyHlRT3i/Yv5xvErld8Gw7C6ldm+0TLjoGlUe6X1VV72JSir7+yLp/Q==} + engines: {node: '>=18.0'} + + '@emotion/babel-plugin@11.12.0': + resolution: {integrity: sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==} + + '@emotion/cache@11.13.1': + resolution: {integrity: sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==} + + '@emotion/hash@0.9.2': + resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} + + '@emotion/is-prop-valid@1.3.1': + resolution: {integrity: sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==} + + '@emotion/memoize@0.9.0': + resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} + + '@emotion/react@11.13.3': + resolution: {integrity: sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg==} + peerDependencies: + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@types/react': + optional: true + + '@emotion/serialize@1.3.2': + resolution: {integrity: sha512-grVnMvVPK9yUVE6rkKfAJlYZgo0cu3l9iMC77V7DW6E1DUIrU68pSEXRmFZFOFB1QFo57TncmOcvcbMDWsL4yA==} + + '@emotion/sheet@1.4.0': + resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==} + + '@emotion/styled@11.13.0': + resolution: {integrity: sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA==} + peerDependencies: + '@emotion/react': ^11.0.0-rc.0 + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@types/react': + optional: true + + '@emotion/unitless@0.10.0': + resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==} + + '@emotion/use-insertion-effect-with-fallbacks@1.1.0': + resolution: {integrity: sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==} + peerDependencies: + react: '>=16.8.0' + + '@emotion/utils@1.4.1': + resolution: {integrity: sha512-BymCXzCG3r72VKJxaYVwOXATqXIZ85cuvg0YOUDxMGNrKc1DJRZk8MgV5wyXRyEayIMd4FuXJIUgTBXvDNW5cA==} + + '@emotion/weak-memoize@0.4.0': + resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} @@ -793,16 +1094,29 @@ packages: resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + '@eslint/compat@1.2.0': + resolution: {integrity: sha512-CkPWddN7J9JPrQedEr2X7AjK9y1jaMJtxZ4A/+jTMFA2+n5BWhcKHW/EbJyARqg2zzQfgtWUtVmG3hrG6+nGpg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^9.10.0 + peerDependenciesMeta: + eslint: + optional: true + '@eslint/eslintrc@2.1.4': resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/js@8.57.0': - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + '@eslint/js@8.57.1': + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + '@eslint/js@9.12.0': + resolution: {integrity: sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@humanwhocodes/config-array@0.13.0': + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} deprecated: Use @eslint/config-array instead @@ -839,14 +1153,97 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@mui/core-downloads-tracker@6.1.3': + resolution: {integrity: sha512-ajMUgdfhTb++rwqj134Cq9f4SRN8oXUqMRnY72YBnXiXai3olJLLqETheRlq3MM8wCKrbq7g6j7iWL1VvP44VQ==} + + '@mui/material@6.1.3': + resolution: {integrity: sha512-loV5MBoMKLrK80JeWINmQ1A4eWoLv51O2dBPLJ260IAhupkB3Wol8lEQTEvvR2vO3o6xRHuXe1WaQEP6N3riqg==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@emotion/react': ^11.5.0 + '@emotion/styled': ^11.3.0 + '@mui/material-pigment-css': ^6.1.3 + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/react': + optional: true + '@emotion/styled': + optional: true + '@mui/material-pigment-css': + optional: true + '@types/react': + optional: true + + '@mui/private-theming@6.1.3': + resolution: {integrity: sha512-XK5OYCM0x7gxWb/WBEySstBmn+dE3YKX7U7jeBRLm6vHU5fGUd7GiJWRirpivHjOK9mRH6E1MPIVd+ze5vguKQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + '@mui/styled-engine@6.1.3': + resolution: {integrity: sha512-i4yh9m+eMZE3cNERpDhVr6Wn73Yz6C7MH0eE2zZvw8d7EFkIJlCQNZd1xxGZqarD2DDq2qWHcjIOucWGhxACtA==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@emotion/react': ^11.4.1 + '@emotion/styled': ^11.3.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/react': + optional: true + '@emotion/styled': + optional: true + + '@mui/system@6.1.3': + resolution: {integrity: sha512-ILaD9UsLTBLjMcep3OumJMXh1PYr7aqnkHm/L47bH46+YmSL1zWAX6tWG8swEQROzW2GvYluEMp5FreoxOOC6w==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@emotion/react': ^11.5.0 + '@emotion/styled': ^11.3.0 + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/react': + optional: true + '@emotion/styled': + optional: true + '@types/react': + optional: true + + '@mui/types@7.2.18': + resolution: {integrity: sha512-uvK9dWeyCJl/3ocVnTOS6nlji/Knj8/tVqVX03UVTpdmTJYu/s4jtDd9Kvv0nRGE0CUSNW1UYAci7PYypjealg==} + peerDependencies: + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + '@mui/utils@6.1.3': + resolution: {integrity: sha512-4JBpLkjprlKjN10DGb1aiy/ii9TKbQ601uSHtAmYFAS879QZgAD7vRnv/YBE4iBbc7NXzFgbQMCOFrupXWekIA==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@next/env@13.5.6': resolution: {integrity: sha512-Yac/bV5sBGkkEXmAX5FWPS9Mmo2rthrOPRQQNfycJPkjUAUclomCPH7QFVCDQ4Mp2k2K1SSM6m0zrxYrOwtFQw==} - '@next/env@14.2.8': - resolution: {integrity: sha512-L44a+ynqkolyNBnYfF8VoCiSrjSZWgEHYKkKLGcs/a80qh7AkfVUD/MduVPgdsWZ31tgROR+yJRA0PZjSVBXWQ==} + '@next/env@14.2.15': + resolution: {integrity: sha512-S1qaj25Wru2dUpcIZMjxeMVSwkt8BK4dmWHHiBuRstcIyOsMapqT4A4jSB6onvqeygkSSmOkyny9VVx8JIGamQ==} + + '@next/eslint-plugin-next@14.2.14': + resolution: {integrity: sha512-kV+OsZ56xhj0rnTn6HegyTGkoa16Mxjrpk7pjWumyB2P8JVQb8S9qtkjy/ye0GnTr4JWtWG4x/2qN40lKZ3iVQ==} - '@next/eslint-plugin-next@14.2.8': - resolution: {integrity: sha512-ue5vcq9Fjk3asACRDrzYjcGMEN7pMMDQ5zUD+FenkqvlPCVUD1x7PxBNOLfPYDZOrk/Vnl4GHmjj2mZDqPW8TQ==} + '@next/eslint-plugin-next@14.2.15': + resolution: {integrity: sha512-pKU0iqKRBlFB/ocOI1Ip2CkKePZpYpnw5bEItEkuZ/Nr9FQP1+p7VDWr4VfOdff4i9bFmrOaeaU1bFEyAcxiMQ==} '@next/swc-darwin-arm64@13.5.6': resolution: {integrity: sha512-5nvXMzKtZfvcu4BhtV0KH1oGv4XEW+B+jOfmBdpFI3C7FrB/MfujRpWYSBBO64+qbW8pkZiSyQv9eiwnn5VIQA==} @@ -854,8 +1251,8 @@ packages: cpu: [arm64] os: [darwin] - '@next/swc-darwin-arm64@14.2.8': - resolution: {integrity: sha512-1VrQlG8OzdyvvGZhGJFnaNE2P10Jjy/2FopnqbY0nSa/gr8If3iINxvOEW3cmVeoAYkmW0RsBazQecA2dBFOSw==} + '@next/swc-darwin-arm64@14.2.15': + resolution: {integrity: sha512-Rvh7KU9hOUBnZ9TJ28n2Oa7dD9cvDBKua9IKx7cfQQ0GoYUwg9ig31O2oMwH3wm+pE3IkAQ67ZobPfEgurPZIA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -866,8 +1263,8 @@ packages: cpu: [x64] os: [darwin] - '@next/swc-darwin-x64@14.2.8': - resolution: {integrity: sha512-87t3I86rNRSOJB1gXIUzaQWWSWrkWPDyZGsR0Z7JAPtLeX3uUOW2fHxl7dNWD2BZvbvftctTQjgtfpp7nMtmWg==} + '@next/swc-darwin-x64@14.2.15': + resolution: {integrity: sha512-5TGyjFcf8ampZP3e+FyCax5zFVHi+Oe7sZyaKOngsqyaNEpOgkKB3sqmymkZfowy3ufGA/tUgDPPxpQx931lHg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -878,8 +1275,8 @@ packages: cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-gnu@14.2.8': - resolution: {integrity: sha512-ta2sfVzbOpTbgBrF9HM5m+U58dv6QPuwU4n5EX4LLyCJGKc433Z0D9h9gay/HSOjLEXJ2fJYrMP5JYYbHdxhtw==} + '@next/swc-linux-arm64-gnu@14.2.15': + resolution: {integrity: sha512-3Bwv4oc08ONiQ3FiOLKT72Q+ndEMyLNsc/D3qnLMbtUYTQAmkx9E/JRu0DBpHxNddBmNT5hxz1mYBphJ3mfrrw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -890,8 +1287,8 @@ packages: cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@14.2.8': - resolution: {integrity: sha512-+IoLTPK6Z5uIgDhgeWnQF5/o5GBN7+zyUNrs4Bes1W3g9++YELb8y0unFybS8s87ntAKMDl6jeQ+mD7oNwp/Ng==} + '@next/swc-linux-arm64-musl@14.2.15': + resolution: {integrity: sha512-k5xf/tg1FBv/M4CMd8S+JL3uV9BnnRmoe7F+GWC3DxkTCD9aewFRH1s5rJ1zkzDa+Do4zyN8qD0N8c84Hu96FQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -902,8 +1299,8 @@ packages: cpu: [x64] os: [linux] - '@next/swc-linux-x64-gnu@14.2.8': - resolution: {integrity: sha512-pO+hVXC+mvzUOQJJRG4RX4wJsRJ5BkURSf6dD6EjUXAX4Ml9es1WsEfkaZ4lcpmFzFvY47IkDaffks/GdCn9ag==} + '@next/swc-linux-x64-gnu@14.2.15': + resolution: {integrity: sha512-kE6q38hbrRbKEkkVn62reLXhThLRh6/TvgSP56GkFNhU22TbIrQDEMrO7j0IcQHcew2wfykq8lZyHFabz0oBrA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -914,8 +1311,8 @@ packages: cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@14.2.8': - resolution: {integrity: sha512-bCat9izctychCtf3uL1nqHq31N5e1VxvdyNcBQflkudPMLbxVnlrw45Vi87K+lt1CwrtVayHqzo4ie0Szcpwzg==} + '@next/swc-linux-x64-musl@14.2.15': + resolution: {integrity: sha512-PZ5YE9ouy/IdO7QVJeIcyLn/Rc4ml9M2G4y3kCM9MNf1YKvFY4heg3pVa/jQbMro+tP6yc4G2o9LjAz1zxD7tQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -926,8 +1323,8 @@ packages: cpu: [arm64] os: [win32] - '@next/swc-win32-arm64-msvc@14.2.8': - resolution: {integrity: sha512-gbxfUaSPV7EyUobpavida2Hwi62GhSJaSg7iBjmBWoxkxlmETOD7U4tWt763cGIsyE6jM7IoNavq0BXqwdW2QA==} + '@next/swc-win32-arm64-msvc@14.2.15': + resolution: {integrity: sha512-2raR16703kBvYEQD9HNLyb0/394yfqzmIeyp2nDzcPV4yPjqNUG3ohX6jX00WryXz6s1FXpVhsCo3i+g4RUX+g==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -938,8 +1335,8 @@ packages: cpu: [ia32] os: [win32] - '@next/swc-win32-ia32-msvc@14.2.8': - resolution: {integrity: sha512-PUXzEzjTTlUh3b5VAn1nlpwvujTnuCMMwbiCnaTazoVlN1nA3kWjlmp42IfURA2N/nyrlVEw7pURa/o4Qxj1cw==} + '@next/swc-win32-ia32-msvc@14.2.15': + resolution: {integrity: sha512-fyTE8cklgkyR1p03kJa5zXEaZ9El+kDNM5A+66+8evQS5e/6v0Gk28LqA0Jet8gKSOyP+OTm/tJHzMlGdQerdQ==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -950,8 +1347,8 @@ packages: cpu: [x64] os: [win32] - '@next/swc-win32-x64-msvc@14.2.8': - resolution: {integrity: sha512-EnPKv0ttq02E9/1KZ/8Dn7kuutv6hy1CKc0HlNcvzOQcm4/SQtvfws5gY0zrG9tuupd3HfC2L/zcTrnBhpjTuQ==} + '@next/swc-win32-x64-msvc@14.2.15': + resolution: {integrity: sha512-SzqGbsLsP9OwKNUG9nekShTwhj6JSB9ZLMWQ8g1gG6hdE5gQLncbnbymrwy2yVmH9nikSLYRYxYMFu78Ggp7/g==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -979,6 +1376,10 @@ packages: resolution: {integrity: sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A==} engines: {node: '>=14'} + '@opentelemetry/api-logs@0.53.0': + resolution: {integrity: sha512-8HArjKx+RaAI8uEIgcORbZIPklyh1YLjPSBus8hjRmvLi6DeFzgOcdZ7KwPabKj8mXF8dX0hyfAyGfycz0DbFw==} + engines: {node: '>=14'} + '@opentelemetry/api@1.9.0': resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} @@ -989,126 +1390,156 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/core@1.25.1': - resolution: {integrity: sha512-GeT/l6rBYWVQ4XArluLVB6WWQ8flHbdb6r2FCHC3smtdOAbrJBIv35tpV/yp9bmYUJf+xmZpu9DRTIeJVhFbEQ==} + '@opentelemetry/core@1.26.0': + resolution: {integrity: sha512-1iKxXXE8415Cdv0yjG3G6hQnB5eVEsJce3QaawX8SjDn0mAS0ZM8fAbZZJD4ajvhC15cePvosSCut404KrIIvQ==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/core@1.26.0': - resolution: {integrity: sha512-1iKxXXE8415Cdv0yjG3G6hQnB5eVEsJce3QaawX8SjDn0mAS0ZM8fAbZZJD4ajvhC15cePvosSCut404KrIIvQ==} + '@opentelemetry/instrumentation-amqplib@0.42.0': + resolution: {integrity: sha512-fiuU6OKsqHJiydHWgTRQ7MnIrJ2lEqsdgFtNIH4LbAUJl/5XmrIeoDzDnox+hfkgWK65jsleFuQDtYb5hW1koQ==} engines: {node: '>=14'} peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-connect@0.39.0': + resolution: {integrity: sha512-pGBiKevLq7NNglMgqzmeKczF4XQMTOUOTkK8afRHMZMnrK3fcETyTH7lVaSozwiOM3Ws+SuEmXZT7DYrrhxGlg==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-connect@0.38.0': - resolution: {integrity: sha512-2/nRnx3pjYEmdPIaBwtgtSviTKHWnDZN3R+TkRUnhIVrvBKVcq+I5B2rtd6mr6Fe9cHlZ9Ojcuh7pkNh/xdWWg==} + '@opentelemetry/instrumentation-dataloader@0.12.0': + resolution: {integrity: sha512-pnPxatoFE0OXIZDQhL2okF//dmbiWFzcSc8pUg9TqofCLYZySSxDCgQc69CJBo5JnI3Gz1KP+mOjS4WAeRIH4g==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-express@0.41.1': - resolution: {integrity: sha512-uRx0V3LPGzjn2bxAnV8eUsDT82vT7NTwI0ezEuPMBOTOsnPpGhWdhcdNdhH80sM4TrWrOfXm9HGEdfWE3TRIww==} + '@opentelemetry/instrumentation-express@0.42.0': + resolution: {integrity: sha512-YNcy7ZfGnLsVEqGXQPT+S0G1AE46N21ORY7i7yUQyfhGAL4RBjnZUqefMI0NwqIl6nGbr1IpF0rZGoN8Q7x12Q==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-fastify@0.38.0': - resolution: {integrity: sha512-HBVLpTSYpkQZ87/Df3N0gAw7VzYZV3n28THIBrJWfuqw3Or7UqdhnjeuMIPQ04BKk3aZc0cWn2naSQObbh5vXw==} + '@opentelemetry/instrumentation-fastify@0.39.0': + resolution: {integrity: sha512-SS9uSlKcsWZabhBp2szErkeuuBDgxOUlllwkS92dVaWRnMmwysPhcEgHKB8rUe3BHg/GnZC1eo1hbTZv4YhfoA==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-fs@0.14.0': - resolution: {integrity: sha512-pVc8P5AgliC1DphyyBUgsxXlm2XaPH4BpYvt7rAZDMIqUpRk8gs19SioABtKqqxvFzg5jPtgJfJsdxq0Y+maLw==} + '@opentelemetry/instrumentation-fs@0.15.0': + resolution: {integrity: sha512-JWVKdNLpu1skqZQA//jKOcKdJC66TWKqa2FUFq70rKohvaSq47pmXlnabNO+B/BvLfmidfiaN35XakT5RyMl2Q==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-graphql@0.42.0': - resolution: {integrity: sha512-N8SOwoKL9KQSX7z3gOaw5UaTeVQcfDO1c21csVHnmnmGUoqsXbArK2B8VuwPWcv6/BC/i3io+xTo7QGRZ/z28Q==} + '@opentelemetry/instrumentation-generic-pool@0.39.0': + resolution: {integrity: sha512-y4v8Y+tSfRB3NNBvHjbjrn7rX/7sdARG7FuK6zR8PGb28CTa0kHpEGCJqvL9L8xkTNvTXo+lM36ajFGUaK1aNw==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-hapi@0.40.0': - resolution: {integrity: sha512-8U/w7Ifumtd2bSN1OLaSwAAFhb9FyqWUki3lMMB0ds+1+HdSxYBe9aspEJEgvxAqOkrQnVniAPTEGf1pGM7SOw==} + '@opentelemetry/instrumentation-graphql@0.43.0': + resolution: {integrity: sha512-aI3YMmC2McGd8KW5du1a2gBA0iOMOGLqg4s9YjzwbjFwjlmMNFSK1P3AIg374GWg823RPUGfVTIgZ/juk9CVOA==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-http@0.52.1': - resolution: {integrity: sha512-dG/aevWhaP+7OLv4BQQSEKMJv8GyeOp3Wxl31NHqE8xo9/fYMfEljiZphUHIfyg4gnZ9swMyWjfOQs5GUQe54Q==} + '@opentelemetry/instrumentation-hapi@0.41.0': + resolution: {integrity: sha512-jKDrxPNXDByPlYcMdZjNPYCvw0SQJjN+B1A+QH+sx+sAHsKSAf9hwFiJSrI6C4XdOls43V/f/fkp9ITkHhKFbQ==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-ioredis@0.42.0': - resolution: {integrity: sha512-P11H168EKvBB9TUSasNDOGJCSkpT44XgoM6d3gRIWAa9ghLpYhl0uRkS8//MqPzcJVHr3h3RmfXIpiYLjyIZTw==} + '@opentelemetry/instrumentation-http@0.53.0': + resolution: {integrity: sha512-H74ErMeDuZfj7KgYCTOFGWF5W9AfaPnqLQQxeFq85+D29wwV2yqHbz2IKLYpkOh7EI6QwDEl7rZCIxjJLyc/CQ==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-koa@0.42.0': - resolution: {integrity: sha512-H1BEmnMhho8o8HuNRq5zEI4+SIHDIglNB7BPKohZyWG4fWNuR7yM4GTlR01Syq21vODAS7z5omblScJD/eZdKw==} + '@opentelemetry/instrumentation-ioredis@0.43.0': + resolution: {integrity: sha512-i3Dke/LdhZbiUAEImmRG3i7Dimm/BD7t8pDDzwepSvIQ6s2X6FPia7561gw+64w+nx0+G9X14D7rEfaMEmmjig==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-mongodb@0.46.0': - resolution: {integrity: sha512-VF/MicZ5UOBiXrqBslzwxhN7TVqzu1/LN/QDpkskqM0Zm0aZ4CVRbUygL8d7lrjLn15x5kGIe8VsSphMfPJzlA==} + '@opentelemetry/instrumentation-kafkajs@0.3.0': + resolution: {integrity: sha512-UnkZueYK1ise8FXQeKlpBd7YYUtC7mM8J0wzUSccEfc/G8UqHQqAzIyYCUOUPUKp8GsjLnWOOK/3hJc4owb7Jg==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-mongoose@0.40.0': - resolution: {integrity: sha512-niRi5ZUnkgzRhIGMOozTyoZIvJKNJyhijQI4nF4iFSb+FUx2v5fngfR+8XLmdQAO7xmsD8E5vEGdDVYVtKbZew==} + '@opentelemetry/instrumentation-koa@0.43.0': + resolution: {integrity: sha512-lDAhSnmoTIN6ELKmLJBplXzT/Jqs5jGZehuG22EdSMaTwgjMpxMDI1YtlKEhiWPWkrz5LUsd0aOO0ZRc9vn3AQ==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-mysql2@0.40.0': - resolution: {integrity: sha512-0xfS1xcqUmY7WE1uWjlmI67Xg3QsSUlNT+AcXHeA4BDUPwZtWqF4ezIwLgpVZfHOnkAEheqGfNSWd1PIu3Wnfg==} + '@opentelemetry/instrumentation-lru-memoizer@0.40.0': + resolution: {integrity: sha512-21xRwZsEdMPnROu/QsaOIODmzw59IYpGFmuC4aFWvMj6stA8+Ei1tX67nkarJttlNjoM94um0N4X26AD7ff54A==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-mysql@0.40.0': - resolution: {integrity: sha512-d7ja8yizsOCNMYIJt5PH/fKZXjb/mS48zLROO4BzZTtDfhNCl2UM/9VIomP2qkGIFVouSJrGr/T00EzY7bPtKA==} + '@opentelemetry/instrumentation-mongodb@0.47.0': + resolution: {integrity: sha512-yqyXRx2SulEURjgOQyJzhCECSh5i1uM49NUaq9TqLd6fA7g26OahyJfsr9NE38HFqGRHpi4loyrnfYGdrsoVjQ==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-nestjs-core@0.39.0': - resolution: {integrity: sha512-mewVhEXdikyvIZoMIUry8eb8l3HUjuQjSjVbmLVTt4NQi35tkpnHQrG9bTRBrl3403LoWZ2njMPJyg4l6HfKvA==} + '@opentelemetry/instrumentation-mongoose@0.42.0': + resolution: {integrity: sha512-AnWv+RaR86uG3qNEMwt3plKX1ueRM7AspfszJYVkvkehiicC3bHQA6vWdb6Zvy5HAE14RyFbu9+2hUUjR2NSyg==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-pg@0.43.0': - resolution: {integrity: sha512-og23KLyoxdnAeFs1UWqzSonuCkePUzCX30keSYigIzJe/6WSYA8rnEI5lobcxPEzg+GcU06J7jzokuEHbjVJNw==} + '@opentelemetry/instrumentation-mysql2@0.41.0': + resolution: {integrity: sha512-REQB0x+IzVTpoNgVmy5b+UnH1/mDByrneimP6sbDHkp1j8QOl1HyWOrBH/6YWR0nrbU3l825Em5PlybjT3232g==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-redis-4@0.41.0': - resolution: {integrity: sha512-H7IfGTqW2reLXqput4yzAe8YpDC0fmVNal95GHMLOrS89W+qWUKIqxolSh63hJyfmwPSFwXASzj7wpSk8Az+Dg==} + '@opentelemetry/instrumentation-mysql@0.41.0': + resolution: {integrity: sha512-jnvrV6BsQWyHS2qb2fkfbfSb1R/lmYwqEZITwufuRl37apTopswu9izc0b1CYRp/34tUG/4k/V39PND6eyiNvw==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation@0.46.0': - resolution: {integrity: sha512-a9TijXZZbk0vI5TGLZl+0kxyFfrXHhX6Svtz7Pp2/VBlCSKrazuULEyoJQrOknJyFWNMEmbbJgOciHCCpQcisw==} + '@opentelemetry/instrumentation-nestjs-core@0.40.0': + resolution: {integrity: sha512-WF1hCUed07vKmf5BzEkL0wSPinqJgH7kGzOjjMAiTGacofNXjb/y4KQ8loj2sNsh5C/NN7s1zxQuCgbWbVTGKg==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-pg@0.44.0': + resolution: {integrity: sha512-oTWVyzKqXud1BYEGX1loo2o4k4vaU1elr3vPO8NZolrBtFvQ34nx4HgUaexUDuEog00qQt+MLR5gws/p+JXMLQ==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-redis-4@0.42.0': + resolution: {integrity: sha512-NaD+t2JNcOzX/Qa7kMy68JbmoVIV37fT/fJYzLKu2Wwd+0NCxt+K2OOsOakA8GVg8lSpFdbx4V/suzZZ2Pvdjg==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-undici@0.6.0': + resolution: {integrity: sha512-ABJBhm5OdhGmbh0S/fOTE4N69IZ00CsHC5ijMYfzbw3E5NwLgpQk5xsljaECrJ8wz1SfXbO03FiSuu5AyRAkvQ==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.7.0 + '@opentelemetry/instrumentation@0.52.1': resolution: {integrity: sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation@0.53.0': + resolution: {integrity: sha512-DMwg0hy4wzf7K73JJtl95m/e0boSoWhH07rfvHvYzQtBD3Bmv0Wc1x733vyZBqmFm8OjJD0/pfiUg1W3JjFX0A==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/redis-common@0.36.2': resolution: {integrity: sha512-faYX1N0gpLhej/6nyp6bgRjzAKXn5GOEMYY7YhciSfCoITAktLUtQ36d24QEWNA1/WA1y6qQunCe0OhHRkVl9g==} engines: {node: '>=14'} @@ -1131,10 +1562,6 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/semantic-conventions@1.25.1': - resolution: {integrity: sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ==} - engines: {node: '>=14'} - '@opentelemetry/semantic-conventions@1.27.0': resolution: {integrity: sha512-sAay1RrB+ONOem0OZanAR1ZI/k7yDpnOQSQmTMuGImUQb2y8EbSaCJ94FQluM74xoU03vlb2d2U90hZluL6nQg==} engines: {node: '>=14'} @@ -1149,48 +1576,15 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@popperjs/core@2.11.8': resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} - '@prisma/instrumentation@5.18.0': - resolution: {integrity: sha512-r074avGkpPXItk+josQPhufZEmGhUCb16PQx4ITPS40vWTpTPET4VsgCBZB2alIN6SS7pRFod2vz2M2HHEEylQ==} - - '@react-aria/ssr@3.9.5': - resolution: {integrity: sha512-xEwGKoysu+oXulibNUSkXf8itW0npHHTa6c4AyYeZIJyRoegeteYuFpZUBPtIDE8RfHdNsSmE1ssOkxRnwbkuQ==} - engines: {node: '>= 12'} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - - '@react-editor-js/client@2.1.0': - resolution: {integrity: sha512-X/OwqY2KKUUVIy24zvubHTI4qhiVIWMxGlU/Bc6tkf9gcsWgQjPvn75DwrQ5SIGBOYpSBcHY01JX0RRtJHRumw==} - peerDependencies: - '@editorjs/editorjs': '*' - '@editorjs/paragraph': '*' - react: '*' - - '@react-editor-js/core@2.1.0': - resolution: {integrity: sha512-6h98D5g2RatdCDQRW/+N+eiMtjoq0n1n02m8oA7FrlEzEaOUyV+J+rmtmRS8OexLVOiNeWaSPDpVJ3MNiVLq8Q==} - peerDependencies: - '@editorjs/editorjs': '*' - react: '*' - - '@react-editor-js/server@2.1.0': - resolution: {integrity: sha512-RnTbCmzCHbjcjPNKhr9FaehItHgAZyd47Lq+iIGynFqWSsrwGy46LgOXSvb50DYbwDyT0GtxaXBIk6aiFki1Dg==} - peerDependencies: - '@editorjs/editorjs': '*' - '@editorjs/paragraph': '*' - react: '*' - - '@restart/hooks@0.4.16': - resolution: {integrity: sha512-f7aCv7c+nU/3mF7NWLtVVr0Ra80RqsO89hO72r+Y/nvQr5+q0UFGkocElTH6MJApvReVh6JHUFYn2cw1WdHF3w==} - peerDependencies: - react: '>=16.8.0' - - '@restart/ui@1.8.0': - resolution: {integrity: sha512-xJEOXUOTmT4FngTmhdjKFRrVVF0hwCLNPdatLCHkyS4dkiSK12cEu1Y0fjxktjJrdst9jJIc5J6ihMJCoWEN/g==} - peerDependencies: - react: '>=16.14.0' - react-dom: '>=16.14.0' + '@prisma/instrumentation@5.19.1': + resolution: {integrity: sha512-VLnzMQq7CWroL5AeaW0Py2huiNKeoMfCH3SUxstdzPrlWQi6UQ9UrfcbUkNHlVFqOMacqy8X/8YtE0kuKDpD9w==} '@rollup/plugin-babel@5.3.1': resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} @@ -1247,28 +1641,28 @@ packages: '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - '@sentry-internal/browser-utils@8.28.0': - resolution: {integrity: sha512-tE9++KEy8SlqibTmYymuxFVAnutsXBqrwQ936WJbjaMfkqXiro7C1El0ybkprskd0rKS7kln20Q6nQlNlMEoTA==} + '@sentry-internal/browser-utils@8.33.1': + resolution: {integrity: sha512-TW6/r+Gl5jiXv54iK1xZ3mlVgTS/jaBp4vcQ0xGMdgiQ3WchEPcFSeYovL+YHT3tSud0GZqVtDQCz+5i76puqA==} engines: {node: '>=14.18'} - '@sentry-internal/feedback@8.28.0': - resolution: {integrity: sha512-5vYunPCDBLCJ8QNnhepacdYheiN+UtYxpGAIaC/zjBC1nDuBgWs+TfKPo1UlO/1sesfgs9ibpxtShOweucL61g==} + '@sentry-internal/feedback@8.33.1': + resolution: {integrity: sha512-qauMRTm3qDaLqZ3ibI03cj4gLF40y0ij65nj+cns6iWxGCtPrO8tjvXFWuQsE7Aye9dGMnBgmv7uN+NTUtC3RA==} engines: {node: '>=14.18'} - '@sentry-internal/replay-canvas@8.28.0': - resolution: {integrity: sha512-RfpYHDHMUKGeEdx41QtHITjEn6P3tGaDPHvatqdrD3yv4j+wbJ6laX1PrIxCpGFUtjdzkqi/KUcvUd2kzbH/FA==} + '@sentry-internal/replay-canvas@8.33.1': + resolution: {integrity: sha512-nsxTFTPCT10Ty/v6+AiST3+yotGP1sUb8xqfKB9fPnS1hZHFryp0NnEls7xFjBsBbZPU1GpFkzrk/E6JFzixDQ==} engines: {node: '>=14.18'} - '@sentry-internal/replay@8.28.0': - resolution: {integrity: sha512-70jvzzOL5O74gahgXKyRkZgiYN93yly5gq+bbj4/6NRQ+EtPd285+ccy0laExdfyK0ugvvwD4v+1MQit52OAsg==} + '@sentry-internal/replay@8.33.1': + resolution: {integrity: sha512-fm4coIOjmanU29NOVN9MyaP4fUCOYytbtFqVSKRFNZQ/xAgNeySiBIbUd6IjujMmnOk9bY0WEUMcdm3Uotjdog==} engines: {node: '>=14.18'} '@sentry/babel-plugin-component-annotate@2.22.3': resolution: {integrity: sha512-OlHA+i+vnQHRIdry4glpiS/xTOtgjmpXOt6IBOUqynx5Jd/iK1+fj+t8CckqOx9wRacO/hru2wfW/jFq0iViLg==} engines: {node: '>= 14'} - '@sentry/browser@8.28.0': - resolution: {integrity: sha512-i/gjMYzIGQiPFH1pCbdnTwH9xs9mTAqzN+goP3GWX5a58frc7h8vxyA/5z0yMd0aCW6U8mVxnoAT72vGbKbx0g==} + '@sentry/browser@8.33.1': + resolution: {integrity: sha512-c6zI/igexkLwZuGk+u8Rj26ChjxGgkhe6ZbKFsXCYaKAp5ep5X7HQRkkqgbxApiqlC0LduHdd/ymzh139JLg8w==} engines: {node: '>=14.18'} '@sentry/bundler-plugin-core@2.22.3': @@ -1321,50 +1715,50 @@ packages: engines: {node: '>= 10'} hasBin: true - '@sentry/core@8.28.0': - resolution: {integrity: sha512-+If9uubvpZpvaQQw4HLiKPhrSS9/KcoA/AcdQkNm+5CVwAoOmDPtyYfkPBgfo2hLZnZQqR1bwkz/PrNoOm+gqA==} + '@sentry/core@8.33.1': + resolution: {integrity: sha512-3SS41suXLFzxL3OQvTMZ6q92ZapELVq2l2SoWlZopcamWhog2Ru0dp2vkunq97kFHb2TzKRTlFH4+4gbT8SJug==} engines: {node: '>=14.18'} - '@sentry/nextjs@8.28.0': - resolution: {integrity: sha512-DgbB1BJ5/wBTo+1agFOCJg7IjsYcfj7AvRNNZonWLzYeNOn+NilSKQzdgDoi109N9fox8amYLri61qJIoBfPjw==} + '@sentry/nextjs@8.33.1': + resolution: {integrity: sha512-XLUyib6bCv2iynKaoYIotVKzLsGc9lr6QI4ZV3/PstiiXKwtTm1TPdBfIlrDJMGIMxH7Z/DmkvJNSESV19Ui6Q==} engines: {node: '>=14.18'} peerDependencies: next: ^13.2.0 || ^14.0 || ^15.0.0-rc.0 - webpack: '>= 5.0.0' + webpack: '>=5.0.0' peerDependenciesMeta: webpack: optional: true - '@sentry/node@8.28.0': - resolution: {integrity: sha512-444hx0S7EAYDdq3g2U37qHFC/WFErgf8ZvXqhWfoCI4RweHHntdFbz3azexYnO61iUsmSAnFAX6htJtAG2zNdA==} + '@sentry/node@8.33.1': + resolution: {integrity: sha512-0Xmlrl5nU5Bx6YybaIfztyOIiIXW5X64vcK0u94Sg4uHcDO7YvEbhflKjp669ds2I6ZQ/czqxnaAY8gM6P2SCA==} engines: {node: '>=14.18'} - '@sentry/opentelemetry@8.28.0': - resolution: {integrity: sha512-xClK/fa2Y9AMoaV6f7sWfoHAz56actn2RN3UuYAfxlgmNEfZEa0tc78x4XygCT+2b83QbUb+qf1q4+1ft+HEsQ==} + '@sentry/opentelemetry@8.33.1': + resolution: {integrity: sha512-D2aE2G0DUHLLnfbOXrTjiNJKAs/RZfOBJMidI4fC2AIwqCmrp55Aex4dRq4hxd8MPLR92Kt/ikHeJxlzWB15KA==} engines: {node: '>=14.18'} peerDependencies: '@opentelemetry/api': ^1.9.0 '@opentelemetry/core': ^1.25.1 - '@opentelemetry/instrumentation': ^0.52.1 - '@opentelemetry/sdk-trace-base': ^1.25.1 - '@opentelemetry/semantic-conventions': ^1.25.1 + '@opentelemetry/instrumentation': ^0.53.0 + '@opentelemetry/sdk-trace-base': ^1.26.0 + '@opentelemetry/semantic-conventions': ^1.27.0 - '@sentry/react@8.28.0': - resolution: {integrity: sha512-rpeO8ikpAK7/9kVHc1IMtJc7A7IyPzswcFJ0uL1faCt8oZEzlotrQnEe6hgFnv4xvMledTrohnKj/fWVd55Aig==} + '@sentry/react@8.33.1': + resolution: {integrity: sha512-SsEX05xfcfOvo7/pK1UyeyTAYWH8iSIsXXlsjvnSRsbuJkjb0c+q6yiZpj3A2PRdbcx43nTVE1n0lSpgaqj2HA==} engines: {node: '>=14.18'} peerDependencies: react: ^16.14.0 || 17.x || 18.x || 19.x - '@sentry/types@8.28.0': - resolution: {integrity: sha512-hOfqfd92/AzBrEdMgmmV1VfOXJbIfleFTnerRl0mg/+CcNgP/6+Fdonp354TD56ouWNF2WkOM6sEKSXMWp6SEQ==} + '@sentry/types@8.33.1': + resolution: {integrity: sha512-GjoAMvwtpIemoF/IiwZ7A60g4nQv3qwzR21GvJqDVUoKD0e8pv9OLX+HyXoUat4wEDGSuDUcUyUKD2G+od73QA==} engines: {node: '>=14.18'} - '@sentry/utils@8.28.0': - resolution: {integrity: sha512-smhk7PJpvDMQ2DB5p2qn9UeoUHdU41IgjMmS2xklZpa8tjzBTxDeWpGvrX2fuH67D9bAJuLC/XyZjJCHLoEW5g==} + '@sentry/utils@8.33.1': + resolution: {integrity: sha512-uzuYpiiJuFY3N4WNHMBWUQX5oNv2t/TbG0OHRp3Rr7yeu+HSfD542TIp9/gMZ+G0Cxd8AmVO3wkKIFbk0TL4Qg==} engines: {node: '>=14.18'} - '@sentry/vercel-edge@8.28.0': - resolution: {integrity: sha512-k9bydX0YP2OPRU//2XuVbaTHuM3pbGFDF1jr7Af5cDi1Rpk/vSv7ALGY8BtLSl9mo0OT6I9uDvaQk/v5B2Rfmg==} + '@sentry/vercel-edge@8.33.1': + resolution: {integrity: sha512-YKAsFAm4ctsKRdoS3LkYF4oG5BD1chT4Uqy4AaBhlz0s5iHxBI7YzZFbcW4YiNnDWT80tdF+FS7AvUAjy+npoA==} engines: {node: '>=14.18'} '@sentry/webpack-plugin@2.22.3': @@ -1373,6 +1767,9 @@ packages: peerDependencies: webpack: '>=4.40.0' + '@softonus/prettier-plugin-duplicate-remover@1.0.1': + resolution: {integrity: sha512-hoF5Y8puB73t8j4iW8lPKQA2MAPftsCTfAQm5mbYoabhjlgOxMaYmAz5W0DWkaS38oTy2SdApyxmBZZpcHz2+w==} + '@surma/rollup-plugin-off-main-thread@2.2.3': resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} @@ -1398,12 +1795,24 @@ packages: '@types/connect@3.4.36': resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==} + '@types/eslint-config-prettier@6.11.3': + resolution: {integrity: sha512-3wXCiM8croUnhg9LdtZUJQwNcQYGWxxdOWDjPe1ykCqJFPVpzAKfs/2dgSoCtAvdPeaponcWPI7mPcGGp9dkKQ==} + + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + + '@types/eslint__js@8.42.3': + resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==} + '@types/estree@0.0.39': resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/glob@7.2.0': resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} @@ -1422,17 +1831,20 @@ packages: '@types/minimatch@5.1.2': resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} - '@types/mysql@2.15.22': - resolution: {integrity: sha512-wK1pzsJVVAjYCSZWQoWHziQZbNggXFDUEIGf54g4ZM/ERuP86uGdWeKZWMYlqTPMZfHJJvLPyogXGvCOg87yLQ==} + '@types/mysql@2.15.26': + resolution: {integrity: sha512-DSLCOXhkvfS5WNNPbfn2KdICAmk8lLc+/PNvnPnF7gOdMZCxopXduqv0OQ13y/yA/zXTSikZZqVgybUxOEg6YQ==} '@types/next-pwa@5.6.9': resolution: {integrity: sha512-KcymH+MtFYB5KVKIOH1DMqd0wUb8VLCxzHtsaRQQ7S8sGOaTH24Lo2vGZf6/0Ok9e+xWCKhqsSt6cgDJTk91Iw==} - '@types/node@20.16.5': - resolution: {integrity: sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA==} + '@types/node@22.7.4': + resolution: {integrity: sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==} + + '@types/parse-json@4.0.2': + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} - '@types/pg-pool@2.0.4': - resolution: {integrity: sha512-qZAvkv1K3QbmHHFYSNRYPkRjOWRLBYrL4B9c+wG0GSVGBw0NtJwPcgx/DSddeDJvRGMHCEQ4VMEVfuJ/0gZ3XQ==} + '@types/pg-pool@2.0.6': + resolution: {integrity: sha512-TaAUE5rq2VQYxab5Ts7WZhKNmuN78Q6PiFonTDdpbx8a1H0M1vhy3rhiMjl+e2iHmogyMw7jZF4FrE6eJUy5HQ==} '@types/pg@8.6.1': resolution: {integrity: sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==} @@ -1440,87 +1852,114 @@ packages: '@types/prop-types@15.7.12': resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + '@types/prop-types@15.7.13': + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} + '@types/react-dom@18.3.0': resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} '@types/react-transition-group@4.4.11': resolution: {integrity: sha512-RM05tAniPZ5DZPzzNFP+DmrcOdD0efDUxMy3145oljWSl3x9ZV5vhme98gTxFrj2lhXvmGNnUiuDyJgY9IKkNA==} - '@types/react@18.3.5': - resolution: {integrity: sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==} + '@types/react@18.3.11': + resolution: {integrity: sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==} '@types/resolve@1.17.1': resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} - '@types/semver@7.5.8': - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - '@types/shimmer@1.2.0': resolution: {integrity: sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==} '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - '@types/warning@3.0.3': - resolution: {integrity: sha512-D1XC7WK8K+zZEveUPY+cf4+kgauk8N4eHr/XIHXGlGYkHLud6hK9lYfZk1ry1TNh798cZUCgb6MqGEG8DkJt6Q==} + '@typescript-eslint/eslint-plugin@8.8.1': + resolution: {integrity: sha512-xfvdgA8AP/vxHgtgU310+WBnLB4uJQ9XdyP17RebG26rLtDrQJV3ZYrcopX91GrHmMoH8bdSwMRh2a//TiJ1jQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true - '@typescript-eslint/eslint-plugin@7.2.0': - resolution: {integrity: sha512-mdekAHOqS9UjlmyF/LSs6AIEvfceV749GFxoBAjwAv0nkevfKHWQFDMcBZWUiIC5ft6ePWivXoS36aKQ0Cy3sw==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/parser@8.8.0': + resolution: {integrity: sha512-uEFUsgR+tl8GmzmLjRqz+VrDv4eoaMqMXW7ruXfgThaAShO9JTciKpEsB+TvnfFfbg5IpujgMXVV36gOJRLtZg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/parser@7.2.0': - resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/parser@8.8.1': + resolution: {integrity: sha512-hQUVn2Lij2NAxVFEdvIGxT9gP1tq2yM83m+by3whWFsWC+1y8pxxxHUFE1UqDu2VsGi2i6RLcv4QvouM84U+ow==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/scope-manager@7.2.0': - resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/scope-manager@8.8.0': + resolution: {integrity: sha512-EL8eaGC6gx3jDd8GwEFEV091210U97J0jeEHrAYvIYosmEGet4wJ+g0SYmLu+oRiAwbSA5AVrt6DxLHfdd+bUg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/scope-manager@8.8.1': + resolution: {integrity: sha512-X4JdU+66Mazev/J0gfXlcC/dV6JI37h+93W9BRYXrSn0hrE64IoWgVkO9MSJgEzoWkxONgaQpICWg8vAN74wlA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@7.2.0': - resolution: {integrity: sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/type-utils@8.8.1': + resolution: {integrity: sha512-qSVnpcbLP8CALORf0za+vjLYj1Wp8HSoiI8zYU5tHxRVj30702Z1Yw4cLwfNKhTPWp5+P+k1pjmD5Zd1nhxiZA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/types@7.2.0': - resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/types@8.8.0': + resolution: {integrity: sha512-QJwc50hRCgBd/k12sTykOJbESe1RrzmX6COk8Y525C9l7oweZ+1lw9JiU56im7Amm8swlz00DRIlxMYLizr2Vw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/types@8.8.1': + resolution: {integrity: sha512-WCcTP4SDXzMd23N27u66zTKMuEevH4uzU8C9jf0RO4E04yVHgQgW+r+TeVTNnO1KIfrL8ebgVVYYMMO3+jC55Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.8.0': + resolution: {integrity: sha512-ZaMJwc/0ckLz5DaAZ+pNLmHv8AMVGtfWxZe/x2JVEkD5LnmhWiQMMcYT7IY7gkdJuzJ9P14fRy28lUrlDSWYdw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true - '@typescript-eslint/typescript-estree@7.2.0': - resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/typescript-estree@8.8.1': + resolution: {integrity: sha512-A5d1R9p+X+1js4JogdNilDuuq+EHZdsH9MjTVxXOdVFfTJXunKJR/v+fNNyO4TnoOn5HqobzfRlc70NC6HTcdg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/utils@7.2.0': - resolution: {integrity: sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/utils@8.8.1': + resolution: {integrity: sha512-/QkNJDbV0bdL7H7d0/y0qBbV2HTtf0TIyjSDTvvmQEzeVx8jEImEbLuOA4EsvE8gIgqMitns0ifb5uQhMj8d9w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 + + '@typescript-eslint/visitor-keys@8.8.0': + resolution: {integrity: sha512-8mq51Lx6Hpmd7HnA2fcHQo3YgfX1qbccxQOgZcb4tvasu//zXRaA1j5ZRFeCw/VRAdFi4mRM9DnZw0Nu0Q2d1g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@7.2.0': - resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/visitor-keys@8.8.1': + resolution: {integrity: sha512-0/TdC3aeRAsW7MDvYRwEc1Uwm0TIBfzjPFgg60UU2Haj5qsCs9cc3zNgY71edqE3LbWfF/WoZQd3lJoDXFQpag==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -1576,11 +2015,6 @@ packages: '@xtuc/long@4.2.2': resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - acorn-import-assertions@1.9.0: - resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} - peerDependencies: - acorn: ^8 - acorn-import-attributes@1.9.5: resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} peerDependencies: @@ -1635,10 +2069,16 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -1653,6 +2093,9 @@ packages: resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} engines: {node: '>= 0.4'} + array-timsort@1.0.3: + resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} + array-union@1.0.2: resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} engines: {node: '>=0.10.0'} @@ -1699,6 +2142,13 @@ packages: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} + autoprefixer@10.4.20: + resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} @@ -1718,6 +2168,10 @@ packages: '@babel/core': ^7.0.0 webpack: '>=2' + babel-plugin-macros@3.1.0: + resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} + engines: {node: '>=10', npm: '>=6'} + babel-plugin-polyfill-corejs2@0.4.11: resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} peerDependencies: @@ -1736,10 +2190,6 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - base64-arraybuffer@1.0.2: - resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==} - engines: {node: '>= 0.6.0'} - big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} @@ -1784,6 +2234,10 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + caniuse-lite@1.0.30001655: resolution: {integrity: sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==} @@ -1823,6 +2277,10 @@ packages: peerDependencies: webpack: '>=4.0.0 <6.0.0' + clear-module@4.1.2: + resolution: {integrity: sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==} + engines: {node: '>=8'} + cli-cursor@5.0.0: resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} engines: {node: '>=18'} @@ -1834,8 +2292,8 @@ packages: client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} - clone-deep@4.0.1: - resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} color-convert@1.9.3: @@ -1861,6 +2319,14 @@ packages: commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + comment-json@4.2.5: + resolution: {integrity: sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==} + engines: {node: '>= 6'} + common-tags@1.8.2: resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} engines: {node: '>=4.0.0'} @@ -1871,18 +2337,25 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - copy-anything@2.0.6: - resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} - core-js-compat@3.38.1: resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==} core-js@3.38.1: resolution: {integrity: sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==} + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -1891,24 +2364,61 @@ packages: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} - css-line-break@2.1.0: - resolution: {integrity: sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==} + cspell-config-lib@8.14.4: + resolution: {integrity: sha512-cnUeJfniTiebqCaQmIUnbSrPrTH7xzKRQjJDHAEV0WYnOG2MhRXI13OzytdFdhkVBdStmgTzTCJKE7x+kmU2NA==} + engines: {node: '>=18'} - csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + cspell-dictionary@8.14.4: + resolution: {integrity: sha512-pZvQHxpAW5fZAnt3ZKKy3s7M+3CX2t8tCS3uJrpEHIynlCawpG0fPF78rVE5o+g0dON36Lguc/BUuSN4IWKLmQ==} + engines: {node: '>=18'} - damerau-levenshtein@1.0.8: - resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + cspell-glob@8.14.4: + resolution: {integrity: sha512-C/xTS5nujMRMuguibq92qMVP767mtxrur7DcVolCvpzcivm1RB5NtIN0OctQxTyMbnmKeQv1t4epRKQ9A8vWRg==} + engines: {node: '>=18'} - data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} - engines: {node: '>= 0.4'} + cspell-grammar@8.14.4: + resolution: {integrity: sha512-yaSKAAJDiamsw3FChbw4HXb2RvTQrDsLelh1+T4MavarOIcAxXrqAJ8ysqm++g+S/ooJz2YO8YWIyzJKxcMf8g==} + engines: {node: '>=18'} + hasBin: true - data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} - engines: {node: '>= 0.4'} + cspell-io@8.14.4: + resolution: {integrity: sha512-o6OTWRyx/Az+PFhr1B0wMAwqG070hFC9g73Fkxd8+rHX0rfRS69QZH7LgSmZytqbZIMxCTDGdsLl33MFGWCbZQ==} + engines: {node: '>=18'} - data-view-byte-offset@1.0.0: + cspell-lib@8.14.4: + resolution: {integrity: sha512-qdkUkKtm+nmgpA4jQbmQTuepDfjHBDWvs3zDuEwVIVFq/h8gnXrRr75gJ3RYdTy+vOOqHPoLLqgxyqkUUrUGXA==} + engines: {node: '>=18'} + + cspell-trie-lib@8.14.4: + resolution: {integrity: sha512-zu8EJ33CH+FA5lwTRGqS//Q6phO0qtgEmODMR1KPlD7WlrfTFMb3bWFsLo/tiv5hjpsn7CM6dYDAAgBOSkoyhQ==} + engines: {node: '>=18'} + + css-declaration-sorter@7.2.0: + resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.0.9 + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + damerau-levenshtein@1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + + data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.0: resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} engines: {node: '>= 0.4'} @@ -1952,14 +2462,16 @@ packages: resolution: {integrity: sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==} engines: {node: '>=6'} - dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} @@ -1981,9 +2493,6 @@ packages: ecdsa-sig-formatter@1.0.11: resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} - editorjs-html@3.4.3: - resolution: {integrity: sha512-HMqQ3BCE98uhSpJsbfH0c3CoMctUMCHlap2Eq/7/VjaHas+g3IJqyf+ERtMByoQCzvcW22ISYaZEeE7rGkd8Xg==} - ejs@3.1.10: resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} engines: {node: '>=0.10.0'} @@ -2012,13 +2521,16 @@ packages: resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} + env-paths@3.0.0: + resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + environment@1.1.0: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} - errno@0.1.8: - resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} - hasBin: true + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} es-abstract@1.23.3: resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} @@ -2069,8 +2581,8 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - eslint-config-next@14.2.8: - resolution: {integrity: sha512-gRqxHkSuCrQro6xqXnmXphcq8rdiw7FI+nLXpWmIlp/AfUzHCgXNQE7mOK+oco+SRaJbhqCg/68uRln1qjkF+Q==} + eslint-config-next@14.2.14: + resolution: {integrity: sha512-TXwyjGICAlWC9O0OufS3koTsBKQH8l1xt3SY/aDuvtKHIwjTHplJKWVb1WOEX0OsDaxGbFXmfD2EY1sNfG0Y/w==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 typescript: '>=3.3.1' @@ -2137,14 +2649,18 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 + eslint-plugin-material-ui@1.0.1: + resolution: {integrity: sha512-COAp5llD9AzOXsrfuqUPaWN2yQPhtb7Wcz+RDX5EVEZrTJwblvDJKEJcU93nnVsjy6Wg5XrSRPiWwmR+IBjehw==} + engines: {node: '>=0.10.0'} + eslint-plugin-react-hooks@4.6.2: resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - eslint-plugin-react@7.35.2: - resolution: {integrity: sha512-Rbj2R9zwP2GYNcIak4xoAMV57hrBh3hTaR0k7hVjwCQgryE/pw5px4b13EYjduOI0hfXyZhwBxaGpOTbWSGzKQ==} + eslint-plugin-react@7.37.1: + resolution: {integrity: sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 @@ -2166,15 +2682,21 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + eslint@8.57.1: + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + esquery@1.6.0: resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} @@ -2215,6 +2737,10 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + fast-equals@5.0.1: + resolution: {integrity: sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==} + engines: {node: '>=6.0.0'} + fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} @@ -2239,8 +2765,8 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} - file-type@19.4.1: - resolution: {integrity: sha512-RuWzwF2L9tCHS76KR/Mdh+DwJZcFCzrhrPXpOw6MlEfl/o31fjpTikzcKlYuyeV7e7ftdCGVJTNOCzkYD/aLbw==} + file-type@19.5.0: + resolution: {integrity: sha512-dMuq6WWnP6BpQY0zYJNpTtQWgeCImSMG0BTIzUBXvxbwc1HWP/E7AE4UWU9XSCOPGJuOHda0HpDnwM2FW+d90A==} engines: {node: '>=18'} filelist@1.0.4: @@ -2254,6 +2780,9 @@ packages: resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} engines: {node: '>=8'} + find-root@1.1.0: + resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} + find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -2276,6 +2805,9 @@ packages: resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} engines: {node: '>=14'} + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + fs-extra@9.1.0: resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} engines: {node: '>=10'} @@ -2298,6 +2830,10 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + gensequence@7.0.0: + resolution: {integrity: sha512-47Frx13aZh01afHJTB3zTtKIlFI6vWY+MYCN9Qpew6i52rfKjnhCF/l1YlC8UmEMvvntZZ6z4PiCcmyuedR2aQ==} + engines: {node: '>=18'} + gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -2356,6 +2892,10 @@ packages: resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} engines: {node: '>=16 || 14 >=14.17'} + global-directory@4.0.1: + resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} + engines: {node: '>=18'} + globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} @@ -2364,6 +2904,10 @@ packages: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} + globals@15.11.0: + resolution: {integrity: sha512-yeyNSjdbyVaWurlwCpcA6XNBrHTMIeDdj0/hnvX/OLJ9ekOXYbLsLinH/MucQyGvNnXhidTdNhTtJaffL2sMfw==} + engines: {node: '>=18'} + globalthis@1.0.4: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} @@ -2396,6 +2940,10 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + has-own-prop@2.0.0: + resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} + engines: {node: '>=8'} + has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} @@ -2418,10 +2966,6 @@ packages: hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - html2canvas@1.4.1: - resolution: {integrity: sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==} - engines: {node: '>=8.0.0'} - https-proxy-agent@5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} @@ -2430,27 +2974,17 @@ packages: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} - husky@9.1.5: - resolution: {integrity: sha512-rowAVRUBfI0b4+niA4SJMhfQwc107VLkBUgEYYAOQAbqDCnra1nYh83hF/MDmhYs9t9n1E3DuKOrs2LYNC+0Ag==} + husky@9.1.6: + resolution: {integrity: sha512-sqbjZKK7kf44hfdE94EoX8MZNk0n7HeW37O4YrVGCF4wzgQjp+akPAkfUK5LZ6KuR/6sqeAVuXHji+RzQgOn5A==} engines: {node: '>=18'} hasBin: true - iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - idb-keyval@6.2.1: resolution: {integrity: sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==} idb@7.1.1: resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} - idea-react@2.0.0-rc.2: - resolution: {integrity: sha512-E+HZegixmsKRplvZol9AU6GAH8Hzn1dzwKqizos9hsd3vjMSr2dG0dtABelERdrqifhTIO7YYxnubTsExjK9xQ==} - peerDependencies: - react: '>=16' - react-dom: '>=16' - ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -2458,11 +2992,6 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - image-size@0.5.5: - resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} - engines: {node: '>=0.10.0'} - hasBin: true - import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -2470,8 +2999,8 @@ packages: import-in-the-middle@1.11.0: resolution: {integrity: sha512-5DimNQGoe0pLUHbR9qK84iWaWjjbsxiqXnw6Qz64+azRgleqv9k2kTt5fw7QsOpmaGYtuxxursnPPsnTKEx10Q==} - import-in-the-middle@1.7.1: - resolution: {integrity: sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg==} + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} @@ -2484,13 +3013,14 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + ini@4.1.1: + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + internal-slot@1.0.7: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} - invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - is-arguments@1.1.1: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} @@ -2499,6 +3029,9 @@ packages: resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} engines: {node: '>= 0.4'} + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-async-function@2.0.0: resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} engines: {node: '>= 0.4'} @@ -2599,14 +3132,6 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} - is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} - - is-plain-object@5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} - engines: {node: '>=0.10.0'} - is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} @@ -2661,22 +3186,12 @@ packages: resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} engines: {node: '>= 0.4'} - is-what@3.14.1: - resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} - isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - - iterable-observer@1.1.0: - resolution: {integrity: sha512-3H7N2wUtGpz5A/y4MFaP15sXxQyBTgnmq/LFMUbOErj+V9VgJY53Hd23mj33YEDap6qF22OEoV+19ATh+3+sQg==} - iterator.prototype@1.1.2: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} @@ -2700,6 +3215,10 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} + jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + hasBin: true + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -2711,9 +3230,9 @@ packages: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true - jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} hasBin: true json-buffer@3.0.1: @@ -2767,12 +3286,8 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - - koajax@3.0.1: - resolution: {integrity: sha512-C/kfF3ZH9L5plDL2eBxNs+5e7tZWE5S2VLVfex57E4ec8DhWvxNLxK/EYgqlB8BPqwjlGdUC5ItaxJR0Q57Wvw==} + koajax@3.0.2: + resolution: {integrity: sha512-2l6V9BSnil+3vxJSSi6rceOp73q6Iw8KYzu8Yfn0jEyxsGmVXt0rFvfd5BvEmnVZzDPQp7EzqusuQoTIsOx4cQ==} peerDependencies: jsdom: '>=21' @@ -2783,24 +3298,6 @@ packages: resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} engines: {node: '>=0.10'} - less-loader@12.2.0: - resolution: {integrity: sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==} - engines: {node: '>= 18.12.0'} - peerDependencies: - '@rspack/core': 0.x || 1.x - less: ^3.5.0 || ^4.0.0 - webpack: ^5.0.0 - peerDependenciesMeta: - '@rspack/core': - optional: true - webpack: - optional: true - - less@4.2.0: - resolution: {integrity: sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==} - engines: {node: '>=6'} - hasBin: true - leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} @@ -2809,10 +3306,17 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + lilconfig@3.1.2: resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} engines: {node: '>=14'} + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + lint-staged@15.2.10: resolution: {integrity: sha512-5dY5t743e1byO19P9I4b3x8HJwalIznL5E1FWYnU6OWw33KxNBSLAc6Cy7F2PsFEO8FKnLwjwm5hx7aMF0jzZg==} engines: {node: '>=18.12.0'} @@ -2847,9 +3351,6 @@ packages: lodash.isboolean@3.0.3: resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} - lodash.isequalwith@4.4.0: - resolution: {integrity: sha512-dcZON0IalGBpRmJBmMkaoV7d3I80R2O+FrzsZyHdNSFrANq/cgDqKQNmAHE8UEj4+QYWwwhkQOVdLHiAopzlsQ==} - lodash.isinteger@4.0.4: resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} @@ -2898,10 +3399,6 @@ packages: resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} engines: {node: '>=12'} - make-dir@2.1.0: - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} - engines: {node: '>=6'} - make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} @@ -2930,11 +3427,6 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} @@ -2954,10 +3446,6 @@ packages: resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -2976,8 +3464,8 @@ packages: mobx-github@0.3.4: resolution: {integrity: sha512-d/gCo2tlAlicQxZA93eK1kvkcfuPVqTm12GvgmPAzTtDMKsjr+bjp+3wEGt+4XZvabKVrhC+R9Wu2Q3Gcm1mNA==} - mobx-i18n@0.5.0: - resolution: {integrity: sha512-ZflCX7iqosU/ZhfGV3uaQGcptK1w1pHBEn4PWc1b+IZtLOcc4agaLQNj5OIIbTQNLNNxNdA5k1+Ze9aqStsHzA==} + mobx-i18n@0.6.0: + resolution: {integrity: sha512-dooxek8Iq+RKbM0qGwCsAhQI/j8MtdwiC9gzFNzx+cCnn0bBDDgwK9Inie8UFw6XmOiy+T2kPzeaFvr72KLKQw==} peerDependencies: mobx: '>=6.11' @@ -2986,12 +3474,6 @@ packages: peerDependencies: mobx: '>=6.11' - mobx-react-helper@0.3.1: - resolution: {integrity: sha512-rtiTNT6/VpSj0FDJO3GBg+TRItWYOBO810zR/7q46Vdm2EQ7AszhQ+tsMuTgCnfsNVw16PqNy4jEeDCmYJ2HNw==} - peerDependencies: - mobx: '>=6.11' - react: '>=16' - mobx-react-lite@4.0.7: resolution: {integrity: sha512-RjwdseshK9Mg8On5tyJZHtGD+J78ZnCnRaxeQDSiciKVQDUbfZcXhmld0VMxAwvcTnPEHZySGGewm467Fcpreg==} peerDependencies: @@ -3018,22 +3500,13 @@ packages: react-native: optional: true - mobx-restful-table@2.0.0: - resolution: {integrity: sha512-sujniYlCfyYR4BPhQ6lmUwWz/pDrtskjHd9aGdmdP/hdT3L+32e9RhKwGwbCENxYkrLytBarQWOxommWlB/WSw==} - peerDependencies: - mobx: '>=6.11' - mobx-i18n: ^0.5 - mobx-react: '>=9.1' - mobx-restful: '>=0.7.0-rc.0 <2' - react: '>=16.8' - mobx-restful@1.0.1: resolution: {integrity: sha512-jxX2anGxUc/E71pDAZn3SWjJhelRjNCbYHggccmSzawAEYI9AiKc0gwmPmifR0zwajVi3RpBzfqF4mQgt0TpCQ==} peerDependencies: mobx: '>=6.11' - mobx@6.13.1: - resolution: {integrity: sha512-ekLRxgjWJr8hVxj9ZKuClPwM/iHckx3euIJ3Np7zLVNtqJvfbbq7l370W/98C8EabdQ1pB5Jd3BbDWxJPNnaOg==} + mobx@6.13.3: + resolution: {integrity: sha512-YtAS+ZMbdpbHYUU4ESht3na8KiX11KuMT1yOiKtbKlQ0GZkHDYPKyEw/Tdp7h7aHyLrTWj2TBaSNJ6bCr638iQ==} module-details-from-path@1.0.3: resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==} @@ -3044,6 +3517,9 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -3052,11 +3528,6 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - needle@3.3.1: - resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==} - engines: {node: '>= 4.4.x'} - hasBin: true - neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} @@ -3065,17 +3536,17 @@ packages: peerDependencies: next: '>=9.0.0' - next-ssr-middleware@0.8.7: - resolution: {integrity: sha512-f3vV1iE/9BhbUEy6HzMu5vF+ubeVERAoJMiudUEb6akhiC/Y959NTlUv6xabxjJBTLbg4NOZLrkQipqzn/UbsA==} + next-ssr-middleware@0.8.8: + resolution: {integrity: sha512-TcKw72ARRcPxgacuQpOOl7XyWdI9FDqMkQR7u9+kNTutAUCSZ5o88yWf0h9SWH5zYUrkqyEd0x+uoDjCbtKSjQ==} peerDependencies: + mobx-i18n: '>=0.5 <1' next: '>=9.3' - next-with-less@3.0.1: - resolution: {integrity: sha512-lVJQ+dNWGpR1ccWM/LjY+8i28DC2oPa1Ivrc+h4+DFPJJN6O2EGKZIFBGrd9GLbwAEjFzKPs7yUk6bnrbY0qcw==} + next-themes@0.3.0: + resolution: {integrity: sha512-/QHIrsYpd6Kfk7xakK4svpDI5mmXP0gfvCoJdGpZQ2TOrQZmsW0QxjaiLn8wbIKjtm4BTSqLoix4lxYYOnLJ/w==} peerDependencies: - less: '*' - less-loader: '>= 7.0.0' - next: '>= 11.0.1' + react: ^16.8 || ^17 || ^18 + react-dom: ^16.8 || ^17 || ^18 next@13.5.6: resolution: {integrity: sha512-Y2wTcTbO4WwEsVb4A8VSnOsG1I9ok+h74q0ZdxkwM3EODqrs4pasq7O0iUxbcS9VtWMicG7f3+HAj0r1+NtKSw==} @@ -3092,8 +3563,8 @@ packages: sass: optional: true - next@14.2.8: - resolution: {integrity: sha512-EyEyJZ89r8C5FPlS/401AiF3O8jeMtHIE+bLom9MwcdWJJFBgRl+MR/2VgO0v5bI6tQORNY0a0DR5sjpFNrjbg==} + next@14.2.15: + resolution: {integrity: sha512-h9ctmOokpoDphRvMGnwOJAedT6zKhwqyZML9mDtspgf4Rh3Pn7UTYKqePNoDvhsWBAO5GoPNYshnAUGIazVGmw==} engines: {node: '>=18.17.0'} hasBin: true peerDependencies: @@ -3130,6 +3601,10 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3138,6 +3613,10 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + object-inspect@1.13.2: resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} engines: {node: '>= 0.4'} @@ -3181,12 +3660,6 @@ packages: resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} engines: {node: '>=18'} - opentelemetry-instrumentation-fetch-node@1.2.3: - resolution: {integrity: sha512-Qb11T7KvoCevMaSeuamcLsAD+pZnavkhDnlVL0kRozfhl42dKG5Q3anUklAFKJZjY3twLR+BnRa6DlwwkIE/+A==} - engines: {node: '>18.0.0'} - peerDependencies: - '@opentelemetry/api': ^1.6.0 - optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -3222,9 +3695,13 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parse-node-version@1.0.1: - resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} - engines: {node: '>= 0.10'} + parent-module@2.0.0: + resolution: {integrity: sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==} + engines: {node: '>=8'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} @@ -3299,6 +3776,10 @@ packages: resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} engines: {node: '>=0.10.0'} + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} @@ -3307,10 +3788,63 @@ packages: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.0.1: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + + postcss-less@6.0.0: + resolution: {integrity: sha512-FPX16mQLyEjLzEuuJtxA8X3ejDLNGGEG503d2YGZR5Ask1SpDN8KmZUMpzCvyalWRywAn1n1VOA5dcqfCLo5rg==} + engines: {node: '>=12'} + peerDependencies: + postcss: ^8.3.5 + + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-scss@4.0.9: + resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.4.29 + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + postcss@8.4.31: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} + postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} + engines: {node: ^10 || ^12 || >=14} + postgres-array@2.0.0: resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} engines: {node: '>=4'} @@ -3331,6 +3865,67 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + prettier-plugin-css-order@2.1.2: + resolution: {integrity: sha512-vomxPjHI6pOMYcBuouSJHxxQClJXaUpU9rsV9IAO2wrSTZILRRlrxAAR8t9UF6wtczLkLfNRFUwM+ZbGXOONUA==} + engines: {node: '>=16'} + peerDependencies: + prettier: 3.x + + prettier-plugin-tailwindcss@0.6.8: + resolution: {integrity: sha512-dGu3kdm7SXPkiW4nzeWKCl3uoImdd5CTZEJGxyypEPL37Wj0HT2pLqjrvSei1nTeuQfO4PUfjeW5cTUNRLZ4sA==} + engines: {node: '>=14.21.3'} + peerDependencies: + '@ianvs/prettier-plugin-sort-imports': '*' + '@prettier/plugin-pug': '*' + '@shopify/prettier-plugin-liquid': '*' + '@trivago/prettier-plugin-sort-imports': '*' + '@zackad/prettier-plugin-twig-melody': '*' + prettier: ^3.0 + prettier-plugin-astro: '*' + prettier-plugin-css-order: '*' + prettier-plugin-import-sort: '*' + prettier-plugin-jsdoc: '*' + prettier-plugin-marko: '*' + prettier-plugin-multiline-arrays: '*' + prettier-plugin-organize-attributes: '*' + prettier-plugin-organize-imports: '*' + prettier-plugin-sort-imports: '*' + prettier-plugin-style-order: '*' + prettier-plugin-svelte: '*' + peerDependenciesMeta: + '@ianvs/prettier-plugin-sort-imports': + optional: true + '@prettier/plugin-pug': + optional: true + '@shopify/prettier-plugin-liquid': + optional: true + '@trivago/prettier-plugin-sort-imports': + optional: true + '@zackad/prettier-plugin-twig-melody': + optional: true + prettier-plugin-astro: + optional: true + prettier-plugin-css-order: + optional: true + prettier-plugin-import-sort: + optional: true + prettier-plugin-jsdoc: + optional: true + prettier-plugin-marko: + optional: true + prettier-plugin-multiline-arrays: + optional: true + prettier-plugin-organize-attributes: + optional: true + prettier-plugin-organize-imports: + optional: true + prettier-plugin-sort-imports: + optional: true + prettier-plugin-style-order: + optional: true + prettier-plugin-svelte: + optional: true + prettier@3.3.3: resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} engines: {node: '>=14'} @@ -3340,28 +3935,16 @@ packages: resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} engines: {node: '>=6'} - prismjs@1.29.0: - resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} - engines: {node: '>=6'} - progress@2.0.3: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} - prop-types-extra@1.1.1: - resolution: {integrity: sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==} - peerDependencies: - react: '>=0.14.0' - prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - prr@1.0.1: - resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -3372,38 +3955,16 @@ packages: randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - react-bootstrap@2.10.4: - resolution: {integrity: sha512-W3398nBM2CBfmGP2evneEO3ZZwEMPtHs72q++eNw60uDGDAdiGn0f9yNys91eo7/y8CTF5Ke1C0QO8JFVPU40Q==} - peerDependencies: - '@types/react': '>=16.14.8' - react: '>=16.14.0' - react-dom: '>=16.14.0' - peerDependenciesMeta: - '@types/react': - optional: true - react-dom@18.3.1: resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: react: ^18.3.1 - react-editor-js@2.1.0: - resolution: {integrity: sha512-unI9D2pTH/2gBenc6LgCXJm8iqnrzB71CHgfjQmaB+lGR0Njx+ZXydgUQm1VofMmvF6vcCNVDE1Eb47zQbm14g==} - - react-element-to-jsx-string@15.0.0: - resolution: {integrity: sha512-UDg4lXB6BzlobN60P8fHWVPX3Kyw8ORrTeBtClmIlGdkOOE+GYQSFvmEU5iLLpwp/6v42DINwNcwOhOLfQ//FQ==} - peerDependencies: - react: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0 - react-dom: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0 - react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - react-is@18.1.0: - resolution: {integrity: sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==} - - react-lifecycles-compat@3.0.4: - resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} react-marked-renderer@2.0.1: resolution: {integrity: sha512-ZVXa63dHE9hW2EXQRllNgjFGIAMkcX3PXNUgnnpQ0DDRDaNYq9mlcCFFHrT97ZpdNVrC7punTYSARhDubDLAJw==} @@ -3421,6 +3982,9 @@ packages: resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -3454,6 +4018,10 @@ packages: resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} hasBin: true + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -3466,6 +4034,10 @@ packages: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} @@ -3509,8 +4081,8 @@ packages: engines: {node: '>=10.0.0'} hasBin: true - rollup@3.29.4: - resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} + rollup@3.29.5: + resolution: {integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true @@ -3528,12 +4100,6 @@ packages: resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} engines: {node: '>= 0.4'} - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - sax@1.4.1: - resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} - scheduler@0.23.2: resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} @@ -3545,10 +4111,6 @@ packages: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} - semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -3572,10 +4134,6 @@ packages: resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} - shallow-clone@3.0.1: - resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} - engines: {node: '>=8'} - shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -3610,13 +4168,17 @@ packages: source-list-map@2.0.1: resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==} - source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -3723,6 +4285,14 @@ packages: babel-plugin-macros: optional: true + stylis@4.2.0: + resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -3739,6 +4309,15 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + synckit@0.9.2: + resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} + engines: {node: ^14.18.0 || >=16.0.0} + + tailwindcss@3.4.13: + resolution: {integrity: sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==} + engines: {node: '>=14.0.0'} + hasBin: true + tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} @@ -3772,12 +4351,16 @@ packages: engines: {node: '>=10'} hasBin: true - text-segmentation@1.0.3: - resolution: {integrity: sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==} - text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -3802,6 +4385,9 @@ packages: peerDependencies: typescript: '>=4.2.0' + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} @@ -3840,8 +4426,17 @@ packages: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} - typescript@5.5.4: - resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} + typescript-eslint@8.8.1: + resolution: {integrity: sha512-R0dsXFt6t4SAFjUSKFjMh4pXDtq04SsFKCVGDP3ZOzNP7itF0jBcZYU4fMsZr4y7O7V7Nc751dDeESbe4PbQMQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + typescript@5.6.3: + resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} engines: {node: '>=14.17'} hasBin: true @@ -3852,16 +4447,6 @@ packages: unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - uncontrollable@7.2.1: - resolution: {integrity: sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==} - peerDependencies: - react: '>=15.0.0' - - uncontrollable@8.0.4: - resolution: {integrity: sha512-ulRWYWHvscPFc0QQXvyJjY6LIXU56f0h8pQFvhxiKk5V1fcI8gp9Ht9leVAhrVjzqMw0BgjspBINx9r6oyJUvQ==} - peerDependencies: - react: '>=16.14.0' - undici-types@6.19.8: resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} @@ -3910,15 +4495,18 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 - utrie@1.0.2: - resolution: {integrity: sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==} + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} uuid@9.0.1: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true - warning@4.0.3: - resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} + vscode-languageserver-textdocument@1.0.12: + resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} + + vscode-uri@3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} watchpack@2.4.0: resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} @@ -3957,8 +4545,8 @@ packages: webpack-virtual-modules@0.5.0: resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} - webpack@5.94.0: - resolution: {integrity: sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==} + webpack@5.95.0: + resolution: {integrity: sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -4069,6 +4657,10 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + xdg-basedir@5.1.0: + resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} + engines: {node: '>=12'} + xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} @@ -4076,6 +4668,10 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + yaml@2.5.1: resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==} engines: {node: '>= 14'} @@ -4087,6 +4683,8 @@ packages: snapshots: + '@alloc/quick-lru@5.2.0': {} + '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -4099,9 +4697,9 @@ snapshots: jsonpointer: 5.0.1 leven: 3.1.0 - '@babel/code-frame@7.24.7': + '@babel/code-frame@7.25.7': dependencies: - '@babel/highlight': 7.24.7 + '@babel/highlight': 7.25.7 picocolors: 1.1.0 '@babel/compat-data@7.25.4': {} @@ -4109,15 +4707,15 @@ snapshots: '@babel/core@7.25.2': dependencies: '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.6 + '@babel/code-frame': 7.25.7 + '@babel/generator': 7.25.7 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) '@babel/helpers': 7.25.6 - '@babel/parser': 7.25.6 - '@babel/template': 7.25.0 - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/parser': 7.25.7 + '@babel/template': 7.25.7 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 convert-source-map: 2.0.0 debug: 4.3.6 gensync: 1.0.0-beta.2 @@ -4126,41 +4724,41 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.25.6': + '@babel/generator@7.25.7': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.25.7 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 + jsesc: 3.0.2 - '@babel/helper-annotate-as-pure@7.24.7': + '@babel/helper-annotate-as-pure@7.25.7': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.25.7 '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color '@babel/helper-compilation-targets@7.25.2': dependencies: '@babel/compat-data': 7.25.4 - '@babel/helper-validator-option': 7.24.8 + '@babel/helper-validator-option': 7.25.7 browserslist: 4.23.3 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.25.4(@babel/core@7.25.2)': + '@babel/helper-create-class-features-plugin@7.25.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.24.8 - '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/traverse': 7.25.6 + '@babel/helper-annotate-as-pure': 7.25.7 + '@babel/helper-member-expression-to-functions': 7.25.7 + '@babel/helper-optimise-call-expression': 7.25.7 + '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.2) + '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 + '@babel/traverse': 7.25.7 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -4168,7 +4766,7 @@ snapshots: '@babel/helper-create-regexp-features-plugin@7.25.2(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-annotate-as-pure': 7.25.7 regexpu-core: 5.3.2 semver: 6.3.1 @@ -4176,128 +4774,128 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 debug: 4.3.6 lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: - supports-color - '@babel/helper-member-expression-to-functions@7.24.8': + '@babel/helper-member-expression-to-functions@7.25.7': dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-module-imports@7.24.7': + '@babel/helper-module-imports@7.25.7': dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.25.7 '@babel/helper-simple-access': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.6 + '@babel/helper-validator-identifier': 7.25.7 + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-optimise-call-expression@7.24.7': + '@babel/helper-optimise-call-expression@7.25.7': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.25.7 - '@babel/helper-plugin-utils@7.24.8': {} + '@babel/helper-plugin-utils@7.25.7': {} '@babel/helper-remap-async-to-generator@7.25.0(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-annotate-as-pure': 7.25.7 '@babel/helper-wrap-function': 7.25.0 - '@babel/traverse': 7.25.6 + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.25.0(@babel/core@7.25.2)': + '@babel/helper-replace-supers@7.25.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-member-expression-to-functions': 7.24.8 - '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/traverse': 7.25.6 + '@babel/helper-member-expression-to-functions': 7.25.7 + '@babel/helper-optimise-call-expression': 7.25.7 + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color '@babel/helper-simple-access@7.24.7': dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-skip-transparent-expression-wrappers@7.24.7': + '@babel/helper-skip-transparent-expression-wrappers@7.25.7': dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-string-parser@7.24.8': {} + '@babel/helper-string-parser@7.25.7': {} - '@babel/helper-validator-identifier@7.24.7': {} + '@babel/helper-validator-identifier@7.25.7': {} - '@babel/helper-validator-option@7.24.8': {} + '@babel/helper-validator-option@7.25.7': {} '@babel/helper-wrap-function@7.25.0': dependencies: - '@babel/template': 7.25.0 - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/template': 7.25.7 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color '@babel/helpers@7.25.6': dependencies: - '@babel/template': 7.25.0 - '@babel/types': 7.25.6 + '@babel/template': 7.25.7 + '@babel/types': 7.25.7 - '@babel/highlight@7.24.7': + '@babel/highlight@7.25.7': dependencies: - '@babel/helper-validator-identifier': 7.24.7 + '@babel/helper-validator-identifier': 7.25.7 chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.1.0 - '@babel/parser@7.25.6': + '@babel/parser@7.25.7': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.25.7 '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.6 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -4305,17 +4903,17 @@ snapshots: '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.6 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-decorators@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-decorators': 7.24.7(@babel/core@7.25.2) + '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.25.7 + '@babel/plugin-syntax-decorators': 7.25.7(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -4326,129 +4924,129 @@ snapshots: '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-decorators@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-syntax-decorators@7.25.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-import-assertions@7.25.6(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-import-attributes@7.25.6(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-syntax-jsx@7.25.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2)': + '@babel/plugin-syntax-typescript@7.25.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-async-generator-functions@7.25.4(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) - '@babel/traverse': 7.25.6 + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-module-imports': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -4456,26 +5054,26 @@ snapshots: '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-block-scoping@7.25.0(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-class-properties@7.25.4(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.25.7 transitivePeerDependencies: - supports-color '@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -4483,11 +5081,11 @@ snapshots: '@babel/plugin-transform-classes@7.25.4(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-annotate-as-pure': 7.25.7 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) - '@babel/traverse': 7.25.6 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.2) + '@babel/traverse': 7.25.7 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -4495,56 +5093,56 @@ snapshots: '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/template': 7.25.0 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/template': 7.25.7 '@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) '@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 transitivePeerDependencies: - supports-color '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 transitivePeerDependencies: - supports-color @@ -4552,38 +5150,38 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.6 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color '@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) '@babel/plugin-transform-literals@7.25.2(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 transitivePeerDependencies: - supports-color @@ -4591,7 +5189,7 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/helper-simple-access': 7.24.7 transitivePeerDependencies: - supports-color @@ -4600,9 +5198,9 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.6 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-validator-identifier': 7.25.7 + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color @@ -4610,7 +5208,7 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 transitivePeerDependencies: - supports-color @@ -4618,52 +5216,52 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) '@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) '@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.2) transitivePeerDependencies: - supports-color '@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) '@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -4671,22 +5269,22 @@ snapshots: '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-private-methods@7.25.4(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.25.7 transitivePeerDependencies: - supports-color '@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-annotate-as-pure': 7.25.7 + '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -4694,117 +5292,117 @@ snapshots: '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-react-display-name@7.25.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-react-jsx-development@7.25.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx': 7.25.7(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.25.2)': + '@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/types': 7.25.6 + '@babel/helper-annotate-as-pure': 7.25.7 + '@babel/helper-module-imports': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.2) + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-pure-annotations@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-react-pure-annotations@7.25.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-annotate-as-pure': 7.25.7 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 regenerator-transform: 0.15.2 '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-spread@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 transitivePeerDependencies: - supports-color '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 - '@babel/plugin-transform-typescript@7.25.2(@babel/core@7.25.2)': + '@babel/plugin-transform-typescript@7.25.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) + '@babel/helper-annotate-as-pure': 7.25.7 + '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 + '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.25.2) transitivePeerDependencies: - supports-color '@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-unicode-sets-regex@7.25.4(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 '@babel/preset-env@7.25.4(@babel/core@7.25.2)': dependencies: '@babel/compat-data': 7.25.4 '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-validator-option': 7.25.7 '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.3(@babel/core@7.25.2) '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.0(@babel/core@7.25.2) '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/core@7.25.2) @@ -4890,19 +5488,19 @@ snapshots: '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/types': 7.25.6 + '@babel/helper-plugin-utils': 7.25.7 + '@babel/types': 7.25.7 esutils: 2.0.3 - '@babel/preset-react@7.24.7(@babel/core@7.25.2)': + '@babel/preset-react@7.25.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.25.7 + '@babel/helper-validator-option': 7.25.7 + '@babel/plugin-transform-react-display-name': 7.25.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx': 7.25.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-development': 7.25.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-pure-annotations': 7.25.7(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -4912,47 +5510,318 @@ snapshots: dependencies: regenerator-runtime: 0.14.1 - '@babel/template@7.25.0': + '@babel/template@7.25.7': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 + '@babel/code-frame': 7.25.7 + '@babel/parser': 7.25.7 + '@babel/types': 7.25.7 - '@babel/traverse@7.25.6': + '@babel/traverse@7.25.7': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.6 - '@babel/parser': 7.25.6 - '@babel/template': 7.25.0 - '@babel/types': 7.25.6 + '@babel/code-frame': 7.25.7 + '@babel/generator': 7.25.7 + '@babel/parser': 7.25.7 + '@babel/template': 7.25.7 + '@babel/types': 7.25.7 debug: 4.3.6 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.25.6': + '@babel/types@7.25.7': dependencies: - '@babel/helper-string-parser': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 + '@babel/helper-string-parser': 7.25.7 + '@babel/helper-validator-identifier': 7.25.7 to-fast-properties: 2.0.0 - '@base2/pretty-print-object@1.0.1': {} + '@cspell/cspell-bundled-dicts@8.14.4': + dependencies: + '@cspell/dict-ada': 4.0.2 + '@cspell/dict-aws': 4.0.4 + '@cspell/dict-bash': 4.1.5 + '@cspell/dict-companies': 3.1.4 + '@cspell/dict-cpp': 5.1.19 + '@cspell/dict-cryptocurrencies': 5.0.0 + '@cspell/dict-csharp': 4.0.2 + '@cspell/dict-css': 4.0.13 + '@cspell/dict-dart': 2.2.1 + '@cspell/dict-django': 4.1.0 + '@cspell/dict-docker': 1.1.7 + '@cspell/dict-dotnet': 5.0.5 + '@cspell/dict-elixir': 4.0.3 + '@cspell/dict-en-common-misspellings': 2.0.4 + '@cspell/dict-en-gb': 1.1.33 + '@cspell/dict-en_us': 4.3.23 + '@cspell/dict-filetypes': 3.0.4 + '@cspell/dict-flutter': 1.0.0 + '@cspell/dict-fonts': 4.0.0 + '@cspell/dict-fsharp': 1.0.1 + '@cspell/dict-fullstack': 3.2.0 + '@cspell/dict-gaming-terms': 1.0.5 + '@cspell/dict-git': 3.0.0 + '@cspell/dict-golang': 6.0.13 + '@cspell/dict-google': 1.0.1 + '@cspell/dict-haskell': 4.0.1 + '@cspell/dict-html': 4.0.6 + '@cspell/dict-html-symbol-entities': 4.0.0 + '@cspell/dict-java': 5.0.7 + '@cspell/dict-julia': 1.0.1 + '@cspell/dict-k8s': 1.0.6 + '@cspell/dict-latex': 4.0.0 + '@cspell/dict-lorem-ipsum': 4.0.0 + '@cspell/dict-lua': 4.0.3 + '@cspell/dict-makefile': 1.0.0 + '@cspell/dict-monkeyc': 1.0.6 + '@cspell/dict-node': 5.0.1 + '@cspell/dict-npm': 5.1.5 + '@cspell/dict-php': 4.0.10 + '@cspell/dict-powershell': 5.0.10 + '@cspell/dict-public-licenses': 2.0.8 + '@cspell/dict-python': 4.2.8 + '@cspell/dict-r': 2.0.1 + '@cspell/dict-ruby': 5.0.4 + '@cspell/dict-rust': 4.0.6 + '@cspell/dict-scala': 5.0.3 + '@cspell/dict-software-terms': 4.1.7 + '@cspell/dict-sql': 2.1.5 + '@cspell/dict-svelte': 1.0.2 + '@cspell/dict-swift': 2.0.1 + '@cspell/dict-terraform': 1.0.2 + '@cspell/dict-typescript': 3.1.6 + '@cspell/dict-vue': 3.0.0 + + '@cspell/cspell-pipe@8.14.4': {} + + '@cspell/cspell-resolver@8.14.4': + dependencies: + global-directory: 4.0.1 + + '@cspell/cspell-service-bus@8.14.4': {} + + '@cspell/cspell-types@8.14.4': {} + + '@cspell/dict-ada@4.0.2': {} + + '@cspell/dict-aws@4.0.4': {} + + '@cspell/dict-bash@4.1.5': {} + + '@cspell/dict-companies@3.1.4': {} + + '@cspell/dict-cpp@5.1.19': {} + + '@cspell/dict-cryptocurrencies@5.0.0': {} + + '@cspell/dict-csharp@4.0.2': {} + + '@cspell/dict-css@4.0.13': {} + + '@cspell/dict-dart@2.2.1': {} + + '@cspell/dict-data-science@2.0.1': {} + + '@cspell/dict-django@4.1.0': {} + + '@cspell/dict-docker@1.1.7': {} + + '@cspell/dict-dotnet@5.0.5': {} + + '@cspell/dict-elixir@4.0.3': {} + + '@cspell/dict-en-common-misspellings@2.0.4': {} + + '@cspell/dict-en-gb@1.1.33': {} + + '@cspell/dict-en_us@4.3.23': {} + + '@cspell/dict-filetypes@3.0.4': {} + + '@cspell/dict-flutter@1.0.0': {} + + '@cspell/dict-fonts@4.0.0': {} + + '@cspell/dict-fsharp@1.0.1': {} + + '@cspell/dict-fullstack@3.2.0': {} + + '@cspell/dict-gaming-terms@1.0.5': {} + + '@cspell/dict-git@3.0.0': {} + + '@cspell/dict-golang@6.0.13': {} + + '@cspell/dict-google@1.0.1': {} + + '@cspell/dict-haskell@4.0.1': {} + + '@cspell/dict-html-symbol-entities@4.0.0': {} + + '@cspell/dict-html@4.0.6': {} + + '@cspell/dict-java@5.0.7': {} + + '@cspell/dict-julia@1.0.1': {} + + '@cspell/dict-k8s@1.0.6': {} + + '@cspell/dict-latex@4.0.0': {} - '@codexteam/icons@0.0.4': {} + '@cspell/dict-lorem-ipsum@4.0.0': {} - '@editorjs/editorjs@2.30.5': {} + '@cspell/dict-lua@4.0.3': {} - '@editorjs/paragraph@2.11.6': + '@cspell/dict-makefile@1.0.0': {} + + '@cspell/dict-monkeyc@1.0.6': {} + + '@cspell/dict-node@5.0.1': {} + + '@cspell/dict-npm@5.1.5': {} + + '@cspell/dict-php@4.0.10': {} + + '@cspell/dict-powershell@5.0.10': {} + + '@cspell/dict-public-licenses@2.0.8': {} + + '@cspell/dict-python@4.2.8': + dependencies: + '@cspell/dict-data-science': 2.0.1 + + '@cspell/dict-r@2.0.1': {} + + '@cspell/dict-ruby@5.0.4': {} + + '@cspell/dict-rust@4.0.6': {} + + '@cspell/dict-scala@5.0.3': {} + + '@cspell/dict-software-terms@4.1.7': {} + + '@cspell/dict-sql@2.1.5': {} + + '@cspell/dict-svelte@1.0.2': {} + + '@cspell/dict-swift@2.0.1': {} + + '@cspell/dict-terraform@1.0.2': {} + + '@cspell/dict-typescript@3.1.6': {} + + '@cspell/dict-vue@3.0.0': {} + + '@cspell/dynamic-import@8.14.4': + dependencies: + import-meta-resolve: 4.1.0 + + '@cspell/eslint-plugin@8.14.4(eslint@8.57.1)': + dependencies: + '@cspell/cspell-types': 8.14.4 + '@cspell/url': 8.14.4 + cspell-lib: 8.14.4 + eslint: 8.57.1 + synckit: 0.9.2 + + '@cspell/filetypes@8.14.4': {} + + '@cspell/strong-weak-map@8.14.4': {} + + '@cspell/url@8.14.4': {} + + '@emotion/babel-plugin@11.12.0': dependencies: - '@codexteam/icons': 0.0.4 + '@babel/helper-module-imports': 7.25.7 + '@babel/runtime': 7.25.6 + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/serialize': 1.3.2 + babel-plugin-macros: 3.1.0 + convert-source-map: 1.9.0 + escape-string-regexp: 4.0.0 + find-root: 1.1.0 + source-map: 0.5.7 + stylis: 4.2.0 + transitivePeerDependencies: + - supports-color - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + '@emotion/cache@11.13.1': dependencies: - eslint: 8.57.0 + '@emotion/memoize': 0.9.0 + '@emotion/sheet': 1.4.0 + '@emotion/utils': 1.4.1 + '@emotion/weak-memoize': 0.4.0 + stylis: 4.2.0 + + '@emotion/hash@0.9.2': {} + + '@emotion/is-prop-valid@1.3.1': + dependencies: + '@emotion/memoize': 0.9.0 + + '@emotion/memoize@0.9.0': {} + + '@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.25.6 + '@emotion/babel-plugin': 11.12.0 + '@emotion/cache': 11.13.1 + '@emotion/serialize': 1.3.2 + '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.3.1) + '@emotion/utils': 1.4.1 + '@emotion/weak-memoize': 0.4.0 + hoist-non-react-statics: 3.3.2 + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.11 + transitivePeerDependencies: + - supports-color + + '@emotion/serialize@1.3.2': + dependencies: + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/unitless': 0.10.0 + '@emotion/utils': 1.4.1 + csstype: 3.1.3 + + '@emotion/sheet@1.4.0': {} + + '@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.25.6 + '@emotion/babel-plugin': 11.12.0 + '@emotion/is-prop-valid': 1.3.1 + '@emotion/react': 11.13.3(@types/react@18.3.11)(react@18.3.1) + '@emotion/serialize': 1.3.2 + '@emotion/use-insertion-effect-with-fallbacks': 1.1.0(react@18.3.1) + '@emotion/utils': 1.4.1 + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.11 + transitivePeerDependencies: + - supports-color + + '@emotion/unitless@0.10.0': {} + + '@emotion/use-insertion-effect-with-fallbacks@1.1.0(react@18.3.1)': + dependencies: + react: 18.3.1 + + '@emotion/utils@1.4.1': {} + + '@emotion/weak-memoize@0.4.0': {} + + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)': + dependencies: + eslint: 8.57.1 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.0': {} + '@eslint/compat@1.2.0(eslint@8.57.1)': + optionalDependencies: + eslint: 8.57.1 + '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 @@ -4967,9 +5836,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.0': {} + '@eslint/js@8.57.1': {} + + '@eslint/js@9.12.0': {} - '@humanwhocodes/config-array@0.11.14': + '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.6 @@ -5012,66 +5883,147 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@mui/core-downloads-tracker@6.1.3': {} + + '@mui/material@6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@babel/runtime': 7.25.6 + '@mui/core-downloads-tracker': 6.1.3 + '@mui/system': 6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1) + '@mui/types': 7.2.18(@types/react@18.3.11) + '@mui/utils': 6.1.3(@types/react@18.3.11)(react@18.3.1) + '@popperjs/core': 2.11.8 + '@types/react-transition-group': 4.4.11 + clsx: 2.1.1 + csstype: 3.1.3 + prop-types: 15.8.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-is: 18.3.1 + react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + optionalDependencies: + '@emotion/react': 11.13.3(@types/react@18.3.11)(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1) + '@types/react': 18.3.11 + + '@mui/private-theming@6.1.3(@types/react@18.3.11)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.25.6 + '@mui/utils': 6.1.3(@types/react@18.3.11)(react@18.3.1) + prop-types: 15.8.1 + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.11 + + '@mui/styled-engine@6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(react@18.3.1)': + dependencies: + '@babel/runtime': 7.25.6 + '@emotion/cache': 11.13.1 + '@emotion/serialize': 1.3.2 + '@emotion/sheet': 1.4.0 + csstype: 3.1.3 + prop-types: 15.8.1 + react: 18.3.1 + optionalDependencies: + '@emotion/react': 11.13.3(@types/react@18.3.11)(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1) + + '@mui/system@6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.25.6 + '@mui/private-theming': 6.1.3(@types/react@18.3.11)(react@18.3.1) + '@mui/styled-engine': 6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(react@18.3.1) + '@mui/types': 7.2.18(@types/react@18.3.11) + '@mui/utils': 6.1.3(@types/react@18.3.11)(react@18.3.1) + clsx: 2.1.1 + csstype: 3.1.3 + prop-types: 15.8.1 + react: 18.3.1 + optionalDependencies: + '@emotion/react': 11.13.3(@types/react@18.3.11)(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1) + '@types/react': 18.3.11 + + '@mui/types@7.2.18(@types/react@18.3.11)': + optionalDependencies: + '@types/react': 18.3.11 + + '@mui/utils@6.1.3(@types/react@18.3.11)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.25.6 + '@mui/types': 7.2.18(@types/react@18.3.11) + '@types/prop-types': 15.7.13 + clsx: 2.1.1 + prop-types: 15.8.1 + react: 18.3.1 + react-is: 18.3.1 + optionalDependencies: + '@types/react': 18.3.11 + '@next/env@13.5.6': {} - '@next/env@14.2.8': {} + '@next/env@14.2.15': {} + + '@next/eslint-plugin-next@14.2.14': + dependencies: + glob: 10.3.10 - '@next/eslint-plugin-next@14.2.8': + '@next/eslint-plugin-next@14.2.15': dependencies: glob: 10.3.10 '@next/swc-darwin-arm64@13.5.6': optional: true - '@next/swc-darwin-arm64@14.2.8': + '@next/swc-darwin-arm64@14.2.15': optional: true '@next/swc-darwin-x64@13.5.6': optional: true - '@next/swc-darwin-x64@14.2.8': + '@next/swc-darwin-x64@14.2.15': optional: true '@next/swc-linux-arm64-gnu@13.5.6': optional: true - '@next/swc-linux-arm64-gnu@14.2.8': + '@next/swc-linux-arm64-gnu@14.2.15': optional: true '@next/swc-linux-arm64-musl@13.5.6': optional: true - '@next/swc-linux-arm64-musl@14.2.8': + '@next/swc-linux-arm64-musl@14.2.15': optional: true '@next/swc-linux-x64-gnu@13.5.6': optional: true - '@next/swc-linux-x64-gnu@14.2.8': + '@next/swc-linux-x64-gnu@14.2.15': optional: true '@next/swc-linux-x64-musl@13.5.6': optional: true - '@next/swc-linux-x64-musl@14.2.8': + '@next/swc-linux-x64-musl@14.2.15': optional: true '@next/swc-win32-arm64-msvc@13.5.6': optional: true - '@next/swc-win32-arm64-msvc@14.2.8': + '@next/swc-win32-arm64-msvc@14.2.15': optional: true '@next/swc-win32-ia32-msvc@13.5.6': optional: true - '@next/swc-win32-ia32-msvc@14.2.8': + '@next/swc-win32-ia32-msvc@14.2.15': optional: true '@next/swc-win32-x64-msvc@13.5.6': optional: true - '@next/swc-win32-x64-msvc@14.2.8': + '@next/swc-win32-x64-msvc@14.2.15': optional: true '@nodelib/fs.scandir@2.1.5': @@ -5094,182 +6046,227 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs@0.53.0': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api@1.9.0': {} '@opentelemetry/context-async-hooks@1.26.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0)': + '@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.25.1 + '@opentelemetry/semantic-conventions': 1.27.0 - '@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-amqplib@0.42.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 + transitivePeerDependencies: + - supports-color - '@opentelemetry/instrumentation-connect@0.38.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-connect@0.39.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 '@types/connect': 3.4.36 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-express@0.41.1(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-dataloader@0.12.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-express@0.42.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-fastify@0.38.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-fastify@0.39.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-fs@0.14.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-fs@0.15.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-graphql@0.42.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-generic-pool@0.39.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-graphql@0.43.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-hapi@0.40.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-hapi@0.41.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-http@0.52.1(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-http@0.53.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.25.1 + '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.27.0 semver: 7.6.3 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-ioredis@0.42.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-ioredis@0.43.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/redis-common': 0.36.2 '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-koa@0.42.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-kafkajs@0.3.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.27.0 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-koa@0.43.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-mongodb@0.46.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-lru-memoizer@0.40.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-mongodb@0.47.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-metrics': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-mongoose@0.40.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-mongoose@0.42.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-mysql2@0.40.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-mysql2@0.41.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 '@opentelemetry/sql-common': 0.40.1(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-mysql@0.40.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-mysql@0.41.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 - '@types/mysql': 2.15.22 + '@types/mysql': 2.15.26 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-nestjs-core@0.39.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-nestjs-core@0.40.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-pg@0.43.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-pg@0.44.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 '@opentelemetry/sql-common': 0.40.1(@opentelemetry/api@1.9.0) '@types/pg': 8.6.1 - '@types/pg-pool': 2.0.4 + '@types/pg-pool': 2.0.6 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-redis-4@0.41.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-redis-4@0.42.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/redis-common': 0.36.2 '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation@0.46.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-undici@0.6.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs': 0.52.1 '@types/shimmer': 1.2.0 - import-in-the-middle: 1.7.1 + import-in-the-middle: 1.11.0 require-in-the-middle: 7.4.0 semver: 7.6.3 shimmer: 1.2.1 transitivePeerDependencies: - supports-color - optional: true - '@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.52.1 + '@opentelemetry/api-logs': 0.53.0 '@types/shimmer': 1.2.0 import-in-the-middle: 1.11.0 require-in-the-middle: 7.4.0 @@ -5299,8 +6296,6 @@ snapshots: '@opentelemetry/resources': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 - '@opentelemetry/semantic-conventions@1.25.1': {} - '@opentelemetry/semantic-conventions@1.27.0': {} '@opentelemetry/sql-common@0.40.1(@opentelemetry/api@1.9.0)': @@ -5311,9 +6306,11 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true + '@pkgr/core@0.1.1': {} + '@popperjs/core@2.11.8': {} - '@prisma/instrumentation@5.18.0': + '@prisma/instrumentation@5.19.1': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) @@ -5321,68 +6318,25 @@ snapshots: transitivePeerDependencies: - supports-color - '@react-aria/ssr@3.9.5(react@18.3.1)': - dependencies: - '@swc/helpers': 0.5.13 - react: 18.3.1 - - '@react-editor-js/client@2.1.0(@editorjs/editorjs@2.30.5)(@editorjs/paragraph@2.11.6)(react@18.3.1)': - dependencies: - '@editorjs/editorjs': 2.30.5 - '@editorjs/paragraph': 2.11.6 - '@react-editor-js/core': 2.1.0(@editorjs/editorjs@2.30.5)(react@18.3.1) - react: 18.3.1 - - '@react-editor-js/core@2.1.0(@editorjs/editorjs@2.30.5)(react@18.3.1)': - dependencies: - '@editorjs/editorjs': 2.30.5 - react: 18.3.1 - - '@react-editor-js/server@2.1.0(@editorjs/editorjs@2.30.5)(@editorjs/paragraph@2.11.6)(react@18.3.1)': - dependencies: - '@editorjs/editorjs': 2.30.5 - '@editorjs/paragraph': 2.11.6 - '@react-editor-js/core': 2.1.0(@editorjs/editorjs@2.30.5)(react@18.3.1) - react: 18.3.1 - - '@restart/hooks@0.4.16(react@18.3.1)': - dependencies: - dequal: 2.0.3 - react: 18.3.1 - - '@restart/ui@1.8.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.6 - '@popperjs/core': 2.11.8 - '@react-aria/ssr': 3.9.5(react@18.3.1) - '@restart/hooks': 0.4.16(react@18.3.1) - '@types/warning': 3.0.3 - dequal: 2.0.3 - dom-helpers: 5.2.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - uncontrollable: 8.0.4(react@18.3.1) - warning: 4.0.3 - '@rollup/plugin-babel@5.3.1(@babel/core@7.25.2)(rollup@2.79.1)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.25.7 '@rollup/pluginutils': 3.1.0(rollup@2.79.1) rollup: 2.79.1 transitivePeerDependencies: - supports-color - '@rollup/plugin-commonjs@26.0.1(rollup@3.29.4)': + '@rollup/plugin-commonjs@26.0.1(rollup@3.29.5)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@rollup/pluginutils': 5.1.0(rollup@3.29.5) commondir: 1.0.1 estree-walker: 2.0.2 glob: 10.4.5 is-reference: 1.2.1 magic-string: 0.30.11 optionalDependencies: - rollup: 3.29.4 + rollup: 3.29.5 '@rollup/plugin-node-resolve@11.2.1(rollup@2.79.1)': dependencies: @@ -5407,13 +6361,13 @@ snapshots: picomatch: 2.3.1 rollup: 2.79.1 - '@rollup/pluginutils@5.1.0(rollup@3.29.4)': + '@rollup/pluginutils@5.1.0(rollup@3.29.5)': dependencies: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 3.29.4 + rollup: 3.29.5 '@rtsao/scc@1.1.0': {} @@ -5421,43 +6375,43 @@ snapshots: '@sec-ant/readable-stream@0.4.1': {} - '@sentry-internal/browser-utils@8.28.0': + '@sentry-internal/browser-utils@8.33.1': dependencies: - '@sentry/core': 8.28.0 - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 + '@sentry/core': 8.33.1 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 - '@sentry-internal/feedback@8.28.0': + '@sentry-internal/feedback@8.33.1': dependencies: - '@sentry/core': 8.28.0 - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 + '@sentry/core': 8.33.1 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 - '@sentry-internal/replay-canvas@8.28.0': + '@sentry-internal/replay-canvas@8.33.1': dependencies: - '@sentry-internal/replay': 8.28.0 - '@sentry/core': 8.28.0 - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 + '@sentry-internal/replay': 8.33.1 + '@sentry/core': 8.33.1 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 - '@sentry-internal/replay@8.28.0': + '@sentry-internal/replay@8.33.1': dependencies: - '@sentry-internal/browser-utils': 8.28.0 - '@sentry/core': 8.28.0 - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 + '@sentry-internal/browser-utils': 8.33.1 + '@sentry/core': 8.33.1 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 '@sentry/babel-plugin-component-annotate@2.22.3': {} - '@sentry/browser@8.28.0': + '@sentry/browser@8.33.1': dependencies: - '@sentry-internal/browser-utils': 8.28.0 - '@sentry-internal/feedback': 8.28.0 - '@sentry-internal/replay': 8.28.0 - '@sentry-internal/replay-canvas': 8.28.0 - '@sentry/core': 8.28.0 - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 + '@sentry-internal/browser-utils': 8.33.1 + '@sentry-internal/feedback': 8.33.1 + '@sentry-internal/replay': 8.33.1 + '@sentry-internal/replay-canvas': 8.33.1 + '@sentry/core': 8.33.1 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 '@sentry/bundler-plugin-core@2.22.3': dependencies: @@ -5513,31 +6467,32 @@ snapshots: - encoding - supports-color - '@sentry/core@8.28.0': + '@sentry/core@8.33.1': dependencies: - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 - '@sentry/nextjs@8.28.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(next@14.2.8(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(webpack@5.94.0)': + '@sentry/nextjs@8.33.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(next@14.2.15(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(webpack@5.95.0)': dependencies: - '@opentelemetry/instrumentation-http': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-http': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 - '@rollup/plugin-commonjs': 26.0.1(rollup@3.29.4) - '@sentry/core': 8.28.0 - '@sentry/node': 8.28.0 - '@sentry/opentelemetry': 8.28.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0) - '@sentry/react': 8.28.0(react@18.3.1) - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 - '@sentry/vercel-edge': 8.28.0 - '@sentry/webpack-plugin': 2.22.3(webpack@5.94.0) + '@rollup/plugin-commonjs': 26.0.1(rollup@3.29.5) + '@sentry-internal/browser-utils': 8.33.1 + '@sentry/core': 8.33.1 + '@sentry/node': 8.33.1 + '@sentry/opentelemetry': 8.33.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0) + '@sentry/react': 8.33.1(react@18.3.1) + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 + '@sentry/vercel-edge': 8.33.1 + '@sentry/webpack-plugin': 2.22.3(webpack@5.95.0) chalk: 3.0.0 - next: 14.2.8(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next: 14.2.15(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) resolve: 1.22.8 - rollup: 3.29.4 + rollup: 3.29.5 stacktrace-parser: 0.1.10 optionalDependencies: - webpack: 5.94.0 + webpack: 5.95.0 transitivePeerDependencies: - '@opentelemetry/api' - '@opentelemetry/core' @@ -5547,84 +6502,90 @@ snapshots: - react - supports-color - '@sentry/node@8.28.0': + '@sentry/node@8.33.1': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/context-async-hooks': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-connect': 0.38.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-express': 0.41.1(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-fastify': 0.38.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-fs': 0.14.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-graphql': 0.42.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-hapi': 0.40.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-http': 0.52.1(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-ioredis': 0.42.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-koa': 0.42.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-mongodb': 0.46.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-mongoose': 0.40.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-mysql': 0.40.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-mysql2': 0.40.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-nestjs-core': 0.39.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-pg': 0.43.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-redis-4': 0.41.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-amqplib': 0.42.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-connect': 0.39.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-dataloader': 0.12.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-express': 0.42.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-fastify': 0.39.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-fs': 0.15.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-generic-pool': 0.39.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-graphql': 0.43.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-hapi': 0.41.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-http': 0.53.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-ioredis': 0.43.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-kafkajs': 0.3.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-koa': 0.43.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-lru-memoizer': 0.40.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-mongodb': 0.47.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-mongoose': 0.42.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-mysql': 0.41.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-mysql2': 0.41.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-nestjs-core': 0.40.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-pg': 0.44.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-redis-4': 0.42.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-undici': 0.6.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 - '@prisma/instrumentation': 5.18.0 - '@sentry/core': 8.28.0 - '@sentry/opentelemetry': 8.28.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0) - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 + '@prisma/instrumentation': 5.19.1 + '@sentry/core': 8.33.1 + '@sentry/opentelemetry': 8.33.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0) + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 import-in-the-middle: 1.11.0 - optionalDependencies: - opentelemetry-instrumentation-fetch-node: 1.2.3(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color - '@sentry/opentelemetry@8.28.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0)': + '@sentry/opentelemetry@8.33.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 - '@sentry/core': 8.28.0 - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 + '@sentry/core': 8.33.1 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 - '@sentry/react@8.28.0(react@18.3.1)': + '@sentry/react@8.33.1(react@18.3.1)': dependencies: - '@sentry/browser': 8.28.0 - '@sentry/core': 8.28.0 - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 + '@sentry/browser': 8.33.1 + '@sentry/core': 8.33.1 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 hoist-non-react-statics: 3.3.2 react: 18.3.1 - '@sentry/types@8.28.0': {} + '@sentry/types@8.33.1': {} - '@sentry/utils@8.28.0': + '@sentry/utils@8.33.1': dependencies: - '@sentry/types': 8.28.0 + '@sentry/types': 8.33.1 - '@sentry/vercel-edge@8.28.0': + '@sentry/vercel-edge@8.33.1': dependencies: - '@sentry/core': 8.28.0 - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 + '@sentry/core': 8.33.1 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 - '@sentry/webpack-plugin@2.22.3(webpack@5.94.0)': + '@sentry/webpack-plugin@2.22.3(webpack@5.95.0)': dependencies: '@sentry/bundler-plugin-core': 2.22.3 unplugin: 1.0.1 uuid: 9.0.1 - webpack: 5.94.0 + webpack: 5.95.0 transitivePeerDependencies: - encoding - supports-color + '@softonus/prettier-plugin-duplicate-remover@1.0.1': {} + '@surma/rollup-plugin-off-main-thread@2.2.3': dependencies: ejs: 3.1.10 @@ -5655,16 +6616,29 @@ snapshots: '@types/connect@3.4.36': dependencies: - '@types/node': 20.16.5 + '@types/node': 22.7.4 + + '@types/eslint-config-prettier@6.11.3': {} + + '@types/eslint@9.6.1': + dependencies: + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 + + '@types/eslint__js@8.42.3': + dependencies: + '@types/eslint': 9.6.1 '@types/estree@0.0.39': {} '@types/estree@1.0.5': {} + '@types/estree@1.0.6': {} + '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.16.5 + '@types/node': 22.7.4 '@types/json-schema@7.0.15': {} @@ -5676,14 +6650,14 @@ snapshots: '@types/minimatch@5.1.2': {} - '@types/mysql@2.15.22': + '@types/mysql@2.15.26': dependencies: - '@types/node': 20.16.5 + '@types/node': 22.7.4 '@types/next-pwa@5.6.9(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@types/node': 20.16.5 - '@types/react': 18.3.5 + '@types/node': 22.7.4 + '@types/react': 18.3.11 '@types/react-dom': 18.3.0 next: 13.5.6(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) workbox-build: 6.6.0 @@ -5697,131 +6671,184 @@ snapshots: - sass - supports-color - '@types/node@20.16.5': + '@types/node@22.7.4': dependencies: undici-types: 6.19.8 - '@types/pg-pool@2.0.4': + '@types/parse-json@4.0.2': {} + + '@types/pg-pool@2.0.6': dependencies: '@types/pg': 8.6.1 '@types/pg@8.6.1': dependencies: - '@types/node': 20.16.5 + '@types/node': 22.7.4 pg-protocol: 1.6.1 pg-types: 2.2.0 '@types/prop-types@15.7.12': {} + '@types/prop-types@15.7.13': {} + '@types/react-dom@18.3.0': dependencies: - '@types/react': 18.3.5 + '@types/react': 18.3.11 '@types/react-transition-group@4.4.11': dependencies: - '@types/react': 18.3.5 + '@types/react': 18.3.11 - '@types/react@18.3.5': + '@types/react@18.3.11': dependencies: '@types/prop-types': 15.7.12 csstype: 3.1.3 '@types/resolve@1.17.1': dependencies: - '@types/node': 20.16.5 - - '@types/semver@7.5.8': {} + '@types/node': 22.7.4 '@types/shimmer@1.2.0': {} '@types/trusted-types@2.0.7': {} - '@types/warning@3.0.3': {} + '@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@eslint-community/regexpp': 4.11.0 + '@typescript-eslint/parser': 8.8.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.8.1 + '@typescript-eslint/type-utils': 8.8.1(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/utils': 8.8.1(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.8.1 + eslint: 8.57.1 + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 1.3.0(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color - '@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/scope-manager': 7.2.0 - '@typescript-eslint/type-utils': 7.2.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/utils': 7.2.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 7.2.0 - debug: 4.3.6 - eslint: 8.57.0 + '@typescript-eslint/parser': 8.8.1(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.8.1 + '@typescript-eslint/type-utils': 8.8.1(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/utils': 8.8.1(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.8.1 + eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.5.4) + ts-api-utils: 1.3.0(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.8.0 + '@typescript-eslint/types': 8.8.0 + '@typescript-eslint/typescript-estree': 8.8.0(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.8.0 + debug: 4.3.6 + eslint: 8.57.1 optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3)': dependencies: - '@typescript-eslint/scope-manager': 7.2.0 - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 7.2.0 + '@typescript-eslint/scope-manager': 8.8.1 + '@typescript-eslint/types': 8.8.1 + '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.8.1 debug: 4.3.6 - eslint: 8.57.0 + eslint: 8.57.1 optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@7.2.0': + '@typescript-eslint/scope-manager@8.8.0': dependencies: - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/visitor-keys': 7.2.0 + '@typescript-eslint/types': 8.8.0 + '@typescript-eslint/visitor-keys': 8.8.0 - '@typescript-eslint/type-utils@7.2.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/scope-manager@8.8.1': dependencies: - '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.5.4) - '@typescript-eslint/utils': 7.2.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/types': 8.8.1 + '@typescript-eslint/visitor-keys': 8.8.1 + + '@typescript-eslint/type-utils@8.8.1(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.3) + '@typescript-eslint/utils': 8.8.1(eslint@8.57.1)(typescript@5.6.3) debug: 4.3.6 - eslint: 8.57.0 - ts-api-utils: 1.3.0(typescript@5.5.4) + ts-api-utils: 1.3.0(typescript@5.6.3) optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.3 transitivePeerDependencies: + - eslint - supports-color - '@typescript-eslint/types@7.2.0': {} + '@typescript-eslint/types@8.8.0': {} - '@typescript-eslint/typescript-estree@7.2.0(typescript@5.5.4)': + '@typescript-eslint/types@8.8.1': {} + + '@typescript-eslint/typescript-estree@8.8.0(typescript@5.6.3)': dependencies: - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/visitor-keys': 7.2.0 + '@typescript-eslint/types': 8.8.0 + '@typescript-eslint/visitor-keys': 8.8.0 debug: 4.3.6 - globby: 11.1.0 + fast-glob: 3.3.2 is-glob: 4.0.3 - minimatch: 9.0.3 + minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.5.4) + ts-api-utils: 1.3.0(typescript@5.6.3) optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.2.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/typescript-estree@8.8.1(typescript@5.6.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.2.0 - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.5.4) - eslint: 8.57.0 + '@typescript-eslint/types': 8.8.1 + '@typescript-eslint/visitor-keys': 8.8.1 + debug: 4.3.6 + fast-glob: 3.3.2 + is-glob: 4.0.3 + minimatch: 9.0.5 semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.8.1(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@typescript-eslint/scope-manager': 8.8.1 + '@typescript-eslint/types': 8.8.1 + '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.3) + eslint: 8.57.1 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@7.2.0': + '@typescript-eslint/visitor-keys@8.8.0': dependencies: - '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/types': 8.8.0 + eslint-visitor-keys: 3.4.3 + + '@typescript-eslint/visitor-keys@8.8.1': + dependencies: + '@typescript-eslint/types': 8.8.1 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} @@ -5906,11 +6933,6 @@ snapshots: '@xtuc/long@4.2.2': {} - acorn-import-assertions@1.9.0(acorn@8.12.1): - dependencies: - acorn: 8.12.1 - optional: true - acorn-import-attributes@1.9.5(acorn@8.12.1): dependencies: acorn: 8.12.1 @@ -5963,11 +6985,15 @@ snapshots: ansi-styles@6.2.1: {} + any-promise@1.3.0: {} + anymatch@3.1.3: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 + arg@5.0.2: {} + argparse@2.0.1: {} aria-query@5.1.3: @@ -5988,6 +7014,8 @@ snapshots: get-intrinsic: 1.2.4 is-string: 1.0.7 + array-timsort@1.0.3: {} + array-union@1.0.2: dependencies: array-uniq: 1.0.3 @@ -6053,6 +7081,16 @@ snapshots: at-least-node@1.0.0: {} + autoprefixer@10.4.20(postcss@8.4.47): + dependencies: + browserslist: 4.23.3 + caniuse-lite: 1.0.30001655 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.0 + postcss: 8.4.47 + postcss-value-parser: 4.2.0 + available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.0.0 @@ -6061,14 +7099,20 @@ snapshots: axobject-query@4.1.0: {} - babel-loader@8.3.0(@babel/core@7.25.2)(webpack@5.94.0): + babel-loader@8.3.0(@babel/core@7.25.2)(webpack@5.95.0): dependencies: '@babel/core': 7.25.2 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.94.0 + webpack: 5.95.0 + + babel-plugin-macros@3.1.0: + dependencies: + '@babel/runtime': 7.25.6 + cosmiconfig: 7.1.0 + resolve: 1.22.8 babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.25.2): dependencies: @@ -6096,8 +7140,6 @@ snapshots: balanced-match@1.0.2: {} - base64-arraybuffer@1.0.2: {} - big.js@5.2.2: {} binary-extensions@2.3.0: {} @@ -6142,6 +7184,8 @@ snapshots: callsites@3.1.0: {} + camelcase-css@2.0.1: {} + caniuse-lite@1.0.30001655: {} chalk@2.4.2: @@ -6180,10 +7224,15 @@ snapshots: classnames@2.5.1: {} - clean-webpack-plugin@4.0.0(webpack@5.94.0): + clean-webpack-plugin@4.0.0(webpack@5.95.0): dependencies: del: 4.1.1 - webpack: 5.94.0 + webpack: 5.95.0 + + clear-module@4.1.2: + dependencies: + parent-module: 2.0.0 + resolve-from: 5.0.0 cli-cursor@5.0.0: dependencies: @@ -6196,11 +7245,7 @@ snapshots: client-only@0.0.1: {} - clone-deep@4.0.1: - dependencies: - is-plain-object: 2.0.4 - kind-of: 6.0.3 - shallow-clone: 3.0.1 + clsx@2.1.1: {} color-convert@1.9.3: dependencies: @@ -6220,17 +7265,25 @@ snapshots: commander@2.20.3: {} + commander@4.1.1: {} + + comment-json@4.2.5: + dependencies: + array-timsort: 1.0.3 + core-util-is: 1.0.3 + esprima: 4.0.1 + has-own-prop: 2.0.0 + repeat-string: 1.6.1 + common-tags@1.8.2: {} commondir@1.0.1: {} concat-map@0.0.1: {} - convert-source-map@2.0.0: {} + convert-source-map@1.9.0: {} - copy-anything@2.0.6: - dependencies: - is-what: 3.14.1 + convert-source-map@2.0.0: {} core-js-compat@3.38.1: dependencies: @@ -6238,6 +7291,16 @@ snapshots: core-js@3.38.1: {} + core-util-is@1.0.3: {} + + cosmiconfig@7.1.0: + dependencies: + '@types/parse-json': 4.0.2 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + cross-spawn@7.0.3: dependencies: path-key: 3.1.1 @@ -6246,9 +7309,72 @@ snapshots: crypto-random-string@2.0.0: {} - css-line-break@2.1.0: + cspell-config-lib@8.14.4: + dependencies: + '@cspell/cspell-types': 8.14.4 + comment-json: 4.2.5 + yaml: 2.5.1 + + cspell-dictionary@8.14.4: + dependencies: + '@cspell/cspell-pipe': 8.14.4 + '@cspell/cspell-types': 8.14.4 + cspell-trie-lib: 8.14.4 + fast-equals: 5.0.1 + + cspell-glob@8.14.4: + dependencies: + '@cspell/url': 8.14.4 + micromatch: 4.0.8 + + cspell-grammar@8.14.4: + dependencies: + '@cspell/cspell-pipe': 8.14.4 + '@cspell/cspell-types': 8.14.4 + + cspell-io@8.14.4: + dependencies: + '@cspell/cspell-service-bus': 8.14.4 + '@cspell/url': 8.14.4 + + cspell-lib@8.14.4: + dependencies: + '@cspell/cspell-bundled-dicts': 8.14.4 + '@cspell/cspell-pipe': 8.14.4 + '@cspell/cspell-resolver': 8.14.4 + '@cspell/cspell-types': 8.14.4 + '@cspell/dynamic-import': 8.14.4 + '@cspell/filetypes': 8.14.4 + '@cspell/strong-weak-map': 8.14.4 + '@cspell/url': 8.14.4 + clear-module: 4.1.2 + comment-json: 4.2.5 + cspell-config-lib: 8.14.4 + cspell-dictionary: 8.14.4 + cspell-glob: 8.14.4 + cspell-grammar: 8.14.4 + cspell-io: 8.14.4 + cspell-trie-lib: 8.14.4 + env-paths: 3.0.0 + fast-equals: 5.0.1 + gensequence: 7.0.0 + import-fresh: 3.3.0 + resolve-from: 5.0.0 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.0.8 + xdg-basedir: 5.1.0 + + cspell-trie-lib@8.14.4: + dependencies: + '@cspell/cspell-pipe': 8.14.4 + '@cspell/cspell-types': 8.14.4 + gensequence: 7.0.0 + + css-declaration-sorter@7.2.0(postcss@8.4.47): dependencies: - utrie: 1.0.2 + postcss: 8.4.47 + + cssesc@3.0.0: {} csstype@3.1.3: {} @@ -6327,12 +7453,14 @@ snapshots: pify: 4.0.1 rimraf: 2.7.1 - dequal@2.0.3: {} + didyoumean@1.2.2: {} dir-glob@3.0.1: dependencies: path-type: 4.0.0 + dlv@1.1.3: {} + doctrine@2.1.0: dependencies: esutils: 2.0.3 @@ -6354,8 +7482,6 @@ snapshots: dependencies: safe-buffer: 5.2.1 - editorjs-html@3.4.3: {} - ejs@3.1.10: dependencies: jake: 10.9.2 @@ -6377,12 +7503,13 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.1 + env-paths@3.0.0: {} + environment@1.1.0: {} - errno@0.1.8: + error-ex@1.3.2: dependencies: - prr: 1.0.1 - optional: true + is-arrayish: 0.2.1 es-abstract@1.23.3: dependencies: @@ -6496,29 +7623,29 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-config-next@14.2.8(eslint@8.57.0)(typescript@5.5.4): + eslint-config-next@14.2.14(eslint@8.57.1)(typescript@5.6.3): dependencies: - '@next/eslint-plugin-next': 14.2.8 + '@next/eslint-plugin-next': 14.2.14 '@rushstack/eslint-patch': 1.10.4 - '@typescript-eslint/eslint-plugin': 7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.5.4) - eslint: 8.57.0 + '@typescript-eslint/eslint-plugin': 8.8.1(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/parser': 8.8.0(eslint@8.57.1)(typescript@5.6.3) + eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0) - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.0) - eslint-plugin-react: 7.35.2(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1) + eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) + eslint-plugin-react: 7.37.1(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.3 transitivePeerDependencies: - eslint-import-resolver-webpack - eslint-plugin-import-x - supports-color - eslint-config-prettier@9.1.0(eslint@8.57.0): + eslint-config-prettier@9.1.0(eslint@8.57.1): dependencies: - eslint: 8.57.0 + eslint: 8.57.1 eslint-import-resolver-node@0.3.9: dependencies: @@ -6528,37 +7655,37 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.3.6 enhanced-resolve: 5.17.1 - eslint: 8.57.0 - eslint-module-utils: 2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0) + eslint: 8.57.1 + eslint-module-utils: 2.9.0(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1) fast-glob: 3.3.2 get-tsconfig: 4.8.0 is-bun-module: 1.1.0 is-glob: 4.0.3 optionalDependencies: - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0) + eslint-plugin-import: 2.30.0(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.9.0(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.5.4) - eslint: 8.57.0 + '@typescript-eslint/parser': 8.8.0(eslint@8.57.1)(typescript@5.6.3) + eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0): + eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -6567,9 +7694,9 @@ snapshots: array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.57.0 + eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.9.0(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -6580,13 +7707,13 @@ snapshots: semver: 6.3.1 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/parser': 8.8.0(eslint@8.57.1)(typescript@5.6.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.0): + eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1): dependencies: aria-query: 5.1.3 array-includes: 3.1.8 @@ -6597,7 +7724,7 @@ snapshots: damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 es-iterator-helpers: 1.0.19 - eslint: 8.57.0 + eslint: 8.57.1 hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -6606,11 +7733,13 @@ snapshots: safe-regex-test: 1.0.3 string.prototype.includes: 2.0.0 - eslint-plugin-react-hooks@4.6.2(eslint@8.57.0): + eslint-plugin-material-ui@1.0.1: {} + + eslint-plugin-react-hooks@4.6.2(eslint@8.57.1): dependencies: - eslint: 8.57.0 + eslint: 8.57.1 - eslint-plugin-react@7.35.2(eslint@8.57.0): + eslint-plugin-react@7.37.1(eslint@8.57.1): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -6618,7 +7747,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.0.19 - eslint: 8.57.0 + eslint: 8.57.1 estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -6632,9 +7761,9 @@ snapshots: string.prototype.matchall: 4.0.11 string.prototype.repeat: 1.0.0 - eslint-plugin-simple-import-sort@12.1.1(eslint@8.57.0): + eslint-plugin-simple-import-sort@12.1.1(eslint@8.57.1): dependencies: - eslint: 8.57.0 + eslint: 8.57.1 eslint-scope@5.1.1: dependencies: @@ -6648,13 +7777,13 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint@8.57.0: + eslint@8.57.1: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) '@eslint-community/regexpp': 4.11.0 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 @@ -6697,6 +7826,8 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.12.1) eslint-visitor-keys: 3.4.3 + esprima@4.0.1: {} + esquery@1.6.0: dependencies: estraverse: 5.3.0 @@ -6733,6 +7864,8 @@ snapshots: fast-deep-equal@3.1.3: {} + fast-equals@5.0.1: {} + fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -6761,7 +7894,7 @@ snapshots: dependencies: flat-cache: 3.2.0 - file-type@19.4.1: + file-type@19.5.0: dependencies: get-stream: 9.0.1 strtok3: 8.1.0 @@ -6782,6 +7915,8 @@ snapshots: make-dir: 3.1.0 pkg-dir: 4.2.0 + find-root@1.1.0: {} + find-up@4.1.0: dependencies: locate-path: 5.0.0 @@ -6809,6 +7944,8 @@ snapshots: cross-spawn: 7.0.3 signal-exit: 4.1.0 + fraction.js@4.3.7: {} + fs-extra@9.1.0: dependencies: at-least-node: 1.0.0 @@ -6832,6 +7969,8 @@ snapshots: functions-have-names@1.2.3: {} + gensequence@7.0.0: {} + gensync@1.0.0-beta.2: {} get-east-asian-width@1.2.0: {} @@ -6906,12 +8045,18 @@ snapshots: minipass: 4.2.8 path-scurry: 1.11.1 + global-directory@4.0.1: + dependencies: + ini: 4.1.1 + globals@11.12.0: {} globals@13.24.0: dependencies: type-fest: 0.20.2 + globals@15.11.0: {} + globalthis@1.0.4: dependencies: define-properties: 1.2.1 @@ -6948,6 +8093,8 @@ snapshots: has-flag@4.0.0: {} + has-own-prop@2.0.0: {} + has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.0 @@ -6968,11 +8115,6 @@ snapshots: dependencies: react-is: 16.13.1 - html2canvas@1.4.1: - dependencies: - css-line-break: 2.1.0 - text-segmentation: 1.0.3 - https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 @@ -6982,50 +8124,16 @@ snapshots: human-signals@5.0.0: {} - husky@9.1.5: {} - - iconv-lite@0.6.3: - dependencies: - safer-buffer: 2.1.2 - optional: true + husky@9.1.6: {} idb-keyval@6.2.1: {} idb@7.1.1: {} - idea-react@2.0.0-rc.2(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4): - dependencies: - '@editorjs/editorjs': 2.30.5 - '@editorjs/paragraph': 2.11.6 - '@react-editor-js/core': 2.1.0(@editorjs/editorjs@2.30.5)(react@18.3.1) - '@swc/helpers': 0.5.13 - classnames: 2.5.1 - editorjs-html: 3.4.3 - html2canvas: 1.4.1 - iterable-observer: 1.1.0 - lodash: 4.17.21 - mobx: 6.13.1 - mobx-react: 9.1.1(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - mobx-react-helper: 0.3.1(mobx@6.13.1)(react@18.3.1) - prismjs: 1.29.0 - react: 18.3.1 - react-bootstrap: 2.10.4(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-dom: 18.3.1(react@18.3.1) - react-editor-js: 2.1.0(@editorjs/editorjs@2.30.5)(@editorjs/paragraph@2.11.6)(react@18.3.1) - react-element-to-jsx-string: 15.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - web-utility: 4.4.0(typescript@5.5.4) - transitivePeerDependencies: - - '@types/react' - - react-native - - typescript - ieee754@1.2.1: {} ignore@5.3.2: {} - image-size@0.5.5: - optional: true - import-fresh@3.3.0: dependencies: parent-module: 1.0.1 @@ -7038,13 +8146,7 @@ snapshots: cjs-module-lexer: 1.4.0 module-details-from-path: 1.0.3 - import-in-the-middle@1.7.1: - dependencies: - acorn: 8.12.1 - acorn-import-assertions: 1.9.0(acorn@8.12.1) - cjs-module-lexer: 1.4.0 - module-details-from-path: 1.0.3 - optional: true + import-meta-resolve@4.1.0: {} imurmurhash@0.1.4: {} @@ -7055,16 +8157,14 @@ snapshots: inherits@2.0.4: {} + ini@4.1.1: {} + internal-slot@1.0.7: dependencies: es-errors: 1.3.0 hasown: 2.0.2 side-channel: 1.0.6 - invariant@2.2.4: - dependencies: - loose-envify: 1.4.0 - is-arguments@1.1.1: dependencies: call-bind: 1.0.7 @@ -7075,6 +8175,8 @@ snapshots: call-bind: 1.0.7 get-intrinsic: 1.2.4 + is-arrayish@0.2.1: {} + is-async-function@2.0.0: dependencies: has-tostringtag: 1.0.2 @@ -7158,12 +8260,6 @@ snapshots: is-path-inside@3.0.3: {} - is-plain-object@2.0.4: - dependencies: - isobject: 3.0.1 - - is-plain-object@5.0.0: {} - is-reference@1.2.1: dependencies: '@types/estree': 1.0.5 @@ -7210,18 +8306,10 @@ snapshots: call-bind: 1.0.7 get-intrinsic: 1.2.4 - is-what@3.14.1: {} - isarray@2.0.5: {} isexe@2.0.0: {} - isobject@3.0.1: {} - - iterable-observer@1.1.0: - dependencies: - '@swc/helpers': 0.5.13 - iterator.prototype@1.1.2: dependencies: define-properties: 1.2.1 @@ -7251,16 +8339,18 @@ snapshots: jest-worker@26.6.2: dependencies: - '@types/node': 20.16.5 + '@types/node': 22.7.4 merge-stream: 2.0.0 supports-color: 7.2.0 jest-worker@27.5.1: dependencies: - '@types/node': 20.16.5 + '@types/node': 22.7.4 merge-stream: 2.0.0 supports-color: 8.1.1 + jiti@1.21.6: {} + js-tokens@4.0.0: {} js-yaml@4.1.0: @@ -7269,7 +8359,7 @@ snapshots: jsesc@0.5.0: {} - jsesc@2.5.2: {} + jsesc@3.0.2: {} json-buffer@3.0.1: {} @@ -7332,15 +8422,13 @@ snapshots: dependencies: json-buffer: 3.0.1 - kind-of@6.0.3: {} - - koajax@3.0.1(typescript@5.5.4): + koajax@3.0.2(typescript@5.6.3): dependencies: '@swc/helpers': 0.5.13 core-js: 3.38.1 regenerator-runtime: 0.14.1 web-streams-polyfill: 4.0.0 - web-utility: 4.4.0(typescript@5.5.4) + web-utility: 4.4.0(typescript@5.6.3) transitivePeerDependencies: - typescript @@ -7350,26 +8438,6 @@ snapshots: dependencies: language-subtag-registry: 0.3.23 - less-loader@12.2.0(less@4.2.0)(webpack@5.94.0): - dependencies: - less: 4.2.0 - optionalDependencies: - webpack: 5.94.0 - - less@4.2.0: - dependencies: - copy-anything: 2.0.6 - parse-node-version: 1.0.1 - tslib: 2.7.0 - optionalDependencies: - errno: 0.1.8 - graceful-fs: 4.2.11 - image-size: 0.5.5 - make-dir: 2.1.0 - mime: 1.6.0 - needle: 3.3.1 - source-map: 0.6.1 - leven@3.1.0: {} levn@0.4.1: @@ -7377,8 +8445,12 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lilconfig@2.1.0: {} + lilconfig@3.1.2: {} + lines-and-columns@1.2.4: {} + lint-staged@15.2.10: dependencies: chalk: 5.3.0 @@ -7425,8 +8497,6 @@ snapshots: lodash.isboolean@3.0.3: {} - lodash.isequalwith@4.4.0: {} - lodash.isinteger@4.0.4: {} lodash.isnumber@3.0.3: {} @@ -7473,12 +8543,6 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 - make-dir@2.1.0: - dependencies: - pify: 4.0.1 - semver: 5.7.2 - optional: true - make-dir@3.1.0: dependencies: semver: 6.3.1 @@ -7500,9 +8564,6 @@ snapshots: dependencies: mime-db: 1.52.0 - mime@1.6.0: - optional: true - mimic-fn@4.0.0: {} mimic-function@5.0.1: {} @@ -7519,10 +8580,6 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimatch@9.0.3: - dependencies: - brace-expansion: 2.0.1 - minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 @@ -7533,95 +8590,72 @@ snapshots: minipass@7.1.2: {} - mobx-github@0.3.4(typescript@5.5.4): + mobx-github@0.3.4(typescript@5.6.3): dependencies: '@octokit/openapi-types': 22.2.0 '@swc/helpers': 0.5.13 '@types/lodash': 4.17.7 - koajax: 3.0.1(typescript@5.5.4) + koajax: 3.0.2(typescript@5.6.3) lodash: 4.17.21 - mobx: 6.13.1 - mobx-restful: 1.0.1(mobx@6.13.1)(typescript@5.5.4) - web-utility: 4.4.0(typescript@5.5.4) + mobx: 6.13.3 + mobx-restful: 1.0.1(mobx@6.13.3)(typescript@5.6.3) + web-utility: 4.4.0(typescript@5.6.3) transitivePeerDependencies: - jsdom - typescript - mobx-i18n@0.5.0(mobx@6.13.1): + mobx-i18n@0.6.0(mobx@6.13.3)(typescript@5.6.3): dependencies: '@swc/helpers': 0.5.13 - mobx: 6.13.1 + mobx: 6.13.3 regenerator-runtime: 0.14.1 + web-utility: 4.4.0(typescript@5.6.3) + transitivePeerDependencies: + - typescript - mobx-lark@2.0.0-rc.2(mobx@6.13.1)(typescript@5.5.4): + mobx-lark@2.0.0-rc.2(mobx@6.13.3)(typescript@5.6.3): dependencies: '@swc/helpers': 0.5.13 - koajax: 3.0.1(typescript@5.5.4) - mobx: 6.13.1 - mobx-restful: 1.0.1(mobx@6.13.1)(typescript@5.5.4) + koajax: 3.0.2(typescript@5.6.3) + mobx: 6.13.3 + mobx-restful: 1.0.1(mobx@6.13.3)(typescript@5.6.3) regenerator-runtime: 0.14.1 - web-utility: 4.4.0(typescript@5.5.4) + web-utility: 4.4.0(typescript@5.6.3) transitivePeerDependencies: - jsdom - typescript - mobx-react-helper@0.3.1(mobx@6.13.1)(react@18.3.1): - dependencies: - '@swc/helpers': 0.5.13 - lodash.isequalwith: 4.4.0 - mobx: 6.13.1 - react: 18.3.1 - - mobx-react-lite@4.0.7(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + mobx-react-lite@4.0.7(mobx@6.13.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - mobx: 6.13.1 + mobx: 6.13.3 react: 18.3.1 use-sync-external-store: 1.2.2(react@18.3.1) optionalDependencies: react-dom: 18.3.1(react@18.3.1) - mobx-react@9.1.1(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + mobx-react@9.1.1(mobx@6.13.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - mobx: 6.13.1 - mobx-react-lite: 4.0.7(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + mobx: 6.13.3 + mobx-react-lite: 4.0.7(mobx@6.13.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 optionalDependencies: react-dom: 18.3.1(react@18.3.1) - mobx-restful-table@2.0.0(@types/react@18.3.5)(mobx-i18n@0.5.0(mobx@6.13.1))(mobx-react@9.1.1(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(mobx-restful@1.0.1(mobx@6.13.1)(typescript@5.5.4))(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4): - dependencies: - '@swc/helpers': 0.5.13 - classnames: 2.5.1 - lodash: 4.17.21 - mobx: 6.13.1 - mobx-i18n: 0.5.0(mobx@6.13.1) - mobx-react: 9.1.1(mobx@6.13.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - mobx-react-helper: 0.3.1(mobx@6.13.1)(react@18.3.1) - mobx-restful: 1.0.1(mobx@6.13.1)(typescript@5.5.4) - react: 18.3.1 - react-bootstrap: 2.10.4(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - regenerator-runtime: 0.14.1 - web-utility: 4.4.0(typescript@5.5.4) - transitivePeerDependencies: - - '@types/react' - - react-dom - - typescript - - mobx-restful@1.0.1(mobx@6.13.1)(typescript@5.5.4): + mobx-restful@1.0.1(mobx@6.13.3)(typescript@5.6.3): dependencies: '@swc/helpers': 0.5.13 idb-keyval: 6.2.1 - koajax: 3.0.1(typescript@5.5.4) - mobx: 6.13.1 + koajax: 3.0.2(typescript@5.6.3) + mobx: 6.13.3 native-file-system-adapter: '@tech_query/native-file-system-adapter@3.0.1' regenerator-runtime: 0.14.1 web-streams-polyfill: 4.0.0 - web-utility: 4.4.0(typescript@5.5.4) + web-utility: 4.4.0(typescript@5.6.3) transitivePeerDependencies: - jsdom - typescript - mobx@6.13.1: {} + mobx@6.13.3: {} module-details-from-path@1.0.3: {} @@ -7629,26 +8663,26 @@ snapshots: ms@2.1.3: {} + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + nanoid@3.3.7: {} natural-compare@1.4.0: {} - needle@3.3.1: - dependencies: - iconv-lite: 0.6.3 - sax: 1.4.1 - optional: true - neo-async@2.6.2: {} - next-pwa@5.6.0(@babel/core@7.25.2)(next@14.2.8(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.94.0): + next-pwa@5.6.0(@babel/core@7.25.2)(next@14.2.15(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(webpack@5.95.0): dependencies: - babel-loader: 8.3.0(@babel/core@7.25.2)(webpack@5.94.0) - clean-webpack-plugin: 4.0.0(webpack@5.94.0) + babel-loader: 8.3.0(@babel/core@7.25.2)(webpack@5.95.0) + clean-webpack-plugin: 4.0.0(webpack@5.95.0) globby: 11.1.0 - next: 14.2.8(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - terser-webpack-plugin: 5.3.10(webpack@5.94.0) - workbox-webpack-plugin: 6.6.0(webpack@5.94.0) + next: 14.2.15(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + terser-webpack-plugin: 5.3.10(webpack@5.95.0) + workbox-webpack-plugin: 6.6.0(webpack@5.95.0) workbox-window: 6.6.0 transitivePeerDependencies: - '@babel/core' @@ -7659,23 +8693,20 @@ snapshots: - uglify-js - webpack - next-ssr-middleware@0.8.7(mobx@6.13.1)(next@14.2.8(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.5.4): + next-ssr-middleware@0.8.8(mobx-i18n@0.6.0(mobx@6.13.3)(typescript@5.6.3))(next@14.2.15(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3): dependencies: jsonwebtoken: 9.0.2 - mobx-i18n: 0.5.0(mobx@6.13.1) - next: 14.2.8(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + mobx-i18n: 0.6.0(mobx@6.13.3)(typescript@5.6.3) + next: 14.2.15(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) tslib: 2.7.0 - web-utility: 4.4.0(typescript@5.5.4) + web-utility: 4.4.0(typescript@5.6.3) transitivePeerDependencies: - - mobx - typescript - next-with-less@3.0.1(less-loader@12.2.0(less@4.2.0)(webpack@5.94.0))(less@4.2.0)(next@14.2.8(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): + next-themes@0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - clone-deep: 4.0.1 - less: 4.2.0 - less-loader: 12.2.0(less@4.2.0)(webpack@5.94.0) - next: 14.2.8(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) next@13.5.6(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: @@ -7703,9 +8734,9 @@ snapshots: - '@babel/core' - babel-plugin-macros - next@14.2.8(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next@14.2.15(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@next/env': 14.2.8 + '@next/env': 14.2.15 '@swc/helpers': 0.5.5 busboy: 1.6.0 caniuse-lite: 1.0.30001655 @@ -7715,15 +8746,15 @@ snapshots: react-dom: 18.3.1(react@18.3.1) styled-jsx: 5.1.1(@babel/core@7.25.2)(react@18.3.1) optionalDependencies: - '@next/swc-darwin-arm64': 14.2.8 - '@next/swc-darwin-x64': 14.2.8 - '@next/swc-linux-arm64-gnu': 14.2.8 - '@next/swc-linux-arm64-musl': 14.2.8 - '@next/swc-linux-x64-gnu': 14.2.8 - '@next/swc-linux-x64-musl': 14.2.8 - '@next/swc-win32-arm64-msvc': 14.2.8 - '@next/swc-win32-ia32-msvc': 14.2.8 - '@next/swc-win32-x64-msvc': 14.2.8 + '@next/swc-darwin-arm64': 14.2.15 + '@next/swc-darwin-x64': 14.2.15 + '@next/swc-linux-arm64-gnu': 14.2.15 + '@next/swc-linux-arm64-musl': 14.2.15 + '@next/swc-linux-x64-gnu': 14.2.15 + '@next/swc-linux-x64-musl': 14.2.15 + '@next/swc-win32-arm64-msvc': 14.2.15 + '@next/swc-win32-ia32-msvc': 14.2.15 + '@next/swc-win32-x64-msvc': 14.2.15 '@opentelemetry/api': 1.9.0 transitivePeerDependencies: - '@babel/core' @@ -7740,12 +8771,16 @@ snapshots: normalize-path@3.0.0: {} + normalize-range@0.1.2: {} + npm-run-path@5.3.0: dependencies: path-key: 4.0.0 object-assign@4.1.1: {} + object-hash@3.0.0: {} + object-inspect@1.13.2: {} object-is@1.1.6: @@ -7799,15 +8834,6 @@ snapshots: dependencies: mimic-function: 5.0.1 - opentelemetry-instrumentation-fetch-node@1.2.3(@opentelemetry/api@1.9.0): - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/instrumentation': 0.46.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.27.0 - transitivePeerDependencies: - - supports-color - optional: true - optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -7843,7 +8869,16 @@ snapshots: dependencies: callsites: 3.1.0 - parse-node-version@1.0.1: {} + parent-module@2.0.0: + dependencies: + callsites: 3.1.0 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.25.7 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 path-exists@4.0.0: {} @@ -7894,17 +8929,64 @@ snapshots: pinkie@2.0.4: {} + pirates@4.0.6: {} + pkg-dir@4.2.0: dependencies: find-up: 4.1.0 possible-typed-array-names@1.0.0: {} + postcss-import@15.1.0(postcss@8.4.47): + dependencies: + postcss: 8.4.47 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.8 + + postcss-js@4.0.1(postcss@8.4.47): + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.47 + + postcss-less@6.0.0(postcss@8.4.47): + dependencies: + postcss: 8.4.47 + + postcss-load-config@4.0.2(postcss@8.4.47): + dependencies: + lilconfig: 3.1.2 + yaml: 2.5.1 + optionalDependencies: + postcss: 8.4.47 + + postcss-nested@6.2.0(postcss@8.4.47): + dependencies: + postcss: 8.4.47 + postcss-selector-parser: 6.1.2 + + postcss-scss@4.0.9(postcss@8.4.47): + dependencies: + postcss: 8.4.47 + + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-value-parser@4.2.0: {} + postcss@8.4.31: dependencies: nanoid: 3.3.7 picocolors: 1.1.0 - source-map-js: 1.2.0 + source-map-js: 1.2.1 + + postcss@8.4.47: + dependencies: + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 postgres-array@2.0.0: {} @@ -7918,20 +9000,27 @@ snapshots: prelude-ls@1.2.1: {} + prettier-plugin-css-order@2.1.2(postcss@8.4.47)(prettier@3.3.3): + dependencies: + css-declaration-sorter: 7.2.0(postcss@8.4.47) + postcss-less: 6.0.0(postcss@8.4.47) + postcss-scss: 4.0.9(postcss@8.4.47) + prettier: 3.3.3 + transitivePeerDependencies: + - postcss + + prettier-plugin-tailwindcss@0.6.8(prettier-plugin-css-order@2.1.2(postcss@8.4.47)(prettier@3.3.3))(prettier@3.3.3): + dependencies: + prettier: 3.3.3 + optionalDependencies: + prettier-plugin-css-order: 2.1.2(postcss@8.4.47)(prettier@3.3.3) + prettier@3.3.3: {} pretty-bytes@5.6.0: {} - prismjs@1.29.0: {} - progress@2.0.3: {} - prop-types-extra@1.1.1(react@18.3.1): - dependencies: - react: 18.3.1 - react-is: 16.13.1 - warning: 4.0.3 - prop-types@15.8.1: dependencies: loose-envify: 1.4.0 @@ -7940,9 +9029,6 @@ snapshots: proxy-from-env@1.1.0: {} - prr@1.0.1: - optional: true - punycode@2.3.1: {} queue-microtask@1.2.3: {} @@ -7951,54 +9037,15 @@ snapshots: dependencies: safe-buffer: 5.2.1 - react-bootstrap@2.10.4(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@babel/runtime': 7.25.6 - '@restart/hooks': 0.4.16(react@18.3.1) - '@restart/ui': 1.8.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@types/react-transition-group': 4.4.11 - classnames: 2.5.1 - dom-helpers: 5.2.1 - invariant: 2.2.4 - prop-types: 15.8.1 - prop-types-extra: 1.1.1(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - uncontrollable: 7.2.1(react@18.3.1) - warning: 4.0.3 - optionalDependencies: - '@types/react': 18.3.5 - react-dom@18.3.1(react@18.3.1): dependencies: loose-envify: 1.4.0 react: 18.3.1 scheduler: 0.23.2 - react-editor-js@2.1.0(@editorjs/editorjs@2.30.5)(@editorjs/paragraph@2.11.6)(react@18.3.1): - dependencies: - '@react-editor-js/client': 2.1.0(@editorjs/editorjs@2.30.5)(@editorjs/paragraph@2.11.6)(react@18.3.1) - '@react-editor-js/core': 2.1.0(@editorjs/editorjs@2.30.5)(react@18.3.1) - '@react-editor-js/server': 2.1.0(@editorjs/editorjs@2.30.5)(@editorjs/paragraph@2.11.6)(react@18.3.1) - transitivePeerDependencies: - - '@editorjs/editorjs' - - '@editorjs/paragraph' - - react - - react-element-to-jsx-string@15.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@base2/pretty-print-object': 1.0.1 - is-plain-object: 5.0.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-is: 18.1.0 - react-is@16.13.1: {} - react-is@18.1.0: {} - - react-lifecycles-compat@3.0.4: {} + react-is@18.3.1: {} react-marked-renderer@2.0.1(react@18.3.1): dependencies: @@ -8019,6 +9066,10 @@ snapshots: dependencies: loose-envify: 1.4.0 + read-cache@1.0.0: + dependencies: + pify: 2.3.0 + readdirp@3.6.0: dependencies: picomatch: 2.3.1 @@ -8065,6 +9116,8 @@ snapshots: dependencies: jsesc: 0.5.0 + repeat-string@1.6.1: {} + require-from-string@2.0.2: {} require-in-the-middle@7.4.0: @@ -8077,6 +9130,8 @@ snapshots: resolve-from@4.0.0: {} + resolve-from@5.0.0: {} + resolve-pkg-maps@1.0.0: {} resolve@1.22.8: @@ -8110,7 +9165,7 @@ snapshots: rollup-plugin-terser@7.0.2(rollup@2.79.1): dependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.25.7 jest-worker: 26.6.2 rollup: 2.79.1 serialize-javascript: 4.0.0 @@ -8120,7 +9175,7 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - rollup@3.29.4: + rollup@3.29.5: optionalDependencies: fsevents: 2.3.3 @@ -8143,12 +9198,6 @@ snapshots: es-errors: 1.3.0 is-regex: 1.1.4 - safer-buffer@2.1.2: - optional: true - - sax@1.4.1: - optional: true - scheduler@0.23.2: dependencies: loose-envify: 1.4.0 @@ -8165,9 +9214,6 @@ snapshots: ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) - semver@5.7.2: - optional: true - semver@6.3.1: {} semver@7.6.3: {} @@ -8196,10 +9242,6 @@ snapshots: functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 - shallow-clone@3.0.1: - dependencies: - kind-of: 6.0.3 - shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -8231,13 +9273,15 @@ snapshots: source-list-map@2.0.1: {} - source-map-js@1.2.0: {} + source-map-js@1.2.1: {} source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 + source-map@0.5.7: {} + source-map@0.6.1: {} source-map@0.8.0-beta.0: @@ -8354,6 +9398,18 @@ snapshots: optionalDependencies: '@babel/core': 7.25.2 + stylis@4.2.0: {} + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + commander: 4.1.1 + glob: 10.4.5 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -8368,6 +9424,38 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + synckit@0.9.2: + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.7.0 + + tailwindcss@3.4.13: + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.6 + lilconfig: 2.1.0 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.0 + postcss: 8.4.47 + postcss-import: 15.1.0(postcss@8.4.47) + postcss-js: 4.0.1(postcss@8.4.47) + postcss-load-config: 4.0.2(postcss@8.4.47) + postcss-nested: 6.2.0(postcss@8.4.47) + postcss-selector-parser: 6.1.2 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + tapable@2.2.1: {} temp-dir@2.0.0: {} @@ -8379,14 +9467,14 @@ snapshots: type-fest: 0.16.0 unique-string: 2.0.0 - terser-webpack-plugin@5.3.10(webpack@5.94.0): + terser-webpack-plugin@5.3.10(webpack@5.95.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.31.6 - webpack: 5.94.0 + webpack: 5.95.0 terser@5.31.6: dependencies: @@ -8395,11 +9483,15 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - text-segmentation@1.0.3: + text-table@0.2.0: {} + + thenify-all@1.6.0: dependencies: - utrie: 1.0.2 + thenify: 3.3.1 - text-table@0.2.0: {} + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 to-fast-properties@2.0.0: {} @@ -8418,9 +9510,11 @@ snapshots: dependencies: punycode: 2.3.1 - ts-api-utils@1.3.0(typescript@5.5.4): + ts-api-utils@1.3.0(typescript@5.6.3): dependencies: - typescript: 5.5.4 + typescript: 5.6.3 + + ts-interface-checker@0.1.13: {} tsconfig-paths@3.15.0: dependencies: @@ -8473,7 +9567,18 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - typescript@5.5.4: {} + typescript-eslint@8.8.1(eslint@8.57.1)(typescript@5.6.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.8.1(@typescript-eslint/parser@8.8.1(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/parser': 8.8.1(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/utils': 8.8.1(eslint@8.57.1)(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - eslint + - supports-color + + typescript@5.6.3: {} uint8array-extras@1.4.0: {} @@ -8484,18 +9589,6 @@ snapshots: has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - uncontrollable@7.2.1(react@18.3.1): - dependencies: - '@babel/runtime': 7.25.6 - '@types/react': 18.3.5 - invariant: 2.2.4 - react: 18.3.1 - react-lifecycles-compat: 3.0.4 - - uncontrollable@8.0.4(react@18.3.1): - dependencies: - react: 18.3.1 - undici-types@6.19.8: {} unicode-canonical-property-names-ecmascript@2.0.0: {} @@ -8538,15 +9631,13 @@ snapshots: dependencies: react: 18.3.1 - utrie@1.0.2: - dependencies: - base64-arraybuffer: 1.0.2 + util-deprecate@1.0.2: {} uuid@9.0.1: {} - warning@4.0.3: - dependencies: - loose-envify: 1.4.0 + vscode-languageserver-textdocument@1.0.12: {} + + vscode-uri@3.0.8: {} watchpack@2.4.0: dependencies: @@ -8563,12 +9654,12 @@ snapshots: web-streams-polyfill@4.0.0: {} - web-utility@4.4.0(typescript@5.5.4): + web-utility@4.4.0(typescript@5.6.3): dependencies: '@swc/helpers': 0.5.13 element-internals-polyfill: 1.3.11 regenerator-runtime: 0.14.1 - typescript: 5.5.4 + typescript: 5.6.3 webidl-conversions@3.0.1: {} @@ -8583,7 +9674,7 @@ snapshots: webpack-virtual-modules@0.5.0: {} - webpack@5.94.0: + webpack@5.95.0: dependencies: '@types/estree': 1.0.5 '@webassemblyjs/ast': 1.12.1 @@ -8605,7 +9696,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.94.0) + terser-webpack-plugin: 5.3.10(webpack@5.95.0) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -8776,12 +9867,12 @@ snapshots: workbox-sw@6.6.0: {} - workbox-webpack-plugin@6.6.0(webpack@5.94.0): + workbox-webpack-plugin@6.6.0(webpack@5.95.0): dependencies: fast-json-stable-stringify: 2.1.0 pretty-bytes: 5.6.0 upath: 1.2.0 - webpack: 5.94.0 + webpack: 5.95.0 webpack-sources: 1.4.3 workbox-build: 6.6.0 transitivePeerDependencies: @@ -8813,10 +9904,14 @@ snapshots: wrappy@1.0.2: {} + xdg-basedir@5.1.0: {} + xtend@4.0.2: {} yallist@3.1.1: {} + yaml@1.10.2: {} + yaml@2.5.1: {} yocto-queue@0.1.0: {} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..842faf2 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,10 @@ + +module.exports = { + plugins: { + 'postcss-import': {}, + tailwindcss: {}, + autoprefixer: {}, + }, + ...(process.env.NODE_ENV === 'production' ? { cssnano: {} } : {}) + +} \ No newline at end of file diff --git a/public/idea2app.svg b/public/idea2app.svg new file mode 100644 index 0000000..9f6f93e --- /dev/null +++ b/public/idea2app.svg @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/public/manifest.json b/public/manifest.json index 8dff970..c7ab57d 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -8,8 +8,6 @@ "orientation": "any", "lang": "en-US", "dir": "ltr", - "theme_color": "rgba(0,0,0,0.5)", - "background_color": "transparent", "icons": [ { "src": "https://github.com/idea2app.png", @@ -17,4 +15,4 @@ "sizes": "200x200" } ] -} +} \ No newline at end of file diff --git a/styles/Home.module.less b/styles/Home.module.less deleted file mode 100644 index 63a6110..0000000 --- a/styles/Home.module.less +++ /dev/null @@ -1,27 +0,0 @@ -.main { - min-height: 100vh; - padding-top: 4rem; - padding-bottom: 4rem; -} - -.title { - line-height: 1.15; - font-size: 4rem; - a { - &:hover, - &:focus, - &:active { - text-decoration: underline; - } - } -} -.description { - line-height: 1.5; -} - -.code { - padding: 0.75rem; - font-size: 1.1rem; - font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, - Bitstream Vera Sans Mono, Courier New, monospace; -} diff --git a/styles/globals.less b/styles/globals.less deleted file mode 100644 index e5e2dcc..0000000 --- a/styles/globals.less +++ /dev/null @@ -1,16 +0,0 @@ -html, -body { - padding: 0; - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, - Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; -} - -a { - color: inherit; - text-decoration: none; -} - -* { - box-sizing: border-box; -} diff --git a/styles/main.css b/styles/main.css new file mode 100644 index 0000000..d10f790 --- /dev/null +++ b/styles/main.css @@ -0,0 +1,11 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +.material-symbols-outlined { + font-variation-settings: + 'FILL' 0, + 'wght' 400, + 'GRAD' 0, + 'opsz' 24; +} diff --git a/tailwind.config.ts b/tailwind.config.ts new file mode 100644 index 0000000..e85ffc5 --- /dev/null +++ b/tailwind.config.ts @@ -0,0 +1,383 @@ +import plugin from 'tailwindcss/plugin'; + +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: ['./pages/**/*.{js,ts,jsx,tsx}', './components/**/*.{js,ts,jsx,tsx}'], + important: '#__next', + darkMode: 'selector', + corePlugins: { + /** + * @copyright {@link https://github.com/amelioro/ameliorate/blob/main/tailwind.config.js} + * MUI says to set tailwind preflight to false because it can break things @see{@link https://mui.com/material-ui/integrations/interoperability/#tailwind-css} + * but some tailwind styles are awkward without it, e.g. using dividers {@link https://tailwindcss.com/docs/divide-width} requires that you also have border-style set (with the preflight, border-style defaults to solid). + * Going to comment it out for now to get the benefit of tailwind's preflight, but if there are + * issues with both preflights, we can set it back to false and do something like this{@link https://github.com/tailwindlabs/tailwindcss/discussions/11290#discussioncomment-7783598}. + * preflight: false, // MUI already adds a preflight (CssBaseline) + */ + }, + theme: { + // @see {@link https://mui-treasury.com/?path=/docs/tailwind-preset--docs } + + extend: { + screens: { + sm: '600px', + md: '900px', + lg: '1200px', + xl: '1536px', + '2xl': '1920px' + }, + colors: { + primary: { + DEFAULT: 'rgb(var(--mui-palette-primary-mainChannel))', + light: 'rgb(var(--mui-palette-primary-lightChannel))', + dark: 'rgb(var(--mui-palette-primary-darkChannel))', + contrastText: 'rgb(var(--mui-palette-primary-contrastTextChannel))' + }, + secondary: { + DEFAULT: 'rgb(var(--mui-palette-secondary-mainChannel))', + light: 'rgb(var(--mui-palette-secondary-lightChannel))', + dark: 'rgb(var(--mui-palette-secondary-darkChannel))', + contrastText: 'rgb(var(--mui-palette-secondary-contrastTextChannel))' + }, + info: { + DEFAULT: 'rgb(var(--mui-palette-info-mainChannel))', + light: 'rgb(var(--mui-palette-info-lightChannel))', + dark: 'rgb(var(--mui-palette-info-darkChannel))', + contrastText: 'rgb(var(--mui-palette-info-contrastTextChannel))' + }, + error: { + DEFAULT: 'rgb(var(--mui-palette-error-mainChannel))', + light: 'rgb(var(--mui-palette-error-lightChannel))', + dark: 'rgb(var(--mui-palette-error-darkChannel))', + contrastText: 'rgb(var(--mui-palette-error-contrastTextChannel))' + }, + success: { + DEFAULT: 'rgb(var(--mui-palette-success-mainChannel))', + light: 'rgb(var(--mui-palette-success-lightChannel))', + dark: 'rgb(var(--mui-palette-success-darkChannel))', + contrastText: 'rgb(var(--mui-palette-success-contrastTextChannel))' + }, + warning: { + DEFAULT: 'rgb(var(--mui-palette-warning-mainChannel))', + light: 'rgb(var(--mui-palette-warning-lightChannel))', + dark: 'rgb(var(--mui-palette-warning-darkChannel))', + contrastText: 'rgb(var(--mui-palette-warning-contrastTextChannel))' + }, + text: { + primary: 'var(--mui-palette-text-primary)', + secondary: 'var(--mui-palette-text-secondary)', + disabled: 'var(--mui-palette-text-disabled)' + }, + common: { + background: 'var(--mui-palette-common-background)', + onBackground: 'var(--mui-palette-common-onBackground)' + }, + gray: { + 50: 'var(--mui-palette-grey-50)', + 100: 'var(--mui-palette-grey-100)', + 200: 'var(--mui-palette-grey-200)', + 300: 'var(--mui-palette-grey-300)', + 400: 'var(--mui-palette-grey-400)', + 500: 'var(--mui-palette-grey-500)', + 600: 'var(--mui-palette-grey-600)', + 700: 'var(--mui-palette-grey-700)', + 800: 'var(--mui-palette-grey-800)', + 900: 'var(--mui-palette-grey-900)', + A100: 'var(--mui-palette-grey-A100)', + A200: 'var(--mui-palette-grey-A200)', + A400: 'var(--mui-palette-grey-A400)', + A700: 'var(--mui-palette-grey-A700)' + }, + divider: 'var(--mui-palette-divider)', + background: { + DEFAULT: 'var(--mui-palette-background-default)', + paper: 'var(--mui-palette-background-paper)' + }, + action: { + active: 'var(--mui-palette-action-active)', + hover: 'var(--mui-palette-action-hover)', + selected: 'var(--mui-palette-action-selected)', + disabled: 'var(--mui-palette-action-disabled)', + focus: 'var(--mui-palette-action-focus)' + }, + Alert: { + errorColor: 'var(--mui-palette-Alert-errorColor)', + infoColor: 'var(--mui-palette-Alert-infoColor)', + successColor: 'var(--mui-palette-Alert-successColor)', + warningColor: 'var(--mui-palette-Alert-warningColor)', + errorFilledBg: 'var(--mui-palette-Alert-errorFilledBg)', + infoFilledBg: 'var(--mui-palette-Alert-infoFilledBg)', + successFilledBg: 'var(--mui-palette-Alert-successFilledBg)', + warningFilledBg: 'var(--mui-palette-Alert-warningFilledBg)', + errorFilledColor: 'var(--mui-palette-Alert-errorFilledColor)', + infoFilledColor: 'var(--mui-palette-Alert-infoFilledColor)', + successFilledColor: 'var(--mui-palette-Alert-successFilledColor)', + warningFilledColor: 'var(--mui-palette-Alert-warningFilledColor)', + errorStandardBg: 'var(--mui-palette-Alert-errorStandardBg)', + infoStandardBg: 'var(--mui-palette-Alert-infoStandardBg)', + successStandardBg: 'var(--mui-palette-Alert-successStandardBg)', + warningStandardBg: 'var(--mui-palette-Alert-warningStandardBg)', + errorIconColor: 'var(--mui-palette-Alert-errorIconColor)', + infoIconColor: 'var(--mui-palette-Alert-infoIconColor)', + successIconColor: 'var(--mui-palette-Alert-successIconColor)', + warningIconColor: 'var(--mui-palette-Alert-warningIconColor)' + }, + AppBar: { + defaultBg: 'var(--mui-palette-AppBar-defaultBg)' + }, + Avatar: { + defaultBg: 'var(--mui-palette-Avatar-defaultBg)' + }, + Button: { + inheritContainedBg: 'var(--mui-palette-Button-inheritContainedBg)', + inheritContainedHoverBg: 'var(--mui-palette-Button-inheritContainedHoverBg)' + }, + Chip: { + defaultBorder: 'var(--mui-palette-Chip-defaultBorder)', + defaultAvatarColor: 'var(--mui-palette-Chip-defaultAvatarColor)', + defaultIconColor: 'var(--mui-palette-Chip-defaultIconColor)' + }, + FilledInput: { + bg: 'var(--mui-palette-FilledInput-bg)', + hoverBg: 'var(--mui-palette-FilledInput-hoverBg)', + disabledBg: 'var(--mui-palette-FilledInput-disabledBg)' + }, + LinearProgress: { + primaryBg: 'var(--mui-palette-LinearProgress-primaryBg)', + secondaryBg: 'var(--mui-palette-LinearProgress-secondaryBg)', + errorBg: 'var(--mui-palette-LinearProgress-errorBg)', + infoBg: 'var(--mui-palette-LinearProgress-infoBg)', + successBg: 'var(--mui-palette-LinearProgress-successBg)', + warningBg: 'var(--mui-palette-LinearProgress-warningBg)' + }, + Skeleton: { + bg: 'var(--mui-palette-Skeleton-bg)' + }, + Slider: { + primaryTrack: 'var(--mui-palette-Slider-primaryTrack)', + secondaryTrack: 'var(--mui-palette-Slider-secondaryTrack)', + errorTrack: 'var(--mui-palette-Slider-errorTrack)', + infoTrack: 'var(--mui-palette-Slider-infoTrack)', + successTrack: 'var(--mui-palette-Slider-successTrack)', + warningTrack: 'var(--mui-palette-Slider-warningTrack)' + }, + SnackbarContent: { + bg: 'var(--mui-palette-SnackbarContent-bg)', + color: 'var(--mui-palette-SnackbarContent-color)' + }, + SpeedDialAction: { + fabHoverBg: 'var(--mui-palette-SpeedDialAction-fabHoverBg)' + }, + StepConnector: { + border: 'var(--mui-palette-StepConnector-border)' + }, + StepContent: { + border: 'var(--mui-palette-StepContent-border)' + }, + Switch: { + defaultColor: 'var(--mui-palette-Switch-defaultColor)', + defaultDisabledColor: 'var(--mui-palette-Switch-defaultDisabledColor)', + primaryDisabledColor: 'var(--mui-palette-Switch-primaryDisabledColor)', + secondaryDisabledColor: 'var(--mui-palette-Switch-secondaryDisabledColor)', + errorDisabledColor: 'var(--mui-palette-Switch-errorDisabledColor)', + infoDisabledColor: 'var(--mui-palette-Switch-infoDisabledColor)', + successDisabledColor: 'var(--mui-palette-Switch-successDisabledColor)', + warningDisabledColor: 'var(--mui-palette-Switch-warningDisabledColor)' + }, + TableCell: { + border: 'var(--mui-palette-TableCell-border)' + }, + Tooltip: { + bg: 'var(--mui-palette-Tooltip-bg)' + } + }, + borderRadius: { + sm: 'calc(var(--mui-shape-borderRadius) / 2)', + DEFAULT: 'var(--mui-shape-borderRadius)', + lg: 'calc(var(--mui-shape-borderRadius) * 2)' + }, + boxShadow: { + 1: 'var(--mui-shadows-1)', + 2: 'var(--mui-shadows-2)', + 3: 'var(--mui-shadows-3)', + 4: 'var(--mui-shadows-4)', + 5: 'var(--mui-shadows-5)', + 6: 'var(--mui-shadows-6)', + 7: 'var(--mui-shadows-7)', + 8: 'var(--mui-shadows-8)', + 9: 'var(--mui-shadows-9)', + 10: 'var(--mui-shadows-10)', + 11: 'var(--mui-shadows-11)', + 12: 'var(--mui-shadows-12)', + 13: 'var(--mui-shadows-13)', + 14: 'var(--mui-shadows-14)', + 15: 'var(--mui-shadows-15)', + 16: 'var(--mui-shadows-16)', + 17: 'var(--mui-shadows-17)', + 18: 'var(--mui-shadows-18)', + 19: 'var(--mui-shadows-19)', + 20: 'var(--mui-shadows-20)', + 21: 'var(--mui-shadows-21)', + 22: 'var(--mui-shadows-22)', + 23: 'var(--mui-shadows-23)', + 24: 'var(--mui-shadows-24)' + }, + opacity: { + activated: 'var(--mui-palette-action-activatedOpacity)', + disabled: 'var(--mui-palette-action-disabledOpacity)', + focus: 'var(--mui-palette-action-focusOpacity)', + hover: 'var(--mui-palette-action-hoverOpacity)', + selected: 'var(--mui-palette-action-selectedOpacity)' + } + } + }, + plugins: [ + plugin(utility => { + utility.addBase({ + h1: { font: 'var(--mui-font-h1)', letterSpacing: '-0.01562em' }, + h2: { font: 'var(--mui-font-h2)', letterSpacing: '-0.00833em' }, + h3: { font: 'var(--mui-font-h3)' }, + h4: { font: 'var(--mui-font-h4)', letterSpacing: '0.00735em' }, + h5: { font: 'var(--mui-font-h5)' }, + h6: { font: 'var(--mui-font-h6)', letterSpacing: '0.0075em' }, + p: { font: 'var(--mui-font-body1)', letterSpacing: '0.00938em' }, + span: { font: 'var(--mui-font-body2)', letterSpacing: '0.01071em' } + }); + utility.addUtilities({ + '.typography-h1': { font: 'var(--mui-font-h1)' }, + '.typography-h2': { font: 'var(--mui-font-h2)' }, + '.typography-h3': { font: 'var(--mui-font-h3)' }, + '.typography-h4': { font: 'var(--mui-font-h4)' }, + '.typography-h5': { font: 'var(--mui-font-h5)' }, + '.typography-h6': { font: 'var(--mui-font-h6)' }, + '.typography-subtitle1': { font: 'var(--mui-font-subtitle1)' }, + '.typography-subtitle2': { font: 'var(--mui-font-subtitle2)' }, + '.typography-body1': { font: 'var(--mui-font-body1)' }, + '.typography-body2': { font: 'var(--mui-font-body2)' }, + '.typography-button': { font: 'var(--mui-font-button)' }, + '.typography-caption': { font: 'var(--mui-font-caption)' }, + '.typography-overline': { font: 'var(--mui-font-overline)' }, + '.overlay-1': { backgroundImage: 'var(--mui-overlays-1)' }, + '.overlay-2': { backgroundImage: 'var(--mui-overlays-2)' }, + '.overlay-3': { backgroundImage: 'var(--mui-overlays-3)' }, + '.overlay-4': { backgroundImage: 'var(--mui-overlays-4)' }, + '.overlay-5': { backgroundImage: 'var(--mui-overlays-5)' }, + '.overlay-6': { backgroundImage: 'var(--mui-overlays-6)' }, + '.overlay-7': { backgroundImage: 'var(--mui-overlays-7)' }, + '.overlay-8': { backgroundImage: 'var(--mui-overlays-8)' }, + '.overlay-9': { backgroundImage: 'var(--mui-overlays-9)' }, + '.overlay-10': { backgroundImage: 'var(--mui-overlays-10)' }, + '.overlay-11': { backgroundImage: 'var(--mui-overlays-11)' }, + '.overlay-12': { backgroundImage: 'var(--mui-overlays-12)' }, + '.overlay-13': { backgroundImage: 'var(--mui-overlays-13)' }, + '.overlay-14': { backgroundImage: 'var(--mui-overlays-14)' }, + '.overlay-15': { backgroundImage: 'var(--mui-overlays-15)' }, + '.overlay-16': { backgroundImage: 'var(--mui-overlays-16)' }, + '.overlay-17': { backgroundImage: 'var(--mui-overlays-17)' }, + '.overlay-18': { backgroundImage: 'var(--mui-overlays-18)' }, + '.overlay-19': { backgroundImage: 'var(--mui-overlays-19)' }, + '.overlay-20': { backgroundImage: 'var(--mui-overlays-20)' }, + '.overlay-21': { backgroundImage: 'var(--mui-overlays-21)' }, + '.overlay-22': { backgroundImage: 'var(--mui-overlays-22)' }, + '.overlay-23': { backgroundImage: 'var(--mui-overlays-23)' }, + '.overlay-24': { backgroundImage: 'var(--mui-overlays-24)' }, + '.elevation-1': { + backgroundImage: 'var(--mui-overlays-1)', + boxShadow: 'var(--mui-shadows-1)' + }, + '.elevation-2': { + backgroundImage: 'var(--mui-overlays-2)', + boxShadow: 'var(--mui-shadows-2)' + }, + '.elevation-3': { + backgroundImage: 'var(--mui-overlays-3)', + boxShadow: 'var(--mui-shadows-3)' + }, + '.elevation-4': { + backgroundImage: 'var(--mui-overlays-4)', + boxShadow: 'var(--mui-shadows-4)' + }, + '.elevation-5': { + backgroundImage: 'var(--mui-overlays-5)', + boxShadow: 'var(--mui-shadows-5)' + }, + '.elevation-6': { + backgroundImage: 'var(--mui-overlays-6)', + boxShadow: 'var(--mui-shadows-6)' + }, + '.elevation-7': { + backgroundImage: 'var(--mui-overlays-7)', + boxShadow: 'var(--mui-shadows-7)' + }, + '.elevation-8': { + backgroundImage: 'var(--mui-overlays-8)', + boxShadow: 'var(--mui-shadows-8)' + }, + '.elevation-9': { + backgroundImage: 'var(--mui-overlays-9)', + boxShadow: 'var(--mui-shadows-9)' + }, + '.elevation-10': { + backgroundImage: 'var(--mui-overlays-10)', + boxShadow: 'var(--mui-shadows-10)' + }, + '.elevation-11': { + backgroundImage: 'var(--mui-overlays-11)', + boxShadow: 'var(--mui-shadows-11)' + }, + '.elevation-12': { + backgroundImage: 'var(--mui-overlays-12)', + boxShadow: 'var(--mui-shadows-12)' + }, + '.elevation-13': { + backgroundImage: 'var(--mui-overlays-13)', + boxShadow: 'var(--mui-shadows-13)' + }, + '.elevation-14': { + backgroundImage: 'var(--mui-overlays-14)', + boxShadow: 'var(--mui-shadows-14)' + }, + '.elevation-15': { + backgroundImage: 'var(--mui-overlays-15)', + boxShadow: 'var(--mui-shadows-15)' + }, + '.elevation-16': { + backgroundImage: 'var(--mui-overlays-16)', + boxShadow: 'var(--mui-shadows-16)' + }, + '.elevation-17': { + backgroundImage: 'var(--mui-overlays-17)', + boxShadow: 'var(--mui-shadows-17)' + }, + '.elevation-18': { + backgroundImage: 'var(--mui-overlays-18)', + boxShadow: 'var(--mui-shadows-18)' + }, + '.elevation-19': { + backgroundImage: 'var(--mui-overlays-19)', + boxShadow: 'var(--mui-shadows-19)' + }, + '.elevation-20': { + backgroundImage: 'var(--mui-overlays-20)', + boxShadow: 'var(--mui-shadows-20)' + }, + '.elevation-21': { + backgroundImage: 'var(--mui-overlays-21)', + boxShadow: 'var(--mui-shadows-21)' + }, + '.elevation-22': { + backgroundImage: 'var(--mui-overlays-22)', + boxShadow: 'var(--mui-shadows-22)' + }, + '.elevation-23': { + backgroundImage: 'var(--mui-overlays-23)', + boxShadow: 'var(--mui-shadows-23)' + }, + '.elevation-24': { + backgroundImage: 'var(--mui-overlays-24)', + boxShadow: 'var(--mui-shadows-24)' + } + }); + }) + ] +}; diff --git a/tsconfig.json b/tsconfig.json index 91f5c4d..88708ef 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,14 +10,24 @@ "noEmit": true, "esModuleInterop": true, "module": "ESNext", - "moduleResolution": "Node", + "moduleResolution": "bundler", "resolveJsonModule": true, "isolatedModules": true, "downlevelIteration": true, "useDefineForClassFields": true, "jsx": "preserve", - "incremental": true + "incremental": true, + "plugins": [{ "name": "next" }] }, - "include": ["next-env.d.ts", "**/*.mjs", "**/*.ts", "**/*.tsx"], + "include": [ + "next-env.d.ts", + "material-ui-pigment-css.d.ts", + "*.mjs", + "*.js", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + "babel.config.js" + ], "exclude": ["node_modules"] } From 2ced605f35725b7979ddd42eb88088c0a9a41af5 Mon Sep 17 00:00:00 2001 From: soecka Date: Sun, 13 Oct 2024 01:10:06 +0800 Subject: [PATCH 2/7] [enhancement] Partner carousel [polish] partner logo for dark mode --- components/Client/Partner.tsx | 50 ++++++++++-- pages/_app.tsx | 2 +- pages/_document.tsx | 2 +- pages/api/home.ts | 64 +++++++++++++++- pages/index.tsx | 138 ++++++++++++++++++---------------- pages/member/[nickname].tsx | 29 +++---- pnpm-lock.yaml | 14 ---- public/23-5-dark.png | Bin 0 -> 8082 bytes public/23-5.png | Bin 0 -> 8015 bytes public/aiux-dark.png | Bin 0 -> 3759 bytes public/aiux.png | Bin 0 -> 3168 bytes public/creator-1024-dark.png | Bin 0 -> 30862 bytes public/creator-1024.png | Bin 0 -> 26966 bytes public/eth-planet.png | Bin 0 -> 101669 bytes public/favicon.ico | Bin 25931 -> 0 bytes public/fcc-cdg.png | Bin 0 -> 43367 bytes public/ic-naming.svg | 40 ++++++++++ public/kys.png | Bin 0 -> 31060 bytes public/nextjs.png | Bin 9643 -> 0 bytes public/typescript.png | Bin 3072 -> 0 bytes tailwind.config.ts | 9 +++ translation/en-US.ts | 30 ++++++-- translation/zh-CN.ts | 30 ++++++-- translation/zh-TW.ts | 30 ++++++-- 24 files changed, 305 insertions(+), 133 deletions(-) create mode 100644 public/23-5-dark.png create mode 100644 public/23-5.png create mode 100644 public/aiux-dark.png create mode 100644 public/aiux.png create mode 100644 public/creator-1024-dark.png create mode 100644 public/creator-1024.png create mode 100644 public/eth-planet.png delete mode 100644 public/favicon.ico create mode 100644 public/fcc-cdg.png create mode 100644 public/ic-naming.svg create mode 100644 public/kys.png delete mode 100644 public/nextjs.png delete mode 100644 public/typescript.png diff --git a/components/Client/Partner.tsx b/components/Client/Partner.tsx index 6e46639..33755ff 100644 --- a/components/Client/Partner.tsx +++ b/components/Client/Partner.tsx @@ -1,6 +1,6 @@ -import Image from 'next/image'; -import { FC } from 'react'; +import { FC, ReactNode } from 'react'; +import { Tooltip } from '@mui/material'; import { Client } from '../../models/Client'; import { fileURLOf } from '../../pages/api/Lark/file/[id]'; @@ -8,12 +8,16 @@ export interface PartnerProps extends Client { className?: string; } +export interface PartnerOverviewProps extends Record<'name' | 'logo' | 'address', string> { + logoDark?: string; + className?: string; + tooltip?: ReactNode; +} + export const Partner: FC = ({ className = '', name, image, summary, address }) => ( -
      - + {`partner = ({ className = '', name, image, summary

      {String(summary)}

      ); + +export const PartnerOverview: FC = ({ name, tooltip, ...rest }) => + tooltip ? ( + + + + ) : ( + + ); + +export const LogoWithLink: FC> = ({ + name, + address, + logo, + logoDark, + className +}) => ( + + {`dark + {`light + +); diff --git a/pages/_app.tsx b/pages/_app.tsx index 544c697..1e45843 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -75,7 +75,7 @@ const AppShell = observer(({ Component, pageProps }: AppProps<{}>) => ( -
      +
      diff --git a/pages/_document.tsx b/pages/_document.tsx index d85f074..3a8c603 100644 --- a/pages/_document.tsx +++ b/pages/_document.tsx @@ -38,7 +38,7 @@ export default function Document() { * */} diff --git a/pages/api/home.ts b/pages/api/home.ts index 39f8696..d0ce275 100644 --- a/pages/api/home.ts +++ b/pages/api/home.ts @@ -4,17 +4,75 @@ const { t } = i18n; export const service = () => [ { + icon: 'trending_up', title: t('IT_transformation_consulting'), - summary: t('IT_transformation_consulting_summary'), + summary: t('IT_transformation_consulting_summary') }, { + icon: 'code', title: t('custom_software_development'), summary: t('custom_software_development_summary'), buttonText: t('consult_immediately'), - buttonLink: 'https://wenjuan.feishu.cn/m?t=sBih7Nzwkwqi-0l12', + buttonLink: 'https://wenjuan.feishu.cn/m?t=sBih7Nzwkwqi-0l12' }, { + icon: 'diversity_3', title: t('agile_team_training'), - summary: t('agile_team_training_summary'), + summary: t('agile_team_training_summary') + } +]; + +export const PARTNERS_INFO = () => [ + { + logo: '/aiux.png', + logoDark: '/aiux-dark.png', + name: t('partner_aiux'), + address: 'https://www.aiuxdesign.com/', + summary: t('partner_auxi_slogan') }, + + { + logo: '/23-5.png', + logoDark: '/23-5-dark.png', + name: t('partner_23_5'), + address: 'https://www.in235.com/', + summary: t('partner_23_5_slogan') + }, + { + logo: '/fcc-cdg.png', + logoDark: '', + name: t('partner_fcc_cdg'), + address: 'https://fcc-cd.dev/', + summary: t('partner_fcc_cdg_slogan') + }, + + { + logo: '/ic-naming.svg', + logoDark: '', + name: t('partner_ic_naming'), + address: 'https://icnaming.com/', + summary: t('partner_ic_naming_slogan') + }, + + { + logo: '/creator-1024.png', + logoDark: '/creator-1024-dark.png', + name: t('partner_creator_1024'), + address: 'https://github.com/Creator-1024', + summary: t('partner_creator_1024_slogan') + }, + { + logo: '/kys.png', + logoDark: '', + name: t('partner_kys'), + address: 'https://kaiyuanshe.cn/', + summary: t('partner_kys_slogan') + }, + { + logo: '/eth-planet.png', + logoDark: '', + name: t('partner_eth_planet'), + address: 'https://x.com/ethplanet/', + summary: t('partner_eth_planet_slogan') + } ]; diff --git a/pages/index.tsx b/pages/index.tsx index 85f43e8..0d9340a 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,45 +1,35 @@ -import { - Button, - Card, - CardActions, - CardContent, - CardHeader, - CardMedia, - Container, - Grid2 -} from '@mui/material'; -import { GitRepository } from 'mobx-github'; +import { Button, Card, CardContent, CardHeader, Link, Tooltip } from '@mui/material'; import { observer } from 'mobx-react'; import { InferGetServerSidePropsType } from 'next'; import { cache, compose, errorLogger, translator } from 'next-ssr-middleware'; import { FC } from 'react'; +import { Icon } from '../components/Icon'; import { PageHead } from '../components/PageHead'; -import { ClientModel } from '../models/Client'; -import { MEMBER_VIEW, MemberModel } from '../models/Member'; -import { Project, ProjectModel } from '../models/Project'; -import { GitRepositoryModel } from '../models/Repository'; import { i18n } from '../models/Translation'; -import { getTarget } from './api/core'; -import { service } from './api/home'; +import { PARTNERS_INFO, service } from './api/home'; +import { ClientModel } from '../models/Client'; +import { Partner, PartnerOverview } from '../components/Client/Partner'; +import Image from 'next/image'; export const getServerSideProps = compose(cache(), errorLogger, translator(i18n), async () => { - // const [ - // projects, - // repositories - // partners, members - // ] = await Promise.all([ - // new ProjectModel().getList({}, 1, 9), - // new GitRepositoryModel('idea2app').getList() - // new ClientModel().getList({ partnership: '战略合作' }), - // new MemberModel().getViewList(MEMBER_VIEW) - // ]); + const [ + // projects, + // repositories + // partners + // members + ] = await Promise.all([ + // new ProjectModel().getList({}, 1, 9), + // new GitRepositoryModel('idea2app').getList() + // new ClientModel().getList({ partnership: '战略合作' }) + // new MemberModel().getViewList(MEMBER_VIEW) + ]); return { props: { // projects: JSON.parse(JSON.stringify(projects)) as Project[], // repositories: JSON.parse(JSON.stringify(repositories)) as GitRepository[] - // partners, + // partners // members: members.filter(({ github, position, summary }) => github && position && summary) } }; @@ -52,31 +42,61 @@ const HomePage: FC> = obs <> - -

      - -

      -

      {t('idea2app_summary')}

      -

      {t('idea2app_slogan')}

      - - - {service().map(({ title, summary, buttonText, buttonLink }) => ( - - - - - {summary} - - {buttonText && buttonLink && ( - - )} - - - - ))} - +
      +
      +
      + idea2app logo + +
      +

      {t('idea2app_summary')}

      +

      {t('idea2app_slogan')}

      + +

      {t('idea2app_slogan_2')}?

      + + + {t('contact_us')} + +
      +
      + +
        + {service().map(({ title, summary, icon }) => ( +
      • +
        + {title} +
        + +

        {summary}

        +
      • + ))} +
      +
      + +
      +
      +
        + {Array.from({ length: 3 }).map((_, index) => ( +
      • + {PARTNERS_INFO().map(({ name, ...rest }) => ( + + ))} +
      • + ))} +
      +
      +
      {/*
      @@ -89,17 +109,7 @@ const HomePage: FC> = obs
      */} - - {/*
      - - {partners.map(item => ( - - - - ))} - -
      */} - +
      ) ); diff --git a/pages/member/[nickname].tsx b/pages/member/[nickname].tsx index 1248187..67bf475 100644 --- a/pages/member/[nickname].tsx +++ b/pages/member/[nickname].tsx @@ -1,7 +1,6 @@ import { observer } from 'mobx-react'; import { cache, compose, errorLogger, translator } from 'next-ssr-middleware'; import { FC } from 'react'; -import { Badge, Col, Container, Row, Stack, Tab, Tabs } from 'react-bootstrap'; import { MemberCard } from '../../components/Member/Card'; import { PageHead } from '../../components/PageHead'; @@ -29,43 +28,35 @@ export const getServerSideProps = compose<{ nickname: string }>( const [leaderProjects, memberProjects] = await Promise.all([ new ProjectModel().getAll({ leader: params?.nickname }), - new ProjectModel().getAll({ members: params?.nickname }), + new ProjectModel().getAll({ members: params?.nickname }) ]); return { - props: { member, leaderProjects, memberProjects }, + props: { member, leaderProjects, memberProjects } }; - }, + } ); const MemberDetailPage: FC = observer( ({ member, leaderProjects, memberProjects }) => ( - +
      - + - + {Object.entries({ [t('projects_as_leader')]: leaderProjects, - [t('projects_as_member')]: memberProjects, + [t('projects_as_member')]: memberProjects }).map(([label, list]) => ( + {label} {list.length} @@ -73,14 +64,14 @@ const MemberDetailPage: FC = observer( } > - + ))} - ), + ) ); export default MemberDetailPage; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0fe8a02..11413f9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -59,9 +59,6 @@ importers: next-ssr-middleware: specifier: ^0.8.8 version: 0.8.8(mobx-i18n@0.6.0(mobx@6.13.3)(typescript@5.6.3))(next@14.2.15(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) - next-themes: - specifier: ^0.3.0 - version: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: ^18.3.1 version: 18.3.1 @@ -3542,12 +3539,6 @@ packages: mobx-i18n: '>=0.5 <1' next: '>=9.3' - next-themes@0.3.0: - resolution: {integrity: sha512-/QHIrsYpd6Kfk7xakK4svpDI5mmXP0gfvCoJdGpZQ2TOrQZmsW0QxjaiLn8wbIKjtm4BTSqLoix4lxYYOnLJ/w==} - peerDependencies: - react: ^16.8 || ^17 || ^18 - react-dom: ^16.8 || ^17 || ^18 - next@13.5.6: resolution: {integrity: sha512-Y2wTcTbO4WwEsVb4A8VSnOsG1I9ok+h74q0ZdxkwM3EODqrs4pasq7O0iUxbcS9VtWMicG7f3+HAj0r1+NtKSw==} engines: {node: '>=16.14.0'} @@ -8703,11 +8694,6 @@ snapshots: transitivePeerDependencies: - typescript - next-themes@0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - next@13.5.6(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@next/env': 13.5.6 diff --git a/public/23-5-dark.png b/public/23-5-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..e1bc27a199570631a592a6a8545b5bac001792f9 GIT binary patch literal 8082 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 literal 0 HcmV?d00001 diff --git a/public/23-5.png b/public/23-5.png new file mode 100644 index 0000000000000000000000000000000000000000..a5b81a917f5532b4c2ec30076f49bc0fd0183c33 GIT binary patch literal 8015 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 Q@S>aorEP#H)3ks2fAriOFaQ7m literal 0 HcmV?d00001 diff --git a/public/aiux-dark.png b/public/aiux-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..2189bcae66b54f5f82ad648930242c5137c8e2cc GIT binary patch literal 3759 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 bGxpiS>ceE}Y#I0mia34h?8)-uUJ3sPuQp1( literal 0 HcmV?d00001 diff --git a/public/aiux.png b/public/aiux.png new file mode 100644 index 0000000000000000000000000000000000000000..8dffe7149f9e807b308e749381e65b1ed146fc7a GIT binary patch literal 3168 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 UWAbSo@UK8)&n^aC<{on4fA0tkhyVZp literal 0 HcmV?d00001 diff --git a/public/creator-1024-dark.png b/public/creator-1024-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..68b1d0d2e455ecbfd0adf06f42bf7b3ede0e6361 GIT binary patch literal 30862 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

      aF!C=hI|OZ-&Ay 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 MYa3}*YdA#yA5$52umAu6 literal 0 HcmV?d00001 diff --git a/public/creator-1024.png b/public/creator-1024.png new file mode 100644 index 0000000000000000000000000000000000000000..87340e171b6c007eee5a9b16628f350b8a0d9c55 GIT binary patch literal 26966 zcmW(-bzDi2B@1Z9pK0Z8d~~{tJs= z?E&dCWb=e`@MSc#IA|{U${NRGEBkRZBz_NNMEE8^duHnqh{&+np<^F-P z(OLeA4aawYeMG+I35G%JFD*=*%p*8=jahm`{et4v%Xa+S}Qn z>}^9=x?{Yx-eNupl6M(dn1#Kzf<)Dty)~ZbP4*N9w}fXramZXZ848vm%r_F5HI|px zXM2C&&Eb?$5;V2qFg{NZCGc z-)(Ru1MT_Z+aocH8|~MG-H0ep5YTAcI)3N^jW`^^RS!QPznv3V@w38ODnmo?J|!59 zASJRj#*?0$ok`w)O=KOQ(xiDUPem&A{-rbmftP?n?@tM`cu2k`8|lmDf^gSwTLP4``XbH?nhEvnA7&u5PvKUtF&_I z!SB9U8G%B@Xp^R!U3uAV-u}H+$5*r5UUD<4i|uWU;W*p_ZzYs5b2L9sM9UfwNO5fZK$(s}rjprAPJ99Yr3t3^2AV>?pi`8-q z=!JY9;vV$s4aui3G>H$XK=BX%;(OkH&0U{)-kD^)%ND_3WmqJqP)Zo!x~m;+a=@jX z+g*$9!~OC#FW|oWV$WWd1iaiGLn9t~A^tXj&!>)d##h(J@;EH!n!*l4!Nk3KLhf^ofUIlp6hVNH22}idRNoOu{WS! zT<1c41R=rjh~MD7O9D}F45lOHXU>yfT9R_N!kL8*e6zi$>65lWAKlJEoI&Q~AEIu% zO{uM39kv||EI0;aiTJ)1t&PdOoIDao8wG?SB8}*Uc=)u2T#jc7EMN9U zH^g!)JE-4A=(7WSYsi-FF5M4l7yjn*tYRXtD`|orZ2Vvqx&Wv6T9=|R&mJBI#fH%( zHB*m<4Q0Eue8geqYh34o7?7S%KuYZoVaj7~%G~n_U!)!;!k7|pt~@_u@3!6bxt?_* zJfn^5hV&tIE=psLM|&d9-hLVCWKsMZSzb;$^X%Lw)mlr|xY(fK?mM?_)8&D{i@V_r zM1R8&hxt1x(UH8wFZ4;5!APC?``J{u_-!XR5eI!?y=oap(dD-J{$O2JsKG1*a zk)~g*h*iHW7GJ$<;kP$Gy62ZI!Tn7)YMt0BxJw1O*iQAJfkNT#zFfjueZ!c3chE;` zFZA2HUVb5Be=9i1On2gZway-LG=}hjWop9WJ;ep{EzEaiGBhl*p!{}y^D<$Zc5|po z6tz!Kyw2OGrJ)O#y~}HmV1kG+KBce8^}I93+wfUjt7eQsz@q^>H!#SY_O5V2wR603 zK?Yhkb+t9y+kZ#v`Te^ZrH16-09bgmsHReurcD`Y{+d}PPJ$~A_g9QCuYKb$;u?bf zgXup2NlW^s=43sx1B+d@ywXTfKsaRH21!;(oepwDP`95f{mKps+jC8z>y8LS0&!p1 z*4Toph-cWy{Aovy-d{5vT4w9a@evcUKADA}>%mKJ#&diDVs!>umujY4m{T5FbCy#+ znG=26DMjrKP8qS9mgB9RH{)1I%Q-Rl4TW6w2Jt|*taFo$`?4bOYp-M;ChDNxo1l|} zi#l)oa5N`Imr*CRf?go!nhZ});QQMLnr8G{|KA;_I`c+Y0ezv?g z$H*Ig=g4b6XXxUp*b#{SkDF8X2foa|XKP=LRe#b>TQEv$Ykapj>6SL}Z{B)$bS23D z*6*(aHeSab;@OOvYxE*^A(Qg4oTF$2f<55or=XY(KXWDYCM@3qntpmt)Fwf_2K07UGsTX%u=|v1w~SPbTi#dE`^srPC@VBGFY=P_F_R7zxD@hlk}!^ou8B`ojbds@hJvvnrpy z=BqNVD`aYH($i=bJgEO#cQKO@)%(&~u^m|YeTt-nG+Q-Q-}`TWKKB)m)wIqPc2-S4 z?OHrH^^u}rS3-o6e7c^X^#dzp(TDWE+1wRzNoIX-z0HC^)a-~dkwmq~9^U~6*p0)7 zhQth#rbb%I%SVa>nPxq=-lAe)cfptZU6(8zRcj_ecIte)G#hz5s)cMoBdQtwv z574Uf!MaD#z(@=NWVoZ{cAwNvXHTY?CdogFn!Dz|VtVgf#duA=EZWb1%%Fj0&7*>T zz2ATuMDAl#)B1jr$;0CeZP9Y|N5#IJN~F4}YxXf4XYB_}=Mi^~9zvmMeUL=;yU~iA z-6hO{QPgkw@-0bzPwcXGi4!AMoj@HB^r56qPV3@+(0}fNkEXM_Az>xlu}fQikn>kS z1JsHyUSg!5n%|!}mY!nF9(#HIP6FRz4^GlthXnPU4qd~5WTJDc=mWgrn2tL`#GqZ>FGdO-=y}^%oMNU~>fb3GbTu6D_&d210%?V+2|D}fsl1YoRL3Yr;;SN zmDLkYf7e>x>>%v^z;ajL`B5Rv1&`;DN63=@ctx#f@33)cHhmOz#un%vhoK&ICE`2y z(!(3mBJ0;T`C_Z}BL@hGdjctHqtDuoj(l@qB*J9jmi)0_vQ(J|?}8WNF;PezpQHA} z(1$?M@SNU!@m!Ko4YbIBzL0MoH~P0A-a=L?(ocy3JPX?n9d@%)8=k5JUg|(`AN(b| zjGPdw42qrinK8wUPTzwpiP8nC+_J%(6H*@>Gn>lGZy1}u;d4S) z{B`ido0EMq-1lbe`-8`wFb?|fPD0liRVVLT$|K}vK zI82AE#O&zz3JAspGIPEg=uEQ>$dYc;;*SblPgQqp#!GNw6DsVz!W~79n8Q3^1fw&6tM2@O z2-g?qvS;ZJRXO`6fLK8cBAN$Z+)7|#b~^5OU@t9N(jpnOGtYA~82?{LC#-{ny<^t} zcM_3$ACH_wfNcI`+Ew-xo{Cs~`6P+H3 z=+DnV&@Th;xD*iAHc;35$XM)0F5x8~@%v9vsM2jF5YEW?K|&ODxL!{VUdHoh1oHI` zsJ>Jfu{sF#@>SzSm#$StI!-L5YC?s;IqvF~jJHSN-^41)an}9xBPe})UAXFQbB9#8 zn0*OM^fTX91O@?a!Qma8T@IfM%9~F=x1&YAto%48_U_3nVpg!YNVn$Z55u;TbMwCLc|Di?v+pW@+v zhK$L(zRS-w)>|f^{!}F`WzrNiX$;cB=dN#f ztwu;j{658Ucd$p^Au4OuHt=R3$!sD6%S2!-a&x{2#+$Q36{elzVXrd8x{Y`rqb~8F z#lu0(IlY`rz zuRl_G%f3=TpOlK3nr-^^v%uRcjYOD)#<9yt8sS5{cj*mmNv0UQggz<~%Z*DeGk%am z5Ys$RIhA+=Rr!LY2T%QOmDL;{nuj=g&Q=^H3X`Mr=QRIMbQo9l;V&x7nK#i1^67!`PEXfa5U$zrXMWVWeicGg7f;>K?{(CzPr zy^mYdvWkBJ}-nY_@wh<;qu-6Ta;Buey9ebyDZe_NvmMu zUuwd9BIs{xWs4Q$T$PmV#h!Ux^}#Rmi^exmS;YZ{K;_z>$r4Ce1Y8yGcsUoWi_Mas zU}lS8#kXVuySVprvVk_P%~aE$CTYsPg>P`KrlzKopugQUoKLewePcYuEi3fobQLkz zq)Xc)0g@eag#!_s73+=J;01Y{uB8>IzUP@tp0dxx{MXcUYz_dTVD;30QBUIKeHG!Eno-rT9r|jyLC6RP8Il1CqI>_9C1x+N2AfXQm;^iSXe7Ep6qY zCykBcBzymgA$-PzvrNXA1oQZuU`e9!lK`O4L7_rSUf=M+tHp`2B@||4AXc;5*P~yd z8cV}&d?Gt=pmed;Dd`dB1&z;;b_p8LgHK~IW|I;sOy~tm5zZI@e0^og&#H}843V+B z(tpUC!{GBcRxw)f#*Zz;VdK>ufTz(!tP0u5?zWc%=O?;!ZYi*0zr~r?u<}lCWBNJ{K6Tv!=lsf!gDH=e2dUD;ZnbKW(a>s+2RAK+qKqHsYwh#+AURwbZP7mNLH6MI1 z<;(y2^A8hHhxGV&AQJ*yfTnS3krwAVY^nth9_0s_O}H8nrH*0k)|VvwcD_&gkiOG~ z2zeXsdI&t}*z*0CaOer7E>Su}l_&xv*b!qcc*Dn{9TTO9cw+`evr?TpIKR z=H$vwn3s*)*}{z^NPLuPk`o3-7m0kJ_}9-kwNSXB{TY)vH7k(fqH1Zfy-)VGpLVDU6!-q% z2L)?SxonDi?BUisfVGmZD}|X`+l%gW0RfyDvmpYKO|kH|1|T=?Znk4U zP4n@b01e6RnL}n&MLG7{m)|}PUxpGr@a+!8`BsqLYz%2Mbt&H<<8-<1v^v6~uf~ViDCYD?$Hp{RLCAhMBM!e_S+i$?3NZbxcA|WDNbGc?snavm9-Noy zJ6b5wBYfDxPfjwKqO5lAf@2V?h{6i{np9t&n7hzG0M=D69kWVM0}nk+J?iUCCh1C2 zWHOF#Nd%8-25C}s3F0xh>Ht9qbzKB*z~q6U~!#OM05v* zorg+w3C1Jk5meeD3OJoMj6A#IJuO5ix@qlmZB2C|^_M(4g z`cYsmYP0#FOPo+$nb~f-R=98EF{%_9QO5EqT{REwC=hQ2iDm`|kby(wl51vzYIr}d z7V*j|AP6UOyJF{@vA*VEF__Zo?cf(LA!tMIOiZX>aS||J4;2vp5I&&4`mJqitfimzR*0@|#j`}OFOkI`^zgfLbInf6 zv$+05eH2o4JKeD`+MCkW*a&Gx<6<2nlcDLf143LhObk znLaH!WhnRtI8@6Nx2Nd?^gvAl@DQQdZ(8qb<{M)Pnz1s1$SxC*eDIu_NVYC%wu=^yozjHMvz{y;j zlZHH638f3F#BTNt$Y*4v*ZK~d+$7 zw)1ntUw{3u$eX`TeIurS$f=WO0_v5F!M!&J9x)YDk66|HRwyv2>s#UdTJS(B+xy%O z^`y;^Iw`FOQpPu!F&Uaw{4z_xf)_{zR(!CuXlem6w&#KnpXI=Ew6FPV%7$et1|}}^Lxw4LX@TNL+Y2Sy&PD8^E_WoIF5}p0g{u(UI^D$ zpeRwr|81}Y3WqKuB53$v(#1Fm-1TI!fKQzo z3_Doa7Y+KX2n@Jej_iN2LT~q1-w|72Hnswofx)KxkgHYS1(wCwP7WV2cqsn!a}N^G-d3|PP=?$}&)CKlk2=6<+$xnHgA;PR_0|@N@!x?= zcLMN1$yM{%(9M)X=)Y;I6vDS~y-{ZGhA1G+PxUgZkM2U5j_3H2h3TCL^HuP##KuH4 z3(APjNq01$Kv_$-Ix^|F@($LK$!XDx#`I^MC(!p~+&#J;;Z6jQ*~7$Ej%i!mge2%f ztMgwlDA!3{vn;Dn(tW^AA@>Fb?R}9JnuYXKmfdRet4L;;r%yV$H|lTyZxaC}msNs? zw_}l4p>69uxtl*w0a-{7WyLBMlWE0?ctl|%^+_x32cS`ld+0XWPcx@aQL3=1$6+?w zTRVFus$A~|q8rFROu2Gk@p7(^D9`V|7nkrsiMZ;?1)@Tn@?-ne2`@o1n`uQE2)SEo zsK4+BnDWt#D$@-}l+}GsSx%@BguDTM8vr_HtWZVhesXAmux+zqNax{8TsOVl?ide@ z!u0e!lpUB!6j$%x5~u7aY9O6AQ@UiiO@B?Fiz7E7~P z>?qkBEjbNjkocbe&~YY8`#|;9yuq%^WBY%kAdJ~yIR6*k;umV2^YP7PHJKSbYg*1g znq7&XNh*!)2N;u0tW0_fuWs`3Nfz*!5c~c&d|MFqpgpmhJ|!`T$AkL}MA8MFOaHQ_ zjMTlY|7R*6w#RHYfe_N*>OA@oxG1PwE8^%5&zS1F=&t34o6Z*d!~bMSK5sG+;cGT6 z{)$Odf8037M;k%N#jFe2zcddX`gKMPzAc~0v)JU?G4`=V2I%K8rllK&a2s#pcl2$O zHF?|puN7(UJ0jto8XOn6z;P$d60F9PYzd(D>N0|Ox5y$Qlt>HJ-HKc@H>};L&~z_; z1BD)oBBGf&LD|qXv-ogP47yK8n4in>e!_vBK4gAy3$gkT)*BStfAV6_T@_(CbZpKC zUAq0768KTf1_ek~D(E)4CPN*lmDlR{?ikZ!t*(D1IV}Xk8p(aDTvq7tj{7`0c=TSGw~XH0UElaWe-_W}2{)>0 zwsFcR)DkPU;&6_!Ldkr3n167e%a=mj4*2+OLvnCU#L8_pOHM!td4WQSJq=41pyG0@ zT?0yqWe?0h?G3=L$3wClNKrN1lBF_2Zt9nrIl!myM*=~C4hl_J9DARUf~$r>$m{G% zA|!|9r&tI;Q3d3{X$LrNMWc&dIX)>PV}iepPIG+2Nzfrvxx9S#yVUV_gHq(G5Xioa zBe~=L0vG6^7UIcnv#`PIVn%kV`3oUPW_a2UwKbBixx|H6K*x$~ItqaM)R8PrW z{Wsq9YkIJ*%`5EOK(IcPYRNk&C+tgAeE!hH3$W^vI`CMi|xXn07TAO4x)2Y zl~eeY)?m}W!o&SuJ96g(UgbR%Y?cbGEXzhMfrN4)Pxlap6ePd>ZJbY1KNQJ7-+;GB`p3Ot7#Q z9OTANk9>)%)}g(HLLI$^^$z=RnF&1PgrdcYwjF$I@`nY4cmv@~-^^HcPk;GZj>8uu z%rXnUcKL7^FT(h}eq~pTC8MJ0!2yQxNrzV%8l0C(^j{qLw*WqW9$2D{j3=U|ZY^BYa$2fZ8gDvrOMnI0I0JkK^K9eOXw$8U6YrgHx(hwVa zR#!&&IlvV{+ei-!si~nEMFA9#ymh?x!J?cR!cLilr}|P&K!Pp+WD^=D{!;X86aJYRoPen2w4QJ@h=GN61-btjA52h(%8YLlcEbUQfIPa(EjqOL zmX0y2hGuH+`u_Y>f930mm$~_A@F3yf(-0s#hQYl37Y=7jojLMs)H|Pmeve+Y9KQ~> zHj<*b%;vd2qiQ7epA^mL+&N+P4s<^Nd`hVWR+5-~ygE&)r?h7Pk`?#o5y zV6|@|(EkF)K42(I*e_n_#v0KRsvW zPuQVe#t%bFs5-CQc?t*08B4Ol`k)D$-E-G|c!|A`9LvOSP&R;@8TMi|jt5pR)XVj5 zJ0OA5I1FG7gyb%=F#S1Ys_3%^W^)q$dVB4w0#x8ldRm>=@^X4}O?!Jec5Bp0Q5e;l zva=FzCAPJ6^6@=kJN5kI#p}0^-dO~#<@W41Tu`9{9OjPQiP|zV?hL%z4GVK3;@~~i zSv-#}nl905c!cS zu}XaDy#tfuh8lk5LNs>i@)}0!A-W~}qXCg&RBnKA9|rZpODH@Uhjm&6UVg261a6t$ zd2A4C$%(}WPrVrllJica9<8}ink4ynVR3weg+~l z;k=hq(T119130i9{ods%NH!8K@w0vJiO`bgvuY|kyUelE1n)3jt(Y$_bf7r^fpR;X z_cX!xyA=3o*xvThW{p*5>&yLNM#Z;SZu||8ef{m8uA!amf>4#%ge2s7U=Do@er|0k zgp?@x3*-1wt*Rx$d>Sa;M2Gyj?RU;tp-!2_SrTdbCoeH0-|I}()%H;q@9KD>Rp|*f zLYtg-VpKu@z6H%J$yRX)W!fza*)N0MBix_XGyt=UtWQ$ zsneX_ymJQ^pdgwfP4ZNZX4qRK0cns83h=f5JB_MnCvyv`P4A5p-=E!gFr?+>Tgr+R z$zHCY#j8}N?)S?33f5e@z2W_(lD*ZI~$Z($2Vzz8Fua(|C+t`FR`t$BwaPU?WXQ<%_Ej|`xuAuzf#Sf z4}Z$Xz&fORRaNP&7h@vy*M_yZju(l4YzNG>hhuWf1a5`MPQ2pR>4wG*AHvm>rxn>M*eoG@HNatDdu6bC@Y00_zPMn{L@2EJ+EF zOQ^Spp5<2>%QOAih(OCp+F6Jm>BRM`fsMT%gI{H|8qZ_74W>GM(*IEt_vJ$GtBSqF zNlheXMf_p`GO>G&ql)a4TE_EVuTfzirm!QFswyuw*)j(Enz;{!%bv%PYUN7bX+Pdf zmuc66?pHxpT3{USZRVu%7q^E!Bo#@Ah6+;)V`*(+z3&DPQC-U~gFAAd&^#q|S z^XutY+*9d;j7Rt})mDa@7&52L+=JXrIeiz#awA;vA2h zb$SA6l>W#&IX@C`EfGn}uO{(*xzWW9J=qmA0deJc4|8B!$!`;<&1b*CyvgyMGEThx z+X>{&{~s>xFW=&V?SR2koHFyFy)ktXJqQ5sn+u7G2>W69d_=IKr3|fz4%Bkb|_9OY=uXMwkJSRy_zaUJHsu5I<#QPO%8D9RM?hc3u$&w$**OF zZvSRL9Dcfb^EzC2>^;sA&Tb$z|Hx=*r`hyg=sV0^I@`h)NfER6<>k4_jWe{D*V?(# zG4qm3kC{1X4$7aMeV*_#TAR>D2c_ByC1tc!J3qZuU>7wi8N&^w^2WCpF8RrU!2t0L zhmhL^S3AiR-{}n^ez5=moliDG%gY|$HC=dpc!btIaY;8@n-Ha{Eihj?Buv~HMp>F7 za6u9$uJ-4iID4%bk9OA+r9SHYpWe1Do;E>tK9g%`*5K>ZE2W_1C#Cb?5(l| zpnDo$zis)>IuS_ZdqaiG$LCA8;Bhi!Wkrd{ix>n@nHUps)AqlUo7|mErUQ!s}`luO&_ok3Kc}Wt}zvPgTBFlBg z9K@{M-p~!X#s^)?9~$)NENd+ha+lPlkO$O<-q2Q(`r(d(VL(Ip=P>GZUz)3To+hb# zF%(?-YLhtx>tAZcmoh*0wJZOS>(AHS53kqOR1Ng5n@uh+|85n8d+!n@-!nbD9_BK1 zl-xUVZ?_}4D{KkOmuiAuk;ajlej(Akb@8&O&4cmVNsD(bQyD&#Tu2_|+RZMFN-YY~ zf6ZQ24~VQQLJJRWl6nH^CFLty#l~hocS~boc{$e!^F!8Y>LfD#!jST)(j3kA2H(I* z!}msCR;~(ri}gUB=(8lB**BejCK*37`GhlSqDxEZHB!eDv|g|8pV&# zCxct@E!u}wPIMbsZon}DV3%)pl;RPEJmr}8xC2RCP>50o8FRHF! z(RaY7I?yu#k)5{}qfD3BOx@I?6x)`9(wKHdMCfqPUS`8j@*>q{z@q#uZv4H&)yE~j zq(aqX*UhXag)*^}#)o;|-IDtR@hOlMR2oNyElF@?Cy}wLm9=g8>Rxi%>Wv)d#8_XU ziw=q(@>tF@!GoHg`fqQ}R(?ti4JF)vqQs%-0-Z2Ve6{L67}&L#6jf`~c4BBMGED+@ z?Z0F2a;hb_OM{ecjFxr#gO8Bb0j%vr5uvU#rH>F`0PEHe3FY}5FANws$346meJ&tm zkbu6V;Qa(Y-XXn*jyEwhK=^~I>RXH?17Z+*pkP0aFS7Kk)c1Z6nDSO?mHyf)QTc}Rx)Vr zQ^R_-?}0@$g=s=d9>klBBYaxj2+7YCUHND##L*!JVO?zN4_)Vkz%9XmJ?Xw5SYUvK zLgQ9qj`!eCLi-!<-7~hTy0NAzWnWO)Yc-mDOQPS4p)0TLxD-Pifinwy_n?^qTn#4o z@8rLMb;M^ZJp+tN{_}86E_@2VQC4vKpzbnt`rSVzF_>7FNxwY$o!&CFXKYyK!#M$B zDezX2+Buw(KkZPg64ZCjOvyZS0Z6J!`=s>zmYME@La-T$W)0}2vYp?lP5#NlcLO(N z`Kg~xi(oeXTs94U(TX_xd3Afmp_U4n)iJyD-wvi<%d(&6j4FZd6{cfs zscEMhGHmz<0J|SjMx$oZ=P7EZ1}TN*p7g$81WR0o!9~oRqx7Ce4AS3*q}jIA@SeG; zY&qa=>F!^1NGW3+s-2!oaU6sYx1-R0U(6H}CXZN{Dtfs5g4kJT0l&4rCE-@c;k7FE zc(eNRU24Vj2kVdREE&@Fyqxat2PfHgLvqeW8k;(%_n0S5UW{(M0k-?Jh;CJEo+o~xDXfm;hy6h}{R8kv7uZkg z8&ZTT)6Qiq_xRm)HWZcqU|`7(qSUaO^mVOQaA~L2%;Q+>*Q!U2vPUBSY=U8Xlt#LU z)i}0@G@$et`%fgtLC-MS1iQ6TRnBuSi5+WyGVDLn4Vm7?aTbcZ=N#($>l>$f;MH_! zgCzT?fm0;;WX9PVehhw{H2F=|EWLIA!KbpKN*^az(HKpOeDS%p+ib6yn!t=vwOM!G z;{LG5!##L!<)qd`PNtLMeTuA#*J#l)yCN38Qw@+95oxu(m+_S{d$i%M02 z;L*%^DPZ-sr&z{%ethQa!#mbJB6B`R6>F2>+vR)-_!5BgE7{(Ph`rrr)7yyE8ssXC z>zpK=RYL4DLxpj;LuN5edXwv|Pb@%Op13DNgW0%s_P}ON(qHACTUoi&u+#+v?XSHz z_3LF0z%r#HU3VmSAalP$uj(|uT}bYwjDcNI2#xl0 zS?V7)c_;2L0QzQWB)#HBx4b#Y(7bWMU^wO?uh_9e6QL#NEYK^FJQZqV2Tqdn#q(bt zu%ItKgtG9AU3S9EH7|J1`YZ}$!v&K*g4ngcnQUTK-LBTu-ck zkR5}6)12JWo|89z^+q{hgIcDyAJ}HppX_nU>am!%NK8kb-h;$(FgiutyeAf;I@Tm` z71CUbm+&=53qs_N;GI(`lSs8Q-WktVe8^7Mxw1h!5=DOVKgKKn)sZVwfUUk6Q8_w( z1OPsgt$WkDEX;SL0}xt-h2PuG$UJ-clokx~_rO2cuz?DT;ah|lU=Lymi4C!2V_*4u zptR0;&+Yv1zcv;pwv$>p*R$Cr_)ptEr1~)BxXi{J7DOEi1Bau^%ZtC{K1h^c(eL`M zXZ`h+-gViTuE-at=7bCusIkFGONWc^WZ#~FqEdd3$vh|F8-v~xrEzS`p6r=ua<$Mq z6RvnPrYb;5(V7+Q9(F!AqLbxkB+yccr=^<(h&fd+wj#lAZilaiB1`su=_2L8o7kv{ zXS-yLR`PgyL_lw1;Vo!?8EgDRglZQd;Q?fZaUt?l7JSzWWW9z~&SsNX zJenh@KXTt4Q+vN?gFVyZ=(Ic`0|z`7zAiOU%cfUF2L2e|CO&lm#p0^BKR*{dSlkMm z+KzdoKM;t9N|JpFT(o0@bC5N%PnM+Hu zlX?nF2^7&?{9H7erHP{I?0^f7DroPCYR$6lv1RB1Anr3#Mo)j=hX0VAjoIib+&F-a z$CMEVSWGPBKQKMxTlj5JCHgc5vYBD|IPB04LmJnwv5(&z0Y^T}v&=%`2uEk^31;Qx zukZ{T?jgh9A|5dHHfKB|Sh~%=p?;NOE3t$UGegl&tz zi_pe<+1}i-SnrQqyyvQXtB!mmi|3XUWmENqXEZ#rl8%NbI>2pxWHBxSoR@2RD#i0v zw>zdZ@8!oQIZ;62W=tD7t>YofR$NoBCJauBi8;J_OFp0RMyR-y+J^Dt9E^PeKp4%g zQUzygW!7^yf4n*U6II)Hk=GyukHrFf^A6{({(k{X^*aDfFzVj+yjuD`CCdkT_?S{E z9p4RM_FisW?~hPc==D~+<-4+=d#W^*=fpWBhuNjZ3mSY z*e*9dv{!}VImIWnLK<%a_@jmFn#Zx$a$kv=NV;@SOX+gUsn(R0cG=xBm8)EUZ%o6M zv|?aU5CAqZ2c(-eX_l9p{5^M%JR3Z!FAc-7BqRe4h5bmTxV6=RcfmW~VPkv6uBIPT zUSb~13ttjX&FPz&R?#=oj=laJ(!N509`?jv{uk@B8-}VC7`z9#Ly$Vpc$QlPw{Vn; zL6$|xe*}W0b7Qr0<9|!3A`5!yr_h{<2}&iUj;JoH>40T@gKS14lJIJQE=RW4Lhltu zTG9f{SwiBN9$VnfgWkO@4QVco4?#cXchWFtSrQoBzrPvzW(0 z04ZBAck_ryn`Tu(w#|YY`KtwHOh&=fm*SMvN~-qI4!*BHLIxXxXLPWZ8(MpYmy7EO zX8_{QlBsNemPZ`$EFr|I%fIsu$?;{g>!7W%UzaM!wN#!d(QjiY&cgpkw%|btW+U({ z{K%ZliS0Cn(~LHfdX!XtL2lY&L|bFKAWyhOfN<{y+P$Aw!L7F~CW4s~&~JTyMrE|7 zsHmwuxdaBPlY4OA&g40_%@NQ3xtY1|=I4)Y@kz)>pzqbQi|iRKbYS4bL>O?!Q#)1G z=1g{rzH&P-b5Z?}?3{ayFwEPwd7%4scE#~vbNltx9X5{@%hT^u!Mcs3JY4E;7_Q)E)egO|LM za{l#Q*4iYZ!JUlQ#a`1r%FjVH^itYpkM;ZJe_`*F+Uo$T+x4d*;K%{b&#qLTsSu*ve`7||>Uq`mRM@k(W$C7Jhm^%)!+!kxu+pz}Tu@6v)Zo9-pZf^nU zRs!|t-h10q8YuMgW)*PiRr9Z-ew3Dcx%`GRT@CQwI0u(v@b0N@uZu6EYgVXSGvA;< zR6w415bq$LikvgkV^DiwABpBTJS$3!$+Z6S5zz+>OqA^=6ZvfuLx#m5iYKRV@WO|s zesNltkBnZa9;JcOEnC@9?*XfO-UYsZ#cm`8=$bsj{K8WdzSnK8rY^ex{-jVj@5OF+ zRr9U#N_Ok6mka~mVA{GfX1tM@z;s+A6tsQ@qQ;a~lt@CzC6lyde!Q_Cr9dZ&DrIUC~n-{Awa*C)Ug1*(kD`c3!)hKNS64*U3@D4c+$(O zCG|&R>geT~8(E>-r_^9$&DWZh?p@*@n2mL$jy_a(yEJ?}Fs{X8d*hkzebJI3QyKah z8SN5-czO^8xC*G1o!9q*Kp&--?WM%47D^3#WXoQRd~_-DLkEe{IoXIw)_pbYUA7Ae z2`T1EtsJ59d$ze9?hxa!(e4l3f1)|A%Cori;H~MYNJg+Cb%G7Q`Uz2jq5JtwuF-f2Ktzv+;Tju795XoqsA7O%BFyuj{Yr)0_^l5< zEh=_2TYA;HQ#a^wJY)a51hofu*+U`@At3q{=j_LipbV3~?FO{BCVkCgRqrP#v+?tR z2=jo~XUhG%y-Y-aoI;KaJ4uF{3;eU69%n;Xc5W3JK~< zRSX&6NDI~>Ue9t_Kv3A<_-%eE3VhT1b4IsxSZc4Wq>OGsn^pDJY*;|?%YXk%fXhW9 z1EaTD7r~d+UliB|O6AY_4)}(id70$XB?&y63tDQC*-tV1=jCyisCw21u}_syO#OzM zKG)@10Djo-Z339>(wMN*HFUrsPc=kt(gSC}VYEY3a->82F%=VR;e5Ec1=+eHWm7dy zor`G)?&^8lg=^xuorR@k2_QTX=6rNVIcceK$&jl!kk-A?zJJI3!>us=zd&ZunBFpt z?dkJA$lzcTbUQl>ya_=woO%KR8%Uf>Zt;5%V)bZAZ*U-^XO$cQGx08RWK*w9s zf!*d(i7t#f7qp(Qb4GlEep&hRqU)q#Mw=8Eoc^np_^KI$QoxuNmqcfF;<)?_B)(l) zU+Ow1x7Q3izHJw(i<{Xi%P0ug9R2gZj?O$Bs<#j0LlMd{_9!w$vhO=J9s5oy%h-ky zvW{IMiLp0G$nrB}4cVg*GE^cv*(x%YGO{GwcpvXyT-P{fj^~{7Ecf@mKTk+f1Es)c z`tK}ab1a*!{~;~|l1J%D4{7Pp3z%71LC{U$xY1r*>px7P_-zf#Cr@nUrLa(klFP*n zoiRL2aS+7!t}JpOudAO~7~zaD80?KC^UFygWVh$k5QO`oFLMu%KQ=SRb*~?vepS@< zS%&xwN5>5O;WbrNaQ8M#xW3giT~z)-kA7b;4V+`&CrL+e^~mtK1-mu}^4}+#fEe9a zFBCtlS_t7#8X#Ei_{_C@ys<^=FBOJzn>4dqGI5Cj;`e5-n$JvXaoG-1i22`bBKg%O z!|d9%>C`sC=p`jp5-xlGI%IkoVX~W0JRRi{wqSSaT?DlFur1_(OPRzsqV*>TM`y{( z0rN58ERB7%q*U>3lmVC(gvb#>gkGwDc0n^KK-q=av6qS^IgB^`o{~rP1vT&PCW8qS z;YY4!>6v%sr`J%TRYb;b#w%IgRo$b&?k@&AbSKX|M<5(#J=A+QIBdq2F z6Be=Q3}Y5R40C*qFZ=2qdi!VqN%y1exHF*UCQNx&O4Z=4J~Fv+j63-I=~2ZW&=<0Q;`kSy&Lj#4Y#a$gl_t_ zj@YEd2$N>!S%y;oGEXJ}$8W`zgn};}!6Tt0WZUzhe)kYxq zTOw-&Wy1Oco$|2BnX1}#%iF;f6-pD`_kN``c@+SoW~147V-uUZkl#?&F0cggFO#(x zAt=Mnj#rgb1ttu58R87j^o~Yt`YuXn;m;kCt-UTJWh}@F>a-2P%gC|{1}m%2F>U!& z^HWW~t9F2Vy9~}}gp!$XTrzF&s>GVA*?+)@e0p@b{a4#@AVvoTB>9eYe#d^<8na^p z)&xn1dLLKqKhq>3v$X}v$UVTH;csOn&y&o8zOND`wVOH>-FhYA*ac%_Yx@Y-uMjYx zYb`^(NRKgRH$_^6VIG)89>2YNroI5zN3O1_GWVaI;U5|76g{`odbGf$o#dy4Y^H*T zM%v8WhRt+z90w?q26pGp!p%qIIikqx{8-gtg;k%ql+rLV2#l9kuhs9XC0j2=ASgmH z{~2;nS)OIkyF~@Ba_!|g3siFjqbiR-b6T&#iCBiJa=4TN`jR&nk{|o_ z{t0<0S%OMVjbHu>%b%Ekz~ds%(+NCod(uk%hqhUoZ-3;58-mukY1Mf2{zJ5WdKe2n zvR|=-U9?sExLKP}Sv)9b8lalBciElV0tTd_NE7?2i?LYm_54Q`g-uOf!2va}*Lfx( zQhS6ChMhCWi|E7W_6(sSb6}F4^k--4JCT|NU%;2F^Hrt&zmCY%Z>`mrHKNqcr#pOB z3D!tvqTa}uqqJDZh&hUYz*hQQI{2*8JSq3!jyZd4&K?qVNtNtdB5%BPL$&4_)G#qIV-Ce4UR*FpcJCydKvAb|&ep#v~uCD+VaxDpOVVu>hLRz2E@>L6i zpVrDFNXgqV53~%Ro}}oma?`z2i(h_pgdG6xOLgvZO$l~)*zjyC8j=D8)SH0);(xBH zBW}7i)7}I{e_$2?=C6+#y{e?9i}5c`b6!nwo;&{jMvs8=_dF(Ia>D+43NV(hUvwoY>J` zZZtb-CLFi?_b7efMt(>ko?q1u#ZH5}yA;TW6-RX3V(+nZGg0PecF$RQVPyr6aya$s z`-QOi(zRM?^C{Q6)3iYXna^3#_hsNmSvQ|ukq+2Z|a4%HX4<~&-pRA+W(&R&l`V(R# zaGD*2vO244Y95tXyT-WR;=P-Lzv4BWfV)2)-qB=>AJCUnG{;MR^1nggs0(GoWX|qy zXfO6yS(zIo&R-hNn%j*;AktJTXZNFa+1qs7qOt4Ffj!Ekl$~9lSi`jn;R(2Cj>>9o zQIproWG$NAa*rO9GSI>=htDs#Xgvzk0qzP9tI|RdV8)0iT#Zl z*S%h+`c`nz`->`A-})h#aBU5=G_Q0&f4OWM-)9U#=&E@mD0r>FMM?Z)*9`rBe*d8t zX{P1q$iUzdf;7{``j&I&n8=--Jva&CkrRo18Zvo8hhB)ULDW{qaeqR@ft=V={z$hj zw?-HdJk}yXK05twEPi>I5}GtpKOz`1s`J=P@YcVvlk1ziukw<}L}GX2pX97WbP+ zI7*#6kA8QL?(Xj3hs;|)ZYh)GC4)YF=Y-D!Ut0(BNtT0!ByimgH_kZanTuuSfUAN` zbS}2{2How`zS^W2j`-ySgulHxJ1L>>sYRzi@#&|*JA;8waDCjR{=Dm>^Bt!)!+#dk zP1q6~4ip8qg4u=|Ei2TiLTICUcbH|HFs0SZmw0KJXdiha&y*sr4cz_b+K(9V2+cTr zrPf|u?owX4rkbKt6k5l+eih+kkZvhuN)yopL6S~OSPQ>mxtt5bP67Manx1_f#HODS zmRho=VpUA?DfwxJaU2>baL!5gFv67bQb+nK){*ZPk=qp)S6S40|vgWvHb&+ zINZ!B*khK4zuoF)Bk~!yHmAl7gb7&p*5%p|avtt&Rb;=3`*aX#yqgJ*4+cb-ER#w5 zA%GS@w8mrCh4*ca`OeWQ2@rVMhTaetYK3GX^^bGU^kLg}Rcj-wCnSnE@xUvHfolkahH-h;sby?Mdr5|vYeA5pIr3LrGf&qj1qS& zll7H!NCW?Od*&;oBcN1k5))+PeqtD#Um7eJ5&5yKmzFs!vcPsdAv ztgUNMpwhg9hg$O75DT#ah7!5z}{_vO@ zu3`&mj%s1f4#4rIpz8(IKWJO+=#d1>H(oIX5$d6+m=U1sdU&MGg*3<8~>}&`HP<18mJYd7fUB^134w%ybOn z-EcBi(yf;^)aiGrMd({ z`3qf>L&pvDrnj9`ExD3S77N@71}O=Fbpc1992g%^V242XaNv)hG;j*SHG*Wb%|1qk zfVktU$o5d*f#0vYt!-_^hBXXUsBi!G~r?MNkt8@;osm?ms!B>veH`$5b0wff!l(=k{A2!US*qm%!6UIu(MX z>wMhQE=k9gcTTM+ncQ;^5upC{;5^b6t zYTB1FAB9twBi>;(Uu%nWjy%q_vxFX~#F)KMpbx(MPlo6wZ)^#~|5)7Lk7au_@I7Og z+s~fS;o;lB?e2E-xh_PJCfnkb9~iTbKrx+;|7m(uSsm#f1)WG2E7n=s$t$OS0JECXwU0cW)0{vC z%;jt_Dz7@bb^%;W3iVkIKowvV0jVg9#_`f|2vlBy5HaNA22OqNGZI{?2vdhPL|R&@ z$ktBIpuG9Q)CIH)>3ZKzAwuQd9Z89YAN#+sZ#8UxNilQ;QpyD@PH%H`4n72woNvDi zuzvBD<($QN!}I58&yt0}S278PBQmwk?L^0zbgqif7iajBH9$caCmf zHT#|je~?Nt+B|DA#++FvzFS-b+Ev-;SGJj;t5_KMO;;!At^gS4@v!!yC)7~%v=OAd zQh35Wh5)Y-6q%vZ{Yk*57QYREiCKGBVVrN?J_b!9fHsxzDE=6RK(-ECu+Y}1qOWUj zm-O`X4F3vR8HD-5C7;L;C(5sc0|Wq>)lnL?mEsHtIz(4T!0{lGNP{04f3iBzM<43sseE$0RU(Z2i zmIfxt3PgHv4<7L8ZgoCkLd&!9vc%Ko?vm{^n9##u^p5?X_JaGcMu)25rMJ z?XUTd;OJlX$HBu315U|tphgWzZyDl0+5k0Vg(Xc9#Ihu&?|=FAT)V2_L_bd}N%v$f zx%1froIHo6t2dFL>~LJY#sdo7(*^!o?SNRB;=MpsM~()+$rbZl`l^qk``To+mXo#T z^8XZS^lNi4e*p=9>o4G-v**2YXrUNaxch||GvIc3gYykzEY^EcC;q+d_8=b4LT^nE^NEZOa zHE z+=4RoRkUbsT4{w1N*1nlf5=8j55maD;O1T#Ad+1h%h-y*=<5$`TsN{B>~3?_JxeIN z{|HwtJ3R^j8AKYG=FEIqW+TOWx(O`dFe_D7j-nE)??XVU(>nalgSh2f{w`emObwnK_2)qLIW%%|ab;gWr z{@=L=iIx%olfi(~W1o86P`F<@;$eY==BYp`;Y=0Xr+en7M)EiA!@qxat^@~dAMA-@ zhrp$Q{z@3}j3yLj?W9zk;Roxetw1DOv3MBud}YHgf6;ja3`6TNs>w{6;T2B-wII96 zON-oA<7{)uwmTRf!vh1p*v@_~_>g5?iCFLO8%z47@r%x|3r~J3O3u6`%-Y z0MF?byrsV6F)2{}NsOvHbOWlVKQGp2aA!1LN@h#SLxP241+3vF0@oS*5YA5Fv3`0^ zOKvJ8Rs6|=e35yK27aCHA@d_WbdR`)X9sd3OtE2qNo zr1GAZWhv!)r<8Bf`-zE+W<3yfa9yhO5LWzmV6qAU^4l>y9)u zXP1lRkxRs`E5hdHJv-`Nx}@HKZVM77<&7sQ0oSbmr30|V?8yPluhUCTguiB#QaLw> z+1H7y`IX#!!#C2u1dd$_Qj>pv7A<#PDRCXFpt06c^;sny2t z=o+;|6Fc%>FUST>dv(d$7 zyUz}H&-vF22JDrBZ_=+ek;y{iU&oeCehjE6lU}vAQ|5r1l{^4?f!c<1H|RvDUIT8_ zE4%G{Y<5Ya!>_gui<+ZCr^^we5x8X@S!0J^46p9m1>(n@&IvezSj3yJO%XmFpp;

      X~LPQba~K;x^6U^Nn91GuW3k`G4{%^Y}US1*7K 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 Y4Khf-5GT9|_CkW`YnwpTNXO{^0j}6YcmMzZ literal 0 HcmV?d00001 diff --git a/public/eth-planet.png b/public/eth-planet.png new file mode 100644 index 0000000000000000000000000000000000000000..2919eafe69ea8e9d5893731b80b9662c2ba47467 GIT binary patch literal 101669 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 literal 0 HcmV?d00001 diff --git a/public/favicon.ico b/public/favicon.ico deleted file mode 100644 index 718d6fea4835ec2d246af9800eddb7ffb276240c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25931 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 LrJugUA?W`A8`#=m diff --git a/public/fcc-cdg.png b/public/fcc-cdg.png new file mode 100644 index 0000000000000000000000000000000000000000..22171afd432490c2d48149a952dc84f88b6ec6fb GIT binary patch literal 43367 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 H@k{>$@2MMi literal 0 HcmV?d00001 diff --git a/public/ic-naming.svg b/public/ic-naming.svg new file mode 100644 index 0000000..2a8a757 --- /dev/null +++ b/public/ic-naming.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/kys.png b/public/kys.png new file mode 100644 index 0000000000000000000000000000000000000000..46bb66bb982770734cf1911ba7f9d99d1b1d8df2 GIT binary patch literal 31060 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 NhL6qk%5@>A{{gX*CddE) diff --git a/tailwind.config.ts b/tailwind.config.ts index e85ffc5..bf4458c 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -228,6 +228,15 @@ module.exports = { focus: 'var(--mui-palette-action-focusOpacity)', hover: 'var(--mui-palette-action-hoverOpacity)', selected: 'var(--mui-palette-action-selectedOpacity)' + }, + animation: { + carousel: 'scrolls 60s linear infinite' + }, + keyframes: { + scrolls: { + '0%': { transform: 'translateX(100%)' }, + '100%': { transform: 'translateX(-100%)' } + } } } }, diff --git a/translation/en-US.ts b/translation/en-US.ts index e2ffada..9af4ce4 100644 --- a/translation/en-US.ts +++ b/translation/en-US.ts @@ -3,13 +3,15 @@ import { IDType } from 'mobx-restful'; export default { idea2app_summary: 'Industry-wide IT transformation expert', idea2app_slogan: 'Every idea of yours is worth our efforts to realize', - IT_transformation_consulting: '📊IT transformation consulting', + idea2app_slogan_2: 'Want to create an impact with us', + contact_us: 'Contact us', + IT_transformation_consulting: 'IT transformation consulting', IT_transformation_consulting_summary: 'Help you sort out business processes, discover the pain points of Improving Efficiency & Reducing Costs", and tailor IT Transformation solutions', - custom_software_development: '💻Custom software development', + custom_software_development: 'Custom software development', custom_software_development_summary: 'Front-line engineers efficiently deliver Software systems based on Industry-leading technologies, allowing you to spend your money wisely', - agile_team_training: '👩‍💻Agile team training', + agile_team_training: 'Agile team training', agile_team_training_summary: 'Face-to-face with your technical team to learn Agile Development methodology from practice, and grow into a reliable and efficient Modern Engineering Team', consult_immediately: 'Consult immediately', @@ -34,10 +36,8 @@ export default { cancel: 'Cancel', edit: 'Edit', delete: 'Delete', - total_x_rows: ({ totalCount }: { totalCount: number }) => - `Total ${totalCount} rows`, - sure_to_delete_x: ({ keys }: { keys: IDType[] }) => - `Are you sure to delete ${keys.join(', ')}?`, + total_x_rows: ({ totalCount }: { totalCount: number }) => `Total ${totalCount} rows`, + sure_to_delete_x: ({ keys }: { keys: IDType[] }) => `Are you sure to delete ${keys.join(', ')}?`, repository_name: 'Repository Name', programming_language: 'Programming Language', topic: 'Topic', @@ -46,8 +46,22 @@ export default { // Member page projects_as_leader: 'Projects as leader', projects_as_member: 'Projects as member', + partner_aiux: 'AIUX', + partner_auiux_slogan: 'Bringing better innovative design to enterprise digital growth', + partner_eth_planet: 'Ethereum Planet', + partner_eth_planet_slogan: 'Building a decentralized digital identity', + partner_ic_naming: 'IC Naming', + partner_ic_naming_slogan: 'Decentralized digital identities', + partner_fcc_cdg: 'fCC Chengdu Community', + partner_fcc_cdg_slogan: 'Top engineers community in Southwest China', + partner_23_5: '23.5', + partner_23_5_slogan: 'A brand operation manufacturer with temperature', + partner_creator_1024: 'Creator 1024', + partner_creator_1024_slogan: 'Microsoft Most Valuable Expert Engineer Team', + partner_kys: 'KAIYUANSHE', + partner_kys_slogan: 'Based in China, contributing to the world, promoting open source as a new way of life', // Open source project load_more: 'Load more...', - no_more: 'No more', + no_more: 'No more' } as const; diff --git a/translation/zh-CN.ts b/translation/zh-CN.ts index 6ab194e..7def8b1 100644 --- a/translation/zh-CN.ts +++ b/translation/zh-CN.ts @@ -3,13 +3,15 @@ import { IDType } from 'mobx-restful'; export default { idea2app_summary: '全行业信息化转型专家', idea2app_slogan: '您的每个创意都值得用心实现', - IT_transformation_consulting: '📊业务信息化咨询', + idea2app_slogan_2: '想要与我们一起创造影响力', + contact_us: '联系我们', + IT_transformation_consulting: '业务信息化咨询', IT_transformation_consulting_summary: '帮您梳理业务流程,发掘「提效降本」的痛点,量身定制「信息化转型」方案', - custom_software_development: '💻定制化软件开发', + custom_software_development: '定制化软件开发', custom_software_development_summary: '一线工程师基于业界领先技术高效交付软件系统,让您的钱花在刀刃上', - agile_team_training: '👩‍💻敏捷团队培训', + agile_team_training: '敏捷团队培训', agile_team_training_summary: '与您的技术团队面对面一起从实践中学习「敏捷开发」方法论,成长为可靠、高效的「现代化工程团队」', consult_immediately: '立即咨询', @@ -34,10 +36,8 @@ export default { cancel: '取消', edit: '编辑', delete: '删除', - total_x_rows: ({ totalCount }: { totalCount: number }) => - `共 ${totalCount} 行`, - sure_to_delete_x: ({ keys }: { keys: IDType[] }) => - `您确定删除 ${keys.join('、')} 吗?`, + total_x_rows: ({ totalCount }: { totalCount: number }) => `共 ${totalCount} 行`, + sure_to_delete_x: ({ keys }: { keys: IDType[] }) => `您确定删除 ${keys.join('、')} 吗?`, repository_name: '仓库名', programming_language: '编程语言', topic: '话题', @@ -46,8 +46,22 @@ export default { // Member page projects_as_leader: '负责的项目', projects_as_member: '参与的项目', + partner_aiux: '艾体验科技', + partner_auxi_slogan: '为企业数字化增长带来更好创新设计', + partner_eth_planet: '以太坊星球', + partner_eth_planet_slogan: '共建、互助、互联,赋能以太坊开发者社群', + partner_ic_naming: '区块链域名系统平台', + partner_ic_naming_slogan: '构建去中心化数字身份', + partner_fcc_cdg: 'fCC 成都社区', + partner_fcc_cdg_slogan: '西南地区顶级工程师社群', + partner_23_5: '二拾三度五', + partner_23_5_slogan: '一个有温度的品牌运营制造商', + partner_creator_1024: '创造 1024', + partner_creator_1024_slogan: '微软最有价值专家工程师天团', + partner_kys: '开源社', + partner_kys_slogan: '立足中国、贡献全球,推动开源成为新时代的生活方式', // Open source project load_more: '加载更多……', - no_more: '没有更多', + no_more: '没有更多' } as const; diff --git a/translation/zh-TW.ts b/translation/zh-TW.ts index a6268cf..b05bd2c 100644 --- a/translation/zh-TW.ts +++ b/translation/zh-TW.ts @@ -3,13 +3,15 @@ import { IDType } from 'mobx-restful'; export default { idea2app_summary: '全行業資訊化轉型專家', idea2app_slogan: '您的每個創意都值得用心實現', - IT_transformation_consulting: '📊業務資訊化咨詢', + idea2app_slogan_2: '想要與我們一起創造影響力', + contact_us: '聯繫我們', + IT_transformation_consulting: '業務資訊化咨詢', IT_transformation_consulting_summary: '幫您梳理業務流程,發掘「提效降本」的痛點,量身定制「資訊化轉型」方案', - custom_software_development: '💻客製化軟體開發', + custom_software_development: '客製化軟體開發', custom_software_development_summary: '一線工程師基於業界領先技術高效交付軟體系統,讓您的錢花在刀刃上', - agile_team_training: '👩‍💻敏捷團隊培訓', + agile_team_training: '敏捷團隊培訓', agile_team_training_summary: '與您的技術團隊面對面一起從實踐中學習「敏捷開發」方法論,成長為可靠、高效的「現代化工程團隊」', consult_immediately: '立即諮詢', @@ -34,10 +36,8 @@ export default { cancel: '取消', edit: '編輯', delete: '刪除', - total_x_rows: ({ totalCount }: { totalCount: number }) => - `共 ${totalCount} 行`, - sure_to_delete_x: ({ keys }: { keys: IDType[] }) => - `您確定刪除 ${keys.join('、')} 嗎?`, + total_x_rows: ({ totalCount }: { totalCount: number }) => `共 ${totalCount} 行`, + sure_to_delete_x: ({ keys }: { keys: IDType[] }) => `您確定刪除 ${keys.join('、')} 嗎?`, repository_name: '倉庫名', programming_language: '編程語言', topic: '話題', @@ -46,8 +46,22 @@ export default { // Member page projects_as_leader: '負責的專案', projects_as_member: '參與的專案', + partner_auix: '艾體驗科技', + partner_auxi_slogan: '為企業數位化增長帶來更好創新設計', + partner_eth_planet: '以太坊星球', + partner_eth_planet_slogan: '共建、互助、互聯,賦能以太坊開發者社群', + partner_ic_naming: '區塊鏈域名系統平台', + partner_ic_naming_slogan: '構建去中心化數字身份', + partner_fcc_cdg: 'fCC 成都社區', + partner_fcc_cdg_slogan: '西南地區頂級工程師社群', + partner_23_5: '二拾三度五', + partner_23_5_slogan: '一個有溫度的品牌運營製造商', + partner_creator_1024: '創造 1024', + partner_creator_1024_slogan: '微軟最有價值專家工程師天團', + partner_kys: '開源社', + partner_kys_slogan: '立足中國、貢獻全球,推動開源成為新時代的生活方式', // Open source project load_more: '加載更多……', - no_more: '沒有更多', + no_more: '沒有更多' } as const; From 3e19e16e9b1d8eb92e2d9a785eef3d11e4e7e10f Mon Sep 17 00:00:00 2001 From: soecka Date: Sun, 13 Oct 2024 22:58:02 +0800 Subject: [PATCH 3/7] [add] masonry layout of member list [polish] project, member card layout [fix] project card languages logo missing [unfinshed] member, project detail --- components/Git/Card.tsx | 83 +++++++++---------- components/Git/Logo.tsx | 7 +- components/Git/index.tsx | 9 +-- components/Layout/MainNavigator.tsx | 2 +- components/Member/Card.tsx | 75 +++++++++-------- components/Member/List.tsx | 2 +- components/Project/index.tsx | 18 ++--- components/Section.tsx | 15 ++-- models/Member.ts | 11 +-- models/Repository.ts | 32 +++----- package.json | 1 + pages/index.tsx | 55 +++++++++---- pages/member/[nickname].tsx | 35 ++++---- pages/project/[id].tsx | 41 ++++------ pnpm-lock.yaml | 120 ++++++++++++++++++++++++++++ 15 files changed, 301 insertions(+), 205 deletions(-) diff --git a/components/Git/Card.tsx b/components/Git/Card.tsx index 5673902..11e7182 100644 --- a/components/Git/Card.tsx +++ b/components/Git/Card.tsx @@ -4,7 +4,7 @@ import { FC } from 'react'; import { i18n } from '../../models/Translation'; import { GitLogo } from './Logo'; -import { Card, CardActions, CardContent, CardHeader, Chip, Grid2 } from '@mui/material'; +import { Button, Card, CardActions, CardContent, CardHeader, Chip, Grid2 } from '@mui/material'; import Link from 'next/link'; export interface GitCardProps @@ -14,51 +14,42 @@ export interface GitCardProps } export const GitCard: FC = observer( - ({ - className = 'shadow-sm', - full_name, - html_url, - languages = [], - topics = [], - description, - homepage - }) => ( - - - - - {full_name} - - + ({ className, full_name, html_url, languages = [], topics = [], description, homepage }) => ( +

    • +

      + + {full_name} + +

      - - - {languages.map(language => ( - - - - ))} - - {description} - - - {homepage && ( - - {i18n.t('home_page')} - - )} - - + + +
        + {languages.map(language => ( +
      • + +
      • + ))} +
      + +

      {description}

      + + +
    • ) ); diff --git a/components/Git/Logo.tsx b/components/Git/Logo.tsx index fa983f5..694141e 100644 --- a/components/Git/Logo.tsx +++ b/components/Git/Logo.tsx @@ -4,6 +4,7 @@ import Image from 'next/image'; import { PureComponent } from 'react'; export interface GitLogoProps { name: string; + className?: string; } @observer @@ -40,8 +41,10 @@ export class GitLogo extends PureComponent { render() { const { path } = this; - const { name } = this.props; + const { name, className } = this.props; - return path && {name}; + return ( + path && {name} + ); } } diff --git a/components/Git/index.tsx b/components/Git/index.tsx index f24b08e..01c25b1 100644 --- a/components/Git/index.tsx +++ b/components/Git/index.tsx @@ -2,14 +2,11 @@ import { GitRepository } from 'mobx-github'; import { FC } from 'react'; import { GitCard } from './Card'; -import { Grid2 } from '@mui/material'; export const GitListLayout: FC<{ defaultData: GitRepository[] }> = ({ defaultData }) => ( - +
        {defaultData.map(item => ( - - - + ))} - +
      ); diff --git a/components/Layout/MainNavigator.tsx b/components/Layout/MainNavigator.tsx index 055eff7..1260147 100644 --- a/components/Layout/MainNavigator.tsx +++ b/components/Layout/MainNavigator.tsx @@ -55,7 +55,7 @@ export class MainNavigator extends Component { return ( -
      +
        {this.renderDrawer()} diff --git a/components/Member/Card.tsx b/components/Member/Card.tsx index cb98bb8..577c6e9 100644 --- a/components/Member/Card.tsx +++ b/components/Member/Card.tsx @@ -10,47 +10,44 @@ import { GtihubIcon } from '../Layout/Svg'; export type MemberCardProps = Member & Omit; export const MemberCard: FC = observer( - ({ id, className = 'shadow-sm', nickname, skill, position, summary, github, ...props }) => ( - - - } - action={ - - {nickname + ''} - - } - subheader={position && position + ''} - /> + ({ id, className, nickname, skill, position, summary, github, ...props }) => ( +
      • + {github && ( + + + + )} - - - - +
        {github && ( - - - - )} - {skill && ( -
          - {(skill as string[]).map(value => ( - - ))} -
        + {`avatar )} - - + + +

        {nickname + ''}

        +

        {position && position + ''}

        + +
        + +
          + {(skill as string[]).map(value => ( + + ))} +
        + + +
      • ) ); diff --git a/components/Member/List.tsx b/components/Member/List.tsx index f34600b..ebe31f2 100644 --- a/components/Member/List.tsx +++ b/components/Member/List.tsx @@ -6,7 +6,7 @@ import { Grid2 } from '@mui/material'; export const MemberListLayout: FC<{ defaultData: Member[] }> = ({ defaultData }) => ( - {defaultData.map(item => ( + {defaultData?.map(item => ( diff --git a/components/Project/index.tsx b/components/Project/index.tsx index a2f181c..5f49120 100644 --- a/components/Project/index.tsx +++ b/components/Project/index.tsx @@ -2,22 +2,18 @@ import { FC } from 'react'; import { Project } from '../../models/Project'; import { ProjectCard } from './Card'; -import { Grid2, Grid2Props } from '@mui/material'; -export interface ProjectListLayoutProps extends Grid2Props { +export interface ProjectListLayoutProps { defaultData: Project[]; + className?: string; } -export const ProjectListLayout: FC = ({ - className = 'g-4', - defaultData, - ...props -}) => ( - +export const ProjectListLayout: FC = ({ className = '', defaultData }) => ( +
          {defaultData.map(item => ( - +
        • - +
        • ))} -
          +
        ); diff --git a/components/Section.tsx b/components/Section.tsx index b68f8a6..217eae1 100644 --- a/components/Section.tsx +++ b/components/Section.tsx @@ -2,22 +2,25 @@ import { FC, PropsWithChildren } from 'react'; import { i18n } from '../models/Translation'; import { Button } from '@mui/material'; +import Link from 'next/link'; -export type SectionProps = PropsWithChildren>>; +export type SectionProps = PropsWithChildren< + Partial> +>; const { t } = i18n; -export const Section: FC = ({ id, title, children, link }) => ( -
        -

        +export const Section: FC = ({ id, title, children, link, className }) => ( +
        +

        {title}

        {children} {link && ( -
        -
        diff --git a/models/Member.ts b/models/Member.ts index 4be5f35..6d65a90 100644 --- a/models/Member.ts +++ b/models/Member.ts @@ -3,14 +3,7 @@ import { BiDataQueryOptions, BiDataTable, TableCellValue } from 'mobx-lark'; import { LarkBaseId, larkClient } from './Base'; export type Member = Record< - | 'id' - | 'nickname' - | 'type' - | 'skill' - | 'position' - | 'summary' - | 'github' - | 'joinedAt', + 'id' | 'nickname' | 'type' | 'skill' | 'position' | 'summary' | 'github' | 'joinedAt', TableCellValue >; @@ -19,7 +12,7 @@ export const MEMBER_TABLE = process.env.NEXT_PUBLIC_MEMBER_TABLE!, export class MemberModel extends BiDataTable() { client = larkClient; - + pageSize = 20; requiredKeys = ['nickname', 'position', 'type', 'skill', 'joinedAt'] as const; queryOptions: BiDataQueryOptions = { text_field_as_array: false }; diff --git a/models/Repository.ts b/models/Repository.ts index 9cf349a..935e6bd 100644 --- a/models/Repository.ts +++ b/models/Repository.ts @@ -1,18 +1,12 @@ import { observable } from 'mobx'; -import { - githubClient, - GitRepository, - RepositoryFilter, - RepositoryModel, -} from 'mobx-github'; +import { githubClient, GitRepository, RepositoryFilter, RepositoryModel } from 'mobx-github'; import { parseCookie } from 'mobx-i18n'; import { Stream } from 'mobx-restful'; import { API_Host, isServer } from './Base'; const GithubToken = - parseCookie(globalThis.document?.cookie || '').token || - process.env.GITHUB_TOKEN; + parseCookie(globalThis.document?.cookie || '').token || process.env.GITHUB_TOKEN; if (!isServer()) githubClient.baseURI = `${API_Host}/api/GitHub/`; @@ -20,15 +14,16 @@ githubClient.use(({ request }, next) => { if (GithubToken) request.headers = { authorization: `Bearer ${GithubToken}`, - ...request.headers, + ...request.headers }; return next(); }); -export class GitRepositoryModel extends Stream( - RepositoryModel, -) { +export class GitRepositoryModel extends Stream(RepositoryModel) { client = githubClient; + filter: RepositoryFilter = { + relation: ['languages'] as ('contributors' | 'languages' | 'issues')[] + }; organizations = ['idea2app', 'IdeaMall', 'EasyWebApp']; @@ -36,9 +31,7 @@ export class GitRepositoryModel extends Stream( accessor currentGroup: GitRepository[] = []; async getGroup(URIs: string[]) { - return (this.currentGroup = await Promise.all( - URIs.map(URI => this.getOne(URI)), - )); + return (this.currentGroup = await Promise.all(URIs.map(URI => this.getOne(URI)))); } async *openStream(filter: RepositoryFilter) { @@ -49,15 +42,10 @@ export class GitRepositoryModel extends Stream( this.baseURI = `orgs/${name}/repos`; for (let i = 1; ; i++) { - const { pageData, totalCount } = await loadPage.call( - this, - i, - this.pageSize, - filter, - ); + const { pageData, totalCount } = await loadPage.call(this, i, this.pageSize, filter); const list = pageData.filter( ({ description, topics, fork, archived }) => - description?.trim() && topics?.[0] && !fork && !archived, + description?.trim() && topics?.[0] && !fork && !archived ); const droppedCount = pageData.length - list.length; diff --git a/package.json b/package.json index 194372e..5633c94 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", + "@mui/lab": "6.0.0-beta.11", "@mui/material": "^6.1.3", "@sentry/nextjs": "^8.33.1", "classnames": "^2.5.1", diff --git a/pages/index.tsx b/pages/index.tsx index 0d9340a..c410b79 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -3,6 +3,7 @@ import { observer } from 'mobx-react'; import { InferGetServerSidePropsType } from 'next'; import { cache, compose, errorLogger, translator } from 'next-ssr-middleware'; import { FC } from 'react'; +import Masonry from '@mui/lab/Masonry'; import { Icon } from '../components/Icon'; import { PageHead } from '../components/PageHead'; @@ -11,26 +12,32 @@ import { PARTNERS_INFO, service } from './api/home'; import { ClientModel } from '../models/Client'; import { Partner, PartnerOverview } from '../components/Client/Partner'; import Image from 'next/image'; +import { MemberListLayout } from '../components/Member/List'; +import { MEMBER_VIEW, MemberModel } from '../models/Member'; +import { Section } from '../components/Section'; +import { MemberCard } from '../components/Member/Card'; +import { GitListLayout } from '../components/Git'; +import { GitRepositoryModel } from '../models/Repository'; +import { GitRepository } from 'mobx-github'; export const getServerSideProps = compose(cache(), errorLogger, translator(i18n), async () => { const [ // projects, - // repositories + repositories, // partners - // members + members ] = await Promise.all([ // new ProjectModel().getList({}, 1, 9), - // new GitRepositoryModel('idea2app').getList() - // new ClientModel().getList({ partnership: '战略合作' }) - // new MemberModel().getViewList(MEMBER_VIEW) + new GitRepositoryModel('idea2app').getList({}, 1, 9), + new MemberModel().getViewList(MEMBER_VIEW) ]); return { props: { // projects: JSON.parse(JSON.stringify(projects)) as Project[], - // repositories: JSON.parse(JSON.stringify(repositories)) as GitRepository[] - // partners - // members: members.filter(({ github, position, summary }) => github && position && summary) + repositories: JSON.parse(JSON.stringify(repositories)) as GitRepository[], + + members: members.filter(({ github, position, summary }) => github && position && summary) } }; }); @@ -38,12 +45,12 @@ export const getServerSideProps = compose(cache(), errorLogger, translator(i18n) const { t } = i18n; const HomePage: FC> = observer( - ({ projects, repositories, partners, members }) => ( + ({ projects, repositories, members }) => ( <>
        -
        +
        idea2app logo @@ -81,13 +88,13 @@ const HomePage: FC> = obs

      -
      +
        {Array.from({ length: 3 }).map((_, index) => (
      • {PARTNERS_INFO().map(({ name, ...rest }) => ( @@ -100,15 +107,29 @@ const HomePage: FC> = obs {/*
        +
        */} + +
        +
        + + {members.map(item => ( + + ))} + +
        +
        - -
        - -
        */}
      ) diff --git a/pages/member/[nickname].tsx b/pages/member/[nickname].tsx index 67bf475..99e60ee 100644 --- a/pages/member/[nickname].tsx +++ b/pages/member/[nickname].tsx @@ -8,6 +8,7 @@ import { ProjectListLayout } from '../../components/Project'; import { Member, MemberModel } from '../../models/Member'; import { Project, ProjectModel } from '../../models/Project'; import { i18n } from '../../models/Translation'; +import { Chip, Tab, Tabs } from '@mui/material'; const { t } = i18n; @@ -39,38 +40,34 @@ export const getServerSideProps = compose<{ nickname: string }>( const MemberDetailPage: FC = observer( ({ member, leaderProjects, memberProjects }) => ( -
      +
      - - +
      +
      - - - +
      +
      + {Object.entries({ [t('projects_as_leader')]: leaderProjects, [t('projects_as_member')]: memberProjects }).map(([label, list]) => ( + label={ +
      {label} - - {list.length} - - + +
      } - > - -
      + /> ))}
      - - - +
      +
      +
      +
      ) ); diff --git a/pages/project/[id].tsx b/pages/project/[id].tsx index d08515e..a04b918 100644 --- a/pages/project/[id].tsx +++ b/pages/project/[id].tsx @@ -2,7 +2,6 @@ import { GitRepository } from 'mobx-github'; import { observer } from 'mobx-react'; import { InferGetServerSidePropsType } from 'next'; import { cache, compose, errorLogger, translator } from 'next-ssr-middleware'; -import { Col, Container, Image, Row } from 'react-bootstrap'; import { GitCard } from '../../components/Git/Card'; import { PageHead } from '../../components/PageHead'; @@ -27,37 +26,27 @@ export const getServerSideProps = compose< .split(/\s+/) .map(path => new URL(path).pathname.slice(1)); - repositories = await new GitRepositoryModel('idea2app').getGroup( - openSource, - ); + repositories = await new GitRepositoryModel('idea2app').getGroup(openSource); } return { props: { project: JSON.parse(JSON.stringify(project)) as Project, - repositories, - }, + repositories + } }; }); const ProjectDetailPage = observer( - ({ - project, - repositories, - }: InferGetServerSidePropsType) => ( - + ({ project, repositories }: InferGetServerSidePropsType) => ( +
      - - - {project.name - - +
      + + {project.name + + +

      {t('open_source_project')}

      @@ -69,9 +58,9 @@ const ProjectDetailPage = observer( ))}

    - - - - ), + + + + ) ); export default ProjectDetailPage; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 11413f9..b46cf3f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,6 +17,9 @@ importers: '@emotion/styled': specifier: ^11.13.0 version: 11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1) + '@mui/lab': + specifier: 6.0.0-beta.11 + version: 6.0.0-beta.11(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(@mui/material@6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mui/material': specifier: ^6.1.3 version: 6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -1112,6 +1115,21 @@ packages: resolution: {integrity: sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@floating-ui/core@1.6.8': + resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==} + + '@floating-ui/dom@1.6.11': + resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==} + + '@floating-ui/react-dom@2.1.2': + resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + + '@floating-ui/utils@0.2.8': + resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} + '@humanwhocodes/config-array@0.13.0': resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} @@ -1150,9 +1168,41 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@mui/base@5.0.0-beta.58': + resolution: {integrity: sha512-P0E7ZrxOuyYqBvVv9w8k7wm+Xzx/KRu+BGgFcR2htTsGCpJNQJCSUXNUZ50MUmSU9hzqhwbQWNXhV1MBTl6F7A==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@types/react': ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@mui/core-downloads-tracker@6.1.3': resolution: {integrity: sha512-ajMUgdfhTb++rwqj134Cq9f4SRN8oXUqMRnY72YBnXiXai3olJLLqETheRlq3MM8wCKrbq7g6j7iWL1VvP44VQ==} + '@mui/lab@6.0.0-beta.11': + resolution: {integrity: sha512-IoYzxAepMs0gnQ2tTMokEd8Bmqt+To/8HQyzjrQCbYZmKyYR/6aK3wm3Y5NpfSLuBo1UrkeXWyKsHeRcHreGdQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@emotion/react': ^11.5.0 + '@emotion/styled': ^11.3.0 + '@mui/material': ^6.1.3 + '@mui/material-pigment-css': ^6.1.3 + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/react': + optional: true + '@emotion/styled': + optional: true + '@mui/material-pigment-css': + optional: true + '@types/react': + optional: true + '@mui/material@6.1.3': resolution: {integrity: sha512-loV5MBoMKLrK80JeWINmQ1A4eWoLv51O2dBPLJ260IAhupkB3Wol8lEQTEvvR2vO3o6xRHuXe1WaQEP6N3riqg==} engines: {node: '>=14.0.0'} @@ -1220,6 +1270,16 @@ packages: '@types/react': optional: true + '@mui/utils@6.0.0-rc.0': + resolution: {integrity: sha512-tBp0ILEXDL0bbDDT8PnZOjCqSm5Dfk2N0Z45uzRw+wVl6fVvloC9zw8avl+OdX1Bg3ubs/ttKn8nRNv17bpM5A==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@mui/utils@6.1.3': resolution: {integrity: sha512-4JBpLkjprlKjN10DGb1aiy/ii9TKbQ601uSHtAmYFAS879QZgAD7vRnv/YBE4iBbc7NXzFgbQMCOFrupXWekIA==} engines: {node: '>=14.0.0'} @@ -5831,6 +5891,23 @@ snapshots: '@eslint/js@9.12.0': {} + '@floating-ui/core@1.6.8': + dependencies: + '@floating-ui/utils': 0.2.8 + + '@floating-ui/dom@1.6.11': + dependencies: + '@floating-ui/core': 1.6.8 + '@floating-ui/utils': 0.2.8 + + '@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@floating-ui/dom': 1.6.11 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@floating-ui/utils@0.2.8': {} + '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 @@ -5874,8 +5951,39 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@mui/base@5.0.0-beta.58(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@babel/runtime': 7.25.6 + '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mui/types': 7.2.18(@types/react@18.3.11) + '@mui/utils': 6.0.0-rc.0(@types/react@18.3.11)(react@18.3.1) + '@popperjs/core': 2.11.8 + clsx: 2.1.1 + prop-types: 15.8.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.11 + '@mui/core-downloads-tracker@6.1.3': {} + '@mui/lab@6.0.0-beta.11(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(@mui/material@6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@babel/runtime': 7.25.6 + '@mui/base': 5.0.0-beta.58(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mui/material': 6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mui/system': 6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1) + '@mui/types': 7.2.18(@types/react@18.3.11) + '@mui/utils': 6.1.3(@types/react@18.3.11)(react@18.3.1) + clsx: 2.1.1 + prop-types: 15.8.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@emotion/react': 11.13.3(@types/react@18.3.11)(react@18.3.1) + '@emotion/styled': 11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1) + '@types/react': 18.3.11 + '@mui/material@6.1.3(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.3(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react@18.3.1))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.6 @@ -5939,6 +6047,18 @@ snapshots: optionalDependencies: '@types/react': 18.3.11 + '@mui/utils@6.0.0-rc.0(@types/react@18.3.11)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.25.6 + '@mui/types': 7.2.18(@types/react@18.3.11) + '@types/prop-types': 15.7.13 + clsx: 2.1.1 + prop-types: 15.8.1 + react: 18.3.1 + react-is: 18.3.1 + optionalDependencies: + '@types/react': 18.3.11 + '@mui/utils@6.1.3(@types/react@18.3.11)(react@18.3.1)': dependencies: '@babel/runtime': 7.25.6 From 59668c73b22ab19b1caa9a50ac5b51ff38b9699f Mon Sep 17 00:00:00 2001 From: soecka Date: Tue, 15 Oct 2024 21:23:12 +0800 Subject: [PATCH 4/7] [remove] useless image [fix] type error of lifecycle method [polish] review details --- .eslintrc.json | 23 +- babel.config.js | 16 +- components/Client/Partner.tsx | 14 +- components/Git/Card.tsx | 10 +- components/Git/Logo.tsx | 24 +- components/Icon.tsx | 12 +- components/Layout/ColorModeDropdown.tsx | 10 +- components/Layout/MainNavigator.tsx | 25 +- components/Layout/Svg.tsx | 5 +- components/Member/Card.tsx | 30 +- components/Member/List.tsx | 9 +- components/NotFoundCard.tsx | 5 +- components/Project/Card.tsx | 19 +- components/Project/index.tsx | 2 +- components/ScrollBoundary.tsx | 66 ++ components/ScrollList.tsx | 73 ++ components/Section.tsx | 4 +- models/Member.ts | 2 + models/Project.ts | 6 +- models/Repository.ts | 8 +- next.config.js => next.config.mjs | 37 +- package.json | 27 +- pages/_app.tsx | 28 +- pages/_document.tsx | 2 +- pages/api/GitHub/core.ts | 6 +- pages/api/Lark/core.ts | 13 +- pages/api/Lark/file/[id].ts | 6 +- pages/api/core.ts | 20 +- pages/api/home.ts | 6 +- pages/index.tsx | 40 +- pages/member/[nickname].tsx | 5 +- pages/member/index.tsx | 48 +- pages/open-source.tsx | 26 +- pages/project/[id].tsx | 8 +- pages/project/index.tsx | 54 +- pnpm-lock.yaml | 1141 +++++++++++------------ postcss.config.js | 10 - postcss.config.mjs | 8 + public/reactbootstrap.svg | 5 - public/vercel.svg | 4 - styles/main.css | 6 + tailwind.config.ts | 2 +- translation/en-US.ts | 5 +- translation/zh-CN.ts | 2 +- translation/zh-TW.ts | 4 +- tsconfig.json | 2 +- 46 files changed, 953 insertions(+), 925 deletions(-) create mode 100644 components/ScrollBoundary.tsx create mode 100644 components/ScrollList.tsx rename next.config.js => next.config.mjs (71%) delete mode 100644 postcss.config.js create mode 100644 postcss.config.mjs delete mode 100644 public/reactbootstrap.svg delete mode 100644 public/vercel.svg diff --git a/.eslintrc.json b/.eslintrc.json index b04c7db..549306d 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,35 +1,21 @@ { - "env": { - "browser": true, - "node": true, - "es2020": true - }, + "env": { "browser": true, "node": true, "es2020": true }, "extends": [ "next/core-web-vitals", "prettier", "eslint:recommended", "plugin:@typescript-eslint/recommended-type-checked", "plugin:@typescript-eslint/stylistic-type-checked", - "plugin:react/recommended", - "plugin:@next/next/recommended" + "plugin:react/recommended" ], "parser": "@typescript-eslint/parser", "parserOptions": { "sourceType": "module", "warnOnUnsupportedTypeScriptVersion": false, - "ecmaFeatures": { - "jsx": true - }, + "ecmaFeatures": { "jsx": true }, "project": "./tsconfig.json" }, - "settings": { - "react": { - "version": "detect" - } - }, - "globals": { - "React": true - }, + "settings": { "react": { "version": "detect" } }, "plugins": ["simple-import-sort", "@cspell", "@typescript-eslint", "react"], "rules": { "arrow-body-style": ["error", "as-needed"], @@ -37,6 +23,7 @@ "simple-import-sort/imports": "error", "react/jsx-curly-brace-presence": ["error", { "props": "never", "children": "never" }], "react/jsx-no-target-blank": "warn", + "react/react-in-jsx-scope": "off", "react/jsx-sort-props": [ "error", { diff --git a/babel.config.js b/babel.config.js index 605a645..9ee647a 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,13 +1,13 @@ -module.exports = { +export default { presets: [ // https://babeljs.io/docs/babel-preset-react [ '@babel/preset-react', { runtime: 'automatic', - development: process.env.BABEL_ENV === 'development', - }, - ], + development: process.env.BABEL_ENV === 'development' + } + ] ], plugins: [ // https://github.com/babel/babel/issues/16262#issuecomment-1962832499 @@ -17,10 +17,10 @@ module.exports = { allowDeclareFields: true, allowNamespaces: true, allExtensions: true, - isTSX: true, - }, + isTSX: true + } ], // https://babeljs.io/docs/babel-plugin-proposal-decorators#note-compatibility-with-babelplugin-transform-class-properties - ['@babel/plugin-proposal-decorators', { version: '2023-05' }], - ], + ['@babel/plugin-proposal-decorators', { version: '2023-05' }] + ] }; diff --git a/components/Client/Partner.tsx b/components/Client/Partner.tsx index 33755ff..228fc9d 100644 --- a/components/Client/Partner.tsx +++ b/components/Client/Partner.tsx @@ -1,6 +1,6 @@ +import { Tooltip } from '@mui/material'; import { FC, ReactNode } from 'react'; -import { Tooltip } from '@mui/material'; import { Client } from '../../models/Client'; import { fileURLOf } from '../../pages/api/Lark/file/[id]'; @@ -19,8 +19,8 @@ export const Partner: FC = ({ className = '', name, image, summary {`partner

    @@ -47,18 +47,18 @@ export const LogoWithLink: FC> = ({ logoDark, className }) => ( - + {`dark {`light ); diff --git a/components/Git/Card.tsx b/components/Git/Card.tsx index 11e7182..d7f232a 100644 --- a/components/Git/Card.tsx +++ b/components/Git/Card.tsx @@ -1,11 +1,11 @@ +import { Button, Chip } from '@mui/material'; import { GitRepository } from 'mobx-github'; import { observer } from 'mobx-react'; +import Link from 'next/link'; import { FC } from 'react'; import { i18n } from '../../models/Translation'; import { GitLogo } from './Logo'; -import { Button, Card, CardActions, CardContent, CardHeader, Chip, Grid2 } from '@mui/material'; -import Link from 'next/link'; export interface GitCardProps extends Pick, @@ -14,7 +14,7 @@ export interface GitCardProps } export const GitCard: FC = observer( - ({ className, full_name, html_url, languages = [], topics = [], description, homepage }) => ( + ({ className = '', full_name, html_url, languages = [], topics = [], description, homepage }) => (
  • @@ -40,14 +40,14 @@ export const GitCard: FC = observer(
      {languages.map(language => (
    • - +
    • ))}

    {description}

    -
  • diff --git a/components/Git/Logo.tsx b/components/Git/Logo.tsx index 694141e..f71b47a 100644 --- a/components/Git/Logo.tsx +++ b/components/Git/Logo.tsx @@ -2,7 +2,8 @@ import { observable } from 'mobx'; import { observer } from 'mobx-react'; import Image from 'next/image'; import { PureComponent } from 'react'; -export interface GitLogoProps { + +export interface GitLogoProps extends Partial> { name: string; className?: string; } @@ -12,7 +13,11 @@ export class GitLogo extends PureComponent { @observable accessor path = ''; - async componentDidMount() { + componentDidMount() { + void this.init(); + } + + async init() { const { name } = this.props; const topic = name.toLowerCase(); @@ -20,11 +25,12 @@ export class GitLogo extends PureComponent { const { src } = await this.loadImage( `https://raw.githubusercontent.com/github/explore/master/topics/${topic}/${topic}.png` ); + this.path = src; } catch { const { src } = await this.loadImage(`https://github.com/${name}.png`); - this.path = src; + return (this.path = src); } } @@ -41,10 +47,18 @@ export class GitLogo extends PureComponent { render() { const { path } = this; - const { name, className } = this.props; + const { name, width = 24, height = 24, className = '' } = this.props; return ( - path && {name} + path && ( + {name} + ) ); } } diff --git a/components/Icon.tsx b/components/Icon.tsx index 9f25c33..a20fb41 100644 --- a/components/Icon.tsx +++ b/components/Icon.tsx @@ -3,13 +3,19 @@ import { FC, HTMLAttributes, PropsWithRef } from 'react'; export type IconProps = PropsWithRef< HTMLAttributes & { name: string; + variant?: 'outlined' | 'rounded' | 'sharp'; } >; -export const Icon: FC = ({ className, name, ...props }) => ( - +export const SymbolIcon: FC = ({ className, name, variant = 'outlined', ...props }) => ( + {name} ); -Icon.displayName = 'Icon'; +SymbolIcon.displayName = 'SymbolIcon'; diff --git a/components/Layout/ColorModeDropdown.tsx b/components/Layout/ColorModeDropdown.tsx index 1ed7f64..0259e2d 100644 --- a/components/Layout/ColorModeDropdown.tsx +++ b/components/Layout/ColorModeDropdown.tsx @@ -1,11 +1,11 @@ import IconButton from '@mui/material/IconButton'; import { useColorScheme } from '@mui/material/styles'; -import { Icon } from '../Icon'; +import { SymbolIcon } from '../Icon'; export const themeSwitchIcons = { - light: , - dark: + light: , + dark: }; export default function ColorModeIconDropdown() { @@ -14,9 +14,7 @@ export default function ColorModeIconDropdown() { const resolvedMode = (systemMode ?? mode) as 'light' | 'dark'; const icon = themeSwitchIcons[resolvedMode]; - const toggleMode = () => { - setMode(resolvedMode === 'light' ? 'dark' : 'light'); - }; + const toggleMode = () => setMode(resolvedMode === 'light' ? 'dark' : 'light'); return ( diff --git a/components/Layout/MainNavigator.tsx b/components/Layout/MainNavigator.tsx index 1260147..7f6c874 100644 --- a/components/Layout/MainNavigator.tsx +++ b/components/Layout/MainNavigator.tsx @@ -2,12 +2,15 @@ import { AppBar, Drawer, IconButton, PopoverProps, Tab, Tabs, Toolbar } from '@m import { observable } from 'mobx'; import { observer } from 'mobx-react'; import Image from 'next/image'; +import Link from 'next/link'; import { Component } from 'react'; -import Link from 'next/link'; -import { Icon } from '../Icon'; +import { SymbolIcon } from '../Icon'; import ColorModeIconDropdown from './ColorModeDropdown'; +/** + * @todo i18n + */ export const mainNavLinks = () => [ { title: 'Projects', href: '/projects' }, { title: 'Members', href: '/members' }, @@ -21,7 +24,7 @@ export class MainNavigator extends Component { renderLinks = () => mainNavLinks().map(({ title, href }) => ( - + )); renderDrawer = () => ( @@ -32,7 +35,7 @@ export class MainNavigator extends Component { aria-haspopup="true" onClick={() => (this.menuExpand = true)} > - + (this.menuExpand = false)} > - +
      {this.renderLinks()}
    @@ -56,14 +59,14 @@ export class MainNavigator extends Component {
    - + +
    -
      +
      -
    +
    diff --git a/components/Layout/Svg.tsx b/components/Layout/Svg.tsx index 24be7d5..869505f 100644 --- a/components/Layout/Svg.tsx +++ b/components/Layout/Svg.tsx @@ -1,9 +1,8 @@ import { SvgIcon, SvgIconProps } from '@mui/material'; import { FC } from 'react'; -export const GtihubIcon: FC = props => ( +export const GithubIcon: FC = props => ( - + ); - diff --git a/components/Member/Card.tsx b/components/Member/Card.tsx index 577c6e9..ea65315 100644 --- a/components/Member/Card.tsx +++ b/components/Member/Card.tsx @@ -1,53 +1,55 @@ +import { CardProps, Chip } from '@mui/material'; import { observer } from 'mobx-react'; +import Image from 'next/image'; import Link from 'next/link'; import { FC } from 'react'; import { Markdown } from 'react-marked-renderer'; import { Member } from '../../models/Member'; -import { Avatar, Card, CardActions, CardContent, CardHeader, CardProps, Chip } from '@mui/material'; -import { GtihubIcon } from '../Layout/Svg'; +import { GithubIcon } from '../Layout/Svg'; export type MemberCardProps = Member & Omit; export const MemberCard: FC = observer( - ({ id, className, nickname, skill, position, summary, github, ...props }) => ( + ({ className = '', nickname, skill, position, summary, github }) => (
  • {github && ( - + )}
    {github && ( - {`avatar )} - -

    {nickname + ''}

    -

    {position && position + ''}

    + +

    {String(nickname)}

    +

    {String(position ?? '')}

      {(skill as string[]).map(value => ( - + ))}
    - +
  • ) ); diff --git a/components/Member/List.tsx b/components/Member/List.tsx index ebe31f2..8e11a05 100644 --- a/components/Member/List.tsx +++ b/components/Member/List.tsx @@ -2,14 +2,13 @@ import { FC } from 'react'; import { Member } from '../../models/Member'; import { MemberCard } from './Card'; -import { Grid2 } from '@mui/material'; export const MemberListLayout: FC<{ defaultData: Member[] }> = ({ defaultData }) => ( - +
      {defaultData?.map(item => ( - +
    • - +
    • ))} -
      +
    ); diff --git a/components/NotFoundCard.tsx b/components/NotFoundCard.tsx index 3cf6891..197c928 100644 --- a/components/NotFoundCard.tsx +++ b/components/NotFoundCard.tsx @@ -1,3 +1,6 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +/* eslint-disable react/no-unknown-property */ +/* eslint-disable @next/next/no-sync-scripts */ import { ErrorProps } from 'next/error'; import { FC } from 'react'; @@ -7,7 +10,7 @@ export const NotFoundCard: FC = ({ title }) => i18n.currentLanguage.startsWith('zh') ? (