diff --git a/astro-i18next.config.ts b/astro-i18next.config.ts index 2b3e6b322..a118d1132 100644 --- a/astro-i18next.config.ts +++ b/astro-i18next.config.ts @@ -2,6 +2,6 @@ export default { defaultLocale: "en", showDefaultLocale: true, - locales: ["en", "zh", "es"], + locales: ["en", "es"], load: ["server", "client"], } diff --git a/astro.config.ts b/astro.config.ts index 61447a66c..00e9a466b 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -1,6 +1,7 @@ import { defineConfig } from "astro/config" import preact from "@astrojs/preact" import react from "@astrojs/react" +import svgr from "vite-plugin-svgr" import astroI18next from "astro-i18next" import { astroCallouts, asideAutoImport } from "./integrations/astro-callouts" import { solidityRemixCode, codeSampleAutoImport } from "./integrations/solidity-remix" @@ -32,6 +33,7 @@ export default defineConfig({ preact({ compat: true, }), + sitemap({ changefreq: "daily", }), @@ -47,6 +49,9 @@ export default defineConfig({ }), astroI18next(), ], + vite: { + plugins: [svgr()], + }, markdown: { drafts: true, remarkPlugins: [remarkMath, remarkGfm], diff --git a/integrations/utils/makeComponentNode.ts b/integrations/utils/makeComponentNode.ts index c624d909f..04b9b10d8 100644 --- a/integrations/utils/makeComponentNode.ts +++ b/integrations/utils/makeComponentNode.ts @@ -21,7 +21,7 @@ export function makeComponentNode( type: "mdxJsxFlowElement", name, attributes: Object.entries(attributes) - // Filter out non-truthy attributes to avoid empty attrs being parsed as `true`. + // Filter out non-truthy attributes to avoid empty attributes being parsed as `true`. .filter(([_k, v]) => v !== false && Boolean(v)) .map(([name, value]) => ({ type: "mdxJsxAttribute", diff --git a/package-lock.json b/package-lock.json index e1cc67b4f..199b0e142 100644 --- a/package-lock.json +++ b/package-lock.json @@ -34,12 +34,13 @@ "rehype-mermaidjs": "^1.0.1", "remark-gfm": "^3.0.1", "remark-math": "^5.1.1", + "squirrel-gill": "^1.0.5", "tailwindcss": "^3.2.4", "to-querystring": "^1.1.1", "turndown": "^7.1.2" }, "devDependencies": { - "@astrojs/mdx": "^0.11.6", + "@astrojs/mdx": "^0.19.7", "@astrojs/preact": "^1.2.0", "@astrojs/react": "^2.2.0", "@astrojs/sitemap": "^1.0.0", @@ -75,7 +76,8 @@ "solhint-plugin-prettier": "^0.0.5", "tsconfig-paths": "^4.1.0", "typescript": "^4.8.4", - "unist-util-remove": "^3.1.0" + "unist-util-remove": "^3.1.0", + "vite-plugin-svgr": "^4.2.0" } }, "node_modules/@algolia/cache-browser-local-storage": { @@ -405,52 +407,45 @@ "node": ">=16.12.0" } }, - "node_modules/@astrojs/markdown-remark/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" - }, - "node_modules/@astrojs/markdown-remark/node_modules/shiki": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.2.tgz", - "integrity": "sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A==", - "dependencies": { - "ansi-sequence-parser": "^1.1.0", - "jsonc-parser": "^3.2.0", - "vscode-oniguruma": "^1.7.0", - "vscode-textmate": "^8.0.0" - } - }, - "node_modules/@astrojs/markdown-remark/node_modules/vscode-textmate": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", - "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==" - }, "node_modules/@astrojs/mdx": { - "version": "0.11.6", - "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-0.11.6.tgz", - "integrity": "sha512-MEi8CZuz4vXn74/jCb0CMOAKEqd6nsLrShYfE+ddb1//14CwuaVGbXN7V6/zGj8ZvBhFk/darBbNpJBmzfbI6A==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-0.19.7.tgz", + "integrity": "sha512-mfEbBD7oi8yBHhcJucEjnrquREkJ3os+jioURP8BR2B8tOV2rV2j8trvmLUgfS+P/+HevGObxCTjcRYxn6T7eg==", "dev": true, "dependencies": { - "@astrojs/prism": "^1.0.2", - "@mdx-js/mdx": "^2.1.2", - "@mdx-js/rollup": "^2.1.1", + "@astrojs/markdown-remark": "^2.2.1", + "@astrojs/prism": "^2.1.2", + "@mdx-js/mdx": "^2.3.0", "acorn": "^8.8.0", - "es-module-lexer": "^0.10.5", + "es-module-lexer": "^1.1.1", "estree-util-visit": "^1.2.0", "github-slugger": "^1.4.0", "gray-matter": "^4.0.3", + "hast-util-to-html": "^8.0.4", "kleur": "^4.1.4", "rehype-raw": "^6.1.1", "remark-frontmatter": "^4.0.1", "remark-gfm": "^3.0.1", "remark-smartypants": "^2.0.0", - "shiki": "^0.11.1", + "shiki": "^0.14.1", + "source-map": "^0.7.4", "unist-util-visit": "^4.1.0", "vfile": "^5.3.2" }, "engines": { - "node": "^14.18.0 || >=16.12.0" + "node": ">=16.12.0" + } + }, + "node_modules/@astrojs/mdx/node_modules/@astrojs/prism": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-2.1.2.tgz", + "integrity": "sha512-3antim1gb34689GHRQFJ88JEo93HuZKQBnmxDT5W/nxiNz1p/iRxnCTEhIbJhqMOTRbbo5h2ldm5qSxx+TMFQA==", + "dev": true, + "dependencies": { + "prismjs": "^1.28.0" + }, + "engines": { + "node": ">=16.12.0" } }, "node_modules/@astrojs/partytown": { @@ -2193,25 +2188,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/@mdx-js/rollup": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mdx-js/rollup/-/rollup-2.3.0.tgz", - "integrity": "sha512-wLvRfJS/M4UmdqTd+WoaySEE7q4BIejYf1xAHXYvtT1du/1Tl/z2450Gg2+Hu7fh05KwRRiehiTP9Yc/Dtn0fA==", - "dev": true, - "dependencies": { - "@mdx-js/mdx": "^2.0.0", - "@rollup/pluginutils": "^5.0.0", - "source-map": "^0.7.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "rollup": ">=2" - } - }, "node_modules/@metamask/eth-sig-util": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", @@ -2914,9 +2890,9 @@ } }, "node_modules/@rollup/pluginutils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", - "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.5.tgz", + "integrity": "sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==", "dev": true, "dependencies": { "@types/estree": "^1.0.0", @@ -2927,7 +2903,7 @@ "node": ">=14.0.0" }, "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "rollup": { @@ -3107,6 +3083,219 @@ "antlr4ts": "^0.5.0-alpha.4" } }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "dev": true, + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, "node_modules/@tsconfig/node10": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", @@ -3528,15 +3717,15 @@ "integrity": "sha512-udCxb8DvjcDKfk1WTBzDsxFbLgYxmQGKrE/ricoMqHRNjSlSUCcamVTA5lIQqzY10mY5qCY0QDwBfFEwhfoDPw==" }, "node_modules/@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", + "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==", "dev": true }, "node_modules/@types/estree-jsx": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.0.tgz", - "integrity": "sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.2.tgz", + "integrity": "sha512-GNBWlGBMjiiiL5TSkvPtOteuXsiVitw5MYGY1UYlrAq0SKyczsls6sCD7TZ8fsjRsvCVxml7EbyjJezPb3DrSA==", "dev": true, "dependencies": { "@types/estree": "*" @@ -3623,9 +3812,9 @@ } }, "node_modules/@types/mdx": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.5.tgz", - "integrity": "sha512-76CqzuD6Q7LC+AtbPqrvD9AqsN0k8bsYo2bM2J8pmNldP1aIPAbzUQ7QbobyXL4eLr1wK5x8FZFe8eF/ubRuBg==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.9.tgz", + "integrity": "sha512-OKMdj17y8Cs+k1r0XFyp59ChSOwf8ODGtMQ4mnpfz5eFDk1aO41yN3pSKGuvVzmWAkFp37seubY1tzOVpwfWwg==", "dev": true }, "node_modules/@types/minimatch": { @@ -4598,9 +4787,9 @@ } }, "node_modules/astring": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.5.tgz", - "integrity": "sha512-TuBbdn7jWVzf8dmFGTaRpW8qgANtWLi1qJLnkfGO5uVf6jf9f/F4B1H35tnOI+qVYZo3p3i8WZlbZOuPAE0wEA==", + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", + "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", "dev": true, "bin": { "astring": "bin/astring" @@ -4726,11 +4915,6 @@ "astro": ">=1.0.0" } }, - "node_modules/astro/node_modules/es-module-lexer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", - "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==" - }, "node_modules/astro/node_modules/estree-walker": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.0.tgz", @@ -4741,11 +4925,6 @@ "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" }, - "node_modules/astro/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" - }, "node_modules/astro/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -4782,22 +4961,6 @@ "node": ">=10" } }, - "node_modules/astro/node_modules/shiki": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.2.tgz", - "integrity": "sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A==", - "dependencies": { - "ansi-sequence-parser": "^1.1.0", - "jsonc-parser": "^3.2.0", - "vscode-oniguruma": "^1.7.0", - "vscode-textmate": "^8.0.0" - } - }, - "node_modules/astro/node_modules/vscode-textmate": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", - "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==" - }, "node_modules/astro/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -7097,6 +7260,22 @@ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.5.tgz", "integrity": "sha512-F9e6wPGtY+8KNMRAVfxeCOHU0/NPWMSENNq4pQctuXRqqdEPW7q3CrLbR5Nse044WwacyjHGOMlvNsBe1y6z9A==" }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-case/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, "node_modules/dotenv": { "version": "16.0.3", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", @@ -7284,10 +7463,9 @@ "peer": true }, "node_modules/es-module-lexer": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.10.5.tgz", - "integrity": "sha512-+7IwY/kiGAacQfY+YBhKMvEmyAJnw5grTUgjG85Pe7vcUI/6b7pZjZG8nQ7+48YhzEAEqrEgD2dCz/JIK+AYvw==", - "dev": true + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==" }, "node_modules/es-set-tostringtag": { "version": "2.0.1", @@ -11440,9 +11618,9 @@ } }, "node_modules/is-reference": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.1.tgz", - "integrity": "sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", "dev": true, "dependencies": { "@types/estree": "*" @@ -12496,6 +12674,21 @@ "get-func-name": "^2.0.0" } }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lower-case/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, "node_modules/lru_map": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", @@ -13277,9 +13470,9 @@ "integrity": "sha512-hz+S3nV6Mym5xPbT9fnO8dDhBFQguMYpY0Ipxv06JMi1ORgnEM4M1ymWDUhUNer3ElLmT583opRo4RzxKmh9jw==" }, "node_modules/micromark-extension-mdx-expression": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.5.tgz", - "integrity": "sha512-/ruJEj+Qpgar/P+b6z0firNIbY5VMHFdL3MJDvsnVVY+RnecmGNpN7YUZhb51NfBtk7iQnNCl5xeb4E5cWxXvw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.8.tgz", + "integrity": "sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==", "dev": true, "funding": [ { @@ -13292,6 +13485,7 @@ } ], "dependencies": { + "@types/estree": "^1.0.0", "micromark-factory-mdx-expression": "^1.0.0", "micromark-factory-space": "^1.0.0", "micromark-util-character": "^1.0.0", @@ -13302,12 +13496,13 @@ } }, "node_modules/micromark-extension-mdx-jsx": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.4.tgz", - "integrity": "sha512-Jq4O738s2PvxJJSMZhV+y/7uq+pGI/ugQvHJBQelWpE3ECYvJMtF2duwfHQoAuUnIKSvg8b0dU1D+EXTAYE5ww==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.5.tgz", + "integrity": "sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==", "dev": true, "dependencies": { "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", "estree-util-is-identifier-name": "^2.0.0", "micromark-factory-mdx-expression": "^1.0.0", "micromark-factory-space": "^1.0.0", @@ -13356,11 +13551,12 @@ } }, "node_modules/micromark-extension-mdxjs-esm": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.4.tgz", - "integrity": "sha512-mmyCf6baCbLf+OHTCZdj+f8lDY8GBae4qhbffrJDqM1KltghsZz2k3nbvRfEwm301G62nhrlom9M9OheQwrssg==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.5.tgz", + "integrity": "sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==", "dev": true, "dependencies": { + "@types/estree": "^1.0.0", "micromark-core-commonmark": "^1.0.0", "micromark-util-character": "^1.0.0", "micromark-util-events-to-acorn": "^1.0.0", @@ -13417,9 +13613,9 @@ } }, "node_modules/micromark-factory-mdx-expression": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.8.tgz", - "integrity": "sha512-/GWj6h6bDFCDCkxOCb/xXpgKGonhBXEqMnhTThVo0nlIN/i8z6L6YrmRq+N91oerxY97fEz7vHSCSIcW7fGFhQ==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.9.tgz", + "integrity": "sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==", "dev": true, "funding": [ { @@ -14174,6 +14370,22 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/no-case/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, "node_modules/node-abi": { "version": "3.40.0", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.40.0.tgz", @@ -17125,21 +17337,20 @@ } }, "node_modules/shiki": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.11.1.tgz", - "integrity": "sha512-EugY9VASFuDqOexOgXR18ZV+TbFrQHeCpEYaXamO+SZlsnT/2LxuLBX25GGtIrwaEVFXUAbUQ601SWE2rMwWHA==", - "dev": true, + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.5.tgz", + "integrity": "sha512-1gCAYOcmCFONmErGTrS1fjzJLA7MGZmKzrBNX7apqSwhyITJg2O102uFzXUeBxNnEkDA9vHIKLyeKq0V083vIw==", "dependencies": { - "jsonc-parser": "^3.0.0", - "vscode-oniguruma": "^1.6.1", - "vscode-textmate": "^6.0.0" + "ansi-sequence-parser": "^1.1.0", + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" } }, "node_modules/shiki/node_modules/jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" }, "node_modules/side-channel": { "version": "1.0.4", @@ -17280,6 +17491,22 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/snake-case/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, "node_modules/solc": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", @@ -18225,6 +18452,14 @@ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, + "node_modules/squirrel-gill": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/squirrel-gill/-/squirrel-gill-1.0.5.tgz", + "integrity": "sha512-Q28EimiXm9xyJkNPChWuf7pKE9UioMuhId1sSZ8arqElg1yt8NJGVasH+2myvFfjp22lO040VZ0Gv2fVcZWrgA==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, "node_modules/sshpk": { "version": "1.17.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", @@ -18493,9 +18728,9 @@ } }, "node_modules/style-to-object": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.1.tgz", - "integrity": "sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", "dev": true, "dependencies": { "inline-style-parser": "0.1.1" @@ -18592,6 +18827,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "dev": true + }, "node_modules/sync-request": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", @@ -20019,6 +20260,20 @@ } } }, + "node_modules/vite-plugin-svgr": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-4.2.0.tgz", + "integrity": "sha512-SC7+FfVtNQk7So0XMjrrtLAbEC8qjFPifyD7+fs/E6aaNdVde6umlVVh0QuwDLdOMu7vp5RiGFsB70nj5yo0XA==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.5", + "@svgr/core": "^8.1.0", + "@svgr/plugin-jsx": "^8.1.0" + }, + "peerDependencies": { + "vite": "^2.6.0 || 3 || 4 || 5" + } + }, "node_modules/vitefu": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.4.tgz", @@ -20103,10 +20358,9 @@ "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==" }, "node_modules/vscode-textmate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-6.0.0.tgz", - "integrity": "sha512-gu73tuZfJgu+mvCSy4UZwd2JXykjK9zAZsfmDeut5dx/1a7FeTk0XwJsSuqQn+cuMCGVbIBfl+s53X4T19DnzQ==", - "dev": true + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", + "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==" }, "node_modules/vscode-uri": { "version": "3.0.7", @@ -20892,52 +21146,44 @@ "requires": { "prismjs": "^1.28.0" } - }, - "jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" - }, - "shiki": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.2.tgz", - "integrity": "sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A==", - "requires": { - "ansi-sequence-parser": "^1.1.0", - "jsonc-parser": "^3.2.0", - "vscode-oniguruma": "^1.7.0", - "vscode-textmate": "^8.0.0" - } - }, - "vscode-textmate": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", - "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==" } } }, "@astrojs/mdx": { - "version": "0.11.6", - "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-0.11.6.tgz", - "integrity": "sha512-MEi8CZuz4vXn74/jCb0CMOAKEqd6nsLrShYfE+ddb1//14CwuaVGbXN7V6/zGj8ZvBhFk/darBbNpJBmzfbI6A==", + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-0.19.7.tgz", + "integrity": "sha512-mfEbBD7oi8yBHhcJucEjnrquREkJ3os+jioURP8BR2B8tOV2rV2j8trvmLUgfS+P/+HevGObxCTjcRYxn6T7eg==", "dev": true, "requires": { - "@astrojs/prism": "^1.0.2", - "@mdx-js/mdx": "^2.1.2", - "@mdx-js/rollup": "^2.1.1", + "@astrojs/markdown-remark": "^2.2.1", + "@astrojs/prism": "^2.1.2", + "@mdx-js/mdx": "^2.3.0", "acorn": "^8.8.0", - "es-module-lexer": "^0.10.5", + "es-module-lexer": "^1.1.1", "estree-util-visit": "^1.2.0", "github-slugger": "^1.4.0", "gray-matter": "^4.0.3", + "hast-util-to-html": "^8.0.4", "kleur": "^4.1.4", "rehype-raw": "^6.1.1", "remark-frontmatter": "^4.0.1", "remark-gfm": "^3.0.1", "remark-smartypants": "^2.0.0", - "shiki": "^0.11.1", + "shiki": "^0.14.1", + "source-map": "^0.7.4", "unist-util-visit": "^4.1.0", "vfile": "^5.3.2" + }, + "dependencies": { + "@astrojs/prism": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-2.1.2.tgz", + "integrity": "sha512-3antim1gb34689GHRQFJ88JEo93HuZKQBnmxDT5W/nxiNz1p/iRxnCTEhIbJhqMOTRbbo5h2ldm5qSxx+TMFQA==", + "dev": true, + "requires": { + "prismjs": "^1.28.0" + } + } } }, "@astrojs/partytown": { @@ -22006,18 +22252,6 @@ "vfile": "^5.0.0" } }, - "@mdx-js/rollup": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mdx-js/rollup/-/rollup-2.3.0.tgz", - "integrity": "sha512-wLvRfJS/M4UmdqTd+WoaySEE7q4BIejYf1xAHXYvtT1du/1Tl/z2450Gg2+Hu7fh05KwRRiehiTP9Yc/Dtn0fA==", - "dev": true, - "requires": { - "@mdx-js/mdx": "^2.0.0", - "@rollup/pluginutils": "^5.0.0", - "source-map": "^0.7.0", - "vfile": "^5.0.0" - } - }, "@metamask/eth-sig-util": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", @@ -22504,9 +22738,9 @@ } }, "@rollup/pluginutils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", - "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.5.tgz", + "integrity": "sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==", "dev": true, "requires": { "@types/estree": "^1.0.0", @@ -22648,6 +22882,113 @@ "antlr4ts": "^0.5.0-alpha.4" } }, + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "dev": true, + "requires": {} + }, + "@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "dev": true, + "requires": {} + }, + "@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "dev": true, + "requires": {} + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "dev": true, + "requires": {} + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "dev": true, + "requires": {} + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "dev": true, + "requires": {} + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "dev": true, + "requires": {} + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "dev": true, + "requires": {} + }, + "@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "dev": true, + "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" + } + }, + "@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "dev": true, + "requires": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "dev": true, + "requires": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + } + }, + "@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "dev": true, + "requires": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + } + }, "@tsconfig/node10": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", @@ -23048,15 +23389,15 @@ "integrity": "sha512-udCxb8DvjcDKfk1WTBzDsxFbLgYxmQGKrE/ricoMqHRNjSlSUCcamVTA5lIQqzY10mY5qCY0QDwBfFEwhfoDPw==" }, "@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", + "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==", "dev": true }, "@types/estree-jsx": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.0.tgz", - "integrity": "sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.2.tgz", + "integrity": "sha512-GNBWlGBMjiiiL5TSkvPtOteuXsiVitw5MYGY1UYlrAq0SKyczsls6sCD7TZ8fsjRsvCVxml7EbyjJezPb3DrSA==", "dev": true, "requires": { "@types/estree": "*" @@ -23143,9 +23484,9 @@ } }, "@types/mdx": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.5.tgz", - "integrity": "sha512-76CqzuD6Q7LC+AtbPqrvD9AqsN0k8bsYo2bM2J8pmNldP1aIPAbzUQ7QbobyXL4eLr1wK5x8FZFe8eF/ubRuBg==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.9.tgz", + "integrity": "sha512-OKMdj17y8Cs+k1r0XFyp59ChSOwf8ODGtMQ4mnpfz5eFDk1aO41yN3pSKGuvVzmWAkFp37seubY1tzOVpwfWwg==", "dev": true }, "@types/minimatch": { @@ -23886,9 +24227,9 @@ "dev": true }, "astring": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.5.tgz", - "integrity": "sha512-TuBbdn7jWVzf8dmFGTaRpW8qgANtWLi1qJLnkfGO5uVf6jf9f/F4B1H35tnOI+qVYZo3p3i8WZlbZOuPAE0wEA==", + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", + "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", "dev": true }, "astro": { @@ -23954,11 +24295,6 @@ "zod": "^3.20.6" }, "dependencies": { - "es-module-lexer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", - "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==" - }, "estree-walker": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.0.tgz", @@ -23969,11 +24305,6 @@ "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" }, - "jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" - }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -23998,22 +24329,6 @@ "lru-cache": "^6.0.0" } }, - "shiki": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.2.tgz", - "integrity": "sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A==", - "requires": { - "ansi-sequence-parser": "^1.1.0", - "jsonc-parser": "^3.2.0", - "vscode-oniguruma": "^1.7.0", - "vscode-textmate": "^8.0.0" - } - }, - "vscode-textmate": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", - "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==" - }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -25764,6 +26079,24 @@ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.5.tgz", "integrity": "sha512-F9e6wPGtY+8KNMRAVfxeCOHU0/NPWMSENNq4pQctuXRqqdEPW7q3CrLbR5Nse044WwacyjHGOMlvNsBe1y6z9A==" }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + } + } + }, "dotenv": { "version": "16.0.3", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", @@ -25931,10 +26264,9 @@ "peer": true }, "es-module-lexer": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.10.5.tgz", - "integrity": "sha512-+7IwY/kiGAacQfY+YBhKMvEmyAJnw5grTUgjG85Pe7vcUI/6b7pZjZG8nQ7+48YhzEAEqrEgD2dCz/JIK+AYvw==", - "dev": true + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==" }, "es-set-tostringtag": { "version": "2.0.1", @@ -28921,9 +29253,9 @@ "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" }, "is-reference": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.1.tgz", - "integrity": "sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", "dev": true, "requires": { "@types/estree": "*" @@ -29709,6 +30041,23 @@ "get-func-name": "^2.0.0" } }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + } + } + }, "lru_map": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", @@ -30318,11 +30667,12 @@ } }, "micromark-extension-mdx-expression": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.5.tgz", - "integrity": "sha512-/ruJEj+Qpgar/P+b6z0firNIbY5VMHFdL3MJDvsnVVY+RnecmGNpN7YUZhb51NfBtk7iQnNCl5xeb4E5cWxXvw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.8.tgz", + "integrity": "sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==", "dev": true, "requires": { + "@types/estree": "^1.0.0", "micromark-factory-mdx-expression": "^1.0.0", "micromark-factory-space": "^1.0.0", "micromark-util-character": "^1.0.0", @@ -30333,12 +30683,13 @@ } }, "micromark-extension-mdx-jsx": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.4.tgz", - "integrity": "sha512-Jq4O738s2PvxJJSMZhV+y/7uq+pGI/ugQvHJBQelWpE3ECYvJMtF2duwfHQoAuUnIKSvg8b0dU1D+EXTAYE5ww==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.5.tgz", + "integrity": "sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==", "dev": true, "requires": { "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", "estree-util-is-identifier-name": "^2.0.0", "micromark-factory-mdx-expression": "^1.0.0", "micromark-factory-space": "^1.0.0", @@ -30375,11 +30726,12 @@ } }, "micromark-extension-mdxjs-esm": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.4.tgz", - "integrity": "sha512-mmyCf6baCbLf+OHTCZdj+f8lDY8GBae4qhbffrJDqM1KltghsZz2k3nbvRfEwm301G62nhrlom9M9OheQwrssg==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.5.tgz", + "integrity": "sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==", "dev": true, "requires": { + "@types/estree": "^1.0.0", "micromark-core-commonmark": "^1.0.0", "micromark-util-character": "^1.0.0", "micromark-util-events-to-acorn": "^1.0.0", @@ -30412,9 +30764,9 @@ } }, "micromark-factory-mdx-expression": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.8.tgz", - "integrity": "sha512-/GWj6h6bDFCDCkxOCb/xXpgKGonhBXEqMnhTThVo0nlIN/i8z6L6YrmRq+N91oerxY97fEz7vHSCSIcW7fGFhQ==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.9.tgz", + "integrity": "sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==", "dev": true, "requires": { "@types/estree": "^1.0.0", @@ -30876,6 +31228,24 @@ "@types/nlcst": "^1.0.0" } }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + } + } + }, "node-abi": { "version": "3.40.0", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.40.0.tgz", @@ -33018,21 +33388,20 @@ } }, "shiki": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.11.1.tgz", - "integrity": "sha512-EugY9VASFuDqOexOgXR18ZV+TbFrQHeCpEYaXamO+SZlsnT/2LxuLBX25GGtIrwaEVFXUAbUQ601SWE2rMwWHA==", - "dev": true, + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.5.tgz", + "integrity": "sha512-1gCAYOcmCFONmErGTrS1fjzJLA7MGZmKzrBNX7apqSwhyITJg2O102uFzXUeBxNnEkDA9vHIKLyeKq0V083vIw==", "requires": { - "jsonc-parser": "^3.0.0", - "vscode-oniguruma": "^1.6.1", - "vscode-textmate": "^6.0.0" + "ansi-sequence-parser": "^1.1.0", + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" }, "dependencies": { "jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" } } }, @@ -33123,6 +33492,24 @@ } } }, + "snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + } + } + }, "solc": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", @@ -33868,6 +34255,12 @@ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, + "squirrel-gill": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/squirrel-gill/-/squirrel-gill-1.0.5.tgz", + "integrity": "sha512-Q28EimiXm9xyJkNPChWuf7pKE9UioMuhId1sSZ8arqElg1yt8NJGVasH+2myvFfjp22lO040VZ0Gv2fVcZWrgA==", + "requires": {} + }, "sshpk": { "version": "1.17.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", @@ -34055,9 +34448,9 @@ "dev": true }, "style-to-object": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.1.tgz", - "integrity": "sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", "dev": true, "requires": { "inline-style-parser": "0.1.1" @@ -34131,6 +34524,12 @@ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, + "svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "dev": true + }, "sync-request": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", @@ -35155,6 +35554,17 @@ "rollup": "^3.21.0" } }, + "vite-plugin-svgr": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-4.2.0.tgz", + "integrity": "sha512-SC7+FfVtNQk7So0XMjrrtLAbEC8qjFPifyD7+fs/E6aaNdVde6umlVVh0QuwDLdOMu7vp5RiGFsB70nj5yo0XA==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.5", + "@svgr/core": "^8.1.0", + "@svgr/plugin-jsx": "^8.1.0" + } + }, "vitefu": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.4.tgz", @@ -35228,10 +35638,9 @@ "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==" }, "vscode-textmate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-6.0.0.tgz", - "integrity": "sha512-gu73tuZfJgu+mvCSy4UZwd2JXykjK9zAZsfmDeut5dx/1a7FeTk0XwJsSuqQn+cuMCGVbIBfl+s53X4T19DnzQ==", - "dev": true + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", + "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==" }, "vscode-uri": { "version": "3.0.7", diff --git a/package.json b/package.json index a64951882..85f1efc4a 100644 --- a/package.json +++ b/package.json @@ -47,12 +47,13 @@ "rehype-mermaidjs": "^1.0.1", "remark-gfm": "^3.0.1", "remark-math": "^5.1.1", + "squirrel-gill": "^1.0.5", "tailwindcss": "^3.2.4", "to-querystring": "^1.1.1", "turndown": "^7.1.2" }, "devDependencies": { - "@astrojs/mdx": "^0.11.6", + "@astrojs/mdx": "^0.19.7", "@astrojs/preact": "^1.2.0", "@astrojs/react": "^2.2.0", "@astrojs/sitemap": "^1.0.0", @@ -88,7 +89,8 @@ "solhint-plugin-prettier": "^0.0.5", "tsconfig-paths": "^4.1.0", "typescript": "^4.8.4", - "unist-util-remove": "^3.1.0" + "unist-util-remove": "^3.1.0", + "vite-plugin-svgr": "^4.2.0" }, "lint-staged": { "*.{css,md,yml,yaml,astro}": "prettier --write", diff --git a/public/assets/search-white.svg b/public/assets/search-white.svg new file mode 100644 index 000000000..45c606a1a --- /dev/null +++ b/public/assets/search-white.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json index e5b4c44e5..ad8a263e6 100644 --- a/public/locales/en/translation.json +++ b/public/locales/en/translation.json @@ -66,6 +66,8 @@ "commonErrors": "Common Errors", "rollupExplorer": "Rollup Explorer", "scrollSepoliaBlockExplorer": "Scroll Sepolia Explorer", + "scrollMainnet": "Scroll Mainnet", + "scrollscan": "Scrollscan Block Explorer", "sepoliaBlockExplorer": "Sepolia Explorer", "community": "Community", "discord": "Discord", @@ -96,9 +98,13 @@ "bridgingERC1155ThroughCustomGateway": "Bridging ERC1155 through Custom Gateway", "estimatingGasAndTxFees": "Estimating Gas & Tx Fees", "resources": "Resources", + "mainnetResources": "Mainnet Resources", + "sepoliaResources": "Sepolia Resources", + "scrollBlockExplorer": "Scrollscan Explorer", "rollupExplorer": "Rollup Explorer", "scrollSepoliaBlockExplorer": "Scroll Sepolia Explorer", - "sepoliaBlockExplorer": "Sepolia Explorer" + "sepoliaRollupExplorer": "Rollup Explorer", + "sepoliaBlockExplorer": "Scrollscan Explorer" }, "technology": { "introduction": "Introduction", @@ -129,7 +135,11 @@ "bridgeOverview": "Bridge Overview", "prover": "Prover", "proofGeneration": "Proof Generation", - "cpuProverRepo": "CPU Prover Repo" + "cpuProverRepo": "CPU Prover Repo", + + "security": "Security", + "auditsAndBugBounty": "Audits & Bug Bounty", + "l2BeatAssessment": "L2Beat Assessment" }, "learn": { "ethereumAndProtocols": "Ethereum & Protocols", diff --git a/public/locales/es/translation.json b/public/locales/es/translation.json index 8c177c20d..e31da1785 100644 --- a/public/locales/es/translation.json +++ b/public/locales/es/translation.json @@ -66,6 +66,8 @@ "commonErrors": "Errores Comunes", "rollupExplorer": "Rollup Explorer", "scrollSepoliaBlockExplorer": "Scroll Sepolia Explorer", + "scrollMainnet": "Scroll Mainnet", + "scrollscan": "Explorador Scrollscan", "sepoliaBlockExplorer": "Sepolia Explorer", "community": "Comunidad", "discord": "Discord", @@ -96,9 +98,13 @@ "bridgingERC1155ThroughCustomGateway": "Bridging de un ERC1155 a través de una Gateway Personalizada", "estimatingGasAndTxFees": "Estimación de las Tarifas de Gas y Tx", "resources": "Recursos", + "mainnetResources": "Recursos de Mainnet", + "sepoliaResources": "Recursos de Sepolia", + "scrollBlockExplorer": "Explorador Scrollscan", "rollupExplorer": "Rollup Explorer", "scrollSepoliaBlockExplorer": "Scroll Sepolia Explorer", - "sepoliaBlockExplorer": "Sepolia Explorer" + "sepoliaRollupExplorer": "Explorador de Rollup", + "sepoliaBlockExplorer": "Explorador de bloques Scrollscan" }, "technology": { "introduction": "Introducción", @@ -129,7 +135,11 @@ "bridgeOverview": "Vista General del Bridge", "prover": "Prover", "proofGeneration": "Proof Generation", - "cpuProverRepo": "CPU Prover Repo" + "cpuProverRepo": "Repo de probador de CPU", + + "security": "Seguridad", + "auditsAndBugBounty": "Auditorías y recompenzas por encontrar bugs", + "l2BeatAssessment": "Análisis de L2Beat" }, "learn": { "ethereumAndProtocols": "Ethereum y Protocolos", diff --git a/public/svgs/Foundry.svg b/public/svgs/Foundry.svg index e9bf9381a..40d265b8e 100644 --- a/public/svgs/Foundry.svg +++ b/public/svgs/Foundry.svg @@ -1,9 +1,9 @@ - + - + - + diff --git a/public/svgs/summary-icon-white.svg b/public/svgs/summary-icon-white.svg new file mode 100644 index 000000000..568ca9af4 --- /dev/null +++ b/public/svgs/summary-icon-white.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/svgs/summary-icon.svg b/public/svgs/summary-icon.svg new file mode 100644 index 000000000..93b84590a --- /dev/null +++ b/public/svgs/summary-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/footer/arrow-right.svg b/src/assets/svgs/footer/arrow-right.svg similarity index 80% rename from public/images/footer/arrow-right.svg rename to src/assets/svgs/footer/arrow-right.svg index a759efe4b..ef0c9aa02 100644 --- a/public/images/footer/arrow-right.svg +++ b/src/assets/svgs/footer/arrow-right.svg @@ -1,3 +1,3 @@ - + diff --git a/public/images/footer/subscribe.svg b/src/assets/svgs/footer/subscribe.svg similarity index 93% rename from public/images/footer/subscribe.svg rename to src/assets/svgs/footer/subscribe.svg index cc34dafd4..5f3b0e8ad 100644 --- a/public/images/footer/subscribe.svg +++ b/src/assets/svgs/footer/subscribe.svg @@ -1,4 +1,4 @@ - - + + diff --git a/src/assets/svgs/header/moon.svg b/src/assets/svgs/header/moon.svg new file mode 100644 index 000000000..a31ab8f1c --- /dev/null +++ b/src/assets/svgs/header/moon.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/svgs/header/sun.svg b/src/assets/svgs/header/sun.svg new file mode 100644 index 000000000..33f100310 --- /dev/null +++ b/src/assets/svgs/header/sun.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/svgs/Contribute.svg b/src/assets/svgs/home/Contribute.svg similarity index 95% rename from public/svgs/Contribute.svg rename to src/assets/svgs/home/Contribute.svg index 800f46c24..3b8b155c4 100644 --- a/public/svgs/Contribute.svg +++ b/src/assets/svgs/home/Contribute.svg @@ -1,6 +1,6 @@ - + diff --git a/public/svgs/Discord.svg b/src/assets/svgs/home/Discord.svg similarity index 91% rename from public/svgs/Discord.svg rename to src/assets/svgs/home/Discord.svg index bacb0fa41..41c4a450d 100644 --- a/public/svgs/Discord.svg +++ b/src/assets/svgs/home/Discord.svg @@ -1,8 +1,8 @@ - - - - + + + + diff --git a/public/svgs/EthersJS.svg b/src/assets/svgs/home/EthersJS.svg similarity index 94% rename from public/svgs/EthersJS.svg rename to src/assets/svgs/home/EthersJS.svg index ce96f60b9..16876c770 100644 --- a/public/svgs/EthersJS.svg +++ b/src/assets/svgs/home/EthersJS.svg @@ -1,3 +1,3 @@ - + diff --git a/public/svgs/Forum.svg b/src/assets/svgs/home/Forum.svg similarity index 90% rename from public/svgs/Forum.svg rename to src/assets/svgs/home/Forum.svg index af16e21de..02f9f2c9a 100644 --- a/public/svgs/Forum.svg +++ b/src/assets/svgs/home/Forum.svg @@ -1,9 +1,9 @@ - - - - - + + + + + diff --git a/public/svgs/home-develop.svg b/src/assets/svgs/home/home-develop.svg similarity index 98% rename from public/svgs/home-develop.svg rename to src/assets/svgs/home/home-develop.svg index 4a3e57090..5e22bd9e2 100644 --- a/public/svgs/home-develop.svg +++ b/src/assets/svgs/home/home-develop.svg @@ -1,6 +1,6 @@ - - + + diff --git a/public/svgs/home-learn.svg b/src/assets/svgs/home/home-learn.svg similarity index 77% rename from public/svgs/home-learn.svg rename to src/assets/svgs/home/home-learn.svg index 005a03d7b..b2ed73cba 100644 --- a/public/svgs/home-learn.svg +++ b/src/assets/svgs/home/home-learn.svg @@ -1,9 +1,9 @@ - - - - - + + + + + diff --git a/public/svgs/home-link-arrow.svg b/src/assets/svgs/home/home-link-arrow.svg similarity index 83% rename from public/svgs/home-link-arrow.svg rename to src/assets/svgs/home/home-link-arrow.svg index e87c0359d..ca96bd3c0 100644 --- a/public/svgs/home-link-arrow.svg +++ b/src/assets/svgs/home/home-link-arrow.svg @@ -1,6 +1,6 @@ - + diff --git a/public/svgs/home-link.svg b/src/assets/svgs/home/home-link.svg similarity index 96% rename from public/svgs/home-link.svg rename to src/assets/svgs/home/home-link.svg index c6edbf8d2..1b7c31566 100644 --- a/public/svgs/home-link.svg +++ b/src/assets/svgs/home/home-link.svg @@ -1,6 +1,6 @@ - + diff --git a/public/svgs/home-start.svg b/src/assets/svgs/home/home-start.svg similarity index 96% rename from public/svgs/home-start.svg rename to src/assets/svgs/home/home-start.svg index ef7bbeaee..f99f76403 100644 --- a/public/svgs/home-start.svg +++ b/src/assets/svgs/home/home-start.svg @@ -1,3 +1,3 @@ - + diff --git a/public/svgs/home-technology.svg b/src/assets/svgs/home/home-technology.svg similarity index 98% rename from public/svgs/home-technology.svg rename to src/assets/svgs/home/home-technology.svg index fff50c2de..9187e8e33 100644 --- a/public/svgs/home-technology.svg +++ b/src/assets/svgs/home/home-technology.svg @@ -1,3 +1,3 @@ - + diff --git a/src/assets/svgs/main/next.svg b/src/assets/svgs/main/next.svg new file mode 100644 index 000000000..7e53e0d72 --- /dev/null +++ b/src/assets/svgs/main/next.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/components/Alert/Assets/alert-icon.svg b/src/components/Alert/Assets/alert-icon.svg index 26f7b823a..40d67e11b 100644 --- a/src/components/Alert/Assets/alert-icon.svg +++ b/src/components/Alert/Assets/alert-icon.svg @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/src/components/Alert/Assets/danger-icon.svg b/src/components/Alert/Assets/danger-icon.svg index 48e13858c..4e1a19d7a 100644 --- a/src/components/Alert/Assets/danger-icon.svg +++ b/src/components/Alert/Assets/danger-icon.svg @@ -1,5 +1,5 @@ - - - + + + \ No newline at end of file diff --git a/src/components/Alert/Assets/info-icon.svg b/src/components/Alert/Assets/info-icon.svg index 4dd820de3..fb34149d5 100644 --- a/src/components/Alert/Assets/info-icon.svg +++ b/src/components/Alert/Assets/info-icon.svg @@ -1,5 +1,5 @@ - - - + + + \ No newline at end of file diff --git a/src/components/Alert/Assets/tip-icon.svg b/src/components/Alert/Assets/tip-icon.svg index eb2e4c147..b6ddd4c17 100644 --- a/src/components/Alert/Assets/tip-icon.svg +++ b/src/components/Alert/Assets/tip-icon.svg @@ -1,6 +1,6 @@ - - - - + + + + \ No newline at end of file diff --git a/src/components/Aside.astro b/src/components/Aside.astro index 9a385a2d7..17c1f765f 100644 --- a/src/components/Aside.astro +++ b/src/components/Aside.astro @@ -1,8 +1,8 @@ --- -import alertIcon from "./Alert/Assets/alert-icon.svg" -import infoIcon from "./Alert/Assets/info-icon.svg" -import dangerIcon from "./Alert/Assets/danger-icon.svg" -import tipIcon from "./Alert/Assets/tip-icon.svg" +import alertIcon from "./Alert/Assets/alert-icon.svg?raw" +import infoIcon from "./Alert/Assets/info-icon.svg?raw" +import dangerIcon from "./Alert/Assets/danger-icon.svg?raw" +import tipIcon from "./Alert/Assets/tip-icon.svg?raw" export type Props = { type?: "note" | "tip" | "caution" | "danger" title?: string @@ -21,7 +21,9 @@ const icons = {
- {type} + + +
- -
Thank you for subscribing!
+
Thank you for subscribing!
) diff --git a/src/components/Footer/Subscribe/Subscribe.tsx b/src/components/Footer/Subscribe/Subscribe.tsx index 3ec79e912..6ab9d9824 100644 --- a/src/components/Footer/Subscribe/Subscribe.tsx +++ b/src/components/Footer/Subscribe/Subscribe.tsx @@ -1,5 +1,8 @@ +// import React from "react" import { useState, useEffect } from "preact/hooks" import MailchimpSubscribe from "react-mailchimp-subscribe" +import SubscribeSvg from "~/assets/svgs/footer/subscribe.svg?react" +import { clsx } from "~/lib" import EmailInput from "./EmailInput.tsx" import styles from "./Subscribe.module.css" @@ -7,7 +10,7 @@ import styles from "./Subscribe.module.css" const url = "https://gmail.us14.list-manage.com/subscribe/post?u=3b1d822eb27b2fa64d82d430b&id=0b4603244e" const isValidEmail = (email: string): boolean => { - const emailRegex: RegExp = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/ + const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/ return emailRegex.test(email) } @@ -37,12 +40,17 @@ export default function Subscribe() { } return ( -
+
- + + + +
Stay up-to-date on the latest Scroll Developer news
-
Roadmap updates, virtual and live events, ecosystem opportunities and more
+
+ Roadmap updates, virtual and live events, ecosystem opportunities and more +
> = (props) => ( ) export const aboutList = [ + { + name: "Bug Bounty", + href: "https://immunefi.com/bounty/scroll/", + }, { name: "Join Us", href: "https://jobs.lever.co/ScrollFoundation", diff --git a/src/components/Header/Header.astro b/src/components/Header/Header.astro index 580473af1..78080600c 100644 --- a/src/components/Header/Header.astro +++ b/src/components/Header/Header.astro @@ -4,6 +4,8 @@ import { Frontmatter, MENU } from "../../config/index" import SkipToContent from "./SkipToContent.astro" import SidebarToggle from "./SidebarToggle.tsx" import Search from "./Search/Search.tsx" +import ThemeModeToggle from "./ThemeModeToggle" +import GithubSvg from "~/assets/svgs/header/github.svg?raw" // import LanguageSelector from "./LanguageSelector/index.tsx" import LanguageSelector from "./LanguageSelector/LanguageSelector.astro" @@ -11,6 +13,7 @@ import { localizePath } from "astro-i18next" import i18next from "i18next" import NotificationBanner from "~/features/notifications/components/NotificationBanner.astro" +import { clsx } from "~/lib" export type Props = { frontmatter?: Frontmatter @@ -18,9 +21,9 @@ export type Props = { } const { frontmatter, dark } = Astro.props -const backgroundColor = dark ? "#101010" : "#ffffff" +const backgroundColor = dark ? "#101010" : "" -const textColor = dark ? "#FFF8F3" : "#101010" +const textColor = dark ? "#FFF8F3" : "" const section = frontmatter?.section ?? "" --- @@ -33,23 +36,26 @@ const section = frontmatter?.section ?? "" +
+ diff --git a/src/components/Header/ScrollLogo.tsx b/src/components/Header/ScrollLogo.tsx new file mode 100644 index 000000000..e69de29bb diff --git a/src/components/Header/Search/Search.module.css b/src/components/Header/Search/Search.module.css index 49570f7df..3aad23a44 100644 --- a/src/components/Header/Search/Search.module.css +++ b/src/components/Header/Search/Search.module.css @@ -1,12 +1,11 @@ /** Style Algolia */ #searchModal.mini { - background: #ffffff; position: fixed; top: 65px; left: 0; right: 0; - height: 100vh; + height: calc(100vh - 65px); padding-top: 60px; border-radius: 0; } @@ -14,8 +13,6 @@ #searchModal.large { top: 0; height: fit-content; - max-height: 80vh; - background: #fff; position: absolute; border-radius: 24px; padding-top: 0; @@ -24,7 +21,7 @@ .resultsWrapper { padding: 20px 20px 1rem; - overflow: overlay; + height: calc(100% - 50px); } .searchInput { @@ -40,12 +37,12 @@ outline: 0; cursor: pointer; align-items: center; - width: 346px; + width: 100%; height: 35px; border-radius: 40px; font-style: italic; - background: #f6f6f6; - @apply border-divider text-placeholder gap-2; + + @apply border-divider text-black gap-2 bg-[#f6f6f6]; } .searchInputMobile { @@ -61,7 +58,7 @@ .searchInput:hover, .searchInput:focus { - @apply text-text border-light; + @apply text-black border-light; } .searchInput::placeholder, @@ -119,7 +116,6 @@ .closeButtonMobile { display: block; - background-color: #ffffff; border: 3px solid #ffffff; padding: 0; font-size: 16px; @@ -127,11 +123,8 @@ position: relative; right: -43px; box-sizing: content-box; -} -.hitWrapper { - max-height: 40vh; - overflow: overlay; + @apply bg-pure-white; } .hitWrapper ol { @@ -141,12 +134,15 @@ .hit { line-height: 32px; display: block; - @apply text-primary mb-2; + @apply mb-2 text-black; } .queryResults { display: grid; grid-template-columns: 1fr; + grid-auto-rows: max-content; + height: 100%; + overflow-y: auto; } .queryResults h6 { @@ -177,6 +173,7 @@ .hitList mark { background-color: transparent; font-weight: bold; + @apply text-inherit; } .hideSm { @@ -198,16 +195,17 @@ .container { position: relative; + width: 100%; } #searchModal.mini { top: 0; height: fit-content; max-height: 80vh; - background: #f6f6f6; position: absolute; border-radius: 17.5px; padding-top: 0; + @apply bg-[#f6f6f6]; } #searchModal.large { @@ -224,8 +222,8 @@ } .hitWrapper { - max-height: calc(80vh - 100px); - overflow: auto; + max-height: calc(80vh - 150px); + overflow-y: auto; } .hitList li { @@ -259,4 +257,9 @@ .resultsWrapper * { padding-left: 0 !important; } + + .queryResults.large { + max-height: calc(80vh - 48px); + height: max-content; + } } diff --git a/src/components/Header/Search/Search.tsx b/src/components/Header/Search/Search.tsx index fa6d0ff3e..9f7af0010 100644 --- a/src/components/Header/Search/Search.tsx +++ b/src/components/Header/Search/Search.tsx @@ -3,6 +3,7 @@ import styles from "./Search.module.css" import { useKeyPress } from "~/hooks/useKeyPress" import { SearchModal } from "./SearchModal" +import { clsx } from "~/lib" export default function Search() { const [isOpen, setIsOpen] = useState(false) @@ -15,8 +16,14 @@ export default function Search() { const body = document.body if (isOpen) { body.classList.add("global-search-toggle") + if (window.matchMedia("(max-width: 50em)").matches) { + document.querySelector("#themeModeToggle").style.right = "-43px" + } } else { body.classList.remove("global-search-toggle") + if (window.matchMedia("(max-width: 50em)").matches) { + document.querySelector("#themeModeToggle").style.right = 0 + } } }, [isOpen]) @@ -34,13 +41,22 @@ export default function Search() { return (
-
+
@@ -52,21 +68,21 @@ export default function Search() { height="18" viewBox="0 0 18 18" fill="none" - className={styles.closeButtonMobile} + className={clsx(styles.closeButtonMobile, "dark:border-black dark:bg-black")} onClick={onClose} > ) : ( )}
diff --git a/src/components/Header/Search/SearchInput.module.css b/src/components/Header/Search/SearchInput.module.css index 87ab4a215..17c8ab48b 100644 --- a/src/components/Header/Search/SearchInput.module.css +++ b/src/components/Header/Search/SearchInput.module.css @@ -9,7 +9,6 @@ overflow: hidden; padding: 0 20px; border-radius: 0; - @apply bg-white; } .wrapper.large { @@ -21,7 +20,6 @@ margin: 0; font-size: 16px; width: 100%; - color: rgb(12, 22, 44); outline: none; display: block; appearance: none; @@ -34,6 +32,8 @@ border-radius: 0; height: 50px; line-height: 45px; + + @apply text-black border-black; } .input.large { height: 48px; @@ -77,7 +77,7 @@ .input { font-size: 16px; line-height: 15px; - background: #f6f6f6 url(/assets/search.svg) left 12px top 50% / 17px no-repeat; + background: url(/assets/search.svg) left 12px top 50% / 17px no-repeat; border: none; height: 35px; line-height: 35px; @@ -90,6 +90,7 @@ background: transparent url(/svgs/search.svg) left 22px center no-repeat; padding-left: 60px; padding-right: 22px; + background-size: 22px auto; } .input:focus { diff --git a/src/components/Header/Search/SearchInput.tsx b/src/components/Header/Search/SearchInput.tsx index c02a8a979..1c6ae4564 100644 --- a/src/components/Header/Search/SearchInput.tsx +++ b/src/components/Header/Search/SearchInput.tsx @@ -24,9 +24,24 @@ export const SearchInput = ({ size, onClose }: { onClose: () => void }) => { }, [debouncedValue]) return ( -
+
+
Recommended articles
@@ -46,7 +47,7 @@ function EmptyQueryBoundary({ children, fallback }) { {article.title} @@ -66,7 +67,7 @@ function EmptyQueryBoundary({ children, fallback }) { {article.title} @@ -108,6 +109,7 @@ function NoResultsBoundary({ children }) { function CustomHits({ title, hitClassName, ...props }: UseHitsProps & { title: string; hitClassName?: string }) { const { hits, results } = useHits(props) + console.log(hits, "hits") if (hits.length === 0) return null return (
@@ -119,7 +121,7 @@ function CustomHits({ title, hitClassName, ...props }: UseHitsProps & { title: s +
- + -
+
= ({ dark }) => { type="button" aria-pressed={sidebarShown ? "true" : "false"} id="menu-toggle" - className={clsx(styles.button, dark && styles.dark)} + className={clsx(styles.button, "text-black", dark && "text-white", "dark:text-white")} onClick={() => setSidebarShown(!sidebarShown)} > {sidebarShown ? ( diff --git a/src/components/Header/ThemeModeToggle.tsx b/src/components/Header/ThemeModeToggle.tsx new file mode 100644 index 000000000..5dab23c86 --- /dev/null +++ b/src/components/Header/ThemeModeToggle.tsx @@ -0,0 +1,58 @@ +import { useEffect, useState } from "preact/hooks" +import useStorage from "squirrel-gill" +import MoonSvg from "~/assets/svgs/header/moon.svg?react" +import SunSvg from "~/assets/svgs/header/sun.svg?react" +import { clsx } from "~/lib" + +const ThemeModeToggle = (props) => { + const { dark } = props + const [themeMode, setThemeMode] = useStorage(localStorage, "THEME_MODE", "light") + const [isDarkMode, setIsDarkMode] = useState(false) + + useEffect(() => { + const toggleThemeMode = (e) => { + if (e.matches) { + setThemeMode("dark") + } else [setThemeMode("light")] + } + + window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", toggleThemeMode) + + return () => { + window.matchMedia("(prefers-color-scheme: dark)").removeEventListener("change", toggleThemeMode) + } + }, []) + + useEffect(() => { + if (themeMode === "dark") { + setIsDarkMode(true) + document.documentElement.classList.add("dark") + } else { + setIsDarkMode(false) + document.documentElement.classList.remove("dark") + } + }, [themeMode]) + + const handleToggleThemeMode = () => { + if (isDarkMode) { + setThemeMode("light") + } else { + setThemeMode("dark") + } + } + + return ( + + ) +} + +export default ThemeModeToggle diff --git a/src/components/LeftSidebar/LeftSidebar.astro b/src/components/LeftSidebar/LeftSidebar.astro index 86e9dda68..c81ccff34 100644 --- a/src/components/LeftSidebar/LeftSidebar.astro +++ b/src/components/LeftSidebar/LeftSidebar.astro @@ -76,7 +76,7 @@ const currentPageMatch = removeSlashes(currentPage.slice(1)) @@ -135,7 +135,7 @@ const currentPageMatch = removeSlashes(currentPage.slice(1)) .menu-separator { width: calc(100vw - 40px); - @apply border-0 border-t-[1px] border-t-divider border-solid; + @apply border-0 border-t-[1px] border-solid border-black dark:border-white; } .sidebar-nav-groups.nav-groups > :first-child { @apply pt-[15px]; diff --git a/src/components/NavCard.astro b/src/components/NavCard.astro index dfcd8e10f..f91594a62 100644 --- a/src/components/NavCard.astro +++ b/src/components/NavCard.astro @@ -1,5 +1,6 @@ --- import i18next, { t } from "i18next" +import LinkSvg from "~/assets/svgs/home/home-link.svg?raw" export type Props = { icon: string name: string @@ -14,12 +15,16 @@ const { icon, name, content, link } = Astro.props as Props --- @@ -33,10 +38,13 @@ const { icon, name, content, link } = Astro.props as Props } .navs-item-icon { - display: inline-block; + display: inline-flex; width: 35px; height: 35px; + align-items: center; + @apply text-black dark:text-white; } + .navs-item-title { font-size: 22px; font-weight: 600; @@ -56,19 +64,17 @@ const { icon, name, content, link } = Astro.props as Props font-size: 16px; text-decoration: 1px underline; text-underline-offset: 2px; - color: #c58d49; - background-color: #fff0dd; + @apply bg-normal dark:bg-dark-normal; } .navs-item-link:hover { - background-color: #ffdeb5; + @apply bg-highlight dark:bg-dark-highlight; } .link-icon { - display: inline-block; + display: inline-flex; width: 8px; height: 8px; margin-left: 2px; - background: url(/svgs/home-link.svg) center no-repeat; } @media screen and (max-width: 50em) { diff --git a/src/components/PageContent/Feedback.tsx b/src/components/PageContent/Feedback.tsx index 1909ec905..b5f538837 100644 --- a/src/components/PageContent/Feedback.tsx +++ b/src/components/PageContent/Feedback.tsx @@ -5,8 +5,8 @@ const star = ( @@ -15,8 +15,8 @@ const starOutline = ( @@ -36,6 +36,13 @@ export const Feedback = () => { return } setRating(selectedNumber + 1) + setTimeout(() => { + const scollElement = document.querySelector(".sidebar-nav-inner") + scollElement.scrollTo({ + top: scollElement.scrollHeight, + behavior: "smooth", + }) + }, 0) setIsSent(false) const path = "https://hviedclg.api.lncldglobal.com/1.1/classes/Feedback" const data = { @@ -91,6 +98,7 @@ export const Feedback = () => { style={{ cursor: "pointer", marginRight: "10px", + fontSize: 0, }} > {rating >= i + 1 ? star : starOutline} @@ -99,32 +107,44 @@ export const Feedback = () => {
{!!rating && (
{isSent ? ( -
+
We appreciate your feedback! 🤎
) : ( -
+ -
+