From 4b2a09c96f9b16263015f997fdbf0873dd8ac069 Mon Sep 17 00:00:00 2001 From: Kenneth Iversen Date: Mon, 1 May 2023 10:59:10 +0200 Subject: [PATCH 01/50] feat(locales): norwegian locales (#313) Co-authored-by: actstorm --- locales/no.json | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 locales/no.json diff --git a/locales/no.json b/locales/no.json new file mode 100644 index 000000000..f6299e5b3 --- /dev/null +++ b/locales/no.json @@ -0,0 +1,9 @@ +{ + "language": "Norsk", + "ui": { + "cancel": "Avbryt", + "close": "Lukk", + "confirm": "Bekreft", + "more": "Mer..." + } + } \ No newline at end of file From 60ef88c08f44f1219ca8eda52035059501ca1561 Mon Sep 17 00:00:00 2001 From: Cherry <81585398+ccheerry@users.noreply.github.com> Date: Mon, 1 May 2023 10:59:41 +0200 Subject: [PATCH 02/50] chore(locales/es): add missing translation (#312) --- locales/es.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/es.json b/locales/es.json index 93d508839..f3090948b 100644 --- a/locales/es.json +++ b/locales/es.json @@ -4,6 +4,6 @@ "cancel": "Cancelar", "close": "Cerrar", "confirm": "Confirmar", - "more": "More..." + "more": "Más..." } } From bda2c2657a17b80e34c50d7fab3dada36facd465 Mon Sep 17 00:00:00 2001 From: Jag <77469789+jag3dagster@users.noreply.github.com> Date: Mon, 1 May 2023 02:07:17 -0700 Subject: [PATCH 03/50] feat(web/radial): newlines support (#316) * feat(radial): Support newlines * chore: update to ` \n` to match markdown --- web/src/features/dev/debug/radial.ts | 2 +- web/src/features/menu/radial/index.tsx | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/web/src/features/dev/debug/radial.ts b/web/src/features/dev/debug/radial.ts index 48dcd08c7..d09a634ce 100644 --- a/web/src/features/dev/debug/radial.ts +++ b/web/src/features/dev/debug/radial.ts @@ -9,7 +9,7 @@ export const debugRadial = () => { items: [ { icon: 'palette', label: 'Paint' }, { icon: 'warehouse', label: 'Garage' }, - { icon: 'palette', label: 'Quite long text' }, + { icon: 'palette', label: 'Quite long \ntext' }, { icon: 'palette', label: 'Paint' }, { icon: 'warehouse', label: 'Garage' }, ], diff --git a/web/src/features/menu/radial/index.tsx b/web/src/features/menu/radial/index.tsx index 5837658c2..0f433eb74 100644 --- a/web/src/features/menu/radial/index.tsx +++ b/web/src/features/menu/radial/index.tsx @@ -155,8 +155,11 @@ const RadialMenu: React.FC = () => { height={25} fixedWidth /> - - {item.label} + + {item.label.includes(" \n") + ? item.label.split(" \n").map((value) => {value}) + : item.label + } From 073a3d0fddc9429118301df6ca3dbeb26aa905fa Mon Sep 17 00:00:00 2001 From: LukeWasTaken <39926192+LukeWasTakenn@users.noreply.github.com> Date: Mon, 1 May 2023 11:11:04 +0200 Subject: [PATCH 04/50] chore(web): update pnpm version --- .github/workflows/release.yml | 2 +- web/pnpm-lock.yaml | 901 ++++++++++++++++++---------------- 2 files changed, 468 insertions(+), 435 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 37240c74c..38c0836ec 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: - uses: pnpm/action-setup@v2.0.1 with: - version: 7.28.0 + version: 8.3.1 - name: Setup node uses: actions/setup-node@v2 diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 74f445313..70ff669c4 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -1,113 +1,146 @@ -lockfileVersion: 5.4 +lockfileVersion: '6.0' patchedDependencies: react-hot-toast@2.4.0: hash: 6dztgcaza2bodipt2i5a4is4mu path: patches/react-hot-toast@2.4.0.patch -specifiers: - '@babel/core': '>=7.0.0 <8.0.0' - '@babel/plugin-syntax-flow': ^7.14.5 - '@babel/plugin-transform-react-jsx': ^7.14.9 - '@emotion/react': ^11.10.5 - '@fortawesome/fontawesome-svg-core': ^6.3.0 - '@fortawesome/free-brands-svg-icons': ^6.3.0 - '@fortawesome/free-regular-svg-icons': ^6.3.0 - '@fortawesome/free-solid-svg-icons': ^6.3.0 - '@fortawesome/react-fontawesome': ^0.1.19 - '@mantine/core': ^5.10.0 - '@mantine/dates': ^5.10.0 - '@mantine/hooks': ^5.10.0 - '@types/node': ^16.11.26 - '@types/react': ^18.0.24 - '@types/react-dom': ^18.0.8 - '@vitejs/plugin-react': ^3.0.1 - autoprefixer: ^10.0.2 - cross-env: ^7.0.3 - csstype: ^3.0.10 - dayjs: ^1.11.7 - focus-trap-react: ^9.0.2 - framer-motion: ^8.0.2 - postcss: ^8.1.0 - prettier: ^2.7.1 - prop-types: ^15.8.1 - react: 18.2.0 - react-dom: 18.2.0 - react-hook-form: ^7.41.3 - react-hot-toast: ^2.4.0 - react-markdown: ^8.0.1 - remark-gfm: ^3.0.1 - rimraf: ^3.0.2 - typescript: ^4.6.3 - vite: ^4.0.4 - web-vitals: ^2.1.4 - dependencies: - '@emotion/react': 11.10.5_wkiylh6bncbdhwh6tncqb3s2nm - '@fortawesome/fontawesome-svg-core': 6.3.0 - '@fortawesome/free-brands-svg-icons': 6.3.0 - '@fortawesome/free-regular-svg-icons': 6.3.0 - '@fortawesome/free-solid-svg-icons': 6.3.0 - '@fortawesome/react-fontawesome': 0.1.19_d5rbrisxfyemehbvmdbryvgjte - '@mantine/core': 5.10.3_fgulr5lwjg33k6x5zho5ihipbq - '@mantine/dates': 5.10.3_hbx4cmgegpaplaf4wb6njc2lv4 - '@mantine/hooks': 5.10.3_react@18.2.0 - '@vitejs/plugin-react': 3.1.0_vite@4.1.1 - dayjs: 1.11.7 - focus-trap-react: 9.0.2_v2m5e27vhdewzwhryxwfaorcca - framer-motion: 8.5.5_biqbaboplfbrettd7655fr4n2y - prettier: 2.8.4 - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - react-hook-form: 7.43.1_react@18.2.0 - react-hot-toast: 2.4.0_6dztgcaza2bodipt2i5a4is4mu_owo25xnefcwdq3zjgtohz6dbju - react-markdown: 8.0.5_pmekkgnqduwlme35zpnqhenc34 - remark-gfm: 3.0.1 - typescript: 4.9.5 - vite: 4.1.1_@types+node@16.18.12 - web-vitals: 2.1.4 + '@emotion/react': + specifier: ^11.10.5 + version: 11.10.5(@babel/core@7.20.12)(@types/react@18.0.28)(react@18.2.0) + '@fortawesome/fontawesome-svg-core': + specifier: ^6.3.0 + version: 6.3.0 + '@fortawesome/free-brands-svg-icons': + specifier: ^6.3.0 + version: 6.3.0 + '@fortawesome/free-regular-svg-icons': + specifier: ^6.3.0 + version: 6.3.0 + '@fortawesome/free-solid-svg-icons': + specifier: ^6.3.0 + version: 6.3.0 + '@fortawesome/react-fontawesome': + specifier: ^0.1.19 + version: 0.1.19(@fortawesome/fontawesome-svg-core@6.3.0)(react@18.2.0) + '@mantine/core': + specifier: ^5.10.0 + version: 5.10.3(@emotion/react@11.10.5)(@mantine/hooks@5.10.3)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) + '@mantine/dates': + specifier: ^5.10.0 + version: 5.10.3(@mantine/core@5.10.3)(@mantine/hooks@5.10.3)(dayjs@1.11.7)(react@18.2.0) + '@mantine/hooks': + specifier: ^5.10.0 + version: 5.10.3(react@18.2.0) + '@vitejs/plugin-react': + specifier: ^3.0.1 + version: 3.1.0(vite@4.1.1) + dayjs: + specifier: ^1.11.7 + version: 1.11.7 + focus-trap-react: + specifier: ^9.0.2 + version: 9.0.2(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) + framer-motion: + specifier: ^8.0.2 + version: 8.5.5(react-dom@18.2.0)(react@18.2.0) + prettier: + specifier: ^2.7.1 + version: 2.8.4 + react: + specifier: 18.2.0 + version: 18.2.0 + react-dom: + specifier: 18.2.0 + version: 18.2.0(react@18.2.0) + react-hook-form: + specifier: ^7.41.3 + version: 7.43.1(react@18.2.0) + react-hot-toast: + specifier: ^2.4.0 + version: 2.4.0(patch_hash=6dztgcaza2bodipt2i5a4is4mu)(csstype@3.1.1)(react-dom@18.2.0)(react@18.2.0) + react-markdown: + specifier: ^8.0.1 + version: 8.0.5(@types/react@18.0.28)(react@18.2.0) + remark-gfm: + specifier: ^3.0.1 + version: 3.0.1 + typescript: + specifier: ^4.6.3 + version: 4.9.5 + vite: + specifier: ^4.0.4 + version: 4.1.1(@types/node@16.18.12) + web-vitals: + specifier: ^2.1.4 + version: 2.1.4 devDependencies: - '@babel/core': 7.20.12 - '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-transform-react-jsx': 7.20.13_@babel+core@7.20.12 - '@types/node': 16.18.12 - '@types/react': 18.0.28 - '@types/react-dom': 18.0.10 - autoprefixer: 10.4.13_postcss@8.4.21 - cross-env: 7.0.3 - csstype: 3.1.1 - postcss: 8.4.21 - prop-types: 15.8.1 - rimraf: 3.0.2 + '@babel/core': + specifier: '>=7.0.0 <8.0.0' + version: 7.20.12 + '@babel/plugin-syntax-flow': + specifier: ^7.14.5 + version: 7.18.6(@babel/core@7.20.12) + '@babel/plugin-transform-react-jsx': + specifier: ^7.14.9 + version: 7.20.13(@babel/core@7.20.12) + '@types/node': + specifier: ^16.11.26 + version: 16.18.12 + '@types/react': + specifier: ^18.0.24 + version: 18.0.28 + '@types/react-dom': + specifier: ^18.0.8 + version: 18.0.10 + autoprefixer: + specifier: ^10.0.2 + version: 10.4.13(postcss@8.4.21) + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + csstype: + specifier: ^3.0.10 + version: 3.1.1 + postcss: + specifier: ^8.1.0 + version: 8.4.21 + prop-types: + specifier: ^15.8.1 + version: 15.8.1 + rimraf: + specifier: ^3.0.2 + version: 3.0.2 packages: - /@ampproject/remapping/2.2.0: + /@ampproject/remapping@2.2.0: resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.1.1 '@jridgewell/trace-mapping': 0.3.17 - /@babel/code-frame/7.18.6: + /@babel/code-frame@7.18.6: resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.18.6 - /@babel/compat-data/7.20.14: + /@babel/compat-data@7.20.14: resolution: {integrity: sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==} engines: {node: '>=6.9.0'} - /@babel/core/7.20.12: + /@babel/core@7.20.12: resolution: {integrity: sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.0 '@babel/code-frame': 7.18.6 '@babel/generator': 7.20.14 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.20.12) '@babel/helper-module-transforms': 7.20.11 '@babel/helpers': 7.20.13 '@babel/parser': 7.20.15 @@ -122,7 +155,7 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator/7.20.14: + /@babel/generator@7.20.14: resolution: {integrity: sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==} engines: {node: '>=6.9.0'} dependencies: @@ -130,14 +163,14 @@ packages: '@jridgewell/gen-mapping': 0.3.2 jsesc: 2.5.2 - /@babel/helper-annotate-as-pure/7.18.6: + /@babel/helper-annotate-as-pure@7.18.6: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.20.7 dev: true - /@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.12: + /@babel/helper-compilation-targets@7.20.7(@babel/core@7.20.12): resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -150,30 +183,30 @@ packages: lru-cache: 5.1.1 semver: 6.3.0 - /@babel/helper-environment-visitor/7.18.9: + /@babel/helper-environment-visitor@7.18.9: resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} engines: {node: '>=6.9.0'} - /@babel/helper-function-name/7.19.0: + /@babel/helper-function-name@7.19.0: resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.20.7 '@babel/types': 7.20.7 - /@babel/helper-hoist-variables/7.18.6: + /@babel/helper-hoist-variables@7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.20.7 - /@babel/helper-module-imports/7.18.6: + /@babel/helper-module-imports@7.18.6: resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.20.7 - /@babel/helper-module-transforms/7.20.11: + /@babel/helper-module-transforms@7.20.11: resolution: {integrity: sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==} engines: {node: '>=6.9.0'} dependencies: @@ -188,35 +221,35 @@ packages: transitivePeerDependencies: - supports-color - /@babel/helper-plugin-utils/7.20.2: + /@babel/helper-plugin-utils@7.20.2: resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} engines: {node: '>=6.9.0'} - /@babel/helper-simple-access/7.20.2: + /@babel/helper-simple-access@7.20.2: resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.20.7 - /@babel/helper-split-export-declaration/7.18.6: + /@babel/helper-split-export-declaration@7.18.6: resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.20.7 - /@babel/helper-string-parser/7.19.4: + /@babel/helper-string-parser@7.19.4: resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier/7.19.1: + /@babel/helper-validator-identifier@7.19.1: resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option/7.18.6: + /@babel/helper-validator-option@7.18.6: resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} engines: {node: '>=6.9.0'} - /@babel/helpers/7.20.13: + /@babel/helpers@7.20.13: resolution: {integrity: sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==} engines: {node: '>=6.9.0'} dependencies: @@ -226,7 +259,7 @@ packages: transitivePeerDependencies: - supports-color - /@babel/highlight/7.18.6: + /@babel/highlight@7.18.6: resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} engines: {node: '>=6.9.0'} dependencies: @@ -234,14 +267,14 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser/7.20.15: + /@babel/parser@7.20.15: resolution: {integrity: sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==} engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.20.7 - /@babel/plugin-syntax-flow/7.18.6_@babel+core@7.20.12: + /@babel/plugin-syntax-flow@7.18.6(@babel/core@7.20.12): resolution: {integrity: sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==} engines: {node: '>=6.9.0'} peerDependencies: @@ -251,7 +284,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.12: + /@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.20.12): resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} engines: {node: '>=6.9.0'} peerDependencies: @@ -260,7 +293,7 @@ packages: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-react-jsx-self/7.18.6_@babel+core@7.20.12: + /@babel/plugin-transform-react-jsx-self@7.18.6(@babel/core@7.20.12): resolution: {integrity: sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==} engines: {node: '>=6.9.0'} peerDependencies: @@ -270,7 +303,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-react-jsx-source/7.19.6_@babel+core@7.20.12: + /@babel/plugin-transform-react-jsx-source@7.19.6(@babel/core@7.20.12): resolution: {integrity: sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==} engines: {node: '>=6.9.0'} peerDependencies: @@ -280,7 +313,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-react-jsx/7.20.13_@babel+core@7.20.12: + /@babel/plugin-transform-react-jsx@7.20.13(@babel/core@7.20.12): resolution: {integrity: sha512-MmTZx/bkUrfJhhYAYt3Urjm+h8DQGrPrnKQ94jLo7NLuOU+T89a7IByhKmrb8SKhrIYIQ0FN0CHMbnFRen4qNw==} engines: {node: '>=6.9.0'} peerDependencies: @@ -290,18 +323,18 @@ packages: '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-module-imports': 7.18.6 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.20.12) '@babel/types': 7.20.7 dev: true - /@babel/runtime/7.20.13: + /@babel/runtime@7.20.13: resolution: {integrity: sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.11 dev: false - /@babel/template/7.20.7: + /@babel/template@7.20.7: resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} engines: {node: '>=6.9.0'} dependencies: @@ -309,7 +342,7 @@ packages: '@babel/parser': 7.20.15 '@babel/types': 7.20.7 - /@babel/traverse/7.20.13: + /@babel/traverse@7.20.13: resolution: {integrity: sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==} engines: {node: '>=6.9.0'} dependencies: @@ -326,7 +359,7 @@ packages: transitivePeerDependencies: - supports-color - /@babel/types/7.20.7: + /@babel/types@7.20.7: resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==} engines: {node: '>=6.9.0'} dependencies: @@ -334,14 +367,14 @@ packages: '@babel/helper-validator-identifier': 7.19.1 to-fast-properties: 2.0.0 - /@emotion/babel-plugin/11.10.5_@babel+core@7.20.12: + /@emotion/babel-plugin@11.10.5(@babel/core@7.20.12): resolution: {integrity: sha512-xE7/hyLHJac7D2Ve9dKroBBZqBT7WuPQmWcq7HSGb84sUuP4mlOWoB8dvVfD9yk5DHkU1m6RW7xSoDtnQHNQeA==} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.20.12 '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12 + '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.20.12) '@babel/runtime': 7.20.13 '@emotion/hash': 0.9.0 '@emotion/memoize': 0.8.0 @@ -354,7 +387,7 @@ packages: stylis: 4.1.3 dev: false - /@emotion/cache/11.10.5: + /@emotion/cache@11.10.5: resolution: {integrity: sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==} dependencies: '@emotion/memoize': 0.8.0 @@ -364,11 +397,11 @@ packages: stylis: 4.1.3 dev: false - /@emotion/hash/0.9.0: + /@emotion/hash@0.9.0: resolution: {integrity: sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==} dev: false - /@emotion/is-prop-valid/0.8.8: + /@emotion/is-prop-valid@0.8.8: resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==} requiresBuild: true dependencies: @@ -376,16 +409,16 @@ packages: dev: false optional: true - /@emotion/memoize/0.7.4: + /@emotion/memoize@0.7.4: resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==} dev: false optional: true - /@emotion/memoize/0.8.0: + /@emotion/memoize@0.8.0: resolution: {integrity: sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==} dev: false - /@emotion/react/11.10.5_wkiylh6bncbdhwh6tncqb3s2nm: + /@emotion/react@11.10.5(@babel/core@7.20.12)(@types/react@18.0.28)(react@18.2.0): resolution: {integrity: sha512-TZs6235tCJ/7iF6/rvTaOH4oxQg2gMAcdHemjwLKIjKz4rRuYe1HJ2TQJKnAcRAfOUDdU8XoDadCe1rl72iv8A==} peerDependencies: '@babel/core': ^7.0.0 @@ -399,10 +432,10 @@ packages: dependencies: '@babel/core': 7.20.12 '@babel/runtime': 7.20.13 - '@emotion/babel-plugin': 11.10.5_@babel+core@7.20.12 + '@emotion/babel-plugin': 11.10.5(@babel/core@7.20.12) '@emotion/cache': 11.10.5 '@emotion/serialize': 1.1.1 - '@emotion/use-insertion-effect-with-fallbacks': 1.0.0_react@18.2.0 + '@emotion/use-insertion-effect-with-fallbacks': 1.0.0(react@18.2.0) '@emotion/utils': 1.2.0 '@emotion/weak-memoize': 0.3.0 '@types/react': 18.0.28 @@ -410,7 +443,7 @@ packages: react: 18.2.0 dev: false - /@emotion/serialize/1.1.1: + /@emotion/serialize@1.1.1: resolution: {integrity: sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==} dependencies: '@emotion/hash': 0.9.0 @@ -420,15 +453,15 @@ packages: csstype: 3.1.1 dev: false - /@emotion/sheet/1.2.1: + /@emotion/sheet@1.2.1: resolution: {integrity: sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==} dev: false - /@emotion/unitless/0.8.0: + /@emotion/unitless@0.8.0: resolution: {integrity: sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==} dev: false - /@emotion/use-insertion-effect-with-fallbacks/1.0.0_react@18.2.0: + /@emotion/use-insertion-effect-with-fallbacks@1.0.0(react@18.2.0): resolution: {integrity: sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==} peerDependencies: react: '>=16.8.0' @@ -436,33 +469,33 @@ packages: react: 18.2.0 dev: false - /@emotion/utils/1.2.0: + /@emotion/utils@1.2.0: resolution: {integrity: sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==} dev: false - /@emotion/weak-memoize/0.3.0: + /@emotion/weak-memoize@0.3.0: resolution: {integrity: sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==} dev: false - /@esbuild/android-arm/0.16.17: - resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} + /@esbuild/android-arm64@0.16.17: + resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} engines: {node: '>=12'} - cpu: [arm] + cpu: [arm64] os: [android] requiresBuild: true dev: false optional: true - /@esbuild/android-arm64/0.16.17: - resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} + /@esbuild/android-arm@0.16.17: + resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} engines: {node: '>=12'} - cpu: [arm64] + cpu: [arm] os: [android] requiresBuild: true dev: false optional: true - /@esbuild/android-x64/0.16.17: + /@esbuild/android-x64@0.16.17: resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} engines: {node: '>=12'} cpu: [x64] @@ -471,7 +504,7 @@ packages: dev: false optional: true - /@esbuild/darwin-arm64/0.16.17: + /@esbuild/darwin-arm64@0.16.17: resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} engines: {node: '>=12'} cpu: [arm64] @@ -480,7 +513,7 @@ packages: dev: false optional: true - /@esbuild/darwin-x64/0.16.17: + /@esbuild/darwin-x64@0.16.17: resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} engines: {node: '>=12'} cpu: [x64] @@ -489,7 +522,7 @@ packages: dev: false optional: true - /@esbuild/freebsd-arm64/0.16.17: + /@esbuild/freebsd-arm64@0.16.17: resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} engines: {node: '>=12'} cpu: [arm64] @@ -498,7 +531,7 @@ packages: dev: false optional: true - /@esbuild/freebsd-x64/0.16.17: + /@esbuild/freebsd-x64@0.16.17: resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} engines: {node: '>=12'} cpu: [x64] @@ -507,25 +540,25 @@ packages: dev: false optional: true - /@esbuild/linux-arm/0.16.17: - resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} + /@esbuild/linux-arm64@0.16.17: + resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} engines: {node: '>=12'} - cpu: [arm] + cpu: [arm64] os: [linux] requiresBuild: true dev: false optional: true - /@esbuild/linux-arm64/0.16.17: - resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} + /@esbuild/linux-arm@0.16.17: + resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} engines: {node: '>=12'} - cpu: [arm64] + cpu: [arm] os: [linux] requiresBuild: true dev: false optional: true - /@esbuild/linux-ia32/0.16.17: + /@esbuild/linux-ia32@0.16.17: resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} engines: {node: '>=12'} cpu: [ia32] @@ -534,7 +567,7 @@ packages: dev: false optional: true - /@esbuild/linux-loong64/0.16.17: + /@esbuild/linux-loong64@0.16.17: resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} engines: {node: '>=12'} cpu: [loong64] @@ -543,7 +576,7 @@ packages: dev: false optional: true - /@esbuild/linux-mips64el/0.16.17: + /@esbuild/linux-mips64el@0.16.17: resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} engines: {node: '>=12'} cpu: [mips64el] @@ -552,7 +585,7 @@ packages: dev: false optional: true - /@esbuild/linux-ppc64/0.16.17: + /@esbuild/linux-ppc64@0.16.17: resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} engines: {node: '>=12'} cpu: [ppc64] @@ -561,7 +594,7 @@ packages: dev: false optional: true - /@esbuild/linux-riscv64/0.16.17: + /@esbuild/linux-riscv64@0.16.17: resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} engines: {node: '>=12'} cpu: [riscv64] @@ -570,7 +603,7 @@ packages: dev: false optional: true - /@esbuild/linux-s390x/0.16.17: + /@esbuild/linux-s390x@0.16.17: resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} engines: {node: '>=12'} cpu: [s390x] @@ -579,7 +612,7 @@ packages: dev: false optional: true - /@esbuild/linux-x64/0.16.17: + /@esbuild/linux-x64@0.16.17: resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} engines: {node: '>=12'} cpu: [x64] @@ -588,7 +621,7 @@ packages: dev: false optional: true - /@esbuild/netbsd-x64/0.16.17: + /@esbuild/netbsd-x64@0.16.17: resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} engines: {node: '>=12'} cpu: [x64] @@ -597,7 +630,7 @@ packages: dev: false optional: true - /@esbuild/openbsd-x64/0.16.17: + /@esbuild/openbsd-x64@0.16.17: resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} engines: {node: '>=12'} cpu: [x64] @@ -606,7 +639,7 @@ packages: dev: false optional: true - /@esbuild/sunos-x64/0.16.17: + /@esbuild/sunos-x64@0.16.17: resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} engines: {node: '>=12'} cpu: [x64] @@ -615,7 +648,7 @@ packages: dev: false optional: true - /@esbuild/win32-arm64/0.16.17: + /@esbuild/win32-arm64@0.16.17: resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} engines: {node: '>=12'} cpu: [arm64] @@ -624,7 +657,7 @@ packages: dev: false optional: true - /@esbuild/win32-ia32/0.16.17: + /@esbuild/win32-ia32@0.16.17: resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} engines: {node: '>=12'} cpu: [ia32] @@ -633,7 +666,7 @@ packages: dev: false optional: true - /@esbuild/win32-x64/0.16.17: + /@esbuild/win32-x64@0.16.17: resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} engines: {node: '>=12'} cpu: [x64] @@ -642,17 +675,17 @@ packages: dev: false optional: true - /@floating-ui/core/1.2.0: + /@floating-ui/core@1.2.0: resolution: {integrity: sha512-GHUXPEhMEmTpnpIfesFA2KAoMJPb1SPQw964tToQwt+BbGXdhqTCWT1rOb0VURGylsxsYxiGMnseJ3IlclVpVA==} dev: false - /@floating-ui/dom/1.2.0: + /@floating-ui/dom@1.2.0: resolution: {integrity: sha512-QXzg57o1cjLz3cGETzKXjI3kx1xyS49DW9l7kV2jw2c8Yftd434t2hllX0sVGn2Q8MtcW/4pNm8bfE1/4n6mng==} dependencies: '@floating-ui/core': 1.2.0 dev: false - /@floating-ui/react-dom/1.2.2_biqbaboplfbrettd7655fr4n2y: + /@floating-ui/react-dom@1.2.2(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-DbmFBLwFrZhtXgCI2ra7wXYT8L2BN4/4AMQKyu05qzsVji51tXOfF36VE2gpMB6nhJGHa85PdEg75FB4+vnLFQ==} peerDependencies: react: '>=16.8.0' @@ -660,31 +693,31 @@ packages: dependencies: '@floating-ui/dom': 1.2.0 react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /@floating-ui/react/0.19.1_zula6vjvt3wdocc4mwcxqa6nzi: + /@floating-ui/react@0.19.1(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-h7hr53rLp+VVvWvbu0dOBvGsLeeZwn1DTLIllIaLYjGWw20YhAgEqegHU+nc7BJ30ttxq4Sq6hqARm0ne6chXQ==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/react-dom': 1.2.2_biqbaboplfbrettd7655fr4n2y - aria-hidden: 1.2.2_pmekkgnqduwlme35zpnqhenc34 + '@floating-ui/react-dom': 1.2.2(react-dom@18.2.0)(react@18.2.0) + aria-hidden: 1.2.2(@types/react@18.0.28)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) tabbable: 6.0.1 transitivePeerDependencies: - '@types/react' dev: false - /@fortawesome/fontawesome-common-types/6.3.0: + /@fortawesome/fontawesome-common-types@6.3.0: resolution: {integrity: sha512-4BC1NMoacEBzSXRwKjZ/X/gmnbp/HU5Qqat7E8xqorUtBFZS+bwfGH5/wqOC2K6GV0rgEobp3OjGRMa5fK9pFg==} engines: {node: '>=6'} requiresBuild: true dev: false - /@fortawesome/fontawesome-svg-core/6.3.0: + /@fortawesome/fontawesome-svg-core@6.3.0: resolution: {integrity: sha512-uz9YifyKlixV6AcKlOX8WNdtF7l6nakGyLYxYaCa823bEBqyj/U2ssqtctO38itNEwXb8/lMzjdoJ+aaJuOdrw==} engines: {node: '>=6'} requiresBuild: true @@ -692,7 +725,7 @@ packages: '@fortawesome/fontawesome-common-types': 6.3.0 dev: false - /@fortawesome/free-brands-svg-icons/6.3.0: + /@fortawesome/free-brands-svg-icons@6.3.0: resolution: {integrity: sha512-xI0c+a8xnKItAXCN8rZgCNCJQiVAd2Y7p9e2ND6zN3J3ekneu96qrePieJ7yA7073C1JxxoM3vH1RU7rYsaj8w==} engines: {node: '>=6'} requiresBuild: true @@ -700,7 +733,7 @@ packages: '@fortawesome/fontawesome-common-types': 6.3.0 dev: false - /@fortawesome/free-regular-svg-icons/6.3.0: + /@fortawesome/free-regular-svg-icons@6.3.0: resolution: {integrity: sha512-cZnwiVHZ51SVzWHOaNCIA+u9wevZjCuAGSvSYpNlm6A4H4Vhwh8481Bf/5rwheIC3fFKlgXxLKaw8Xeroz8Ntg==} engines: {node: '>=6'} requiresBuild: true @@ -708,7 +741,7 @@ packages: '@fortawesome/fontawesome-common-types': 6.3.0 dev: false - /@fortawesome/free-solid-svg-icons/6.3.0: + /@fortawesome/free-solid-svg-icons@6.3.0: resolution: {integrity: sha512-x5tMwzF2lTH8pyv8yeZRodItP2IVlzzmBuD1M7BjawWgg9XAvktqJJ91Qjgoaf8qJpHQ8FEU9VxRfOkLhh86QA==} engines: {node: '>=6'} requiresBuild: true @@ -716,7 +749,7 @@ packages: '@fortawesome/fontawesome-common-types': 6.3.0 dev: false - /@fortawesome/react-fontawesome/0.1.19_d5rbrisxfyemehbvmdbryvgjte: + /@fortawesome/react-fontawesome@0.1.19(@fortawesome/fontawesome-svg-core@6.3.0)(react@18.2.0): resolution: {integrity: sha512-Hyb+lB8T18cvLNX0S3llz7PcSOAJMLwiVKBuuzwM/nI5uoBw+gQjnf9il0fR1C3DKOI5Kc79pkJ4/xB0Uw9aFQ==} peerDependencies: '@fortawesome/fontawesome-svg-core': ~1 || ~6 @@ -727,14 +760,14 @@ packages: react: 18.2.0 dev: false - /@jridgewell/gen-mapping/0.1.1: + /@jridgewell/gen-mapping@0.1.1: resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.14 - /@jridgewell/gen-mapping/0.3.2: + /@jridgewell/gen-mapping@0.3.2: resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} engines: {node: '>=6.0.0'} dependencies: @@ -742,44 +775,44 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 '@jridgewell/trace-mapping': 0.3.17 - /@jridgewell/resolve-uri/3.1.0: + /@jridgewell/resolve-uri@3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} - /@jridgewell/set-array/1.1.2: + /@jridgewell/set-array@1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} - /@jridgewell/sourcemap-codec/1.4.14: + /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - /@jridgewell/trace-mapping/0.3.17: + /@jridgewell/trace-mapping@0.3.17: resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 - /@mantine/core/5.10.3_fgulr5lwjg33k6x5zho5ihipbq: + /@mantine/core@5.10.3(@emotion/react@11.10.5)(@mantine/hooks@5.10.3)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-kBb8l085vg+MjAVxEDyI/koT/l2hXTBVdg6pkSJlFlMtUlhBGkp8fzqaaUiJ7C1oU//NnHAogPymHw0tjpPBgA==} peerDependencies: '@mantine/hooks': 5.10.3 react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/react': 0.19.1_zula6vjvt3wdocc4mwcxqa6nzi - '@mantine/hooks': 5.10.3_react@18.2.0 - '@mantine/styles': 5.10.3_sogmqz4enknxtkxk3k5s6bqwnq - '@mantine/utils': 5.10.3_react@18.2.0 - '@radix-ui/react-scroll-area': 1.0.2_biqbaboplfbrettd7655fr4n2y + '@floating-ui/react': 0.19.1(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) + '@mantine/hooks': 5.10.3(react@18.2.0) + '@mantine/styles': 5.10.3(@emotion/react@11.10.5)(react-dom@18.2.0)(react@18.2.0) + '@mantine/utils': 5.10.3(react@18.2.0) + '@radix-ui/react-scroll-area': 1.0.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - react-textarea-autosize: 8.3.4_pmekkgnqduwlme35zpnqhenc34 + react-dom: 18.2.0(react@18.2.0) + react-textarea-autosize: 8.3.4(@types/react@18.0.28)(react@18.2.0) transitivePeerDependencies: - '@emotion/react' - '@types/react' dev: false - /@mantine/dates/5.10.3_hbx4cmgegpaplaf4wb6njc2lv4: + /@mantine/dates@5.10.3(@mantine/core@5.10.3)(@mantine/hooks@5.10.3)(dayjs@1.11.7)(react@18.2.0): resolution: {integrity: sha512-coXU4S9+xzW6ROvLPQpW69veqOdyAH0LCJVbW8lzzfwWf/J4SCslDsAm23G6jmQ9Srmt6J1sCkHfLVaKcCUQ1g==} peerDependencies: '@mantine/core': 5.10.3 @@ -787,14 +820,14 @@ packages: dayjs: '>=1.0.0' react: '>=16.8.0' dependencies: - '@mantine/core': 5.10.3_fgulr5lwjg33k6x5zho5ihipbq - '@mantine/hooks': 5.10.3_react@18.2.0 - '@mantine/utils': 5.10.3_react@18.2.0 + '@mantine/core': 5.10.3(@emotion/react@11.10.5)(@mantine/hooks@5.10.3)(@types/react@18.0.28)(react-dom@18.2.0)(react@18.2.0) + '@mantine/hooks': 5.10.3(react@18.2.0) + '@mantine/utils': 5.10.3(react@18.2.0) dayjs: 1.11.7 react: 18.2.0 dev: false - /@mantine/hooks/5.10.3_react@18.2.0: + /@mantine/hooks@5.10.3(react@18.2.0): resolution: {integrity: sha512-fFDXF0A596z10QKeWAGtTZJ4QotsMxhhbjfWWRHMogY/hXHQ2S+7+GFotpF2JbzefYztpawHEJevy3eYF8cQmQ==} peerDependencies: react: '>=16.8.0' @@ -802,21 +835,21 @@ packages: react: 18.2.0 dev: false - /@mantine/styles/5.10.3_sogmqz4enknxtkxk3k5s6bqwnq: + /@mantine/styles@5.10.3(@emotion/react@11.10.5)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-OpKY207BgkJd59wSNuNaZILAUbNh1b87iY5bZOVm9u49X5cOo/n4nrkaUMw2FCZIKi6psyobtW7XYCuoldrI4w==} peerDependencies: '@emotion/react': '>=11.9.0' react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@emotion/react': 11.10.5_wkiylh6bncbdhwh6tncqb3s2nm + '@emotion/react': 11.10.5(@babel/core@7.20.12)(@types/react@18.0.28)(react@18.2.0) clsx: 1.1.1 csstype: 3.0.9 react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /@mantine/utils/5.10.3_react@18.2.0: + /@mantine/utils@5.10.3(react@18.2.0): resolution: {integrity: sha512-ZfR1wouA/rz3xTOb2wBnrQpIiyjLcCLLvbUo7rzaG3LhFy7UoGjZ6uqIW9qDrzs7SR4tETRfMxedYagjcoCiEg==} peerDependencies: react: '>=16.8.0' @@ -824,7 +857,7 @@ packages: react: 18.2.0 dev: false - /@motionone/animation/10.15.1: + /@motionone/animation@10.15.1: resolution: {integrity: sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ==} dependencies: '@motionone/easing': 10.15.1 @@ -833,7 +866,7 @@ packages: tslib: 2.5.0 dev: false - /@motionone/dom/10.15.5: + /@motionone/dom@10.15.5: resolution: {integrity: sha512-Xc5avlgyh3xukU9tydh9+8mB8+2zAq+WlLsC3eEIp7Ax7DnXgY7Bj/iv0a4X2R9z9ZFZiaXK3BO0xMYHKbAAdA==} dependencies: '@motionone/animation': 10.15.1 @@ -844,14 +877,14 @@ packages: tslib: 2.5.0 dev: false - /@motionone/easing/10.15.1: + /@motionone/easing@10.15.1: resolution: {integrity: sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw==} dependencies: '@motionone/utils': 10.15.1 tslib: 2.5.0 dev: false - /@motionone/generators/10.15.1: + /@motionone/generators@10.15.1: resolution: {integrity: sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ==} dependencies: '@motionone/types': 10.15.1 @@ -859,11 +892,11 @@ packages: tslib: 2.5.0 dev: false - /@motionone/types/10.15.1: + /@motionone/types@10.15.1: resolution: {integrity: sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA==} dev: false - /@motionone/utils/10.15.1: + /@motionone/utils@10.15.1: resolution: {integrity: sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw==} dependencies: '@motionone/types': 10.15.1 @@ -871,19 +904,19 @@ packages: tslib: 2.5.0 dev: false - /@radix-ui/number/1.0.0: + /@radix-ui/number@1.0.0: resolution: {integrity: sha512-Ofwh/1HX69ZfJRiRBMTy7rgjAzHmwe4kW9C9Y99HTRUcYLUuVT0KESFj15rPjRgKJs20GPq8Bm5aEDJ8DuA3vA==} dependencies: '@babel/runtime': 7.20.13 dev: false - /@radix-ui/primitive/1.0.0: + /@radix-ui/primitive@1.0.0: resolution: {integrity: sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==} dependencies: '@babel/runtime': 7.20.13 dev: false - /@radix-ui/react-compose-refs/1.0.0_react@18.2.0: + /@radix-ui/react-compose-refs@1.0.0(react@18.2.0): resolution: {integrity: sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 @@ -892,7 +925,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-context/1.0.0_react@18.2.0: + /@radix-ui/react-context@1.0.0(react@18.2.0): resolution: {integrity: sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 @@ -901,7 +934,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-direction/1.0.0_react@18.2.0: + /@radix-ui/react-direction@1.0.0(react@18.2.0): resolution: {integrity: sha512-2HV05lGUgYcA6xgLQ4BKPDmtL+QbIZYH5fCOTAOOcJ5O0QbWS3i9lKaurLzliYUDhORI2Qr3pyjhJh44lKA3rQ==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 @@ -910,32 +943,32 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-presence/1.0.0_biqbaboplfbrettd7655fr4n2y: + /@radix-ui/react-presence@1.0.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: '@babel/runtime': 7.20.13 - '@radix-ui/react-compose-refs': 1.0.0_react@18.2.0 - '@radix-ui/react-use-layout-effect': 1.0.0_react@18.2.0 + '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-primitive/1.0.1_biqbaboplfbrettd7655fr4n2y: + /@radix-ui/react-primitive@1.0.1(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-fHbmislWVkZaIdeF6GZxF0A/NH/3BjrGIYj+Ae6eTmTCr7EB0RQAAVEiqsXK6p3/JcRqVSBQoceZroj30Jj3XA==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: '@babel/runtime': 7.20.13 - '@radix-ui/react-slot': 1.0.1_react@18.2.0 + '@radix-ui/react-slot': 1.0.1(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-scroll-area/1.0.2_biqbaboplfbrettd7655fr4n2y: + /@radix-ui/react-scroll-area@1.0.2(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-k8VseTxI26kcKJaX0HPwkvlNBPTs56JRdYzcZ/vzrNUkDlvXBy8sMc7WvCpYzZkHgb+hd72VW9MqkqecGtuNgg==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 @@ -944,28 +977,28 @@ packages: '@babel/runtime': 7.20.13 '@radix-ui/number': 1.0.0 '@radix-ui/primitive': 1.0.0 - '@radix-ui/react-compose-refs': 1.0.0_react@18.2.0 - '@radix-ui/react-context': 1.0.0_react@18.2.0 - '@radix-ui/react-direction': 1.0.0_react@18.2.0 - '@radix-ui/react-presence': 1.0.0_biqbaboplfbrettd7655fr4n2y - '@radix-ui/react-primitive': 1.0.1_biqbaboplfbrettd7655fr4n2y - '@radix-ui/react-use-callback-ref': 1.0.0_react@18.2.0 - '@radix-ui/react-use-layout-effect': 1.0.0_react@18.2.0 + '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) + '@radix-ui/react-context': 1.0.0(react@18.2.0) + '@radix-ui/react-direction': 1.0.0(react@18.2.0) + '@radix-ui/react-presence': 1.0.0(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-slot/1.0.1_react@18.2.0: + /@radix-ui/react-slot@1.0.1(react@18.2.0): resolution: {integrity: sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: '@babel/runtime': 7.20.13 - '@radix-ui/react-compose-refs': 1.0.0_react@18.2.0 + '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) react: 18.2.0 dev: false - /@radix-ui/react-use-callback-ref/1.0.0_react@18.2.0: + /@radix-ui/react-use-callback-ref@1.0.0(react@18.2.0): resolution: {integrity: sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 @@ -974,7 +1007,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-use-layout-effect/1.0.0_react@18.2.0: + /@radix-ui/react-use-layout-effect@1.0.0(react@18.2.0): resolution: {integrity: sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 @@ -983,81 +1016,81 @@ packages: react: 18.2.0 dev: false - /@types/debug/4.1.7: + /@types/debug@4.1.7: resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} dependencies: '@types/ms': 0.7.31 dev: false - /@types/hast/2.3.4: + /@types/hast@2.3.4: resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==} dependencies: '@types/unist': 2.0.6 dev: false - /@types/mdast/3.0.10: + /@types/mdast@3.0.10: resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==} dependencies: '@types/unist': 2.0.6 dev: false - /@types/ms/0.7.31: + /@types/ms@0.7.31: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} dev: false - /@types/node/16.18.12: + /@types/node@16.18.12: resolution: {integrity: sha512-vzLe5NaNMjIE3mcddFVGlAXN1LEWueUsMsOJWaT6wWMJGyljHAWHznqfnKUQWGzu7TLPrGvWdNAsvQYW+C0xtw==} - /@types/parse-json/4.0.0: + /@types/parse-json@4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} dev: false - /@types/prop-types/15.7.5: + /@types/prop-types@15.7.5: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} - /@types/react-dom/18.0.10: + /@types/react-dom@18.0.10: resolution: {integrity: sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==} dependencies: '@types/react': 18.0.28 dev: true - /@types/react/18.0.28: + /@types/react@18.0.28: resolution: {integrity: sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==} dependencies: '@types/prop-types': 15.7.5 '@types/scheduler': 0.16.2 csstype: 3.1.1 - /@types/scheduler/0.16.2: + /@types/scheduler@0.16.2: resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} - /@types/unist/2.0.6: + /@types/unist@2.0.6: resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: false - /@vitejs/plugin-react/3.1.0_vite@4.1.1: + /@vitejs/plugin-react@3.1.0(vite@4.1.1): resolution: {integrity: sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.1.0-beta.0 dependencies: '@babel/core': 7.20.12 - '@babel/plugin-transform-react-jsx-self': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-transform-react-jsx-source': 7.19.6_@babel+core@7.20.12 + '@babel/plugin-transform-react-jsx-self': 7.18.6(@babel/core@7.20.12) + '@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.20.12) magic-string: 0.27.0 react-refresh: 0.14.0 - vite: 4.1.1_@types+node@16.18.12 + vite: 4.1.1(@types/node@16.18.12) transitivePeerDependencies: - supports-color dev: false - /ansi-styles/3.2.1: + /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} dependencies: color-convert: 1.9.3 - /aria-hidden/1.2.2_pmekkgnqduwlme35zpnqhenc34: + /aria-hidden@1.2.2(@types/react@18.0.28)(react@18.2.0): resolution: {integrity: sha512-6y/ogyDTk/7YAe91T3E2PR1ALVKyM2QbTio5HwM+N1Q6CMlCKhvClyIjkckBswa0f2xJhjsfzIGa1yVSe1UMVA==} engines: {node: '>=10'} peerDependencies: @@ -1072,7 +1105,7 @@ packages: tslib: 2.5.0 dev: false - /autoprefixer/10.4.13_postcss@8.4.21: + /autoprefixer@10.4.13(postcss@8.4.21): resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -1088,7 +1121,7 @@ packages: postcss-value-parser: 4.2.0 dev: true - /babel-plugin-macros/3.1.0: + /babel-plugin-macros@3.1.0: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} dependencies: @@ -1097,22 +1130,22 @@ packages: resolve: 1.22.1 dev: false - /bail/2.0.2: + /bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} dev: false - /balanced-match/1.0.2: + /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true - /brace-expansion/1.1.11: + /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 dev: true - /browserslist/4.21.5: + /browserslist@4.21.5: resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1120,21 +1153,21 @@ packages: caniuse-lite: 1.0.30001451 electron-to-chromium: 1.4.295 node-releases: 2.0.10 - update-browserslist-db: 1.0.10_browserslist@4.21.5 + update-browserslist-db: 1.0.10(browserslist@4.21.5) - /callsites/3.1.0: + /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} dev: false - /caniuse-lite/1.0.30001451: + /caniuse-lite@1.0.30001451: resolution: {integrity: sha512-XY7UbUpGRatZzoRft//5xOa69/1iGJRBlrieH6QYrkKLIFn3m7OVEJ81dSrKoy2BnKsdbX5cLrOispZNYo9v2w==} - /ccount/2.0.1: + /ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} dev: false - /chalk/2.4.2: + /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} dependencies: @@ -1142,35 +1175,35 @@ packages: escape-string-regexp: 1.0.5 supports-color: 5.5.0 - /character-entities/2.0.2: + /character-entities@2.0.2: resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} dev: false - /clsx/1.1.1: + /clsx@1.1.1: resolution: {integrity: sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==} engines: {node: '>=6'} dev: false - /color-convert/1.9.3: + /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 - /color-name/1.1.3: + /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - /comma-separated-tokens/2.0.3: + /comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} dev: false - /concat-map/0.0.1: + /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true - /convert-source-map/1.9.0: + /convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - /cosmiconfig/7.1.0: + /cosmiconfig@7.1.0: resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} engines: {node: '>=10'} dependencies: @@ -1181,7 +1214,7 @@ packages: yaml: 1.10.2 dev: false - /cross-env/7.0.3: + /cross-env@7.0.3: resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} hasBin: true @@ -1189,7 +1222,7 @@ packages: cross-spawn: 7.0.3 dev: true - /cross-spawn/7.0.3: + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} dependencies: @@ -1198,18 +1231,18 @@ packages: which: 2.0.2 dev: true - /csstype/3.0.9: + /csstype@3.0.9: resolution: {integrity: sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==} dev: false - /csstype/3.1.1: + /csstype@3.1.1: resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} - /dayjs/1.11.7: + /dayjs@1.11.7: resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==} dev: false - /debug/4.3.4: + /debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: @@ -1220,32 +1253,32 @@ packages: dependencies: ms: 2.1.2 - /decode-named-character-reference/1.0.2: + /decode-named-character-reference@1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} dependencies: character-entities: 2.0.2 dev: false - /dequal/2.0.3: + /dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} dev: false - /diff/5.1.0: + /diff@5.1.0: resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} engines: {node: '>=0.3.1'} dev: false - /electron-to-chromium/1.4.295: + /electron-to-chromium@1.4.295: resolution: {integrity: sha512-lEO94zqf1bDA3aepxwnWoHUjA8sZ+2owgcSZjYQy0+uOSEclJX0VieZC+r+wLpSxUHRd6gG32znTWmr+5iGzFw==} - /error-ex/1.3.2: + /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 dev: false - /esbuild/0.16.17: + /esbuild@0.16.17: resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==} engines: {node: '>=12'} hasBin: true @@ -1275,33 +1308,33 @@ packages: '@esbuild/win32-x64': 0.16.17 dev: false - /escalade/3.1.1: + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} - /escape-string-regexp/1.0.5: + /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - /escape-string-regexp/4.0.0: + /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} dev: false - /escape-string-regexp/5.0.0: + /escape-string-regexp@5.0.0: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} dev: false - /extend/3.0.2: + /extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: false - /find-root/1.1.0: + /find-root@1.1.0: resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} dev: false - /focus-trap-react/9.0.2_v2m5e27vhdewzwhryxwfaorcca: + /focus-trap-react@9.0.2(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-ZwhO5by6KG5r3dy48Lk00A1/0zNYw1Z3RZTN6O6kgAPsWFcwTFszOcQ1dLSfM8pIxpS/ttc7wTttJowjVT3jpg==} peerDependencies: prop-types: ^15.8.1 @@ -1311,21 +1344,21 @@ packages: focus-trap: 6.9.4 prop-types: 15.8.1 react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) tabbable: 5.3.3 dev: false - /focus-trap/6.9.4: + /focus-trap@6.9.4: resolution: {integrity: sha512-v2NTsZe2FF59Y+sDykKY+XjqZ0cPfhq/hikWVL88BqLivnNiEffAsac6rP6H45ff9wG9LL5ToiDqrLEP9GX9mw==} dependencies: tabbable: 5.3.3 dev: false - /fraction.js/4.2.0: + /fraction.js@4.2.0: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: true - /framer-motion/8.5.5_biqbaboplfbrettd7655fr4n2y: + /framer-motion@8.5.5(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-5IDx5bxkjWHWUF3CVJoSyUVOtrbAxtzYBBowRE2uYI/6VYhkEBD+rbTHEGuUmbGHRj6YqqSfoG7Aa1cLyWCrBA==} peerDependencies: react: ^18.0.0 @@ -1334,17 +1367,17 @@ packages: '@motionone/dom': 10.15.5 hey-listen: 1.0.8 react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) tslib: 2.5.0 optionalDependencies: '@emotion/is-prop-valid': 0.8.8 dev: false - /fs.realpath/1.0.0: + /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true - /fsevents/2.3.2: + /fsevents@2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] @@ -1352,15 +1385,15 @@ packages: dev: false optional: true - /function-bind/1.1.1: + /function-bind@1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} dev: false - /gensync/1.0.0-beta.2: + /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} - /glob/7.2.3: + /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: fs.realpath: 1.0.0 @@ -1371,11 +1404,11 @@ packages: path-is-absolute: 1.0.1 dev: true - /globals/11.12.0: + /globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - /goober/2.1.12_csstype@3.1.1: + /goober@2.1.12(csstype@3.1.1): resolution: {integrity: sha512-yXHAvO08FU1JgTXX6Zn6sYCUFfB/OJSX8HHjDSgerZHZmFKAb08cykp5LBw5QnmyMcZyPRMqkdyHUSSzge788Q==} peerDependencies: csstype: ^3.0.10 @@ -1383,32 +1416,32 @@ packages: csstype: 3.1.1 dev: false - /has-flag/3.0.0: + /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} - /has/1.0.3: + /has@1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.1 dev: false - /hast-util-whitespace/2.0.1: + /hast-util-whitespace@2.0.1: resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} dev: false - /hey-listen/1.0.8: + /hey-listen@1.0.8: resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==} dev: false - /hoist-non-react-statics/3.3.2: + /hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} dependencies: react-is: 16.13.1 dev: false - /import-fresh/3.3.0: + /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} dependencies: @@ -1416,98 +1449,98 @@ packages: resolve-from: 4.0.0 dev: false - /inflight/1.0.6: + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 dev: true - /inherits/2.0.4: + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: true - /inline-style-parser/0.1.1: + /inline-style-parser@0.1.1: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} dev: false - /is-arrayish/0.2.1: + /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: false - /is-buffer/2.0.5: + /is-buffer@2.0.5: resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} engines: {node: '>=4'} dev: false - /is-core-module/2.11.0: + /is-core-module@2.11.0: resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} dependencies: has: 1.0.3 dev: false - /is-plain-obj/4.1.0: + /is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} dev: false - /isexe/2.0.0: + /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true - /js-tokens/4.0.0: + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - /jsesc/2.5.2: + /jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} hasBin: true - /json-parse-even-better-errors/2.3.1: + /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: false - /json5/2.2.3: + /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true - /kleur/4.1.5: + /kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} dev: false - /lines-and-columns/1.2.4: + /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: false - /longest-streak/3.1.0: + /longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} dev: false - /loose-envify/1.4.0: + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true dependencies: js-tokens: 4.0.0 - /lru-cache/5.1.1: + /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 - /magic-string/0.27.0: + /magic-string@0.27.0: resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.14 dev: false - /markdown-table/3.0.3: + /markdown-table@3.0.3: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} dev: false - /mdast-util-definitions/5.1.2: + /mdast-util-definitions@5.1.2: resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} dependencies: '@types/mdast': 3.0.10 @@ -1515,7 +1548,7 @@ packages: unist-util-visit: 4.1.2 dev: false - /mdast-util-find-and-replace/2.2.2: + /mdast-util-find-and-replace@2.2.2: resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==} dependencies: '@types/mdast': 3.0.10 @@ -1524,7 +1557,7 @@ packages: unist-util-visit-parents: 5.1.3 dev: false - /mdast-util-from-markdown/1.3.0: + /mdast-util-from-markdown@1.3.0: resolution: {integrity: sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==} dependencies: '@types/mdast': 3.0.10 @@ -1543,7 +1576,7 @@ packages: - supports-color dev: false - /mdast-util-gfm-autolink-literal/1.0.3: + /mdast-util-gfm-autolink-literal@1.0.3: resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==} dependencies: '@types/mdast': 3.0.10 @@ -1552,7 +1585,7 @@ packages: micromark-util-character: 1.1.0 dev: false - /mdast-util-gfm-footnote/1.0.2: + /mdast-util-gfm-footnote@1.0.2: resolution: {integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==} dependencies: '@types/mdast': 3.0.10 @@ -1560,14 +1593,14 @@ packages: micromark-util-normalize-identifier: 1.0.0 dev: false - /mdast-util-gfm-strikethrough/1.0.3: + /mdast-util-gfm-strikethrough@1.0.3: resolution: {integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==} dependencies: '@types/mdast': 3.0.10 mdast-util-to-markdown: 1.5.0 dev: false - /mdast-util-gfm-table/1.0.7: + /mdast-util-gfm-table@1.0.7: resolution: {integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==} dependencies: '@types/mdast': 3.0.10 @@ -1578,14 +1611,14 @@ packages: - supports-color dev: false - /mdast-util-gfm-task-list-item/1.0.2: + /mdast-util-gfm-task-list-item@1.0.2: resolution: {integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==} dependencies: '@types/mdast': 3.0.10 mdast-util-to-markdown: 1.5.0 dev: false - /mdast-util-gfm/2.0.2: + /mdast-util-gfm@2.0.2: resolution: {integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==} dependencies: mdast-util-from-markdown: 1.3.0 @@ -1599,14 +1632,14 @@ packages: - supports-color dev: false - /mdast-util-phrasing/3.0.1: + /mdast-util-phrasing@3.0.1: resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} dependencies: '@types/mdast': 3.0.10 unist-util-is: 5.2.0 dev: false - /mdast-util-to-hast/12.3.0: + /mdast-util-to-hast@12.3.0: resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} dependencies: '@types/hast': 2.3.4 @@ -1619,7 +1652,7 @@ packages: unist-util-visit: 4.1.2 dev: false - /mdast-util-to-markdown/1.5.0: + /mdast-util-to-markdown@1.5.0: resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} dependencies: '@types/mdast': 3.0.10 @@ -1632,13 +1665,13 @@ packages: zwitch: 2.0.4 dev: false - /mdast-util-to-string/3.1.1: + /mdast-util-to-string@3.1.1: resolution: {integrity: sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA==} dependencies: '@types/mdast': 3.0.10 dev: false - /micromark-core-commonmark/1.0.6: + /micromark-core-commonmark@1.0.6: resolution: {integrity: sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==} dependencies: decode-named-character-reference: 1.0.2 @@ -1659,7 +1692,7 @@ packages: uvu: 0.5.6 dev: false - /micromark-extension-gfm-autolink-literal/1.0.3: + /micromark-extension-gfm-autolink-literal@1.0.3: resolution: {integrity: sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==} dependencies: micromark-util-character: 1.1.0 @@ -1669,7 +1702,7 @@ packages: uvu: 0.5.6 dev: false - /micromark-extension-gfm-footnote/1.0.4: + /micromark-extension-gfm-footnote@1.0.4: resolution: {integrity: sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==} dependencies: micromark-core-commonmark: 1.0.6 @@ -1682,7 +1715,7 @@ packages: uvu: 0.5.6 dev: false - /micromark-extension-gfm-strikethrough/1.0.4: + /micromark-extension-gfm-strikethrough@1.0.4: resolution: {integrity: sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==} dependencies: micromark-util-chunked: 1.0.0 @@ -1693,7 +1726,7 @@ packages: uvu: 0.5.6 dev: false - /micromark-extension-gfm-table/1.0.5: + /micromark-extension-gfm-table@1.0.5: resolution: {integrity: sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==} dependencies: micromark-factory-space: 1.0.0 @@ -1703,13 +1736,13 @@ packages: uvu: 0.5.6 dev: false - /micromark-extension-gfm-tagfilter/1.0.1: + /micromark-extension-gfm-tagfilter@1.0.1: resolution: {integrity: sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==} dependencies: micromark-util-types: 1.0.2 dev: false - /micromark-extension-gfm-task-list-item/1.0.3: + /micromark-extension-gfm-task-list-item@1.0.3: resolution: {integrity: sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==} dependencies: micromark-factory-space: 1.0.0 @@ -1719,7 +1752,7 @@ packages: uvu: 0.5.6 dev: false - /micromark-extension-gfm/2.0.1: + /micromark-extension-gfm@2.0.1: resolution: {integrity: sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==} dependencies: micromark-extension-gfm-autolink-literal: 1.0.3 @@ -1732,7 +1765,7 @@ packages: micromark-util-types: 1.0.2 dev: false - /micromark-factory-destination/1.0.0: + /micromark-factory-destination@1.0.0: resolution: {integrity: sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==} dependencies: micromark-util-character: 1.1.0 @@ -1740,7 +1773,7 @@ packages: micromark-util-types: 1.0.2 dev: false - /micromark-factory-label/1.0.2: + /micromark-factory-label@1.0.2: resolution: {integrity: sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==} dependencies: micromark-util-character: 1.1.0 @@ -1749,14 +1782,14 @@ packages: uvu: 0.5.6 dev: false - /micromark-factory-space/1.0.0: + /micromark-factory-space@1.0.0: resolution: {integrity: sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==} dependencies: micromark-util-character: 1.1.0 micromark-util-types: 1.0.2 dev: false - /micromark-factory-title/1.0.2: + /micromark-factory-title@1.0.2: resolution: {integrity: sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==} dependencies: micromark-factory-space: 1.0.0 @@ -1766,7 +1799,7 @@ packages: uvu: 0.5.6 dev: false - /micromark-factory-whitespace/1.0.0: + /micromark-factory-whitespace@1.0.0: resolution: {integrity: sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==} dependencies: micromark-factory-space: 1.0.0 @@ -1775,20 +1808,20 @@ packages: micromark-util-types: 1.0.2 dev: false - /micromark-util-character/1.1.0: + /micromark-util-character@1.1.0: resolution: {integrity: sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==} dependencies: micromark-util-symbol: 1.0.1 micromark-util-types: 1.0.2 dev: false - /micromark-util-chunked/1.0.0: + /micromark-util-chunked@1.0.0: resolution: {integrity: sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==} dependencies: micromark-util-symbol: 1.0.1 dev: false - /micromark-util-classify-character/1.0.0: + /micromark-util-classify-character@1.0.0: resolution: {integrity: sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==} dependencies: micromark-util-character: 1.1.0 @@ -1796,20 +1829,20 @@ packages: micromark-util-types: 1.0.2 dev: false - /micromark-util-combine-extensions/1.0.0: + /micromark-util-combine-extensions@1.0.0: resolution: {integrity: sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==} dependencies: micromark-util-chunked: 1.0.0 micromark-util-types: 1.0.2 dev: false - /micromark-util-decode-numeric-character-reference/1.0.0: + /micromark-util-decode-numeric-character-reference@1.0.0: resolution: {integrity: sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==} dependencies: micromark-util-symbol: 1.0.1 dev: false - /micromark-util-decode-string/1.0.2: + /micromark-util-decode-string@1.0.2: resolution: {integrity: sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==} dependencies: decode-named-character-reference: 1.0.2 @@ -1818,27 +1851,27 @@ packages: micromark-util-symbol: 1.0.1 dev: false - /micromark-util-encode/1.0.1: + /micromark-util-encode@1.0.1: resolution: {integrity: sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==} dev: false - /micromark-util-html-tag-name/1.1.0: + /micromark-util-html-tag-name@1.1.0: resolution: {integrity: sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==} dev: false - /micromark-util-normalize-identifier/1.0.0: + /micromark-util-normalize-identifier@1.0.0: resolution: {integrity: sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==} dependencies: micromark-util-symbol: 1.0.1 dev: false - /micromark-util-resolve-all/1.0.0: + /micromark-util-resolve-all@1.0.0: resolution: {integrity: sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==} dependencies: micromark-util-types: 1.0.2 dev: false - /micromark-util-sanitize-uri/1.1.0: + /micromark-util-sanitize-uri@1.1.0: resolution: {integrity: sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==} dependencies: micromark-util-character: 1.1.0 @@ -1846,7 +1879,7 @@ packages: micromark-util-symbol: 1.0.1 dev: false - /micromark-util-subtokenize/1.0.2: + /micromark-util-subtokenize@1.0.2: resolution: {integrity: sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==} dependencies: micromark-util-chunked: 1.0.0 @@ -1855,15 +1888,15 @@ packages: uvu: 0.5.6 dev: false - /micromark-util-symbol/1.0.1: + /micromark-util-symbol@1.0.1: resolution: {integrity: sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==} dev: false - /micromark-util-types/1.0.2: + /micromark-util-types@1.0.2: resolution: {integrity: sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==} dev: false - /micromark/3.1.0: + /micromark@3.1.0: resolution: {integrity: sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==} dependencies: '@types/debug': 4.1.7 @@ -1887,51 +1920,51 @@ packages: - supports-color dev: false - /minimatch/3.1.2: + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: true - /mri/1.2.0: + /mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} dev: false - /ms/2.1.2: + /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - /nanoid/3.3.4: + /nanoid@3.3.4: resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - /node-releases/2.0.10: + /node-releases@2.0.10: resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} - /normalize-range/0.1.2: + /normalize-range@0.1.2: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} dev: true - /object-assign/4.1.1: + /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - /once/1.4.0: + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: true - /parent-module/1.0.1: + /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} dependencies: callsites: 3.1.0 dev: false - /parse-json/5.2.0: + /parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: @@ -1941,33 +1974,33 @@ packages: lines-and-columns: 1.2.4 dev: false - /path-is-absolute/1.0.1: + /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} dev: true - /path-key/3.1.1: + /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} dev: true - /path-parse/1.0.7: + /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: false - /path-type/4.0.0: + /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} dev: false - /picocolors/1.0.0: + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - /postcss-value-parser/4.2.0: + /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss/8.4.21: + /postcss@8.4.21: resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} engines: {node: ^10 || ^12 || >=14} dependencies: @@ -1975,24 +2008,24 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /prettier/2.8.4: + /prettier@2.8.4: resolution: {integrity: sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==} engines: {node: '>=10.13.0'} hasBin: true dev: false - /prop-types/15.8.1: + /prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 react-is: 16.13.1 - /property-information/6.2.0: + /property-information@6.2.0: resolution: {integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==} dev: false - /react-dom/18.2.0_react@18.2.0: + /react-dom@18.2.0(react@18.2.0): resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} peerDependencies: react: ^18.2.0 @@ -2002,7 +2035,7 @@ packages: scheduler: 0.23.0 dev: false - /react-hook-form/7.43.1_react@18.2.0: + /react-hook-form@7.43.1(react@18.2.0): resolution: {integrity: sha512-+s3+s8LLytRMriwwuSqeLStVjRXFGxgjjx2jED7Z+wz1J/88vpxieRQGvJVvzrzVxshZ0BRuocFERb779m2kNg==} engines: {node: '>=12.22.0'} peerDependencies: @@ -2011,29 +2044,29 @@ packages: react: 18.2.0 dev: false - /react-hot-toast/2.4.0_6dztgcaza2bodipt2i5a4is4mu_owo25xnefcwdq3zjgtohz6dbju: + /react-hot-toast@2.4.0(patch_hash=6dztgcaza2bodipt2i5a4is4mu)(csstype@3.1.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-qnnVbXropKuwUpriVVosgo8QrB+IaPJCpL8oBI6Ov84uvHZ5QQcTp2qg6ku2wNfgJl6rlQXJIQU5q+5lmPOutA==} engines: {node: '>=10'} peerDependencies: react: '>=16' react-dom: '>=16' dependencies: - goober: 2.1.12_csstype@3.1.1 + goober: 2.1.12(csstype@3.1.1) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: - csstype dev: false patched: true - /react-is/16.13.1: + /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - /react-is/18.2.0: + /react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: false - /react-markdown/8.0.5_pmekkgnqduwlme35zpnqhenc34: + /react-markdown@8.0.5(@types/react@18.0.28)(react@18.2.0): resolution: {integrity: sha512-jGJolWWmOWAvzf+xMdB9zwStViODyyFQhNB/bwCerbBKmrTmgmA599CGiOlP58OId1IMoIRsA8UdI1Lod4zb5A==} peerDependencies: '@types/react': '>=16' @@ -2060,12 +2093,12 @@ packages: - supports-color dev: false - /react-refresh/0.14.0: + /react-refresh@0.14.0: resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} engines: {node: '>=0.10.0'} dev: false - /react-textarea-autosize/8.3.4_pmekkgnqduwlme35zpnqhenc34: + /react-textarea-autosize@8.3.4(@types/react@18.0.28)(react@18.2.0): resolution: {integrity: sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ==} engines: {node: '>=10'} peerDependencies: @@ -2073,24 +2106,24 @@ packages: dependencies: '@babel/runtime': 7.20.13 react: 18.2.0 - use-composed-ref: 1.3.0_react@18.2.0 - use-latest: 1.2.1_pmekkgnqduwlme35zpnqhenc34 + use-composed-ref: 1.3.0(react@18.2.0) + use-latest: 1.2.1(@types/react@18.0.28)(react@18.2.0) transitivePeerDependencies: - '@types/react' dev: false - /react/18.2.0: + /react@18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /regenerator-runtime/0.13.11: + /regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} dev: false - /remark-gfm/3.0.1: + /remark-gfm@3.0.1: resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} dependencies: '@types/mdast': 3.0.10 @@ -2101,7 +2134,7 @@ packages: - supports-color dev: false - /remark-parse/10.0.1: + /remark-parse@10.0.1: resolution: {integrity: sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==} dependencies: '@types/mdast': 3.0.10 @@ -2111,7 +2144,7 @@ packages: - supports-color dev: false - /remark-rehype/10.1.0: + /remark-rehype@10.1.0: resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} dependencies: '@types/hast': 2.3.4 @@ -2120,12 +2153,12 @@ packages: unified: 10.1.2 dev: false - /resolve-from/4.0.0: + /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} dev: false - /resolve/1.22.1: + /resolve@1.22.1: resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} hasBin: true dependencies: @@ -2134,14 +2167,14 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: false - /rimraf/3.0.2: + /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: glob: 7.2.3 dev: true - /rollup/3.15.0: + /rollup@3.15.0: resolution: {integrity: sha512-F9hrCAhnp5/zx/7HYmftvsNBkMfLfk/dXUh73hPSM2E3CRgap65orDNJbLetoiUFwSAk6iHPLvBrZ5iHYvzqsg==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true @@ -2149,100 +2182,100 @@ packages: fsevents: 2.3.2 dev: false - /sade/1.8.1: + /sade@1.8.1: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} dependencies: mri: 1.2.0 dev: false - /scheduler/0.23.0: + /scheduler@0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} dependencies: loose-envify: 1.4.0 dev: false - /semver/6.3.0: + /semver@6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true - /shebang-command/2.0.0: + /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 dev: true - /shebang-regex/3.0.0: + /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} dev: true - /source-map-js/1.0.2: + /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - /source-map/0.5.7: + /source-map@0.5.7: resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} engines: {node: '>=0.10.0'} dev: false - /space-separated-tokens/2.0.2: + /space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} dev: false - /style-to-object/0.4.1: + /style-to-object@0.4.1: resolution: {integrity: sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==} dependencies: inline-style-parser: 0.1.1 dev: false - /stylis/4.1.3: + /stylis@4.1.3: resolution: {integrity: sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==} dev: false - /supports-color/5.5.0: + /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} dependencies: has-flag: 3.0.0 - /supports-preserve-symlinks-flag/1.0.0: + /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} dev: false - /tabbable/5.3.3: + /tabbable@5.3.3: resolution: {integrity: sha512-QD9qKY3StfbZqWOPLp0++pOrAVb/HbUi5xCc8cUo4XjP19808oaMiDzn0leBY5mCespIBM0CIZePzZjgzR83kA==} dev: false - /tabbable/6.0.1: + /tabbable@6.0.1: resolution: {integrity: sha512-SYJSIgeyXW7EuX1ytdneO5e8jip42oHWg9xl/o3oTYhmXusZVgiA+VlPvjIN+kHii9v90AmzTZEBcsEvuAY+TA==} dev: false - /to-fast-properties/2.0.0: + /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} - /trim-lines/3.0.1: + /trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} dev: false - /trough/2.1.0: + /trough@2.1.0: resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} dev: false - /tslib/2.5.0: + /tslib@2.5.0: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} dev: false - /typescript/4.9.5: + /typescript@4.9.5: resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true dev: false - /unified/10.1.2: + /unified@10.1.2: resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} dependencies: '@types/unist': 2.0.6 @@ -2254,34 +2287,34 @@ packages: vfile: 5.3.7 dev: false - /unist-util-generated/2.0.1: + /unist-util-generated@2.0.1: resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} dev: false - /unist-util-is/5.2.0: + /unist-util-is@5.2.0: resolution: {integrity: sha512-Glt17jWwZeyqrFqOK0pF1Ded5U3yzJnFr8CG1GMjCWTp9zDo2p+cmD6pWbZU8AgM5WU3IzRv6+rBwhzsGh6hBQ==} dev: false - /unist-util-position/4.0.4: + /unist-util-position@4.0.4: resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} dependencies: '@types/unist': 2.0.6 dev: false - /unist-util-stringify-position/3.0.3: + /unist-util-stringify-position@3.0.3: resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} dependencies: '@types/unist': 2.0.6 dev: false - /unist-util-visit-parents/5.1.3: + /unist-util-visit-parents@5.1.3: resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} dependencies: '@types/unist': 2.0.6 unist-util-is: 5.2.0 dev: false - /unist-util-visit/4.1.2: + /unist-util-visit@4.1.2: resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} dependencies: '@types/unist': 2.0.6 @@ -2289,7 +2322,7 @@ packages: unist-util-visit-parents: 5.1.3 dev: false - /update-browserslist-db/1.0.10_browserslist@4.21.5: + /update-browserslist-db@1.0.10(browserslist@4.21.5): resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} hasBin: true peerDependencies: @@ -2299,7 +2332,7 @@ packages: escalade: 3.1.1 picocolors: 1.0.0 - /use-composed-ref/1.3.0_react@18.2.0: + /use-composed-ref@1.3.0(react@18.2.0): resolution: {integrity: sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -2307,7 +2340,7 @@ packages: react: 18.2.0 dev: false - /use-isomorphic-layout-effect/1.1.2_pmekkgnqduwlme35zpnqhenc34: + /use-isomorphic-layout-effect@1.1.2(@types/react@18.0.28)(react@18.2.0): resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} peerDependencies: '@types/react': '*' @@ -2320,7 +2353,7 @@ packages: react: 18.2.0 dev: false - /use-latest/1.2.1_pmekkgnqduwlme35zpnqhenc34: + /use-latest@1.2.1(@types/react@18.0.28)(react@18.2.0): resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==} peerDependencies: '@types/react': '*' @@ -2331,10 +2364,10 @@ packages: dependencies: '@types/react': 18.0.28 react: 18.2.0 - use-isomorphic-layout-effect: 1.1.2_pmekkgnqduwlme35zpnqhenc34 + use-isomorphic-layout-effect: 1.1.2(@types/react@18.0.28)(react@18.2.0) dev: false - /uvu/0.5.6: + /uvu@0.5.6: resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} engines: {node: '>=8'} hasBin: true @@ -2345,14 +2378,14 @@ packages: sade: 1.8.1 dev: false - /vfile-message/3.1.4: + /vfile-message@3.1.4: resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} dependencies: '@types/unist': 2.0.6 unist-util-stringify-position: 3.0.3 dev: false - /vfile/5.3.7: + /vfile@5.3.7: resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} dependencies: '@types/unist': 2.0.6 @@ -2361,7 +2394,7 @@ packages: vfile-message: 3.1.4 dev: false - /vite/4.1.1_@types+node@16.18.12: + /vite@4.1.1(@types/node@16.18.12): resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -2395,11 +2428,11 @@ packages: fsevents: 2.3.2 dev: false - /web-vitals/2.1.4: + /web-vitals@2.1.4: resolution: {integrity: sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==} dev: false - /which/2.0.2: + /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} hasBin: true @@ -2407,18 +2440,18 @@ packages: isexe: 2.0.0 dev: true - /wrappy/1.0.2: + /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true - /yallist/3.1.1: + /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - /yaml/1.10.2: + /yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} dev: false - /zwitch/2.0.4: + /zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} dev: false From c94d019f67dc033937c50a8ace2ef8d7481a8622 Mon Sep 17 00:00:00 2001 From: mikigoalie Date: Mon, 1 May 2023 12:08:02 +0200 Subject: [PATCH 05/50] feat(web/notifications): add warning type (#315) * update(notify): add warning it's own type * update(notify): inform > info, change warning default icon to circle * fix typo * update(notify): case for def notifs, update icons use circle icons for all notifs so its more unified, also looks a bit better imo * fix(progressBar): spamming cancel spamming cancel would sometimes not interrupt current progbar * Revert "fix(progressBar): spamming cancel" This reverts commit b030fddd20f9f2b92a07ce4199c73e3b43f435a3. --- resource/interface/client/notify.lua | 4 ++-- .../notifications/NotificationWrapper.tsx | 20 +++++++++++++++---- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/resource/interface/client/notify.lua b/resource/interface/client/notify.lua index 55db59e5d..2cfb8260d 100644 --- a/resource/interface/client/notify.lua +++ b/resource/interface/client/notify.lua @@ -1,5 +1,5 @@ ---@alias NotificationPosition 'top' | 'top-right' | 'top-left' | 'bottom' | 'bottom-right' | 'bottom-left' | 'center-right' | 'center-left' ----@alias NotificationType 'inform' | 'error' | 'success' +---@alias NotificationType 'info' | 'warning' | 'success' | 'error' ---@class NotifyProps ---@field id? string @@ -32,7 +32,7 @@ end function lib.defaultNotify(data) -- Backwards compat for v3 data.type = data.status - if data.type == 'info' or data.type == 'warning' then data.type = 'inform' end + if data.type == 'inform' then data.type = 'info' end return lib.notify(data) end diff --git a/web/src/features/notifications/NotificationWrapper.tsx b/web/src/features/notifications/NotificationWrapper.tsx index b64ad86b6..c63cc575f 100644 --- a/web/src/features/notifications/NotificationWrapper.tsx +++ b/web/src/features/notifications/NotificationWrapper.tsx @@ -118,9 +118,21 @@ const Notifications: React.FC = () => { break; } if (!data.icon) { - data.icon = data.type === 'error' ? 'xmark' : data.type === 'success' ? 'check' : 'info'; - } - + switch (data.type) { + case 'error': + data.icon = 'circle-xmark'; + break; + case 'success': + data.icon = 'circle-check'; + break; + case 'warning': + data.icon = 'circle-exclamation'; + break; + default: + data.icon = 'circle-info'; + break; + } + } toast.custom( (t) => ( { <> {!data.iconColor ? ( From 878763867a758b4fdc717b1aaee28a11e65824ce Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Fri, 5 May 2023 14:51:52 +1000 Subject: [PATCH 06/50] refactor(client/progress): don't clear progress on cancel Sending "progressCancel" to NUI will cause a transition and then trigger "progressComplete" with a slight delay (~100ms). Should look better when people queue up progress bars. --- resource/interface/client/progress.lua | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/resource/interface/client/progress.lua b/resource/interface/client/progress.lua index 290d99001..a8a7c3bf3 100644 --- a/resource/interface/client/progress.lua +++ b/resource/interface/client/progress.lua @@ -147,10 +147,8 @@ local function startProgress(data) end playerState.invBusy = false - local cancel = progress == false - progress = nil - if cancel then + if progress == false then SendNUIMessage({ action = 'progressCancel' }) return false end From 89c0668985422099e7701f416f1113a04643aefb Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Fri, 5 May 2023 14:53:29 +1000 Subject: [PATCH 07/50] refactor(client/progress): reduce Wait in progress queue --- resource/interface/client/progress.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resource/interface/client/progress.lua b/resource/interface/client/progress.lua index a8a7c3bf3..9b4baf20e 100644 --- a/resource/interface/client/progress.lua +++ b/resource/interface/client/progress.lua @@ -159,7 +159,7 @@ end ---@param data ProgressProps ---@return boolean? function lib.progressBar(data) - while progress ~= nil do Wait(100) end + while progress ~= nil do Wait(0) end if not interruptProgress(data) then SendNUIMessage({ @@ -177,7 +177,7 @@ end ---@param data ProgressProps ---@return boolean? function lib.progressCircle(data) - while progress ~= nil do Wait(100) end + while progress ~= nil do Wait(0) end if not interruptProgress(data) then SendNUIMessage({ From 56536d5a6d5214cdb12dbf07401898c198614ab7 Mon Sep 17 00:00:00 2001 From: daZepelin <63473480+daZepelin@users.noreply.github.com> Date: Fri, 5 May 2023 16:12:01 +0300 Subject: [PATCH 08/50] refactor(server/logger): backwards compatibility for loki convar (#314) --- imports/logger/server.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/imports/logger/server.lua b/imports/logger/server.lua index 22cca554e..5c280b773 100644 --- a/imports/logger/server.lua +++ b/imports/logger/server.lua @@ -115,7 +115,7 @@ end if service == 'loki' then local lokiUser = GetConvar('loki:user', '') - local lokiPassword = GetConvar('loki:password', '') + local lokiPassword = GetConvar('loki:password', GetConvar('loki:key', '')) local lokiEndpoint = GetConvar('loki:endpoint', '') local startingPattern = '^http[s]?://' local headers = { From a557f3364d9e9e1b48747c995401b48d1dcd95e2 Mon Sep 17 00:00:00 2001 From: LukeWasTaken <39926192+LukeWasTakenn@users.noreply.github.com> Date: Mon, 8 May 2023 23:57:42 +0200 Subject: [PATCH 09/50] chore(package): update to pnpm v8 --- package/pnpm-lock.yaml | 66 +++++++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 30 deletions(-) diff --git a/package/pnpm-lock.yaml b/package/pnpm-lock.yaml index 68df78d3b..6cf875131 100644 --- a/package/pnpm-lock.yaml +++ b/package/pnpm-lock.yaml @@ -1,56 +1,62 @@ -lockfileVersion: 5.4 - -specifiers: - '@citizenfx/client': 2.0.5885-1 - '@citizenfx/server': 2.0.5885-1 - '@fortawesome/fontawesome-common-types': 6.1.1 - '@nativewrappers/client': ^1.7.33 - '@types/node': 16.9.1 - '@types/react': ^18.0.26 - prettier: ^2.8.1 - typescript: ^4.9.4 +lockfileVersion: '6.0' dependencies: - '@citizenfx/client': 2.0.5885-1 - '@citizenfx/server': 2.0.5885-1 - '@fortawesome/fontawesome-common-types': 6.1.1 - '@nativewrappers/client': 1.7.33 - '@types/node': 16.9.1 - '@types/react': 18.0.26 - typescript: 4.9.4 + '@citizenfx/client': + specifier: 2.0.5885-1 + version: 2.0.5885-1 + '@citizenfx/server': + specifier: 2.0.5885-1 + version: 2.0.5885-1 + '@fortawesome/fontawesome-common-types': + specifier: 6.1.1 + version: 6.1.1 + '@nativewrappers/client': + specifier: ^1.7.33 + version: 1.7.33 + '@types/node': + specifier: 16.9.1 + version: 16.9.1 + '@types/react': + specifier: ^18.0.26 + version: 18.0.26 + typescript: + specifier: ^4.9.4 + version: 4.9.4 devDependencies: - prettier: 2.8.1 + prettier: + specifier: ^2.8.1 + version: 2.8.1 packages: - /@citizenfx/client/2.0.5885-1: + /@citizenfx/client@2.0.5885-1: resolution: {integrity: sha512-Ba5YYfxhZ82PcOY+2rjqDElTzPt7NrN6/o2U+wYPKK2VU/wRdCsMonpMsr7dYob2ToN5Qe96w5VNI3m5OrouJQ==} dev: false - /@citizenfx/server/2.0.5885-1: + /@citizenfx/server@2.0.5885-1: resolution: {integrity: sha512-q8KRecfjJ3RjCfBT/3CSHNTr2efUs9uq8pIoPF4TGkn5X7jgTBprrp3VMayaee3Xekay3RTufpzsOaeHUntQeA==} dev: false - /@fortawesome/fontawesome-common-types/6.1.1: + /@fortawesome/fontawesome-common-types@6.1.1: resolution: {integrity: sha512-wVn5WJPirFTnzN6tR95abCx+ocH+3IFLXAgyavnf9hUmN0CfWoDjPT/BAWsUVwSlYYVBeCLJxaqi7ZGe4uSjBA==} engines: {node: '>=6'} requiresBuild: true dev: false - /@nativewrappers/client/1.7.33: + /@nativewrappers/client@1.7.33: resolution: {integrity: sha512-phuBBGdDPxZiZyw5CaFs1XWfvllnEtwATMdLaNucwMofVg/O/FjlP1bTUq4SOm4qhSZ4Zdo351ijHzBSIbZs6g==} dev: false - /@types/node/16.9.1: + /@types/node@16.9.1: resolution: {integrity: sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==} dev: false - /@types/prop-types/15.7.5: + /@types/prop-types@15.7.5: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} dev: false - /@types/react/18.0.26: + /@types/react@18.0.26: resolution: {integrity: sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==} dependencies: '@types/prop-types': 15.7.5 @@ -58,21 +64,21 @@ packages: csstype: 3.1.1 dev: false - /@types/scheduler/0.16.2: + /@types/scheduler@0.16.2: resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} dev: false - /csstype/3.1.1: + /csstype@3.1.1: resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} dev: false - /prettier/2.8.1: + /prettier@2.8.1: resolution: {integrity: sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==} engines: {node: '>=10.13.0'} hasBin: true dev: true - /typescript/4.9.4: + /typescript@4.9.4: resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} engines: {node: '>=4.2.0'} hasBin: true From b314b0a43440a41c99a52837e3605d5b90e7f300 Mon Sep 17 00:00:00 2001 From: LukeWasTaken <39926192+LukeWasTakenn@users.noreply.github.com> Date: Mon, 8 May 2023 23:58:41 +0200 Subject: [PATCH 10/50] fix(package): potential fix for the npm package being uncompiled --- package/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package/package.json b/package/package.json index 541b38067..1d4098d76 100644 --- a/package/package.json +++ b/package/package.json @@ -6,7 +6,8 @@ "types": "./client/index.d.ts", "main": "index.js", "scripts": { - "prepublish": "tsc" + "compile": "tsc", + "prepublish": "pnpm compile" }, "keywords": [ "fivem", From 1d65379fc0b256b4c84ece3db1fbe91981c9d8fa Mon Sep 17 00:00:00 2001 From: mikigoalie Date: Mon, 8 May 2023 23:59:58 +0200 Subject: [PATCH 11/50] chore(locales/cs): more translation (#321) --- locales/cs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/cs.json b/locales/cs.json index 149d63132..614c3a5a4 100644 --- a/locales/cs.json +++ b/locales/cs.json @@ -4,6 +4,6 @@ "cancel": "Zrušit", "close": "Zavřít", "confirm": "Potvrdit", - "more": "More..." + "more": "Více..." } } From 9a0fc24e69e15048b412345e81d3f1c52169a820 Mon Sep 17 00:00:00 2001 From: Lockwood <116587926+FilipeCuco@users.noreply.github.com> Date: Mon, 8 May 2023 23:00:47 +0100 Subject: [PATCH 12/50] feat(interface/input): minLength & maxLength option (#286) --- web/src/features/dialog/components/fields/input.tsx | 4 ++++ web/src/typings/dialog.ts | 2 ++ 2 files changed, 6 insertions(+) diff --git a/web/src/features/dialog/components/fields/input.tsx b/web/src/features/dialog/components/fields/input.tsx index bcf467828..7e772ad8c 100644 --- a/web/src/features/dialog/components/fields/input.tsx +++ b/web/src/features/dialog/components/fields/input.tsx @@ -29,6 +29,8 @@ const InputField: React.FC = (props) => { description={props.row.description} icon={props.row.icon && } placeholder={props.row.placeholder} + minLength={props.row.min} + maxLength={props.row.max} disabled={props.row.disabled} withAsterisk={props.row.required} /> @@ -40,6 +42,8 @@ const InputField: React.FC = (props) => { description={props.row.description} icon={props.row.icon && } placeholder={props.row.placeholder} + minLength={props.row.min} + maxLength={props.row.max} disabled={props.row.disabled} withAsterisk={props.row.required} visibilityToggleIcon={({ reveal, size }) => ( diff --git a/web/src/typings/dialog.ts b/web/src/typings/dialog.ts index 79346220d..8ab0cd709 100644 --- a/web/src/typings/dialog.ts +++ b/web/src/typings/dialog.ts @@ -21,6 +21,8 @@ type BaseField = { export interface IInput extends BaseField<'input', string> { password?: boolean; + min?: number; + max?: number; } export interface ICheckbox { From 5af7b3df80452eed10dd71ba7adc041950b64573 Mon Sep 17 00:00:00 2001 From: Manifest Bumper <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 8 May 2023 22:02:50 +0000 Subject: [PATCH 13/50] chore: bump manifest version to v3.3.0 --- fxmanifest.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fxmanifest.lua b/fxmanifest.lua index 667498c50..e6fd7d25c 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -8,7 +8,7 @@ rdr3_warning 'I acknowledge that this is a prerelease build of RedM, and I am aw --[[ Resource Information ]]-- name 'ox_lib' author 'Overextended' -version '3.2.1' +version '3.3.0' license 'LGPL-3.0-or-later' repository 'https://github.com/overextended/ox_lib' description 'A library of shared functions to utilise in other resources.' From bcb522d9c12e109e12472c799d4c65a419cdf98c Mon Sep 17 00:00:00 2001 From: LukeWasTaken <39926192+LukeWasTakenn@users.noreply.github.com> Date: Tue, 9 May 2023 00:12:55 +0200 Subject: [PATCH 14/50] fix(fix): fix potential package prepublish fix --- package/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/package.json b/package/package.json index 1d4098d76..272a2d63f 100644 --- a/package/package.json +++ b/package/package.json @@ -7,7 +7,7 @@ "main": "index.js", "scripts": { "compile": "tsc", - "prepublish": "pnpm compile" + "prepare": "npm run compile" }, "keywords": [ "fivem", From 62cde2246a0722adfe3d0dd41632d12416fdcc8f Mon Sep 17 00:00:00 2001 From: Andyyy7666 <86536434+Andyyy7666@users.noreply.github.com> Date: Tue, 9 May 2023 00:41:01 +0200 Subject: [PATCH 15/50] chore(locales): translate untranslated string (#323) --- locales/sv.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/sv.json b/locales/sv.json index 012c0a2d4..65054175f 100644 --- a/locales/sv.json +++ b/locales/sv.json @@ -4,6 +4,6 @@ "cancel": "Avbryt", "close": "Stäng", "confirm": "Acceptera", - "more": "More..." + "more": "Mer..." } } From 361ce6cca63381a788d6a4a88fae803250f07cae Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Tue, 9 May 2023 09:04:45 +1000 Subject: [PATCH 16/50] chore(imports/table): some types and annotations --- imports/table/shared.lua | 42 ++++++++++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/imports/table/shared.lua b/imports/table/shared.lua index 6c56a9ff7..4bbe00acf 100644 --- a/imports/table/shared.lua +++ b/imports/table/shared.lua @@ -1,10 +1,13 @@ ----------------------------------------------------------- ---- Add additional functions to the standard table library ----------------------------------------------------------- +-- Add additional functions to the standard table library -local table = table +---@class oxtable : tablelib +lib.table = table local pairs = pairs +---@param tbl table +---@param value any +---@return boolean +---Checks if tbl contains the given values. Only intended for simple values and unnested tables. local function contains(tbl, value) if type(value) ~= 'table' then for _, v in pairs(tbl) do @@ -22,12 +25,17 @@ local function contains(tbl, value) end if matched_values == values then return true end end + return false end -table.contains = contains +---@param t1 any +---@param t2 any +---@return boolean +---Compares if two values are equal, iterating over tables and matching both keys and values. local function table_matches(t1, t2) local type1, type2 = type(t1), type(t2) + if type1 ~= type2 then return false end if type1 ~= 'table' and type2 ~= 'table' then return t1 == t2 end @@ -40,21 +48,30 @@ local function table_matches(t1, t2) local v1 = t1[k2] if v1 == nil or not table_matches(v1,v2) then return false end end + return true end -table.matches = table_matches +---@generic T +---@param tbl T +---@return T +---Recursively clones a table to ensure no table references. local function table_deepclone(tbl) tbl = table.clone(tbl) + for k, v in pairs(tbl) do if type(v) == 'table' then tbl[k] = table_deepclone(v) end end + return tbl end -table.deepclone = table_deepclone +---@param t1 table +---@param t2 table +---@return table +---Merges two tables together. Duplicate keys will be added together if they are numbers, or otherwise overwritten. local function table_merge(t1, t2) for k, v in pairs(t2) do local type1 = type(t1[k]) @@ -68,10 +85,15 @@ local function table_merge(t1, t2) t1[k] = v end end + return t1 end -table.merge = table_merge -lib.table = table +lib.table.contains = contains +lib.table.matches = table_matches +lib.table.deepclone = table_deepclone +lib.table.merge = table_merge + +table = lib.table -return table +return lib.table From 8a8700ca57944767fc506cbcfffa7b70d1196505 Mon Sep 17 00:00:00 2001 From: Demetrio <15928886+0xDEMXN@users.noreply.github.com> Date: Tue, 9 May 2023 15:52:09 +0200 Subject: [PATCH 17/50] feat(server/interface): configurable txAdmin notifications override (#299) --- fxmanifest.lua | 3 +- locales/al.json | 7 ++++- locales/cs.json | 7 ++++- locales/de.json | 7 ++++- locales/en.json | 7 ++++- locales/es.json | 7 ++++- locales/et.json | 7 ++++- locales/fr.json | 7 ++++- locales/he.json | 7 ++++- locales/hr.json | 7 ++++- locales/hu.json | 7 ++++- locales/id.json | 7 ++++- locales/it.json | 13 +++++--- locales/lt.json | 7 ++++- locales/nl.json | 7 ++++- locales/no.json | 9 ++++-- locales/pl.json | 7 ++++- locales/pt-br.json | 7 ++++- locales/ru.json | 7 ++++- locales/sk.json | 7 ++++- locales/sl.json | 7 ++++- locales/sv.json | 7 ++++- locales/th.json | 7 ++++- locales/tr.json | 7 ++++- locales/zh-cn.json | 7 ++++- locales/zh-tw.json | 7 ++++- resource/interface/server/txadmin.lua | 44 +++++++++++++++++++++++++++ resource/shared.lua | 1 + 28 files changed, 201 insertions(+), 30 deletions(-) create mode 100644 resource/interface/server/txadmin.lua create mode 100644 resource/shared.lua diff --git a/fxmanifest.lua b/fxmanifest.lua index e6fd7d25c..f0c882fc8 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -33,6 +33,7 @@ files { shared_script 'resource/init.lua' shared_scripts { + 'imports/locale/shared.lua', 'resource/**/shared.lua', -- 'resource/**/shared/*.lua' } @@ -49,6 +50,6 @@ client_scripts { server_scripts { 'imports/callback/server.lua', 'resource/**/server.lua', - -- 'resource/**/server/*.lua' + 'resource/**/server/*.lua', } diff --git a/locales/al.json b/locales/al.json index ee207c85e..869acc033 100644 --- a/locales/al.json +++ b/locales/al.json @@ -5,5 +5,10 @@ "close": "Mbylle", "confirm": "Konfirmo", "more": "More..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/cs.json b/locales/cs.json index 614c3a5a4..52c52d32b 100644 --- a/locales/cs.json +++ b/locales/cs.json @@ -5,5 +5,10 @@ "close": "Zavřít", "confirm": "Potvrdit", "more": "Více..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/de.json b/locales/de.json index e6b82b109..6db70dc25 100644 --- a/locales/de.json +++ b/locales/de.json @@ -5,5 +5,10 @@ "close": "Schließen", "confirm": "Bestätigen", "more": "Mehr..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/en.json b/locales/en.json index 855d0f91d..c35d631d9 100644 --- a/locales/en.json +++ b/locales/en.json @@ -5,5 +5,10 @@ "close": "Close", "confirm": "Confirm", "more": "More..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/es.json b/locales/es.json index f3090948b..0d1ce8f7b 100644 --- a/locales/es.json +++ b/locales/es.json @@ -5,5 +5,10 @@ "close": "Cerrar", "confirm": "Confirmar", "more": "Más..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/et.json b/locales/et.json index 9e1f5f960..44cd582cc 100644 --- a/locales/et.json +++ b/locales/et.json @@ -5,5 +5,10 @@ "close": "Sulge", "confirm": "Kinnita", "more": "Rohkem..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/fr.json b/locales/fr.json index e5031e2b2..e03cd95a3 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -5,5 +5,10 @@ "close": "Fermer", "confirm": "Confirmer", "more": "Plus..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/he.json b/locales/he.json index b7addbc92..bb463bd58 100644 --- a/locales/he.json +++ b/locales/he.json @@ -5,5 +5,10 @@ "close": "סגירה", "confirm": "אישור", "more": "...עוד" - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/hr.json b/locales/hr.json index 35654a95c..e66dd8ba2 100644 --- a/locales/hr.json +++ b/locales/hr.json @@ -5,5 +5,10 @@ "close": "Zatvori", "confirm": "Potvrdi", "more": "Više..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/hu.json b/locales/hu.json index 7e75b54b6..32cec195d 100644 --- a/locales/hu.json +++ b/locales/hu.json @@ -5,5 +5,10 @@ "close": "Bezárás", "confirm": "Megerősít", "more": "More..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/id.json b/locales/id.json index 7be40f53a..c3748fbee 100644 --- a/locales/id.json +++ b/locales/id.json @@ -5,5 +5,10 @@ "close": "Tutup", "confirm": "Konfirmasi", "more": "More..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/it.json b/locales/it.json index 584b2f42d..8f883b2ae 100644 --- a/locales/it.json +++ b/locales/it.json @@ -2,8 +2,13 @@ "language": "Italiano", "ui": { "cancel": "Annulla", - "close": "Chiudere", - "confirm": "Confermare", - "more": "Di più..." - } + "close": "Chiudi", + "confirm": "Conferma", + "more": "Altro..." + }, + "txadmin_announcement": "Annuncio server da %s", + "txadmin_dm": "Messaggio diretto da %s", + "txadmin_warn": "Sei stato richiamato da %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Riavvio Programmato" } diff --git a/locales/lt.json b/locales/lt.json index 9e8e3cfba..ad6fc3e3e 100644 --- a/locales/lt.json +++ b/locales/lt.json @@ -5,5 +5,10 @@ "close": "Uždaryti", "confirm": "Patvirtinti", "more": "Daugiau..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/nl.json b/locales/nl.json index 57e515309..cdec229dd 100644 --- a/locales/nl.json +++ b/locales/nl.json @@ -5,5 +5,10 @@ "close": "Sluiten", "confirm": "Bevestig", "more": "More..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/no.json b/locales/no.json index f6299e5b3..7dd399069 100644 --- a/locales/no.json +++ b/locales/no.json @@ -5,5 +5,10 @@ "close": "Lukk", "confirm": "Bekreft", "more": "Mer..." - } - } \ No newline at end of file + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" + } diff --git a/locales/pl.json b/locales/pl.json index 1fa58493f..d235302f3 100644 --- a/locales/pl.json +++ b/locales/pl.json @@ -5,5 +5,10 @@ "close": "Zamknij", "confirm": "Potwierdź", "more": "More..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/pt-br.json b/locales/pt-br.json index 14125d1b5..2692c7509 100644 --- a/locales/pt-br.json +++ b/locales/pt-br.json @@ -5,5 +5,10 @@ "close": "Fechar", "confirm": "Confirmar", "more": "Mais..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/ru.json b/locales/ru.json index e23aed424..751f888f8 100644 --- a/locales/ru.json +++ b/locales/ru.json @@ -5,5 +5,10 @@ "close": "Закрыть", "confirm": "Подтвердить", "more": "Ещё..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/sk.json b/locales/sk.json index f4858805d..59d7e4fe5 100644 --- a/locales/sk.json +++ b/locales/sk.json @@ -5,5 +5,10 @@ "close": "Zavrieť", "confirm": "Potvrdiť", "more": "More..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/sl.json b/locales/sl.json index be0d22534..96d0c3de9 100644 --- a/locales/sl.json +++ b/locales/sl.json @@ -5,5 +5,10 @@ "close": "Zapri", "confirm": "Potrdi", "more": "More..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/sv.json b/locales/sv.json index 65054175f..4508a67bf 100644 --- a/locales/sv.json +++ b/locales/sv.json @@ -5,5 +5,10 @@ "close": "Stäng", "confirm": "Acceptera", "more": "Mer..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/th.json b/locales/th.json index 972b811ce..aa37dec8c 100644 --- a/locales/th.json +++ b/locales/th.json @@ -5,5 +5,10 @@ "close": "ปิด", "confirm": "ยืนยัน", "more": "เพิ่มเติม..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/tr.json b/locales/tr.json index 3b86a46e5..fc5328d89 100644 --- a/locales/tr.json +++ b/locales/tr.json @@ -5,5 +5,10 @@ "close": "Kapat", "confirm": "Onayla", "more": "Daha Fazla..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/zh-cn.json b/locales/zh-cn.json index 6d372ac83..27acbd826 100644 --- a/locales/zh-cn.json +++ b/locales/zh-cn.json @@ -5,5 +5,10 @@ "close": "关闭", "confirm": "确认", "more": "More..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/locales/zh-tw.json b/locales/zh-tw.json index e5483a9d7..2eb767f88 100644 --- a/locales/zh-tw.json +++ b/locales/zh-tw.json @@ -5,5 +5,10 @@ "close": "關閉", "confirm": "確認", "more": "More..." - } + }, + "txadmin_announcement": "Server announcement by %s", + "txadmin_dm": "Direct Message from %s", + "txadmin_warn": "You have been warned by %s", + "txadmin_warn_content": "%s \nAction ID: %s", + "txadmin_scheduledrestart": "Scheduled Restart" } diff --git a/resource/interface/server/txadmin.lua b/resource/interface/server/txadmin.lua new file mode 100644 index 000000000..cff60f54f --- /dev/null +++ b/resource/interface/server/txadmin.lua @@ -0,0 +1,44 @@ +if GetConvarInt('ox:txAdminNotifications', false) then + if GetConvar('txAdmin-hideDefaultAnnouncement', 'false') == 'true' then + AddEventHandler('txAdmin:events:announcement', function(eventData) + TriggerClientEvent('ox_lib:notify', -1, { + id = 'txAdmin:announcement', + title = locale('txadmin_announcement', eventData.author), + description = eventData.message, + duration = 5000 + }) + end) + end + + if GetConvar('txAdmin-hideDefaultDirectMessage', 'false') == 'true' then + AddEventHandler('txAdmin:events:playerDirectMessage', function(eventData) + TriggerClientEvent('ox_lib:notify', eventData.target, { + id = 'txAdmin:playerDirectMessage', + title = locale('txadmin_dm', eventData.author), + description = eventData.message, + duration = 5000 + }) + end) + end + + if GetConvar('txAdmin-hideDefaultWarning', 'false') == 'true' then + AddEventHandler('txAdmin:events:playerWarned', function(eventData) + TriggerClientEvent('ox_lib:alertDialog', eventData.target, { + header = locale('txadmin_warn', eventData.author), + content = locale('txadmin_warn_content', eventData.reason, eventData.actionId), + centered = true + }) + end) + end + + if GetConvar('txAdmin-hideDefaultScheduledRestartWarning', 'false') == 'true' then + AddEventHandler('txAdmin:events:scheduledRestart', function(eventData) + TriggerClientEvent('ox_lib:notify', -1, { + id = 'txAdmin:scheduledRestart', + title = locale('txadmin_scheduledrestart'), + description = eventData.translatedMessage, + duration = 5000 + }) + end) + end +end diff --git a/resource/shared.lua b/resource/shared.lua new file mode 100644 index 000000000..aa9ba6170 --- /dev/null +++ b/resource/shared.lua @@ -0,0 +1 @@ +lib.locale() From 21990796f558a571313567e2e46bb29d212503fa Mon Sep 17 00:00:00 2001 From: LukeWasTaken <39926192+LukeWasTakenn@users.noreply.github.com> Date: Wed, 10 May 2023 16:25:30 +0200 Subject: [PATCH 18/50] feat(web): ability to style description in notifications --- package/client/resource/interface/notify.ts | 4 +- package/package.json | 1 + package/pnpm-lock.yaml | 749 ++++++++++++++++++ web/src/features/dev/debug/notification.ts | 17 +- .../notifications/NotificationWrapper.tsx | 20 +- web/src/typings/notifications.ts | 4 +- 6 files changed, 774 insertions(+), 21 deletions(-) diff --git a/package/client/resource/interface/notify.ts b/package/client/resource/interface/notify.ts index bc01638e0..42f59c8e4 100644 --- a/package/client/resource/interface/notify.ts +++ b/package/client/resource/interface/notify.ts @@ -1,4 +1,4 @@ -import { CSSProperties } from 'react'; +import { Sx } from '@mantine/core'; import { IconName, IconPrefix } from '@fortawesome/fontawesome-common-types'; type NotificationPosition = @@ -19,7 +19,7 @@ interface NotifyProps { duration?: number; position?: NotificationPosition; type?: NotificationType; - style?: CSSProperties; + style?: Sx; icon?: IconName | [IconPrefix, IconName]; iconColor?: string; } diff --git a/package/package.json b/package/package.json index 272a2d63f..626dd69b7 100644 --- a/package/package.json +++ b/package/package.json @@ -27,6 +27,7 @@ "@citizenfx/client": "2.0.5885-1", "@citizenfx/server": "2.0.5885-1", "@fortawesome/fontawesome-common-types": "6.1.1", + "@mantine/core": "^6.0.10", "@nativewrappers/client": "^1.7.33", "@types/node": "16.9.1", "@types/react": "^18.0.26", diff --git a/package/pnpm-lock.yaml b/package/pnpm-lock.yaml index 6cf875131..135d0a8db 100644 --- a/package/pnpm-lock.yaml +++ b/package/pnpm-lock.yaml @@ -10,6 +10,9 @@ dependencies: '@fortawesome/fontawesome-common-types': specifier: 6.1.1 version: 6.1.1 + '@mantine/core': + specifier: ^6.0.10 + version: 6.0.10(@emotion/react@11.11.0)(@mantine/hooks@6.0.10)(@types/react@18.0.26)(react-dom@18.2.0)(react@18.2.0) '@nativewrappers/client': specifier: ^1.7.33 version: 1.7.33 @@ -30,6 +33,55 @@ devDependencies: packages: + /@babel/code-frame@7.21.4: + resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 + dev: false + + /@babel/helper-module-imports@7.21.4: + resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.5 + dev: false + + /@babel/helper-string-parser@7.21.5: + resolution: {integrity: sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helper-validator-identifier@7.19.1: + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/highlight@7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: false + + /@babel/runtime@7.21.5: + resolution: {integrity: sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.11 + dev: false + + /@babel/types@7.21.5: + resolution: {integrity: sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.21.5 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + dev: false + /@citizenfx/client@2.0.5885-1: resolution: {integrity: sha512-Ba5YYfxhZ82PcOY+2rjqDElTzPt7NrN6/o2U+wYPKK2VU/wRdCsMonpMsr7dYob2ToN5Qe96w5VNI3m5OrouJQ==} dev: false @@ -38,20 +90,310 @@ packages: resolution: {integrity: sha512-q8KRecfjJ3RjCfBT/3CSHNTr2efUs9uq8pIoPF4TGkn5X7jgTBprrp3VMayaee3Xekay3RTufpzsOaeHUntQeA==} dev: false + /@emotion/babel-plugin@11.11.0: + resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==} + dependencies: + '@babel/helper-module-imports': 7.21.4 + '@babel/runtime': 7.21.5 + '@emotion/hash': 0.9.1 + '@emotion/memoize': 0.8.1 + '@emotion/serialize': 1.1.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 + dev: false + + /@emotion/cache@11.11.0: + resolution: {integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==} + dependencies: + '@emotion/memoize': 0.8.1 + '@emotion/sheet': 1.2.2 + '@emotion/utils': 1.2.1 + '@emotion/weak-memoize': 0.3.1 + stylis: 4.2.0 + dev: false + + /@emotion/hash@0.9.1: + resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==} + dev: false + + /@emotion/memoize@0.8.1: + resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} + dev: false + + /@emotion/react@11.11.0(@types/react@18.0.26)(react@18.2.0): + resolution: {integrity: sha512-ZSK3ZJsNkwfjT3JpDAWJZlrGD81Z3ytNDsxw1LKq1o+xkmO5pnWfr6gmCC8gHEFf3nSSX/09YrG67jybNPxSUw==} + peerDependencies: + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.21.5 + '@emotion/babel-plugin': 11.11.0 + '@emotion/cache': 11.11.0 + '@emotion/serialize': 1.1.2 + '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) + '@emotion/utils': 1.2.1 + '@emotion/weak-memoize': 0.3.1 + '@types/react': 18.0.26 + hoist-non-react-statics: 3.3.2 + react: 18.2.0 + dev: false + + /@emotion/serialize@1.1.2: + resolution: {integrity: sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==} + dependencies: + '@emotion/hash': 0.9.1 + '@emotion/memoize': 0.8.1 + '@emotion/unitless': 0.8.1 + '@emotion/utils': 1.2.1 + csstype: 3.1.1 + dev: false + + /@emotion/sheet@1.2.2: + resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==} + dev: false + + /@emotion/unitless@0.8.1: + resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} + dev: false + + /@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@18.2.0): + resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==} + peerDependencies: + react: '>=16.8.0' + dependencies: + react: 18.2.0 + dev: false + + /@emotion/utils@1.2.1: + resolution: {integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==} + dev: false + + /@emotion/weak-memoize@0.3.1: + resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} + dev: false + + /@floating-ui/core@1.2.6: + resolution: {integrity: sha512-EvYTiXet5XqweYGClEmpu3BoxmsQ4hkj3QaYA6qEnigCWffTP3vNRwBReTdrwDwo7OoJ3wM8Uoe9Uk4n+d4hfg==} + dev: false + + /@floating-ui/dom@1.2.7: + resolution: {integrity: sha512-DyqylONj1ZaBnzj+uBnVfzdjjCkFCL2aA9ESHLyUOGSqb03RpbLMImP1ekIQXYs4KLk9jAjJfZAU8hXfWSahEg==} + dependencies: + '@floating-ui/core': 1.2.6 + dev: false + + /@floating-ui/react-dom@1.3.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-htwHm67Ji5E/pROEAr7f8IKFShuiCKHwUC/UY4vC3I5jiSvGFAYnSYiZO5MlGmads+QqvUkR9ANHEguGrDv72g==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + dependencies: + '@floating-ui/dom': 1.2.7 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@floating-ui/react@0.19.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-JyNk4A0Ezirq8FlXECvRtQOX/iBe5Ize0W/pLkrZjfHW9GUV7Xnq6zm6fyZuQzaHHqEnVizmvlA96e1/CkZv+w==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + dependencies: + '@floating-ui/react-dom': 1.3.0(react-dom@18.2.0)(react@18.2.0) + aria-hidden: 1.2.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + tabbable: 6.1.2 + dev: false + /@fortawesome/fontawesome-common-types@6.1.1: resolution: {integrity: sha512-wVn5WJPirFTnzN6tR95abCx+ocH+3IFLXAgyavnf9hUmN0CfWoDjPT/BAWsUVwSlYYVBeCLJxaqi7ZGe4uSjBA==} engines: {node: '>=6'} requiresBuild: true dev: false + /@mantine/core@6.0.10(@emotion/react@11.11.0)(@mantine/hooks@6.0.10)(@types/react@18.0.26)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Q8HdRTBkQDs6LEtklpYm6efz2WaV6T5rvgjUOfXq0z44G/XYM+P1B1BSFnHvUDkeWYLcGkK6aPI5Uxc0GEN04w==} + peerDependencies: + '@mantine/hooks': 6.0.10 + react: '>=16.8.0' + react-dom: '>=16.8.0' + dependencies: + '@floating-ui/react': 0.19.2(react-dom@18.2.0)(react@18.2.0) + '@mantine/hooks': 6.0.10(react@18.2.0) + '@mantine/styles': 6.0.10(@emotion/react@11.11.0)(react-dom@18.2.0)(react@18.2.0) + '@mantine/utils': 6.0.10(react@18.2.0) + '@radix-ui/react-scroll-area': 1.0.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-remove-scroll: 2.5.6(@types/react@18.0.26)(react@18.2.0) + react-textarea-autosize: 8.3.4(@types/react@18.0.26)(react@18.2.0) + transitivePeerDependencies: + - '@emotion/react' + - '@types/react' + dev: false + + /@mantine/hooks@6.0.10(react@18.2.0): + resolution: {integrity: sha512-rxH5/CxmUs1mUZAj27Fza4SH07HV1XyrL7L9wwhZdMLg+oDEaAs8BMz8lsOIHOCro9ZDh+Mm7QAbEW8HcvmYJg==} + peerDependencies: + react: '>=16.8.0' + dependencies: + react: 18.2.0 + dev: false + + /@mantine/styles@6.0.10(@emotion/react@11.11.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-TVyo4xNBO7PhP2jubu2OI1YK2DEULrVgdsP0+1wfwj/bhSTnTLYmh2aOb1FyTiFvFn1dfq4If428z/ZuGiLtdQ==} + peerDependencies: + '@emotion/react': '>=11.9.0' + react: '>=16.8.0' + react-dom: '>=16.8.0' + dependencies: + '@emotion/react': 11.11.0(@types/react@18.0.26)(react@18.2.0) + clsx: 1.1.1 + csstype: 3.0.9 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@mantine/utils@6.0.10(react@18.2.0): + resolution: {integrity: sha512-Lo4VUn3+/kqhdjSoPzUFbxXEjMxj5vS4pqRjKRGtJsTwHiMFNcm8u4cIESzMBAEsoaBrI1dGE4WttwOJhjUaSw==} + peerDependencies: + react: '>=16.8.0' + dependencies: + react: 18.2.0 + dev: false + /@nativewrappers/client@1.7.33: resolution: {integrity: sha512-phuBBGdDPxZiZyw5CaFs1XWfvllnEtwATMdLaNucwMofVg/O/FjlP1bTUq4SOm4qhSZ4Zdo351ijHzBSIbZs6g==} dev: false + /@radix-ui/number@1.0.0: + resolution: {integrity: sha512-Ofwh/1HX69ZfJRiRBMTy7rgjAzHmwe4kW9C9Y99HTRUcYLUuVT0KESFj15rPjRgKJs20GPq8Bm5aEDJ8DuA3vA==} + dependencies: + '@babel/runtime': 7.21.5 + dev: false + + /@radix-ui/primitive@1.0.0: + resolution: {integrity: sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==} + dependencies: + '@babel/runtime': 7.21.5 + dev: false + + /@radix-ui/react-compose-refs@1.0.0(react@18.2.0): + resolution: {integrity: sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + dependencies: + '@babel/runtime': 7.21.5 + react: 18.2.0 + dev: false + + /@radix-ui/react-context@1.0.0(react@18.2.0): + resolution: {integrity: sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + dependencies: + '@babel/runtime': 7.21.5 + react: 18.2.0 + dev: false + + /@radix-ui/react-direction@1.0.0(react@18.2.0): + resolution: {integrity: sha512-2HV05lGUgYcA6xgLQ4BKPDmtL+QbIZYH5fCOTAOOcJ5O0QbWS3i9lKaurLzliYUDhORI2Qr3pyjhJh44lKA3rQ==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + dependencies: + '@babel/runtime': 7.21.5 + react: 18.2.0 + dev: false + + /@radix-ui/react-presence@1.0.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + dependencies: + '@babel/runtime': 7.21.5 + '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@radix-ui/react-primitive@1.0.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-fHbmislWVkZaIdeF6GZxF0A/NH/3BjrGIYj+Ae6eTmTCr7EB0RQAAVEiqsXK6p3/JcRqVSBQoceZroj30Jj3XA==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + dependencies: + '@babel/runtime': 7.21.5 + '@radix-ui/react-slot': 1.0.1(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@radix-ui/react-scroll-area@1.0.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-k8VseTxI26kcKJaX0HPwkvlNBPTs56JRdYzcZ/vzrNUkDlvXBy8sMc7WvCpYzZkHgb+hd72VW9MqkqecGtuNgg==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + dependencies: + '@babel/runtime': 7.21.5 + '@radix-ui/number': 1.0.0 + '@radix-ui/primitive': 1.0.0 + '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) + '@radix-ui/react-context': 1.0.0(react@18.2.0) + '@radix-ui/react-direction': 1.0.0(react@18.2.0) + '@radix-ui/react-presence': 1.0.0(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.1(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@radix-ui/react-slot@1.0.1(react@18.2.0): + resolution: {integrity: sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + dependencies: + '@babel/runtime': 7.21.5 + '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) + react: 18.2.0 + dev: false + + /@radix-ui/react-use-callback-ref@1.0.0(react@18.2.0): + resolution: {integrity: sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + dependencies: + '@babel/runtime': 7.21.5 + react: 18.2.0 + dev: false + + /@radix-ui/react-use-layout-effect@1.0.0(react@18.2.0): + resolution: {integrity: sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + dependencies: + '@babel/runtime': 7.21.5 + react: 18.2.0 + dev: false + /@types/node@16.9.1: resolution: {integrity: sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==} dev: false + /@types/parse-json@4.0.0: + resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + dev: false + /@types/prop-types@15.7.5: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} dev: false @@ -68,18 +410,425 @@ packages: resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} dev: false + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: false + + /aria-hidden@1.2.3: + resolution: {integrity: sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==} + engines: {node: '>=10'} + dependencies: + tslib: 2.5.0 + dev: false + + /babel-plugin-macros@3.1.0: + resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} + engines: {node: '>=10', npm: '>=6'} + dependencies: + '@babel/runtime': 7.21.5 + cosmiconfig: 7.1.0 + resolve: 1.22.2 + dev: false + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: false + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: false + + /clsx@1.1.1: + resolution: {integrity: sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==} + engines: {node: '>=6'} + dev: false + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: false + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: false + + /convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: false + + /cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + dependencies: + '@types/parse-json': 4.0.0 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + dev: false + + /csstype@3.0.9: + resolution: {integrity: sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==} + dev: false + /csstype@3.1.1: resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} dev: false + /detect-node-es@1.1.0: + resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + dev: false + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: false + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: false + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: false + + /find-root@1.1.0: + resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} + dev: false + + /function-bind@1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: false + + /get-nonce@1.0.1: + resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} + engines: {node: '>=6'} + dev: false + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: false + + /has@1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: false + + /hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + dependencies: + react-is: 16.13.1 + dev: false + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: false + + /invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + dependencies: + loose-envify: 1.4.0 + dev: false + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: false + + /is-core-module@2.12.0: + resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==} + dependencies: + has: 1.0.3 + dev: false + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: false + + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: false + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: false + + /loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + dependencies: + js-tokens: 4.0.0 + dev: false + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: false + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.21.4 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: false + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: false + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: false + /prettier@2.8.1: resolution: {integrity: sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==} engines: {node: '>=10.13.0'} hasBin: true dev: true + /react-dom@18.2.0(react@18.2.0): + resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + peerDependencies: + react: ^18.2.0 + dependencies: + loose-envify: 1.4.0 + react: 18.2.0 + scheduler: 0.23.0 + dev: false + + /react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + dev: false + + /react-remove-scroll-bar@2.3.4(@types/react@18.0.26)(react@18.2.0): + resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.0.26 + react: 18.2.0 + react-style-singleton: 2.2.1(@types/react@18.0.26)(react@18.2.0) + tslib: 2.5.0 + dev: false + + /react-remove-scroll@2.5.6(@types/react@18.0.26)(react@18.2.0): + resolution: {integrity: sha512-bO856ad1uDYLefgArk559IzUNeQ6SWH4QnrevIUjH+GczV56giDfl3h0Idptf2oIKxQmd1p9BN25jleKodTALg==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.0.26 + react: 18.2.0 + react-remove-scroll-bar: 2.3.4(@types/react@18.0.26)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.0.26)(react@18.2.0) + tslib: 2.5.0 + use-callback-ref: 1.3.0(@types/react@18.0.26)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.0.26)(react@18.2.0) + dev: false + + /react-style-singleton@2.2.1(@types/react@18.0.26)(react@18.2.0): + resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.0.26 + get-nonce: 1.0.1 + invariant: 2.2.4 + react: 18.2.0 + tslib: 2.5.0 + dev: false + + /react-textarea-autosize@8.3.4(@types/react@18.0.26)(react@18.2.0): + resolution: {integrity: sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ==} + engines: {node: '>=10'} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@babel/runtime': 7.21.5 + react: 18.2.0 + use-composed-ref: 1.3.0(react@18.2.0) + use-latest: 1.2.1(@types/react@18.0.26)(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + dev: false + + /react@18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + dev: false + + /regenerator-runtime@0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + dev: false + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: false + + /resolve@1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} + hasBin: true + dependencies: + is-core-module: 2.12.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: false + + /scheduler@0.23.0: + resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + dependencies: + loose-envify: 1.4.0 + dev: false + + /source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + dev: false + + /stylis@4.2.0: + resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} + dev: false + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: false + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: false + + /tabbable@6.1.2: + resolution: {integrity: sha512-qCN98uP7i9z0fIS4amQ5zbGBOq+OSigYeGvPy7NDk8Y9yncqDZ9pRPgfsc2PJIVM9RrJj7GIfuRgmjoUU9zTHQ==} + dev: false + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: false + + /tslib@2.5.0: + resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + dev: false + /typescript@4.9.4: resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} engines: {node: '>=4.2.0'} hasBin: true dev: false + + /use-callback-ref@1.3.0(@types/react@18.0.26)(react@18.2.0): + resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.0.26 + react: 18.2.0 + tslib: 2.5.0 + dev: false + + /use-composed-ref@1.3.0(react@18.2.0): + resolution: {integrity: sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.2.0 + dev: false + + /use-isomorphic-layout-effect@1.1.2(@types/react@18.0.26)(react@18.2.0): + resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.0.26 + react: 18.2.0 + dev: false + + /use-latest@1.2.1(@types/react@18.0.26)(react@18.2.0): + resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.0.26 + react: 18.2.0 + use-isomorphic-layout-effect: 1.1.2(@types/react@18.0.26)(react@18.2.0) + dev: false + + /use-sidecar@1.1.2(@types/react@18.0.26)(react@18.2.0): + resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.0.26 + detect-node-es: 1.1.0 + react: 18.2.0 + tslib: 2.5.0 + dev: false + + /yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + dev: false diff --git a/web/src/features/dev/debug/notification.ts b/web/src/features/dev/debug/notification.ts index 6cbef4042..8f1578d96 100644 --- a/web/src/features/dev/debug/notification.ts +++ b/web/src/features/dev/debug/notification.ts @@ -10,17 +10,12 @@ export const debugCustomNotification = () => { description: 'Notification description', type: 'success', id: 'pogchamp', - }, - }, - ]); - debugData([ - { - action: 'notify', - data: { - title: 'Success', - description: 'Notification description', - type: 'success', - id: 'pogchamp', + duration: 20000, + style: { + '.description': { + color: 'red', + }, + }, }, }, ]); diff --git a/web/src/features/notifications/NotificationWrapper.tsx b/web/src/features/notifications/NotificationWrapper.tsx index c63cc575f..1c57083c9 100644 --- a/web/src/features/notifications/NotificationWrapper.tsx +++ b/web/src/features/notifications/NotificationWrapper.tsx @@ -2,7 +2,7 @@ import { useNuiEvent } from '../../hooks/useNuiEvent'; import { toast, Toaster } from 'react-hot-toast'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import ReactMarkdown from 'react-markdown'; -import { Avatar, createStyles, Group, Stack, Box, Text, keyframes } from '@mantine/core'; +import { Avatar, createStyles, Group, Stack, Box, Text, keyframes, Sx } from '@mantine/core'; import React from 'react'; import type { NotificationProps } from '../../typings'; @@ -128,11 +128,11 @@ const Notifications: React.FC = () => { case 'warning': data.icon = 'circle-exclamation'; break; - default: + default: data.icon = 'circle-info'; break; } - } + } toast.custom( (t) => ( { ? exitAnimationBottom : exitAnimationRight } 0.4s ease-in forwards`, + ...data.style, }} - style={data.style} className={`${classes.container}`} > @@ -159,7 +159,15 @@ const Notifications: React.FC = () => { <> {!data.iconColor ? ( @@ -173,7 +181,7 @@ const Notifications: React.FC = () => { {data.title && {data.title}} {data.description && ( - + {data.description} )} diff --git a/web/src/typings/notifications.ts b/web/src/typings/notifications.ts index 6edfdd3b3..b45905907 100644 --- a/web/src/typings/notifications.ts +++ b/web/src/typings/notifications.ts @@ -1,9 +1,9 @@ -import React from 'react'; import { ToastPosition } from 'react-hot-toast'; import { IconProp } from '@fortawesome/fontawesome-svg-core'; +import { Sx } from '@mantine/core'; export interface NotificationProps { - style?: React.CSSProperties; + style?: Sx; description?: string; title?: string; duration?: number; From b4d9cffb312ef820e37aba18584d1494f282a942 Mon Sep 17 00:00:00 2001 From: Demetrio <15928886+0xDEMXN@users.noreply.github.com> Date: Fri, 12 May 2023 05:10:28 +0200 Subject: [PATCH 19/50] fix(server/txadmin): notification override convar (#325) --- resource/interface/server/txadmin.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resource/interface/server/txadmin.lua b/resource/interface/server/txadmin.lua index cff60f54f..c4892f016 100644 --- a/resource/interface/server/txadmin.lua +++ b/resource/interface/server/txadmin.lua @@ -1,4 +1,4 @@ -if GetConvarInt('ox:txAdminNotifications', false) then +if GetConvarInt('ox:txAdminNotifications', false) == 1 then if GetConvar('txAdmin-hideDefaultAnnouncement', 'false') == 'true' then AddEventHandler('txAdmin:events:announcement', function(eventData) TriggerClientEvent('ox_lib:notify', -1, { From 72d0671badd263d14cbbb958c7a76159846d47b5 Mon Sep 17 00:00:00 2001 From: dntAtMe <43831256+dntAtMe@users.noreply.github.com> Date: Wed, 17 May 2023 22:31:54 +0200 Subject: [PATCH 20/50] feat(locales): polish locales (#330) --- locales/pl.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/locales/pl.json b/locales/pl.json index d235302f3..c9449ee29 100644 --- a/locales/pl.json +++ b/locales/pl.json @@ -4,11 +4,11 @@ "cancel": "Anuluj", "close": "Zamknij", "confirm": "Potwierdź", - "more": "More..." + "more": "Więcej..." }, - "txadmin_announcement": "Server announcement by %s", - "txadmin_dm": "Direct Message from %s", - "txadmin_warn": "You have been warned by %s", - "txadmin_warn_content": "%s \nAction ID: %s", - "txadmin_scheduledrestart": "Scheduled Restart" + "txadmin_announcement": "Ogłoszenie serwerowe od %s", + "txadmin_dm": "Prywatna wiadomość od %s", + "txadmin_warn": "Dostałeś ostrzeżenie od %s", + "txadmin_warn_content": "%s \nID Akcji: %s", + "txadmin_scheduledrestart": "Zaplanowany Restart" } From 16875ca7e3a4f7b994813b369bcf34a4b829dfca Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Thu, 18 May 2023 15:29:31 +1000 Subject: [PATCH 21/50] fix: type corrections --- imports/cron/server.lua | 3 +-- resource/interface/client/skillcheck.lua | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/imports/cron/server.lua b/imports/cron/server.lua index aac47e9c1..206a8a6a9 100644 --- a/imports/cron/server.lua +++ b/imports/cron/server.lua @@ -11,11 +11,10 @@ currentDate.sec = 0 ---@field job fun(task: OxTask, date: osdate) ---@field isActive boolean ---@field id number ----@field getNextTime function ---@field debug? boolean ---@class OxTask : OxTaskProperties ----@field private scheduleTask fun(self: OxTask) +---@field private scheduleTask fun(self: OxTask): boolean? local OxTask = {} OxTask.__index = OxTask diff --git a/resource/interface/client/skillcheck.lua b/resource/interface/client/skillcheck.lua index 29c456d2d..b33064d99 100644 --- a/resource/interface/client/skillcheck.lua +++ b/resource/interface/client/skillcheck.lua @@ -4,7 +4,7 @@ local skillcheck ---@alias SkillCheckDifficulity 'easy' | 'medium' | 'hard' | { areaSize: number, speedMultiplier: number } ---@param difficulty SkillCheckDifficulity | SkillCheckDifficulity[] ----@param inputs string[] +---@param inputs string[]? ---@return boolean? function lib.skillCheck(difficulty, inputs) if skillcheck then return end From 71f751c2fffdbfa52548ef34a00a3c270d9a6dbf Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Thu, 18 May 2023 18:44:23 +1000 Subject: [PATCH 22/50] chore: readme --- README.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e37bb8e91..02479fcf8 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,12 @@
-## Lua Library for FiveM +## ox_lib -FXServer provides its own system for including files, which we use to load this resource in the fxmanifest via +Cfx provides functionality for loading external files in a resource through fxmanifest. ```lua +lua54 'yes' shared_script '@ox_lib/init.lua' ``` @@ -19,4 +20,12 @@ add_ace resource.ox_lib command.remove_principal allow ``` ## License + LGPL-3.0-or-later + +## Lua Language Server + +- Install [Lua Language Server](https://marketplace.visualstudio.com/items?itemName=sumneko.lua) to ease development with annotations, type checking, diagnostics, and more. +- Install [cfxlua-vscode](https://marketplace.visualstudio.com/items?itemName=overextended.cfxlua-vscode) to add natives and cfxlua runtime declarations to LLS. +- You can load ox_lib into your global development environment by modifying workspace/user settings "Lua.workspace.library" with the resource path. + - e.g. "c:\\fxserver\\resources\\ox_lib" From 991be22de5742ab88e3d65dc4d7b2d8b8bd44ddd Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Thu, 18 May 2023 21:02:27 +1000 Subject: [PATCH 23/50] fix(client/radial): disable pause menu while open --- resource/interface/client/radial.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resource/interface/client/radial.lua b/resource/interface/client/radial.lua index a52c85240..4b422acd2 100644 --- a/resource/interface/client/radial.lua +++ b/resource/interface/client/radial.lua @@ -322,6 +322,8 @@ lib.addKeybind({ DisablePlayerFiring(cache.playerId, true) DisableControlAction(0, 1, true) DisableControlAction(0, 2, true) + DisableControlAction(2, 199, true) + DisableControlAction(2, 200, true) Wait(0) end end, From af9828ba0bad491affcba02f3fa01c75256b0697 Mon Sep 17 00:00:00 2001 From: mikigoalie Date: Thu, 18 May 2023 13:03:13 +0200 Subject: [PATCH 24/50] chore(locales): cs.json (#333) --- locales/cs.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/locales/cs.json b/locales/cs.json index 52c52d32b..8204d8fa2 100644 --- a/locales/cs.json +++ b/locales/cs.json @@ -6,9 +6,9 @@ "confirm": "Potvrdit", "more": "Více..." }, - "txadmin_announcement": "Server announcement by %s", - "txadmin_dm": "Direct Message from %s", - "txadmin_warn": "You have been warned by %s", - "txadmin_warn_content": "%s \nAction ID: %s", - "txadmin_scheduledrestart": "Scheduled Restart" + "txadmin_announcement": "Server oznámení od %s", + "txadmin_dm": "Soukromá zpráva od %s", + "txadmin_warn": "Byl jsi varován %s", + "txadmin_warn_content": "%s \nID Akce: %s", + "txadmin_scheduledrestart": "Plánovaný restart" } From fa589f55dacba4d4a5afda7e392a336289d19d05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Raty=C5=84ski?= Date: Thu, 18 May 2023 13:03:37 +0200 Subject: [PATCH 25/50] chore(locales): update pl.json (#332) --- locales/pl.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locales/pl.json b/locales/pl.json index c9449ee29..2b6652b5a 100644 --- a/locales/pl.json +++ b/locales/pl.json @@ -8,7 +8,7 @@ }, "txadmin_announcement": "Ogłoszenie serwerowe od %s", "txadmin_dm": "Prywatna wiadomość od %s", - "txadmin_warn": "Dostałeś ostrzeżenie od %s", - "txadmin_warn_content": "%s \nID Akcji: %s", - "txadmin_scheduledrestart": "Zaplanowany Restart" + "txadmin_warn": "Otrzymano ostrzeżenie od %s", + "txadmin_warn_content": "%s \nId akcji: %s", + "txadmin_scheduledrestart": "Zaplanowany restart" } From 4d1f39512f87456ee18f541cabcadcef713fe0de Mon Sep 17 00:00:00 2001 From: Demetrio <15928886+0xDEMXN@users.noreply.github.com> Date: Thu, 18 May 2023 13:06:21 +0200 Subject: [PATCH 26/50] feat(client/imports): getNearbyPeds (#328) --- imports/getNearbyPeds/client.lua | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 imports/getNearbyPeds/client.lua diff --git a/imports/getNearbyPeds/client.lua b/imports/getNearbyPeds/client.lua new file mode 100644 index 000000000..c723f20de --- /dev/null +++ b/imports/getNearbyPeds/client.lua @@ -0,0 +1,30 @@ +---@param coords vector3 The coords to check from. +---@param maxDistance number The max distance to check. +---@return table peds +function lib.getNearbyPeds(coords, maxDistance) + local peds = GetGamePool('CPed') + local nearby = {} + local count = 0 + maxDistance = maxDistance or 2.0 + + for i = 1, #peds do + local ped = peds[i] + + if not NetworkGetPlayerIndexFromPed(ped) then + local pedCoords = GetEntityCoords(playerPed) + local distance = #(coords - pedCoords) + + if distance < maxDistance then + count += 1 + nearby[count] = { + ped = ped, + coords = pedCoords, + } + end + end + end + + return nearby +end + +return lib.getNearbyPeds From ebd97f08ea6e772647f7e08d37177240274c5bb6 Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Thu, 18 May 2023 21:10:20 +1000 Subject: [PATCH 27/50] feat(client/imports): getClosestPed --- imports/getClosestPed/client.lua | 28 ++++++++++++++++++++++++++++ imports/getNearbyPeds/client.lua | 4 ++-- 2 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 imports/getClosestPed/client.lua diff --git a/imports/getClosestPed/client.lua b/imports/getClosestPed/client.lua new file mode 100644 index 000000000..850f5f317 --- /dev/null +++ b/imports/getClosestPed/client.lua @@ -0,0 +1,28 @@ +---@param coords vector3 The coords to check from. +---@param maxDistance number The max distance to check. +---@return number? ped +---@return vector3? pedCoords +function lib.getClosestPed(coords, maxDistance) + local peds = GetGamePool('CPed') + local closestPed, closestCoords + maxDistance = maxDistance or 2.0 + + for i = 1, #peds do + local ped = peds[i] + + if not IsPedAPlayer(ped) then + local pedCoords = GetEntityCoords(ped) + local distance = #(coords - pedCoords) + + if distance < maxDistance then + maxDistance = distance + closestObject = ped + closestCoords = pedCoords + end + end + end + + return closestPed, closestCoords +end + +return lib.getClosestObject diff --git a/imports/getNearbyPeds/client.lua b/imports/getNearbyPeds/client.lua index c723f20de..7c296f7f6 100644 --- a/imports/getNearbyPeds/client.lua +++ b/imports/getNearbyPeds/client.lua @@ -10,8 +10,8 @@ function lib.getNearbyPeds(coords, maxDistance) for i = 1, #peds do local ped = peds[i] - if not NetworkGetPlayerIndexFromPed(ped) then - local pedCoords = GetEntityCoords(playerPed) + if not IsPedAPlayer(ped) then + local pedCoords = GetEntityCoords(ped) local distance = #(coords - pedCoords) if distance < maxDistance then From d68e5449191b24da617da2e38e90ea43ba50ae86 Mon Sep 17 00:00:00 2001 From: Manifest Bumper <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 18 May 2023 11:19:45 +0000 Subject: [PATCH 28/50] chore: bump manifest version to v3.4.0 --- fxmanifest.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fxmanifest.lua b/fxmanifest.lua index f0c882fc8..ce4848be6 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -8,7 +8,7 @@ rdr3_warning 'I acknowledge that this is a prerelease build of RedM, and I am aw --[[ Resource Information ]]-- name 'ox_lib' author 'Overextended' -version '3.3.0' +version '3.4.0' license 'LGPL-3.0-or-later' repository 'https://github.com/overextended/ox_lib' description 'A library of shared functions to utilise in other resources.' From ca991bfeab9235dc459417a0c121eca919ca35cd Mon Sep 17 00:00:00 2001 From: Demetrio <15928886+0xDEMXN@users.noreply.github.com> Date: Thu, 18 May 2023 13:35:06 +0200 Subject: [PATCH 29/50] fix(client/imports): correct return value for getClosestPed (#334) --- imports/getClosestPed/client.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/imports/getClosestPed/client.lua b/imports/getClosestPed/client.lua index 850f5f317..bbde2e9fb 100644 --- a/imports/getClosestPed/client.lua +++ b/imports/getClosestPed/client.lua @@ -25,4 +25,4 @@ function lib.getClosestPed(coords, maxDistance) return closestPed, closestCoords end -return lib.getClosestObject +return lib.getClosestPed From 06e8f66bcb7fb3bb25c5dc966532a8e4c088cbd2 Mon Sep 17 00:00:00 2001 From: Luke <39926192+LukeWasTakenn@users.noreply.github.com> Date: Thu, 18 May 2023 13:34:44 +0200 Subject: [PATCH 30/50] ci(release): install package deps --- .github/workflows/release.yml | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 38c0836ec..c836b8d2e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,7 +3,7 @@ name: Release on: push: tags: - - "v*.*.*" + - 'v*.*.*' jobs: create-release: @@ -27,8 +27,8 @@ jobs: uses: actions/setup-node@v2 with: node-version: 16.x - cache: "pnpm" - cache-dependency-path: "web/pnpm-lock.yaml" + cache: 'pnpm' + cache-dependency-path: 'web/pnpm-lock.yaml' - name: Set env run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV @@ -36,7 +36,11 @@ jobs: - name: Install dependencies run: pnpm install working-directory: web - + + - name: Install package dependencies + run: pnpm install + working-directory: package + - name: Bump package version run: pnpm version ${{ github.ref_name }} working-directory: package @@ -59,7 +63,7 @@ jobs: push: true author_name: Manifest Bumper author_email: 41898282+github-actions[bot]@users.noreply.github.com - message: "chore: bump manifest version to ${{ github.ref_name }}" + message: 'chore: bump manifest version to ${{ github.ref_name }}' - name: Update tag ref uses: EndBug/latest-tag@latest @@ -76,10 +80,10 @@ jobs: cd ./temp && zip -r ../ox_lib.zip ./ox_lib - name: Create Release - uses: "marvinpinto/action-automatic-releases@v1.2.1" + uses: 'marvinpinto/action-automatic-releases@v1.2.1' id: auto_release with: - repo_token: "${{ secrets.GITHUB_TOKEN }}" + repo_token: '${{ secrets.GITHUB_TOKEN }}' title: ${{ env.RELEASE_VERSION }} prerelease: false files: ox_lib.zip @@ -93,4 +97,4 @@ jobs: with: token: ${{ secrets.NPM_TOKEN }} package: './package/package.json' - access: 'public' \ No newline at end of file + access: 'public' From 21c835b78d88dd7dd9fa6d035bf68390ff750d16 Mon Sep 17 00:00:00 2001 From: Manifest Bumper <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 18 May 2023 11:36:43 +0000 Subject: [PATCH 31/50] chore: bump manifest version to v3.4.1 --- fxmanifest.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fxmanifest.lua b/fxmanifest.lua index ce4848be6..3c8eef939 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -8,7 +8,7 @@ rdr3_warning 'I acknowledge that this is a prerelease build of RedM, and I am aw --[[ Resource Information ]]-- name 'ox_lib' author 'Overextended' -version '3.4.0' +version '3.4.1' license 'LGPL-3.0-or-later' repository 'https://github.com/overextended/ox_lib' description 'A library of shared functions to utilise in other resources.' From dbfb0227aaad97ee0348fa9cab22c01d35c05c29 Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Fri, 19 May 2023 21:41:58 +1000 Subject: [PATCH 32/50] refactor(cleint/textui): cancel showTextUI if text is unchanged Because people continue to excessively call it in a loop. --- resource/interface/client/textui.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/resource/interface/client/textui.lua b/resource/interface/client/textui.lua index 6095e43ca..9f86e440e 100644 --- a/resource/interface/client/textui.lua +++ b/resource/interface/client/textui.lua @@ -5,16 +5,23 @@ ---@field style? string | table; local isOpen = false +local currentText ---@param text string ---@param options? TextUIOptions function lib.showTextUI(text, options) + if currentText == text then return end + if not options then options = {} end + options.text = text + currentText = text + SendNUIMessage({ action = 'textUi', data = options }) + isOpen = true end @@ -22,7 +29,9 @@ function lib.hideTextUI() SendNUIMessage({ action = 'textUiHide' }) + isOpen = false + currentText = nil end ---@return boolean From c0ee1ae2f8a2c891597befabaa8170b60c59aa25 Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Mon, 22 May 2023 03:27:47 +1000 Subject: [PATCH 33/50] fix(client/vehicleProperties): SetVehicleExtra takes bool --- resource/vehicleProperties/client.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resource/vehicleProperties/client.lua b/resource/vehicleProperties/client.lua index 8e7e86cbc..dbd9bdda6 100644 --- a/resource/vehicleProperties/client.lua +++ b/resource/vehicleProperties/client.lua @@ -349,8 +349,8 @@ function lib.setVehicleProperties(vehicle, props) end if props.extras then - for id, state in pairs(props.extras) do - SetVehicleExtra(vehicle, id, state) + for id, disable in pairs(props.extras) do + SetVehicleExtra(vehicle, id, disable == 1) end end From 3bc9c3206d8daae697d8c4d65b9885c728a29eb0 Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Mon, 22 May 2023 03:34:21 +1000 Subject: [PATCH 34/50] fix(client/vehicleProperties): missing tyres --- resource/vehicleProperties/client.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resource/vehicleProperties/client.lua b/resource/vehicleProperties/client.lua index dbd9bdda6..b68b71e1d 100644 --- a/resource/vehicleProperties/client.lua +++ b/resource/vehicleProperties/client.lua @@ -147,7 +147,7 @@ function lib.getVehicleProperties(vehicle) end end - for i = 0, 5 do + for i = 0, 7 do if IsVehicleTyreBurst(vehicle, i, false) then damage.tyres[i] = IsVehicleTyreBurst(vehicle, i, true) and 2 or 1 end From b4edc5bac6a214c14c8376d53ce2f57c9215a286 Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Mon, 22 May 2023 03:38:36 +1000 Subject: [PATCH 35/50] feat(client/vehicleProperties): support extra props Add modKit and bulletProofTyres. --- .../client/resource/vehicleProperties/index.ts | 2 ++ resource/vehicleProperties/client.lua | 17 +++++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/package/client/resource/vehicleProperties/index.ts b/package/client/resource/vehicleProperties/index.ts index 2d646aa5d..27ac9c160 100644 --- a/package/client/resource/vehicleProperties/index.ts +++ b/package/client/resource/vehicleProperties/index.ts @@ -23,6 +23,7 @@ interface VehicleProperties { neonColor: [number, number, number]; extras: boolean[]; tyreSmokeColor: [number, number, number]; + modKit: number; modSpoilers: number; modFrontBumper: number; modRearBumper: number; @@ -83,6 +84,7 @@ interface VehicleProperties { rightHeadlight: boolean; frontBumper: boolean; rearBumper: boolean; + bulletProofTyres: boolean; } export const getVehicleProperties = (vehicle: number): VehicleProperties => diff --git a/resource/vehicleProperties/client.lua b/resource/vehicleProperties/client.lua index b68b71e1d..d3cce676f 100644 --- a/resource/vehicleProperties/client.lua +++ b/resource/vehicleProperties/client.lua @@ -25,6 +25,7 @@ if cache.game == 'redm' then return end ---@field neonColor? number | number[] ---@field extras? boolean[] ---@field tyreSmokeColor? number | number[] +---@field modKit number ---@field modSpoilers? number ---@field modFrontBumper? number ---@field modRearBumper? number @@ -81,6 +82,7 @@ if cache.game == 'redm' then return end ---@field windows? number[] ---@field doors? number[] ---@field tyres? number[] +---@field bulletProofTyres? boolean RegisterNetEvent('ox_lib:setVehicleProperties', function(netid, data) local timeout = 100 @@ -160,6 +162,7 @@ function lib.getVehicleProperties(vehicle) end return { + modKit = GetVehicleModKit(vehicle), model = GetEntityModel(vehicle), plate = GetVehicleNumberPlateText(vehicle), plateIndex = GetVehicleNumberPlateTextIndex(vehicle), @@ -240,6 +243,7 @@ function lib.getVehicleProperties(vehicle) windows = damage.windows, doors = damage.doors, tyres = damage.tyres, + bulletProofTyres = GetVehicleTyresCanBurst(vehicle), -- no setters? -- leftHeadlight = GetIsLeftVehicleHeadlightDamaged(vehicle), -- rightHeadlight = GetIsRightVehicleHeadlightDamaged(vehicle), @@ -256,6 +260,7 @@ function lib.setVehicleProperties(vehicle, props) if not DoesEntityExist(vehicle) then error(("Unable to set vehicle properties for '%s' (entity does not exist)"): format(vehicle)) end + if NetworkGetEntityIsNetworked(vehicle) and NetworkGetEntityOwner(vehicle) ~= cache.playerId then error(( "Unable to set vehicle properties for '%s' (client is not entity owner)"):format(vehicle)) end @@ -263,7 +268,7 @@ function lib.setVehicleProperties(vehicle, props) local colorPrimary, colorSecondary = GetVehicleColours(vehicle) local pearlescentColor, wheelColor = GetVehicleExtraColours(vehicle) - SetVehicleModKit(vehicle, 0) + SetVehicleModKit(vehicle, props.modKit or 0) SetVehicleAutoRepairDisabled(vehicle, true) if props.plate then @@ -368,11 +373,7 @@ function lib.setVehicleProperties(vehicle, props) if props.tyres then for tyre, state in pairs(props.tyres) do - if state == 1 then - SetVehicleTyreBurst(vehicle, tyre, false, 1000.0) - else - SetVehicleTyreBurst(vehicle, tyre, true, 1000.0) - end + SetVehicleTyreBurst(vehicle, tyre, state == 2, 1000.0) end end @@ -593,5 +594,9 @@ function lib.setVehicleProperties(vehicle, props) SetVehicleMod(vehicle, 49, props.modLightbar, false) end + if props.bulletProofTyres ~= nil then + SetVehicleTyresCanBurst(vehicle, props.bulletProofTyres) + end + return true end From 4e4b5bd570d5880de08fc814e708b5be6ba9ccdb Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Mon, 22 May 2023 04:55:31 +1000 Subject: [PATCH 36/50] fix(client/vehicleProperties): tonumber for extras and tyres Sparse arrays sometimes json.decode with string keys, i.e. `{[5] = 1, [10] = 1}` becomes `[null,null,null,null,1,null,null,null,null,1]` `{[10] = 1, [11] = 1}` becomes `{"10":1,"11":1}` --- package/client/resource/vehicleProperties/index.ts | 4 ++-- resource/vehicleProperties/client.lua | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package/client/resource/vehicleProperties/index.ts b/package/client/resource/vehicleProperties/index.ts index 27ac9c160..4b6fe5b0a 100644 --- a/package/client/resource/vehicleProperties/index.ts +++ b/package/client/resource/vehicleProperties/index.ts @@ -21,7 +21,7 @@ interface VehicleProperties { xenonColor: number; neonEnabled: boolean[]; neonColor: [number, number, number]; - extras: boolean[]; + extras: Record; tyreSmokeColor: [number, number, number]; modKit: number; modSpoilers: number; @@ -79,7 +79,7 @@ interface VehicleProperties { modLightbar: number; windows: number[]; doors: number[]; - tyres: number[]; + tyres: Record leftHeadlight: boolean; rightHeadlight: boolean; frontBumper: boolean; diff --git a/resource/vehicleProperties/client.lua b/resource/vehicleProperties/client.lua index d3cce676f..ade5a8d93 100644 --- a/resource/vehicleProperties/client.lua +++ b/resource/vehicleProperties/client.lua @@ -23,7 +23,7 @@ if cache.game == 'redm' then return end ---@field xenonColor? number ---@field neonEnabled? boolean[] ---@field neonColor? number | number[] ----@field extras? boolean[] +---@field extras? table ---@field tyreSmokeColor? number | number[] ---@field modKit number ---@field modSpoilers? number @@ -81,7 +81,7 @@ if cache.game == 'redm' then return end ---@field modLightbar? number ---@field windows? number[] ---@field doors? number[] ----@field tyres? number[] +---@field tyres? table ---@field bulletProofTyres? boolean RegisterNetEvent('ox_lib:setVehicleProperties', function(netid, data) @@ -355,7 +355,7 @@ function lib.setVehicleProperties(vehicle, props) if props.extras then for id, disable in pairs(props.extras) do - SetVehicleExtra(vehicle, id, disable == 1) + SetVehicleExtra(vehicle, tonumber(id) --[[@as number]], disable == 1) end end @@ -373,7 +373,7 @@ function lib.setVehicleProperties(vehicle, props) if props.tyres then for tyre, state in pairs(props.tyres) do - SetVehicleTyreBurst(vehicle, tyre, state == 2, 1000.0) + SetVehicleTyreBurst(vehicle, tonumber(tyre) --[[@as number]], state == 2, 1000.0) end end From 1ba5787ffd7e5b44f3120321ecdb5c5780f3cd51 Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Mon, 22 May 2023 06:47:57 +1000 Subject: [PATCH 37/50] feat(imports): extended math lib --- imports/math/shared.lua | 93 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 imports/math/shared.lua diff --git a/imports/math/shared.lua b/imports/math/shared.lua new file mode 100644 index 000000000..ace7896f4 --- /dev/null +++ b/imports/math/shared.lua @@ -0,0 +1,93 @@ +---@class oxmath : mathlib +lib.math = math + +local function parseNumber(input, min, max, round) + local n = tonumber(input) + + if not n then + error(("value cannot be converted into a number (received %s)"):format(input), 3) + end + + n = round and math.floor(n + 0.5) or n + + if min and n < min then + error(("value does not meet minimum value of '%s' (received %s)"):format(min, n), 3) + end + + if max and n > max then + error(("value exceeds maximum value of '%s' (received %s)"):format(max, n), 3) + end + + return n +end + +---Takes a string and returns a set of scalar values. +---@param input string +---@param min? number +---@param max? number +---@param round? boolean +---@return number? ... +function math.toscalars(input, min, max, round) + local arr = {} + local i = 0 + + for s in string.gmatch(input:gsub('[%w]+%w?%(', ''), '(-?[%w.%w]+)') do + local n = parseNumber(s, min, max, round) + + i += 1 + arr[i] = n + end + + return table.unpack(arr) +end + +---Tries to convert its argument to a vector. +---@param input string | table +---@param min? number +---@param max? number +---@param round? boolean +---@return number | vector2 | vector3 | vector4 +function math.tovector(input, min, max, round) + local inputType = type(input) + + if inputType == 'string' then + ---@diagnostic disable-next-line: param-type-mismatch + return vector(math.toscalars(input, min, max, round)) + end + + if inputType == 'table' then + for _, v in pairs(input) do + parseNumber(v, min, max, round) + end + + if table.type(input) == 'array' then + return vector(table.unpack(input)) + end + + -- vector doesn't accept literal nils + return input.w and vector4(input.x, input.y, input.z, input.w) + or input.z and vector3(input.x, input.y, input.z) + or input.y and vector2(input.x, input.y) + or input.x + 0.0 + end + + error(('cannot convert %s to a vector value'):format(inputType), 2) +end + +---Tries to convert its argument to a vector. +---@param input string | table +---@return number | vector2 | vector3 | vector4 +function math.torgba(input) + return math.tovector(input, 0, 255, true) +end + +---Formats a number as a hexadecimal string. +---@param n number | string +---@param upper? boolean +---@return string +function math.tohex(n, upper) + n = ('0x%x'):format(n) + return upper and n:upper() or n +end + +return lib.math From 4953eacf059d93ef90559c5a157ec7bfc8f01ad6 Mon Sep 17 00:00:00 2001 From: Nuga <93000491+nuga-dev@users.noreply.github.com> Date: Mon, 22 May 2023 00:01:03 +0300 Subject: [PATCH 38/50] chore(locales): update et.json (#335) --- locales/et.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/locales/et.json b/locales/et.json index 44cd582cc..25aab931d 100644 --- a/locales/et.json +++ b/locales/et.json @@ -6,9 +6,9 @@ "confirm": "Kinnita", "more": "Rohkem..." }, - "txadmin_announcement": "Server announcement by %s", - "txadmin_dm": "Direct Message from %s", - "txadmin_warn": "You have been warned by %s", - "txadmin_warn_content": "%s \nAction ID: %s", - "txadmin_scheduledrestart": "Scheduled Restart" + "txadmin_announcement": "Serveri teadaanne kasutajalt %s", + "txadmin_dm": "Sulle saadeti sõnum kasutajalt %s", + "txadmin_warn": "Sind hoiatati kasutaja %s poolt", + "txadmin_warn_content": "%s \nTegevuse ID: %s", + "txadmin_scheduledrestart": "Planeeritud taaskäivitus" } From 9efcde03510fab0938f9a24d24a7e50386989238 Mon Sep 17 00:00:00 2001 From: Manifest Bumper <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 21 May 2023 21:02:45 +0000 Subject: [PATCH 39/50] chore: bump manifest version to v3.5.0 --- fxmanifest.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fxmanifest.lua b/fxmanifest.lua index 3c8eef939..f61f84492 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -8,7 +8,7 @@ rdr3_warning 'I acknowledge that this is a prerelease build of RedM, and I am aw --[[ Resource Information ]]-- name 'ox_lib' author 'Overextended' -version '3.4.1' +version '3.5.0' license 'LGPL-3.0-or-later' repository 'https://github.com/overextended/ox_lib' description 'A library of shared functions to utilise in other resources.' From a8ab102bae62c6ede206705ca675b41507d3d61b Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Thu, 25 May 2023 14:56:15 +1000 Subject: [PATCH 40/50] refactor(imports/streaming): use coroutine.isyieldable --- imports/requestAnimDict/client.lua | 2 +- imports/requestAnimSet/client.lua | 2 +- imports/requestModel/client.lua | 2 +- imports/requestNamedPtfxAsset/client.lua | 2 +- imports/requestScaleformMovie/client.lua | 4 ++-- imports/requestStreamedTextureDict/client.lua | 2 +- imports/requestWeaponAsset/client.lua | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/imports/requestAnimDict/client.lua b/imports/requestAnimDict/client.lua index a58f5b4bb..5b6d1d5be 100644 --- a/imports/requestAnimDict/client.lua +++ b/imports/requestAnimDict/client.lua @@ -15,7 +15,7 @@ function lib.requestAnimDict(animDict, timeout) RequestAnimDict(animDict) - if coroutine.running() then + if coroutine.isyieldable() then timeout = tonumber(timeout) or 500 for _ = 1, timeout do diff --git a/imports/requestAnimSet/client.lua b/imports/requestAnimSet/client.lua index 5f54a7229..bb7c884e7 100644 --- a/imports/requestAnimSet/client.lua +++ b/imports/requestAnimSet/client.lua @@ -11,7 +11,7 @@ function lib.requestAnimSet(animSet, timeout) RequestAnimSet(animSet) - if coroutine.running() then + if coroutine.isyieldable() then timeout = tonumber(timeout) or 500 for _ = 1, timeout do diff --git a/imports/requestModel/client.lua b/imports/requestModel/client.lua index 88b5677f5..bdb564e59 100644 --- a/imports/requestModel/client.lua +++ b/imports/requestModel/client.lua @@ -13,7 +13,7 @@ function lib.requestModel(model, timeout) RequestModel(model) - if coroutine.running() then + if coroutine.isyieldable() then timeout = tonumber(timeout) or 500 for _ = 1, timeout do diff --git a/imports/requestNamedPtfxAsset/client.lua b/imports/requestNamedPtfxAsset/client.lua index 0fe9dc1cb..8b86ae162 100644 --- a/imports/requestNamedPtfxAsset/client.lua +++ b/imports/requestNamedPtfxAsset/client.lua @@ -11,7 +11,7 @@ function lib.requestNamedPtfxAsset(ptFxName, timeout) RequestNamedPtfxAsset(ptFxName) - if coroutine.running() then + if coroutine.isyieldable() then timeout = tonumber(timeout) or 500 for _ = 1, timeout do diff --git a/imports/requestScaleformMovie/client.lua b/imports/requestScaleformMovie/client.lua index 9a5afca0c..afebc78b2 100644 --- a/imports/requestScaleformMovie/client.lua +++ b/imports/requestScaleformMovie/client.lua @@ -11,7 +11,7 @@ function lib.requestScaleformMovie(scaleformName, timeout) if HasScaleformMovieLoaded(scaleform) then return scaleform end - if coroutine.running() then + if coroutine.isyieldable() then timeout = tonumber(timeout) or 500 for _ = 1, timeout do @@ -28,4 +28,4 @@ function lib.requestScaleformMovie(scaleformName, timeout) return scaleform end -return lib.requestScaleformMovie \ No newline at end of file +return lib.requestScaleformMovie diff --git a/imports/requestStreamedTextureDict/client.lua b/imports/requestStreamedTextureDict/client.lua index 4b47505e1..6edad84f0 100644 --- a/imports/requestStreamedTextureDict/client.lua +++ b/imports/requestStreamedTextureDict/client.lua @@ -11,7 +11,7 @@ function lib.requestStreamedTextureDict(textureDict, timeout) RequestStreamedTextureDict(textureDict, false) - if coroutine.running() then + if coroutine.isyieldable() then timeout = tonumber(timeout) or 500 for _ = 1, timeout do diff --git a/imports/requestWeaponAsset/client.lua b/imports/requestWeaponAsset/client.lua index 8489a3958..ea2dc9f72 100644 --- a/imports/requestWeaponAsset/client.lua +++ b/imports/requestWeaponAsset/client.lua @@ -40,7 +40,7 @@ function lib.requestWeaponAsset(weaponType, timeout, weaponResourceFlags, extraW RequestWeaponAsset(weaponType, weaponResourceFlags or 31, extraWeaponComponentFlags or 0) - if coroutine.running() then + if coroutine.isyieldable() then timeout = tonumber(timeout) or 500 for _ = 1, timeout do From 467e7f51ac99df4e9284b1713d0ce2fdf57b10c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Can=20S=C3=B6nmez?= <60190086+GenerousImpersio@users.noreply.github.com> Date: Fri, 26 May 2023 02:04:30 +0300 Subject: [PATCH 41/50] fix(package/callback): await callback response (#340) --- package/client/resource/callback/index.ts | 4 ++-- package/server/resource/callback/index.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package/client/resource/callback/index.ts b/package/client/resource/callback/index.ts index 9b18b4296..c1697f074 100644 --- a/package/client/resource/callback/index.ts +++ b/package/client/resource/callback/index.ts @@ -42,11 +42,11 @@ export function triggerServerCallback( } export function onServerCallback(eventName: string, cb: (...args) => any) { - onNet(`__ox_cb_${eventName}`, (resource: string, key: string, ...args) => { + onNet(`__ox_cb_${eventName}`, async (resource: string, key: string, ...args) => { let response: any; try { - response = cb(...args); + response = await cb(...args); } catch (e: any) { console.error(`an error occurred while handling callback event ${eventName}`); console.log(`^3${e.stack}^0`); diff --git a/package/server/resource/callback/index.ts b/package/server/resource/callback/index.ts index d1e9a6c26..321bd7ad4 100644 --- a/package/server/resource/callback/index.ts +++ b/package/server/resource/callback/index.ts @@ -26,12 +26,12 @@ export function triggerClientCallback( } export function onClientCallback(eventName: string, cb: (playerId: number, ...args) => any) { - onNet(`__ox_cb_${eventName}`, (resource: string, key: string, ...args) => { + onNet(`__ox_cb_${eventName}`, async (resource: string, key: string, ...args) => { const src = source; let response: any; try { - response = cb(src, ...args); + response = await cb(src, ...args); } catch (e: any) { console.error(`an error occurred while handling callback event ${eventName}`); console.log(`^3${e.stack}^0`); From 4fed5dc38d6abfc6cfcf45cb4ff10af8c66e59c4 Mon Sep 17 00:00:00 2001 From: mikigoalie Date: Fri, 26 May 2023 01:06:28 +0200 Subject: [PATCH 42/50] feat(imports/math): groupdigits (#338) --- imports/math/shared.lua | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/imports/math/shared.lua b/imports/math/shared.lua index ace7896f4..e4782f1c9 100644 --- a/imports/math/shared.lua +++ b/imports/math/shared.lua @@ -90,4 +90,13 @@ function math.tohex(n, upper) return upper and n:upper() or n end -return lib.math +---Converts input number into grouped digits +---@param number number +---@param seperator? string +---@return string +function math.groupdigits(number, seperator) -- credit http://richard.warburton.it + local left,num,right = string.match(number,'^([^%d]*%d)(%d*)(.-)$') + return left..(num:reverse():gsub('(%d%d%d)','%1' .. (seperator or ',')):reverse())..right +end + +return lib.math \ No newline at end of file From 6cf53ddd68978cf037970d0645d83cec7caed93f Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Sun, 28 May 2023 15:02:54 +1000 Subject: [PATCH 43/50] fix(client/vehicleProperties): mods not applying --- package/client/resource/vehicleProperties/index.ts | 1 - resource/vehicleProperties/client.lua | 4 +--- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/package/client/resource/vehicleProperties/index.ts b/package/client/resource/vehicleProperties/index.ts index 4b6fe5b0a..3209564ae 100644 --- a/package/client/resource/vehicleProperties/index.ts +++ b/package/client/resource/vehicleProperties/index.ts @@ -23,7 +23,6 @@ interface VehicleProperties { neonColor: [number, number, number]; extras: Record; tyreSmokeColor: [number, number, number]; - modKit: number; modSpoilers: number; modFrontBumper: number; modRearBumper: number; diff --git a/resource/vehicleProperties/client.lua b/resource/vehicleProperties/client.lua index ade5a8d93..f86fc299a 100644 --- a/resource/vehicleProperties/client.lua +++ b/resource/vehicleProperties/client.lua @@ -25,7 +25,6 @@ if cache.game == 'redm' then return end ---@field neonColor? number | number[] ---@field extras? table ---@field tyreSmokeColor? number | number[] ----@field modKit number ---@field modSpoilers? number ---@field modFrontBumper? number ---@field modRearBumper? number @@ -162,7 +161,6 @@ function lib.getVehicleProperties(vehicle) end return { - modKit = GetVehicleModKit(vehicle), model = GetEntityModel(vehicle), plate = GetVehicleNumberPlateText(vehicle), plateIndex = GetVehicleNumberPlateTextIndex(vehicle), @@ -268,7 +266,7 @@ function lib.setVehicleProperties(vehicle, props) local colorPrimary, colorSecondary = GetVehicleColours(vehicle) local pearlescentColor, wheelColor = GetVehicleExtraColours(vehicle) - SetVehicleModKit(vehicle, props.modKit or 0) + SetVehicleModKit(vehicle, 0) SetVehicleAutoRepairDisabled(vehicle, true) if props.plate then From 6486f995e1624ae08db89a178082daf6695ca5d7 Mon Sep 17 00:00:00 2001 From: daZepelin <63473480+daZepelin@users.noreply.github.com> Date: Sun, 28 May 2023 08:08:40 +0300 Subject: [PATCH 44/50] feat(server/cron): getAbsoluteNextTime (#319) --- imports/cron/server.lua | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/imports/cron/server.lua b/imports/cron/server.lua index 206a8a6a9..58902c231 100644 --- a/imports/cron/server.lua +++ b/imports/cron/server.lua @@ -116,6 +116,44 @@ function OxTask:getNextTime() }) end +-- Get timestamp for next time to run task at any day. +---@return number +function OxTask:getAbsoluteNextTime() + local minute = getTimeUnit(self.minute, 'min') + + local hour = getTimeUnit(self.hour, 'hour') + + local day = getTimeUnit(self.day, 'day') + + -- To avoid modifying getTimeUnit function, the day is adjusted here if needed. + if self.day then + if currentDate.hour < hour or (currentDate.hour == hour and currentDate.min < minute) then + day = day - 1 + end + else + if currentDate.hour > hour or (currentDate.hour == hour and currentDate.min >= minute) then + day = day + 1 + end + end + + local month = getTimeUnit(self.month, 'month') + + local year = getTimeUnit(self.year, 'year') + + -- Check if time will be in next year. + if os.time({year=year, month=month, day=day, hour=hour, min=minute}) < os.time() then + year = year and year + 1 or currentDate.year + 1 + end + + return os.time({ + min = minute < 60 and minute or 0, + hour = hour < 24 and hour or 0, + day = day or currentDate.day, + month = month or currentDate.month, + year = year or currentDate.year, + }) +end + ---@type OxTask[] local tasks = {} From 26065fe2fcd22abf20356e8b4c3346b8fa576809 Mon Sep 17 00:00:00 2001 From: Jerry <92690997+TomStilson@users.noreply.github.com> Date: Sun, 28 May 2023 13:08:56 +0800 Subject: [PATCH 45/50] chore(locales): update zh-cn.json and zh-tw.json (#337) --- locales/zh-cn.json | 12 ++++++------ locales/zh-tw.json | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/locales/zh-cn.json b/locales/zh-cn.json index 27acbd826..2415b2013 100644 --- a/locales/zh-cn.json +++ b/locales/zh-cn.json @@ -4,11 +4,11 @@ "cancel": "取消", "close": "关闭", "confirm": "确认", - "more": "More..." + "more": "更多..." }, - "txadmin_announcement": "Server announcement by %s", - "txadmin_dm": "Direct Message from %s", - "txadmin_warn": "You have been warned by %s", - "txadmin_warn_content": "%s \nAction ID: %s", - "txadmin_scheduledrestart": "Scheduled Restart" + "txadmin_announcement": "来自 %s 的服务器通告", + "txadmin_dm": "来自 %s 的信息", + "txadmin_warn": "您被 %s 警告了", + "txadmin_warn_content": "%s \n操作 ID: %s", + "txadmin_scheduledrestart": "计划内重启" } diff --git a/locales/zh-tw.json b/locales/zh-tw.json index 2eb767f88..65b74ea75 100644 --- a/locales/zh-tw.json +++ b/locales/zh-tw.json @@ -4,11 +4,11 @@ "cancel": "取消", "close": "關閉", "confirm": "確認", - "more": "More..." + "more": "更多..." }, - "txadmin_announcement": "Server announcement by %s", - "txadmin_dm": "Direct Message from %s", - "txadmin_warn": "You have been warned by %s", - "txadmin_warn_content": "%s \nAction ID: %s", - "txadmin_scheduledrestart": "Scheduled Restart" + "txadmin_announcement": "來自 %s 的伺服器通告", + "txadmin_dm": "來自 %s 的訊息", + "txadmin_warn": "您被 %s 警告了", + "txadmin_warn_content": "%s \n操作 ID: %s", + "txadmin_scheduledrestart": "計劃內重啟" } From 8ec19cf26332a59541fea0444663c765d4c1249a Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Sun, 28 May 2023 15:14:52 +1000 Subject: [PATCH 46/50] feat(imports/table): readonly tables --- imports/table/shared.lua | 51 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 5 deletions(-) diff --git a/imports/table/shared.lua b/imports/table/shared.lua index 4bbe00acf..86598e3db 100644 --- a/imports/table/shared.lua +++ b/imports/table/shared.lua @@ -89,11 +89,52 @@ local function table_merge(t1, t2) return t1 end -lib.table.contains = contains -lib.table.matches = table_matches -lib.table.deepclone = table_deepclone -lib.table.merge = table_merge +table.contains = contains +table.matches = table_matches +table.deepclone = table_deepclone +table.merge = table_merge + +local frozenNewIndex = function(self) error(('cannot set values on a frozen table (%s)'):format(self), 2) end +local _rawset = rawset + +---@param tbl table +---@param index any +---@param value any +---@return table +function rawset(tbl, index, value) + if table.isfrozen(tbl) then + frozenNewIndex(tbl) + end + + return _rawset(tbl, index, value) +end + +---Makes a table read-only, preventing further modification. Unfrozen tables stored within `tbl` are still mutable. +---@generic T : table +---@param tbl T +---@return T +function table.freeze(tbl) + local copy = table.clone(tbl) + local metatbl = getmetatable(tbl) + + table.wipe(tbl) + setmetatable(tbl, { + __index = metatbl and setmetatable(copy, metatbl) or copy, + __metatable = 'readonly', + __newindex = frozenNewIndex, + __len = function() return #copy end, + __pairs = function() return next, copy end, + }) + + return tbl +end + +---Return true if `tbl` is set as read-only. +---@param tbl table +---@return boolean +function table.isfrozen(tbl) + return getmetatable(tbl) == 'readonly' +end -table = lib.table return lib.table From 1bf366c1e957aa9026b87e21f30ba821883e616f Mon Sep 17 00:00:00 2001 From: Manifest Bumper <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 28 May 2023 05:16:17 +0000 Subject: [PATCH 47/50] chore: bump manifest version to v3.6.0 --- fxmanifest.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fxmanifest.lua b/fxmanifest.lua index f61f84492..456beb281 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -8,7 +8,7 @@ rdr3_warning 'I acknowledge that this is a prerelease build of RedM, and I am aw --[[ Resource Information ]]-- name 'ox_lib' author 'Overextended' -version '3.5.0' +version '3.6.0' license 'LGPL-3.0-or-later' repository 'https://github.com/overextended/ox_lib' description 'A library of shared functions to utilise in other resources.' From cfb75b2d23dec1a26a7195e53efd055f3356e379 Mon Sep 17 00:00:00 2001 From: EP Date: Tue, 30 May 2023 00:28:57 +0300 Subject: [PATCH 48/50] chore(locales): Finnish locales (#342) --- locales/fi.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 locales/fi.json diff --git a/locales/fi.json b/locales/fi.json new file mode 100644 index 000000000..23c937ad5 --- /dev/null +++ b/locales/fi.json @@ -0,0 +1,14 @@ +{ + "language": "Suomi", + "ui": { + "cancel": "Peruuta", + "close": "Sulje", + "confirm": "Vahvista", + "more": "Lisää..." + }, + "txadmin_announcement": "Ilmoitus palvelimen ylläpitäjältä %s", + "txadmin_dm": "Sait viestin henkilöltä %s", + "txadmin_warn": "Sinua on varoitettu henkilön %s toimesta", + "txadmin_warn_content": "%s \nTunniste: %s", + "txadmin_scheduledrestart": "Ajoitettu uudelleenkäynnistyminen" +} From bc4a342bb13e525008e6be07edbad4052159cb47 Mon Sep 17 00:00:00 2001 From: Luke <39926192+LukeWasTakenn@users.noreply.github.com> Date: Sun, 11 Jun 2023 10:29:42 +0200 Subject: [PATCH 49/50] chore(web): update lockfile version --- .github/workflows/release.yml | 2 +- web/pnpm-lock.yaml | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c836b8d2e..d07eb70ed 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: - uses: pnpm/action-setup@v2.0.1 with: - version: 8.3.1 + version: 8.6.1 - name: Setup node uses: actions/setup-node@v2 diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 70ff669c4..9821ff0c8 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -1,4 +1,8 @@ -lockfileVersion: '6.0' +lockfileVersion: '6.1' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false patchedDependencies: react-hot-toast@2.4.0: From 7816ce7a33d18e8c58e96031bc3965e51cecb38d Mon Sep 17 00:00:00 2001 From: Luke <39926192+LukeWasTakenn@users.noreply.github.com> Date: Sun, 11 Jun 2023 10:29:59 +0200 Subject: [PATCH 50/50] fix(web): cap list menu width for long labeled items resolves #350 --- web/src/features/menu/list/index.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/web/src/features/menu/list/index.tsx b/web/src/features/menu/list/index.tsx index e062ea430..c724a64fb 100644 --- a/web/src/features/menu/list/index.tsx +++ b/web/src/features/menu/list/index.tsx @@ -28,6 +28,7 @@ const useStyles = createStyles((theme, params: { position?: MenuPosition; itemCo left: params.position === 'bottom-left' ? 1 : undefined, bottom: params.position === 'bottom-left' || params.position === 'bottom-right' ? 1 : undefined, fontFamily: 'Roboto', + width: 384 }, buttonsWrapper: { height: 'fit-content',