From e59af5fb843ddb89ef603d79febed1e1905a160d Mon Sep 17 00:00:00 2001 From: moonmoon <64200419+Moon-DaeSeung@users.noreply.github.com> Date: Sun, 10 Mar 2024 10:17:14 +0900 Subject: [PATCH 01/27] [MS-7] docs init (#2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * init * 404 * setting is done with sample .mdx * init mdx file * sidebar 추가 * previous next 추가 * init toc * add typography with tailwind * add code highlighter * toc link view 추가 * sidebar design * scroll bar design * header 흐에 * hh --- .vscode/settings.json | 1 + package-lock.json | 649 ++++++++++++++++++ packages/docs/astro.config.mjs | 30 +- packages/docs/package.json | 2 + .../src/components/pages/docs/SideBar.astro | 70 ++ .../docs/src/components/pages/docs/Toc.astro | 70 ++ packages/docs/src/components/ui/Header.astro | 51 +- packages/docs/src/content/config.ts | 19 + .../docs/concepts/state-management.mdx | 9 + .../docs/src/content/docs/concepts/widget.mdx | 10 + .../docs/src/content/docs/introduction.mdx | 26 + .../src/content/docs/widgets/container.mdx | 11 + packages/docs/src/env.d.ts | 1 + packages/docs/src/layouts/DocsLayout.astro | 20 + packages/docs/src/layouts/HomeLayout.astro | 20 + packages/docs/src/layouts/Layout.astro | 49 +- packages/docs/src/pages/404.astro | 11 + packages/docs/src/pages/docs/[...slug].astro | 68 ++ packages/docs/src/pages/index.astro | 6 +- packages/docs/tailwind.config.mjs | 2 +- 20 files changed, 1093 insertions(+), 32 deletions(-) create mode 100644 packages/docs/src/components/pages/docs/SideBar.astro create mode 100644 packages/docs/src/components/pages/docs/Toc.astro create mode 100644 packages/docs/src/content/config.ts create mode 100644 packages/docs/src/content/docs/concepts/state-management.mdx create mode 100644 packages/docs/src/content/docs/concepts/widget.mdx create mode 100644 packages/docs/src/content/docs/introduction.mdx create mode 100644 packages/docs/src/content/docs/widgets/container.mdx create mode 100644 packages/docs/src/layouts/DocsLayout.astro create mode 100644 packages/docs/src/layouts/HomeLayout.astro create mode 100644 packages/docs/src/pages/404.astro create mode 100644 packages/docs/src/pages/docs/[...slug].astro diff --git a/.vscode/settings.json b/.vscode/settings.json index fa6a24f..f126e95 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,6 +4,7 @@ "astrojs", "meursyphus", "meusyphus", + "Shiki", "tailwindcss" ], "editor.formatOnSave": true diff --git a/package-lock.json b/package-lock.json index dfb9735..06e5ebf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -122,6 +122,34 @@ "vfile": "^6.0.1" } }, + "node_modules/@astrojs/mdx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-2.1.1.tgz", + "integrity": "sha512-AgGFdE7HOGmoFooGvMSatkA9FiSKwyVW7ImHot/bXJ6uAbFfu6iG2ht18Cf1pT22Hda/6iSCGWusFvBv0/EnKQ==", + "dependencies": { + "@astrojs/markdown-remark": "4.2.1", + "@mdx-js/mdx": "^3.0.0", + "acorn": "^8.11.2", + "es-module-lexer": "^1.4.1", + "estree-util-visit": "^2.0.0", + "github-slugger": "^2.0.0", + "gray-matter": "^4.0.3", + "hast-util-to-html": "^9.0.0", + "kleur": "^4.1.4", + "rehype-raw": "^7.0.0", + "remark-gfm": "^4.0.0", + "remark-smartypants": "^2.0.0", + "source-map": "^0.7.4", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.1" + }, + "engines": { + "node": ">=18.14.1" + }, + "peerDependencies": { + "astro": "^4.0.0" + } + }, "node_modules/@astrojs/prism": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.0.0.tgz", @@ -1021,6 +1049,40 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@mdx-js/mdx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.1.tgz", + "integrity": "sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-to-js": "^2.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-estree": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "periscopic": "^3.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/@medv/finder": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/@medv/finder/-/finder-3.2.0.tgz", @@ -1264,6 +1326,42 @@ "vite": "^5.0.0" } }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.10.tgz", + "integrity": "sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==", + "dev": true, + "dependencies": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/@tailwindcss/typography/node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "dependencies": { + "@types/estree": "*" + } + }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -1314,6 +1412,14 @@ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "dependencies": { + "@types/estree": "*" + } + }, "node_modules/@types/hast": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", @@ -1330,6 +1436,11 @@ "@types/unist": "*" } }, + "node_modules/@types/mdx": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.11.tgz", + "integrity": "sha512-HM5bwOaIQJIQbAYfax35HCKxx7a3KrK3nBtIqJgSOitivTD1y3oW9P3rxY9RkXYPUk7y/AjAohfHKmFpGE79zw==" + }, "node_modules/@types/ms": { "version": "0.7.34", "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", @@ -1515,6 +1626,14 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, "node_modules/ansi-align": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", @@ -1626,6 +1745,14 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/astring": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", + "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", + "bin": { + "astring": "bin/astring" + } + }, "node_modules/astro": { "version": "4.4.15", "resolved": "https://registry.npmjs.org/astro/-/astro-4.4.15.tgz", @@ -2059,6 +2186,15 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -2254,6 +2390,15 @@ "periscopic": "^3.1.0" } }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/color": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", @@ -2634,6 +2779,69 @@ "node": ">=4" } }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/estree-walker": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", @@ -3039,6 +3247,33 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-to-estree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", + "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-to-html": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.0.tgz", @@ -3062,6 +3297,45 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz", + "integrity": "sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/inline-style-parser": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.2.tgz", + "integrity": "sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==" + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/style-to-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.5.tgz", + "integrity": "sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==", + "dependencies": { + "inline-style-parser": "0.2.2" + } + }, "node_modules/hast-util-to-parse5": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", @@ -3174,6 +3448,33 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "optional": true }, + "node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-arrayish": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", @@ -3224,6 +3525,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-docker": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", @@ -3273,6 +3583,15 @@ "node": ">=0.10.0" } }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-inside-container": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", @@ -3522,6 +3841,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, "node_modules/log-symbols": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", @@ -3595,6 +3932,17 @@ "node": ">=12" } }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/markdown-table": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", @@ -3762,6 +4110,80 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", + "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.1.tgz", + "integrity": "sha512-Di63TQEHbiApe6CFp/qQXCORHMHnmW2JFdr5PYH57LuEIPjijRHicAmL5wQu+B0/Q4p0qJaEOE1EkhiwxiNmAQ==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-remove-position": "^5.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/mdast-util-phrasing": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", @@ -4024,6 +4446,103 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", + "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz", + "integrity": "sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/micromark-factory-destination": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", @@ -4065,6 +4584,31 @@ "micromark-util-types": "^2.0.0" } }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz", + "integrity": "sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, "node_modules/micromark-factory-space": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", @@ -4256,6 +4800,31 @@ } ] }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", + "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, "node_modules/micromark-util-html-tag-name": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", @@ -4764,6 +5333,30 @@ "node": ">=6" } }, + "node_modules/parse-entities": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", + "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + }, "node_modules/parse-latin": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-5.0.1.tgz", @@ -5465,6 +6058,19 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/remark-mdx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.1.tgz", + "integrity": "sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark-parse": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", @@ -6215,6 +6821,14 @@ "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, "node_modules/source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", @@ -6409,6 +7023,14 @@ "node": ">=0.10.0" } }, + "node_modules/style-to-object": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, "node_modules/sucrase": { "version": "3.35.0", "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", @@ -6796,6 +7418,31 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/unist-util-stringify-position": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", @@ -7514,6 +8161,7 @@ "version": "0.0.1", "dependencies": { "@astrojs/check": "^0.5.6", + "@astrojs/mdx": "^2.1.1", "@astrojs/react": "^3.0.10", "@astrojs/svelte": "^5.2.0", "@astrojs/tailwind": "^5.1.0", @@ -7527,6 +8175,7 @@ "typescript": "^5.4.2" }, "devDependencies": { + "@tailwindcss/typography": "^0.5.10", "prettier": "^3.2.5", "prettier-plugin-astro": "^0.13.0" } diff --git a/packages/docs/astro.config.mjs b/packages/docs/astro.config.mjs index 87eeffd..9da37c9 100644 --- a/packages/docs/astro.config.mjs +++ b/packages/docs/astro.config.mjs @@ -1,10 +1,36 @@ import { defineConfig } from "astro/config"; - import react from "@astrojs/react"; import svelte from "@astrojs/svelte"; import tailwind from "@astrojs/tailwind"; +import mdx from "@astrojs/mdx"; + // https://astro.build/config export default defineConfig({ - integrations: [react(), svelte(), tailwind()], + integrations: [react(), svelte(), tailwind(), mdx()], + redirects: { + "/docs": "/docs/introduction", + }, + markdown: { + shikiConfig: { + // Choose from Shiki's built-in themes (or add your own) + // https://github.com/shikijs/shiki/blob/main/docs/themes.md + theme: "dracula", + // Alternatively, provide multiple themes + // https://shiki.style/guide/dual-themes#light-dark-dual-themes + experimentalThemes: { + light: "github-dark", + dark: "github-light", + }, + // Add custom languages + // Note: Shiki has countless langs built-in, including .astro! + // https://github.com/shikijs/shiki/blob/main/docs/languages.md + langs: [], + // Enable word wrap to prevent horizontal scrolling + wrap: true, + // Add custom transformers: https://shiki.style/guide/transformers + // Find common transformers: https://shiki.style/packages/transformers + transformers: [], + }, + }, }); diff --git a/packages/docs/package.json b/packages/docs/package.json index 0a99582..ced763a 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -11,6 +11,7 @@ }, "dependencies": { "@astrojs/check": "^0.5.6", + "@astrojs/mdx": "^2.1.1", "@astrojs/react": "^3.0.10", "@astrojs/svelte": "^5.2.0", "@astrojs/tailwind": "^5.1.0", @@ -24,6 +25,7 @@ "typescript": "^5.4.2" }, "devDependencies": { + "@tailwindcss/typography": "^0.5.10", "prettier": "^3.2.5", "prettier-plugin-astro": "^0.13.0" } diff --git a/packages/docs/src/components/pages/docs/SideBar.astro b/packages/docs/src/components/pages/docs/SideBar.astro new file mode 100644 index 0000000..c04e610 --- /dev/null +++ b/packages/docs/src/components/pages/docs/SideBar.astro @@ -0,0 +1,70 @@ +--- +import { getCollection } from "astro:content"; +const docsEntries = await getCollection("docs"); +// navigation 정보로 표현할 객체 만들기 +const navigation = docsEntries.reduce( + (acc, entry) => { + const { nav_group, nav_group_order, nav_order, title, nav_title } = + entry.data; + + // 해당 navGroup이 이미 존재하는지 확인 + let group = acc.find((g) => g.name === nav_group); + if (!group) { + // 존재하지 않으면 새로운 그룹 생성 + group = { name: nav_group, order: nav_group_order, items: [] }; + acc.push(group); + } + + // 그룹에 문서 추가 + group.items.push({ + url: `/docs/${entry.slug}`, + title: nav_title ?? title, + order: nav_order, + }); + + return acc; + }, + [] as { + name: string; + order: number; + items: { url: string; title: string; order: number }[]; + }[], +); + +// 그룹을 navGroupOrder에 따라 정렬 +navigation.sort((a, b) => a.order - b.order); + +// 각 그룹 내의 항목들을 navOrder에 따라 정렬 +navigation.forEach((group) => { + group.items.sort((a, b) => a.order - b.order); +}); +--- + + + + diff --git a/packages/docs/src/components/pages/docs/Toc.astro b/packages/docs/src/components/pages/docs/Toc.astro new file mode 100644 index 0000000..29caa7b --- /dev/null +++ b/packages/docs/src/components/pages/docs/Toc.astro @@ -0,0 +1,70 @@ +--- +import type { MarkdownHeading } from "astro"; + +interface Props { + headings: MarkdownHeading[]; +} + +const { headings } = Astro.props; +--- + + + + + + diff --git a/packages/docs/src/components/ui/Header.astro b/packages/docs/src/components/ui/Header.astro index acee92c..790a5f4 100644 --- a/packages/docs/src/components/ui/Header.astro +++ b/packages/docs/src/components/ui/Header.astro @@ -1,36 +1,57 @@ +--- +const url = new URL(Astro.request.url); +const pathname = url.pathname; // 현재 페이지의 경로 +--- +
- - + + - +
docs - docs -
-
- tutorial +
+ tutorial
+ + diff --git a/packages/docs/src/content/config.ts b/packages/docs/src/content/config.ts new file mode 100644 index 0000000..dc7a0b2 --- /dev/null +++ b/packages/docs/src/content/config.ts @@ -0,0 +1,19 @@ +import { defineCollection, z } from "astro:content"; + +const docs = defineCollection({ + type: "content", + schema: z.object({ + nav_group: z.string(), + nav_group_order: z.number(), + nav_order: z.number(), + nav_title: z.string().optional(), + title: z.string(), + description: z.string().optional(), + tags: z.array(z.string()).optional(), + image: z.string().optional(), + }) +}); + +export const collections = { + docs: docs, +}; diff --git a/packages/docs/src/content/docs/concepts/state-management.mdx b/packages/docs/src/content/docs/concepts/state-management.mdx new file mode 100644 index 0000000..4870aff --- /dev/null +++ b/packages/docs/src/content/docs/concepts/state-management.mdx @@ -0,0 +1,9 @@ +--- +title: State Management +description: "Learn how to manage state in Flitter." + +nav_group: "Concepts" +nav_group_order: 2 +nav_order: 2 +nav_title: "State Management" +--- \ No newline at end of file diff --git a/packages/docs/src/content/docs/concepts/widget.mdx b/packages/docs/src/content/docs/concepts/widget.mdx new file mode 100644 index 0000000..2a02a83 --- /dev/null +++ b/packages/docs/src/content/docs/concepts/widget.mdx @@ -0,0 +1,10 @@ +--- + +title: Widget +description: Widgets are the basic building blocks of the UI. + +nav_group: "Concepts" +nav_group_order: 2 +nav_order: 1 +nav_title: "Widget" +--- \ No newline at end of file diff --git a/packages/docs/src/content/docs/introduction.mdx b/packages/docs/src/content/docs/introduction.mdx new file mode 100644 index 0000000..ff08b39 --- /dev/null +++ b/packages/docs/src/content/docs/introduction.mdx @@ -0,0 +1,26 @@ +--- +nav_group: "Getting Started" +nav_group_order: 1 +nav_order: 1 +nav_title: "Introduction to Flitter" +title: "Getting Started with Flitter Library" +description: "Learn how to get started with Flitter library." +--- + +# Welcome to Flitter + +Flitter is a cutting-edge framework designed for efficient and declarative manipulation of SVGs. Inspired by the best practices from frameworks like Flutter, Flitter enables developers to create rich, interactive, and scalable vector graphics with minimal code. + +## Key Features + +- **Declarative Syntax**: Write clear and concise code that describes what your SVG should look like, not how to draw it. +- **Framework Agnostic**: Use Flitter with your favorite JavaScript frameworks, including React, Svelte, and more. +- **Rich Widget Library**: Access a comprehensive library of pre-built SVG widgets that can be easily customized and extended. +- **Performance Optimized**: Enjoy smooth and fast rendering performance for even the most complex vector graphics. + +## Getting Started + +To get started with Flitter, install the library in your project: + +```bash +npm install flitter-svg diff --git a/packages/docs/src/content/docs/widgets/container.mdx b/packages/docs/src/content/docs/widgets/container.mdx new file mode 100644 index 0000000..03d1e39 --- /dev/null +++ b/packages/docs/src/content/docs/widgets/container.mdx @@ -0,0 +1,11 @@ +--- +title: Container +description: Container is a widget that can contain other widgets. +tags: ["Widgets", "Container"] + +nav_group: "Widgets" +nav_group_order: 3 +nav_order: 1 +nav_title: "Container" +--- + diff --git a/packages/docs/src/env.d.ts b/packages/docs/src/env.d.ts index f964fe0..acef35f 100644 --- a/packages/docs/src/env.d.ts +++ b/packages/docs/src/env.d.ts @@ -1 +1,2 @@ +/// /// diff --git a/packages/docs/src/layouts/DocsLayout.astro b/packages/docs/src/layouts/DocsLayout.astro new file mode 100644 index 0000000..91fae9b --- /dev/null +++ b/packages/docs/src/layouts/DocsLayout.astro @@ -0,0 +1,20 @@ +--- +import Layout from "./Layout.astro"; +interface Props { + title?: string; + description?: string; + image?: string; +} + +const { title } = Astro.props; +--- + + + + + + diff --git a/packages/docs/src/layouts/HomeLayout.astro b/packages/docs/src/layouts/HomeLayout.astro new file mode 100644 index 0000000..8666615 --- /dev/null +++ b/packages/docs/src/layouts/HomeLayout.astro @@ -0,0 +1,20 @@ +--- +import Footer from "../components/ui/Footer.astro"; +import Layout from "./Layout.astro"; +interface Props { + title: string; +} + +const { title } = Astro.props; +--- + + + +
+ + + diff --git a/packages/docs/src/layouts/Layout.astro b/packages/docs/src/layouts/Layout.astro index 8594f27..08aec6f 100644 --- a/packages/docs/src/layouts/Layout.astro +++ b/packages/docs/src/layouts/Layout.astro @@ -1,8 +1,9 @@ --- -import Header from '../components/ui/Header.astro'; -import Footer from '../components/ui/Footer.astro'; +import Header from "../components/ui/Header.astro"; interface Props { - title: string; + title?: string; + description?: string; + image?: string; } const { title } = Astro.props; @@ -16,12 +17,13 @@ const { title } = Astro.props; - {title} + {title ?? "Flitter"} -
- -
+
+
+ +
diff --git a/packages/docs/src/pages/404.astro b/packages/docs/src/pages/404.astro new file mode 100644 index 0000000..ca2f574 --- /dev/null +++ b/packages/docs/src/pages/404.astro @@ -0,0 +1,11 @@ +--- +import Layout from "../layouts/HomeLayout.astro"; +--- + + +
+

404

+

죄송합니다. 찾으시는 페이지를 찾을 수 없습니다.

+ 홈으로 돌아가기 +
+
\ No newline at end of file diff --git a/packages/docs/src/pages/docs/[...slug].astro b/packages/docs/src/pages/docs/[...slug].astro new file mode 100644 index 0000000..6bcc4de --- /dev/null +++ b/packages/docs/src/pages/docs/[...slug].astro @@ -0,0 +1,68 @@ +--- +import Layout from "../../layouts/DocsLayout.astro"; +import SideBar from "../../components/pages/docs/SideBar.astro"; +import Toc from "../../components/pages/docs/Toc.astro"; +import { getCollection } from "astro:content"; + +export async function getStaticPaths() { + const docsEntries = await getCollection("docs"); + + return docsEntries.map((entry) => ({ + params: { slug: entry.slug }, + props: { entry }, + })); +} + +const { entry } = Astro.props; +const { Content, headings } = await entry.render(); +const docsEntries = await getCollection("docs"); + +// docsEntries를 nav_group_order와 nav_order를 기준으로 정렬 +const sortedEntries = docsEntries.sort((a, b) => { + const groupOrderDiff = a.data.nav_group_order - b.data.nav_group_order; + if (groupOrderDiff === 0) { + // 같은 그룹 내에서는 nav_order를 기준으로 정렬 + return a.data.nav_order - b.data.nav_order; + } + return groupOrderDiff; +}); +// 현재 entry의 인덱스 찾기 +const currentIndex = sortedEntries.findIndex((it) => it.slug === entry.slug); + +// 이전 및 다음 entry 찾기 +const prevEntry = currentIndex > 0 ? sortedEntries[currentIndex - 1] : null; +const nextEntry = + currentIndex < sortedEntries.length - 1 + ? sortedEntries[currentIndex + 1] + : null; +--- + + +
+ +
+ +
+ { + prevEntry && ( + {prevEntry.data.nav_title} + ) + } + { + nextEntry && ( + {nextEntry.data.nav_title} + ) + } +
+
+ +
+
+ + + + diff --git a/packages/docs/src/pages/index.astro b/packages/docs/src/pages/index.astro index e936511..cea59d9 100644 --- a/packages/docs/src/pages/index.astro +++ b/packages/docs/src/pages/index.astro @@ -1,5 +1,5 @@ --- -import Layout from "../layouts/Layout.astro"; +import Layout from "../layouts/HomeLayout.astro"; import Intro from '../components/pages/Intro.astro' import Features from '../components/pages/Features.astro' import ShowCase from '../components/pages/ShowCase.astro' @@ -8,8 +8,8 @@ import Author from '../components/pages/Author.astro' import StartGuide from '../components/pages/StartGuide.astro' --- - -
+ +
diff --git a/packages/docs/tailwind.config.mjs b/packages/docs/tailwind.config.mjs index f8a2096..2e9b1f7 100644 --- a/packages/docs/tailwind.config.mjs +++ b/packages/docs/tailwind.config.mjs @@ -4,5 +4,5 @@ export default { theme: { extend: {}, }, - plugins: [], + plugins: [require("@tailwindcss/typography")], }; From 22fc827f91b1c5fa5b2dd1638556ce05aa7afc5f Mon Sep 17 00:00:00 2001 From: moonmoon <64200419+Moon-DaeSeung@users.noreply.github.com> Date: Sun, 10 Mar 2024 18:02:23 +0900 Subject: [PATCH 02/27] [MS-4] showcase is added (#3) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * init * 404 * setting is done with sample .mdx * init mdx file * sidebar 추가 * previous next 추가 * init toc * add typography with tailwind * add code highlighter * toc link view 추가 * sidebar design * scroll bar design * header 흐에 * hh * add show-cases * add chart * show cases --- .vscode/settings.json | 6 +- package-lock.json | 588 +- packages/docs/package-lock.json | 6402 ----------------- packages/docs/package.json | 6 + .../docs/src/components/pages/ShowCase.astro | 84 +- .../docs/src/components/pages/show-cases.tsx | 807 +++ packages/docs/src/pages/index.astro | 14 +- 7 files changed, 1362 insertions(+), 6545 deletions(-) delete mode 100644 packages/docs/package-lock.json create mode 100644 packages/docs/src/components/pages/show-cases.tsx diff --git a/.vscode/settings.json b/.vscode/settings.json index f126e95..5f5e679 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,10 +2,14 @@ "cSpell.words": [ "astro", "astrojs", + "egjs", + "flutterjs", "meursyphus", "meusyphus", + "moonmoonbrothers", "Shiki", - "tailwindcss" + "tailwindcss", + "uglychart" ], "editor.formatOnSave": true } diff --git a/package-lock.json b/package-lock.json index 06e5ebf..54c9676 100644 --- a/package-lock.json +++ b/package-lock.json @@ -290,14 +290,6 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/generator": { "version": "7.23.6", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", @@ -338,14 +330,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-environment-visitor": { "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", @@ -603,6 +587,77 @@ "node": ">=6.9.0" } }, + "node_modules/@cfcs/core": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@cfcs/core/-/core-0.1.0.tgz", + "integrity": "sha512-kvYX0RpL45XTHJ5sW7teNbKeAa7pK3nNqaJPoFfZDPTIBJOkTtRD3QhkBG+O3Hu69a8xeMoPvF6y/RtJ6JUOdA==", + "dependencies": { + "@egjs/component": "^3.0.4" + } + }, + "node_modules/@egjs/agent": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@egjs/agent/-/agent-2.4.3.tgz", + "integrity": "sha512-XvksSENe8wPeFlEVouvrOhKdx8HMniJ3by7sro2uPF3M6QqWwjzVcmvwoPtdjiX8O1lfRoLhQMp1a7NGlVTdIA==" + }, + "node_modules/@egjs/axes": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@egjs/axes/-/axes-3.9.0.tgz", + "integrity": "sha512-V+HxHxEGmlu/0yJ9kqlj2doiJt1yVeROTy/0Qf+IaJ9hMabjzUgfYffGR+3atcRpejjGbcpAIiBrGbAkDVaLjg==", + "dependencies": { + "@cfcs/core": "^0.1.0", + "@egjs/agent": "^2.2.1", + "@egjs/component": "^3.0.1" + } + }, + "node_modules/@egjs/component": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@egjs/component/-/component-3.0.5.tgz", + "integrity": "sha512-cLcGizTrrUNA2EYE3MBmEDt2tQv1joVP1Q3oDisZ5nw0MZDx2kcgEXM+/kZpfa/PAkFvYVhRUZwytIQWoN3V/w==" + }, + "node_modules/@egjs/flicking": { + "version": "4.11.2", + "resolved": "https://registry.npmjs.org/@egjs/flicking/-/flicking-4.11.2.tgz", + "integrity": "sha512-qOAn3NUpVlPkakaVJYFeFg5LlNNoh+QJVjFEcj4maQ9T+gRngWKha/cYpPgYukMIsjS5F8XYcgeeOINK/md62A==", + "dependencies": { + "@egjs/axes": "^3.9.0", + "@egjs/component": "^3.0.1", + "@egjs/imready": "^1.3.1", + "@egjs/list-differ": "^1.0.1" + } + }, + "node_modules/@egjs/imready": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@egjs/imready/-/imready-1.4.1.tgz", + "integrity": "sha512-JIOBs4lB7FYdsKi5uvz2j3SObX8eShtZjtqlOH41tm185aJOQZwiKBK8+V4MxzG4X6DqVhpdN8UcuVwBbElfsg==", + "dependencies": { + "@cfcs/core": "^0.0.24", + "@egjs/component": "^3.0.1" + } + }, + "node_modules/@egjs/imready/node_modules/@cfcs/core": { + "version": "0.0.24", + "resolved": "https://registry.npmjs.org/@cfcs/core/-/core-0.0.24.tgz", + "integrity": "sha512-feB38qu+eDk0Pggh/yR7gjaNmvUYA2uCxHP3Pz2MLE4LZ/9jPdtu8bzCSI47yTEhWyZCF5Pk698hdz8IN2mTjA==", + "dependencies": { + "@egjs/component": "^3.0.4" + } + }, + "node_modules/@egjs/list-differ": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@egjs/list-differ/-/list-differ-1.0.1.tgz", + "integrity": "sha512-OTFTDQcWS+1ZREOdCWuk5hCBgYO4OsD30lXcOCyVOAjXMhgL5rBRDnt/otb6Nz8CzU0L/igdcaQBDLWc4t9gvg==" + }, + "node_modules/@egjs/react-flicking": { + "version": "4.11.2", + "resolved": "https://registry.npmjs.org/@egjs/react-flicking/-/react-flicking-4.11.2.tgz", + "integrity": "sha512-tayEvJFMj97w+3iDDQVKQl02dc8Z3VoZ7rjU5vBGJP3XFVsoZXyelQIly4a/EtR+4KJj6RvVGj5CT4Rg7juRdw==", + "dependencies": { + "@egjs/component": "^3.0.2", + "@egjs/flicking": "~4.11.2", + "@egjs/list-differ": "^1.0.1" + } + }, "node_modules/@emmetio/abbreviation": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.3.3.tgz", @@ -1092,6 +1147,40 @@ "resolved": "packages/docs", "link": true }, + "node_modules/@moonmoonbrothers/flutterjs": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@moonmoonbrothers/flutterjs/-/flutterjs-1.2.3.tgz", + "integrity": "sha512-i9W4XDOjc4zCTcr9nmzKdms+WDw1Ka4NpbZduQBj4A/XLMWWBs/IHGssQujpaHKsdFWtFiHjX+D3dZVBKWq+tQ==", + "dependencies": { + "color-rgba": "^3.0.0", + "popmotion": "^11.0.5", + "short-unique-id": "^5.0.3" + } + }, + "node_modules/@moonmoonbrothers/flutterjs-react": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@moonmoonbrothers/flutterjs-react/-/flutterjs-react-0.0.3.tgz", + "integrity": "sha512-MShJJVEzNvLqQOGGXKggi3YVIbd2jRlroR/OQMtGLxih7nP0Mb+YRHKGdToGPUl3C9tUQf1jkb5mdR6gKjsa/Q==", + "dependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@moonmoonbrothers/flutterjs-svelte": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@moonmoonbrothers/flutterjs-svelte/-/flutterjs-svelte-0.0.4.tgz", + "integrity": "sha512-4Bd2mNxyeYhsCcV4J1KDfAhTWa9svWWnusTVPAiWe/U+Mblknh9qOnMcaL2YwAP6c3rDxda27xU5GO4TPg/0Yg==", + "dependencies": { + "linkedom": "^0.14.21" + }, + "peerDependencies": { + "@moonmoonbrothers/flutterjs": "^1.2.0" + } + }, + "node_modules/@moonmoonbrothers/uglychart": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/@moonmoonbrothers/uglychart/-/uglychart-0.0.15.tgz", + "integrity": "sha512-tZh0+/n1vDl2W8bAjUXJVUJ4oPR5N3p4+XggVLpUDDV7Azs18Gornhv5nmC6REQ9W6tWtgKyeRsMmK1eg9U0ng==" + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1330,7 +1419,6 @@ "version": "0.5.10", "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.10.tgz", "integrity": "sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==", - "dev": true, "dependencies": { "lodash.castarray": "^4.4.0", "lodash.isplainobject": "^4.0.6", @@ -1341,19 +1429,6 @@ "tailwindcss": ">=3.0.0 || insiders" } }, - "node_modules/@tailwindcss/typography/node_modules/postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@types/acorn": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", @@ -1834,6 +1909,36 @@ "sharp": "^0.32.6" } }, + "node_modules/astro/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/astro/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/astro/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, "node_modules/autoprefixer": { "version": "10.4.18", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.18.tgz", @@ -1973,6 +2078,11 @@ "readable-stream": "^3.4.0" } }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, "node_modules/boxen": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", @@ -2425,6 +2535,28 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "node_modules/color-parse": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.0.tgz", + "integrity": "sha512-g2Z+QnWsdHLppAbrpcFWo629kLOnOPtpxYV69GCqm92gqSgyXbzlfyN3MXs0412fPBkFmiuS+rXposgBgBa6Kg==", + "dependencies": { + "color-name": "^1.0.0" + } + }, + "node_modules/color-rgba": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/color-rgba/-/color-rgba-3.0.0.tgz", + "integrity": "sha512-PPwZYkEY3M2THEHHV6Y95sGUie77S7X8v+h1r6LSAPF3/LL2xJ8duUXSrkic31Nzc4odPwHgUbiX/XuTYzQHQg==", + "dependencies": { + "color-parse": "^2.0.0", + "color-space": "^2.0.0" + } + }, + "node_modules/color-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-space/-/color-space-2.0.1.tgz", + "integrity": "sha512-nKqUYlo0vZATVOFHY810BSYjmCARrG7e5R3UE3CQlyjJTvv5kSSmPG1kzm/oDyyqjehM+lW1RnEt9It9GNa5JA==" + }, "node_modules/color-string": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", @@ -2501,6 +2633,21 @@ "node": ">= 8" } }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, "node_modules/css-tree": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", @@ -2513,6 +2660,17 @@ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -2524,6 +2682,11 @@ "node": ">=4" } }, + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==" + }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", @@ -2657,6 +2820,57 @@ "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, "node_modules/dset": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.3.tgz", @@ -3001,6 +3215,14 @@ "url": "https://github.com/sponsors/rawify" } }, + "node_modules/framesync": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.1.2.tgz", + "integrity": "sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==", + "dependencies": { + "tslib": "2.4.0" + } + }, "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", @@ -3382,6 +3604,11 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hey-listen": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", + "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" + }, "node_modules/html-escaper": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", @@ -3396,6 +3623,24 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, "node_modules/http-cache-semantics": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", @@ -3788,6 +4033,18 @@ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, + "node_modules/linkedom": { + "version": "0.14.26", + "resolved": "https://registry.npmjs.org/linkedom/-/linkedom-0.14.26.tgz", + "integrity": "sha512-mK6TrydfFA7phrnp+1j57ycBwFI5bGSW6YXlw9acHoqF+mP/y+FooEYYyniOt5Ot57FSKB3iwmnuQ1UUyNLm5A==", + "dependencies": { + "css-select": "^5.1.0", + "cssom": "^0.5.0", + "html-escaper": "^3.0.3", + "htmlparser2": "^8.0.1", + "uhyphen": "^0.2.0" + } + }, "node_modules/load-yaml-file": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", @@ -3822,6 +4079,14 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/load-yaml-file/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, "node_modules/locate-character": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", @@ -3844,20 +4109,17 @@ "node_modules/lodash.castarray": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", - "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", - "dev": true + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, "node_modules/log-symbols": { "version": "5.1.0", @@ -5106,6 +5368,39 @@ "node": ">=10" } }, + "node_modules/node-abi/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-abi/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "optional": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-abi/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true + }, "node_modules/node-addon-api": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", @@ -5158,6 +5453,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -5472,11 +5778,11 @@ } }, "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, "node_modules/pirates": { @@ -5546,6 +5852,17 @@ "node": ">=8" } }, + "node_modules/popmotion": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-11.0.5.tgz", + "integrity": "sha512-la8gPM1WYeFznb/JqF4GiTkRRPZsfaj2+kCxqQgr2MJylMmIKUwBfWW8Wa5fml/8gmtlD5yI01MP1QCZPWmppA==", + "dependencies": { + "framesync": "6.1.2", + "hey-listen": "^1.0.8", + "style-value-types": "5.1.2", + "tslib": "2.4.0" + } + }, "node_modules/postcss": { "version": "8.4.35", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", @@ -5659,7 +5976,7 @@ "postcss": "^8.2.14" } }, - "node_modules/postcss-selector-parser": { + "node_modules/postcss-nested/node_modules/postcss-selector-parser": { "version": "6.0.15", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", @@ -5671,6 +5988,18 @@ "node": ">=4" } }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", @@ -5952,14 +6281,6 @@ "pify": "^2.3.0" } }, - "node_modules/read-cache/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -6667,35 +6988,13 @@ } }, "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dependencies": { - "lru-cache": "^6.0.0" - }, + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" } }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/sharp": { "version": "0.32.6", "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", @@ -6719,6 +7018,39 @@ "url": "https://opencollective.com/libvips" } }, + "node_modules/sharp/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "optional": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -6751,6 +7083,15 @@ "resolved": "https://registry.npmjs.org/shikiji-core/-/shikiji-core-0.9.19.tgz", "integrity": "sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw==" }, + "node_modules/short-unique-id": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/short-unique-id/-/short-unique-id-5.0.3.tgz", + "integrity": "sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==", + "bin": { + "short-unique-id": "bin/short-unique-id", + "suid": "bin/short-unique-id" + } + }, "node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", @@ -7031,6 +7372,15 @@ "inline-style-parser": "0.1.1" } }, + "node_modules/style-value-types": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-5.1.2.tgz", + "integrity": "sha512-Vs9fNreYF9j6W2VvuDTP7kepALi7sk0xtk2Tu8Yxi9UoajJdEVpNpCov0HsLTqXvNGKX+Uv09pkozVITi1jf3Q==", + "dependencies": { + "hey-listen": "^1.0.8", + "tslib": "2.4.0" + } + }, "node_modules/sucrase": { "version": "3.35.0", "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", @@ -7186,6 +7536,18 @@ "node": ">=10" } }, + "node_modules/tailwindcss/node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/tar-fs": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.5.tgz", @@ -7292,9 +7654,9 @@ } }, "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, "node_modules/tunnel-agent": { "version": "0.6.0", @@ -7344,6 +7706,41 @@ "semver": "^7.3.8" } }, + "node_modules/typescript-auto-import-cache/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/typescript-auto-import-cache/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/typescript-auto-import-cache/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/uhyphen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/uhyphen/-/uhyphen-0.2.0.tgz", + "integrity": "sha512-qz3o9CHXmJJPGBdqzab7qAYuW8kQGKNEuoHFYrBwV6hWIMcpAmxDLXojcHfFr9US1Pe6zUswEIJIbLI610fuqA==" + }, "node_modules/ultrahtml": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.5.3.tgz", @@ -7746,6 +8143,36 @@ } } }, + "node_modules/volar-service-typescript/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/volar-service-typescript/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/volar-service-typescript/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, "node_modules/vscode-css-languageservice": { "version": "6.2.12", "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.2.12.tgz", @@ -8165,6 +8592,12 @@ "@astrojs/react": "^3.0.10", "@astrojs/svelte": "^5.2.0", "@astrojs/tailwind": "^5.1.0", + "@egjs/react-flicking": "^4.11.2", + "@moonmoonbrothers/flutterjs": "^1.2.3", + "@moonmoonbrothers/flutterjs-react": "^0.0.3", + "@moonmoonbrothers/flutterjs-svelte": "^0.0.4", + "@moonmoonbrothers/uglychart": "^0.0.15", + "@tailwindcss/typography": "^0.5.10", "@types/react": "^18.2.64", "@types/react-dom": "^18.2.21", "astro": "^4.4.15", @@ -8175,7 +8608,6 @@ "typescript": "^5.4.2" }, "devDependencies": { - "@tailwindcss/typography": "^0.5.10", "prettier": "^3.2.5", "prettier-plugin-astro": "^0.13.0" } diff --git a/packages/docs/package-lock.json b/packages/docs/package-lock.json deleted file mode 100644 index f116872..0000000 --- a/packages/docs/package-lock.json +++ /dev/null @@ -1,6402 +0,0 @@ -{ - "name": "teal-transit", - "version": "0.0.1", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "teal-transit", - "version": "0.0.1", - "dependencies": { - "@astrojs/check": "^0.5.6", - "astro": "^4.4.15", - "typescript": "^5.4.2" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@astrojs/check": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@astrojs/check/-/check-0.5.6.tgz", - "integrity": "sha512-i7j5ogoSg/Bu2NV5zVvwCo9R4kGWXWsJDejxpCu9F7iNNlR333u8EwpP4bpeKASDtjOA1rXKo9ogUTEVlIAHqA==", - "dependencies": { - "@astrojs/language-server": "^2.7.6", - "chokidar": "^3.5.3", - "fast-glob": "^3.3.1", - "kleur": "^4.1.5", - "yargs": "^17.7.2" - }, - "bin": { - "astro-check": "dist/bin.js" - }, - "peerDependencies": { - "typescript": "^5.0.0" - } - }, - "node_modules/@astrojs/compiler": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.7.0.tgz", - "integrity": "sha512-XpC8MAaWjD1ff6/IfkRq/5k1EFj6zhCNqXRd5J43SVJEBj/Bsmizkm8N0xOYscGcDFQkRgEw6/eKnI5x/1l6aA==" - }, - "node_modules/@astrojs/internal-helpers": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.2.1.tgz", - "integrity": "sha512-06DD2ZnItMwUnH81LBLco3tWjcZ1lGU9rLCCBaeUCGYe9cI0wKyY2W3kDyoW1I6GmcWgt1fu+D1CTvz+FIKf8A==" - }, - "node_modules/@astrojs/language-server": { - "version": "2.7.6", - "resolved": "https://registry.npmjs.org/@astrojs/language-server/-/language-server-2.7.6.tgz", - "integrity": "sha512-NhMSmMAuKBMXnvpfn9eYPR7R6zOasAjRb+ta8L+rCHHuKzUc0lBgAF5M6rx01FJqlpGqeqao13eYt4287Ze49g==", - "dependencies": { - "@astrojs/compiler": "^2.4.0", - "@jridgewell/sourcemap-codec": "^1.4.15", - "@volar/kit": "~2.0.4", - "@volar/language-core": "~2.0.4", - "@volar/language-server": "~2.0.4", - "@volar/language-service": "~2.0.4", - "@volar/typescript": "~2.0.4", - "fast-glob": "^3.2.12", - "volar-service-css": "0.0.30", - "volar-service-emmet": "0.0.30", - "volar-service-html": "0.0.30", - "volar-service-prettier": "0.0.30", - "volar-service-typescript": "0.0.30", - "volar-service-typescript-twoslash-queries": "0.0.30", - "vscode-html-languageservice": "^5.1.2", - "vscode-uri": "^3.0.8" - }, - "bin": { - "astro-ls": "bin/nodeServer.js" - }, - "peerDependencies": { - "prettier": "^3.0.0", - "prettier-plugin-astro": ">=0.11.0" - }, - "peerDependenciesMeta": { - "prettier": { - "optional": true - }, - "prettier-plugin-astro": { - "optional": true - } - } - }, - "node_modules/@astrojs/markdown-remark": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-4.2.1.tgz", - "integrity": "sha512-2RQBIwrq+2qPYtp99bH+eL5hfbK0BoxXla85lHsRpIX/IsGqFrPX6pXI2cbWPihBwGbKCdxS6uZNX2QerZWwpQ==", - "dependencies": { - "@astrojs/prism": "^3.0.0", - "github-slugger": "^2.0.0", - "import-meta-resolve": "^4.0.0", - "mdast-util-definitions": "^6.0.0", - "rehype-raw": "^7.0.0", - "rehype-stringify": "^10.0.0", - "remark-gfm": "^4.0.0", - "remark-parse": "^11.0.0", - "remark-rehype": "^11.0.0", - "remark-smartypants": "^2.0.0", - "shikiji": "^0.9.18", - "unified": "^11.0.4", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.1" - } - }, - "node_modules/@astrojs/prism": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.0.0.tgz", - "integrity": "sha512-g61lZupWq1bYbcBnYZqdjndShr/J3l/oFobBKPA3+qMat146zce3nz2kdO4giGbhYDt4gYdhmoBz0vZJ4sIurQ==", - "dependencies": { - "prismjs": "^1.29.0" - }, - "engines": { - "node": ">=18.14.1" - } - }, - "node_modules/@astrojs/telemetry": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.0.4.tgz", - "integrity": "sha512-A+0c7k/Xy293xx6odsYZuXiaHO0PL+bnDoXOc47sGDF5ffIKdKQGRPFl2NMlCF4L0NqN4Ynbgnaip+pPF0s7pQ==", - "dependencies": { - "ci-info": "^3.8.0", - "debug": "^4.3.4", - "dlv": "^1.1.3", - "dset": "^3.1.2", - "is-docker": "^3.0.0", - "is-wsl": "^3.0.0", - "which-pm-runs": "^1.1.0" - }, - "engines": { - "node": ">=18.14.1" - } - }, - "node_modules/@astrojs/telemetry/node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz", - "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.0", - "@babel/parser": "^7.24.0", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.0", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", - "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", - "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", - "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", - "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", - "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", - "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/types": "^7.23.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", - "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", - "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@emmetio/abbreviation": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.3.3.tgz", - "integrity": "sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==", - "dependencies": { - "@emmetio/scanner": "^1.0.4" - } - }, - "node_modules/@emmetio/css-abbreviation": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@emmetio/css-abbreviation/-/css-abbreviation-2.1.8.tgz", - "integrity": "sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==", - "dependencies": { - "@emmetio/scanner": "^1.0.4" - } - }, - "node_modules/@emmetio/scanner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.4.tgz", - "integrity": "sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==" - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", - "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", - "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", - "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", - "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", - "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", - "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", - "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", - "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", - "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", - "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", - "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", - "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", - "cpu": [ - "loong64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", - "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", - "cpu": [ - "mips64el" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", - "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", - "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", - "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", - "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", - "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", - "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", - "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", - "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", - "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", - "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@medv/finder": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@medv/finder/-/finder-3.2.0.tgz", - "integrity": "sha512-JmU7JIBwyL8RAzefvzALT4sP2M0biGk8i2invAgpQmma/QgfsaqoHIvJ7S0YC8n9hUVG8X3Leul2nGa06PvhbQ==" - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.1.tgz", - "integrity": "sha512-iU2Sya8hNn1LhsYyf0N+L4Gf9Qc+9eBTJJJsaOGUp+7x4n2M9dxTt8UvhJl3oeftSjblSlpCfvjA/IfP3g5VjQ==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.1.tgz", - "integrity": "sha512-wlzcWiH2Ir7rdMELxFE5vuM7D6TsOcJ2Yw0c3vaBR3VOsJFVTx9xvwnAvhgU5Ii8Gd6+I11qNHwndDscIm0HXg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.1.tgz", - "integrity": "sha512-YRXa1+aZIFN5BaImK+84B3uNK8C6+ynKLPgvn29X9s0LTVCByp54TB7tdSMHDR7GTV39bz1lOmlLDuedgTwwHg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.1.tgz", - "integrity": "sha512-opjWJ4MevxeA8FhlngQWPBOvVWYNPFkq6/25rGgG+KOy0r8clYwL1CFd+PGwRqqMFVQ4/Qd3sQu5t7ucP7C/Uw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.1.tgz", - "integrity": "sha512-uBkwaI+gBUlIe+EfbNnY5xNyXuhZbDSx2nzzW8tRMjUmpScd6lCQYKY2V9BATHtv5Ef2OBq6SChEP8h+/cxifQ==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.1.tgz", - "integrity": "sha512-0bK9aG1kIg0Su7OcFTlexkVeNZ5IzEsnz1ept87a0TUgZ6HplSgkJAnFpEVRW7GRcikT4GlPV0pbtVedOaXHQQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.1.tgz", - "integrity": "sha512-qB6AFRXuP8bdkBI4D7UPUbE7OQf7u5OL+R94JE42Z2Qjmyj74FtDdLGeriRyBDhm4rQSvqAGCGC01b8Fu2LthQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.1.tgz", - "integrity": "sha512-sHig3LaGlpNgDj5o8uPEoGs98RII8HpNIqFtAI8/pYABO8i0nb1QzT0JDoXF/pxzqO+FkxvwkHZo9k0NJYDedg==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.1.tgz", - "integrity": "sha512-nD3YcUv6jBJbBNFvSbp0IV66+ba/1teuBcu+fBBPZ33sidxitc6ErhON3JNavaH8HlswhWMC3s5rgZpM4MtPqQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.1.tgz", - "integrity": "sha512-7/XVZqgBby2qp/cO0TQ8uJK+9xnSdJ9ct6gSDdEr4MfABrjTyrW6Bau7HQ73a2a5tPB7hno49A0y1jhWGDN9OQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.1.tgz", - "integrity": "sha512-CYc64bnICG42UPL7TrhIwsJW4QcKkIt9gGlj21gq3VV0LL6XNb1yAdHVp1pIi9gkts9gGcT3OfUYHjGP7ETAiw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.1.tgz", - "integrity": "sha512-LN+vnlZ9g0qlHGlS920GR4zFCqAwbv2lULrR29yGaWP9u7wF5L7GqWu9Ah6/kFZPXPUkpdZwd//TNR+9XC9hvA==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.1.tgz", - "integrity": "sha512-n+vkrSyphvmU0qkQ6QBNXCGr2mKjhP08mPRM/Xp5Ck2FV4NrHU+y6axzDeixUrCBHVUS51TZhjqrKBBsHLKb2Q==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", - "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" - }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/mdast": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", - "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/ms": { - "version": "0.7.34", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", - "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" - }, - "node_modules/@types/nlcst": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-1.0.4.tgz", - "integrity": "sha512-ABoYdNQ/kBSsLvZAekMhIPMQ3YUZvavStpKYs7BjLLuKVmIMA0LUgZ7b54zzuWJRbHF80v1cNf4r90Vd6eMQDg==", - "dependencies": { - "@types/unist": "^2" - } - }, - "node_modules/@types/nlcst/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" - }, - "node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" - }, - "node_modules/@volar/kit": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@volar/kit/-/kit-2.0.4.tgz", - "integrity": "sha512-USRx/o0jKz7o8+lEKWMxWqbqvC46XFrf3IE6CZBYzRo9kM7RERQLwUYaoT2bOcHt5DQWublpnTgdgHMm37Gysg==", - "dependencies": { - "@volar/language-service": "2.0.4", - "@volar/typescript": "2.0.4", - "typesafe-path": "^0.2.2", - "vscode-languageserver-textdocument": "^1.0.11", - "vscode-uri": "^3.0.8" - }, - "peerDependencies": { - "typescript": "*" - } - }, - "node_modules/@volar/language-core": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.0.4.tgz", - "integrity": "sha512-VhC8i03P0x9LKGLTBi81xNTNWm40yxQ/Iba8IpH+LFr+Yb7c/D7fF90Cvf31MzPDM4G5rjIOlCfs+eQKPBkwQw==", - "dependencies": { - "@volar/source-map": "2.0.4" - } - }, - "node_modules/@volar/language-server": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@volar/language-server/-/language-server-2.0.4.tgz", - "integrity": "sha512-VnljhooQjT6RhmvwwJK9+3YYs2ovFmav4IVNHiQgnTMfiOiyABzcghwvJrJrI39rJDI6LNOWF7BYUJq7K07BKQ==", - "dependencies": { - "@volar/language-core": "2.0.4", - "@volar/language-service": "2.0.4", - "@volar/snapshot-document": "2.0.4", - "@volar/typescript": "2.0.4", - "@vscode/l10n": "^0.0.16", - "path-browserify": "^1.0.1", - "request-light": "^0.7.0", - "vscode-languageserver": "^9.0.1", - "vscode-languageserver-protocol": "^3.17.5", - "vscode-languageserver-textdocument": "^1.0.11", - "vscode-uri": "^3.0.8" - } - }, - "node_modules/@volar/language-service": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-2.0.4.tgz", - "integrity": "sha512-DoanyU9I9Nl85lUytDl8jgyk+nrUDR5CFNVMrxWXGXclP4WTqBayBgSFAeF1L/5AwP3MywmWoK4GLAEVvl8D+Q==", - "dependencies": { - "@volar/language-core": "2.0.4", - "vscode-languageserver-protocol": "^3.17.5", - "vscode-languageserver-textdocument": "^1.0.11", - "vscode-uri": "^3.0.8" - } - }, - "node_modules/@volar/snapshot-document": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@volar/snapshot-document/-/snapshot-document-2.0.4.tgz", - "integrity": "sha512-YzgdmvpdRFxiBFCOVWga67naAtbPtKmPaFtGnmxWx+KXrjGkpUXT/2tzeKn5FLdtoYV+DRTdpMdP/45ArnVwZQ==", - "dependencies": { - "vscode-languageserver-protocol": "^3.17.5", - "vscode-languageserver-textdocument": "^1.0.11" - } - }, - "node_modules/@volar/source-map": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.0.4.tgz", - "integrity": "sha512-BbxUinEMoJZqrHsSj1aBa0boCBnN3BoXnf7j9IBwjxosxGXOhCvqmH2L9raJemadaKjeVR8ZQLhV7AOhyoHt/Q==", - "dependencies": { - "muggle-string": "^0.4.0" - } - }, - "node_modules/@volar/typescript": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.0.4.tgz", - "integrity": "sha512-KF7yh7GIo4iWuAQOKf/ONeFHdQA+wFriitW8LtGZB4iOOT6MdlRlYNsRL8do7XxmXvsBKcs4jTMtGn+uZRwlWg==", - "dependencies": { - "@volar/language-core": "2.0.4", - "path-browserify": "^1.0.1" - } - }, - "node_modules/@vscode/emmet-helper": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/@vscode/emmet-helper/-/emmet-helper-2.9.2.tgz", - "integrity": "sha512-MaGuyW+fa13q3aYsluKqclmh62Hgp0BpKIqS66fCxfOaBcVQ1OnMQxRRgQUYnCkxFISAQlkJ0qWWPyXjro1Qrg==", - "dependencies": { - "emmet": "^2.4.3", - "jsonc-parser": "^2.3.0", - "vscode-languageserver-textdocument": "^1.0.1", - "vscode-languageserver-types": "^3.15.1", - "vscode-uri": "^2.1.2" - } - }, - "node_modules/@vscode/emmet-helper/node_modules/vscode-uri": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz", - "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==" - }, - "node_modules/@vscode/l10n": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.16.tgz", - "integrity": "sha512-JT5CvrIYYCrmB+dCana8sUqJEcGB1ZDXNLMQ2+42bW995WmNoenijWMUdZfwmuQUTQcEVVIa2OecZzTYWUW9Cg==" - }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/ansi-align/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-align/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-align/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/array-iterate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", - "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/astro": { - "version": "4.4.15", - "resolved": "https://registry.npmjs.org/astro/-/astro-4.4.15.tgz", - "integrity": "sha512-RTiAnlO8hDp6GqMVvaeJxyuCJhHNEho09lHshMNQBqgRabYPOJGW0HZZrbLRGNOqN9I14ivhZIunYGgAaGQpWw==", - "dependencies": { - "@astrojs/compiler": "^2.5.3", - "@astrojs/internal-helpers": "0.2.1", - "@astrojs/markdown-remark": "4.2.1", - "@astrojs/telemetry": "3.0.4", - "@babel/core": "^7.23.3", - "@babel/generator": "^7.23.3", - "@babel/parser": "^7.23.3", - "@babel/plugin-transform-react-jsx": "^7.22.5", - "@babel/traverse": "^7.23.3", - "@babel/types": "^7.23.3", - "@medv/finder": "^3.1.0", - "@types/babel__core": "^7.20.4", - "acorn": "^8.11.2", - "aria-query": "^5.3.0", - "axobject-query": "^4.0.0", - "boxen": "^7.1.1", - "chokidar": "^3.5.3", - "ci-info": "^4.0.0", - "clsx": "^2.0.0", - "common-ancestor-path": "^1.0.1", - "cookie": "^0.6.0", - "cssesc": "^3.0.0", - "debug": "^4.3.4", - "deterministic-object-hash": "^2.0.1", - "devalue": "^4.3.2", - "diff": "^5.1.0", - "dlv": "^1.1.3", - "dset": "^3.1.3", - "es-module-lexer": "^1.4.1", - "esbuild": "^0.19.6", - "estree-walker": "^3.0.3", - "execa": "^8.0.1", - "fast-glob": "^3.3.2", - "flattie": "^1.1.0", - "github-slugger": "^2.0.0", - "gray-matter": "^4.0.3", - "html-escaper": "^3.0.3", - "http-cache-semantics": "^4.1.1", - "js-yaml": "^4.1.0", - "kleur": "^4.1.4", - "magic-string": "^0.30.3", - "mdast-util-to-hast": "13.0.2", - "mime": "^3.0.0", - "ora": "^7.0.1", - "p-limit": "^5.0.0", - "p-queue": "^8.0.1", - "path-to-regexp": "^6.2.1", - "preferred-pm": "^3.1.2", - "prompts": "^2.4.2", - "rehype": "^13.0.1", - "resolve": "^1.22.4", - "semver": "^7.5.4", - "shikiji": "^0.9.19", - "shikiji-core": "^0.9.19", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0", - "tsconfck": "^3.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.1", - "vite": "^5.1.4", - "vitefu": "^0.2.5", - "which-pm": "^2.1.1", - "yargs-parser": "^21.1.1", - "zod": "^3.22.4" - }, - "bin": { - "astro": "astro.js" - }, - "engines": { - "node": ">=18.14.1", - "npm": ">=6.14.0" - }, - "optionalDependencies": { - "sharp": "^0.32.6" - } - }, - "node_modules/axobject-query": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz", - "integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==", - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/b4a": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz", - "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==", - "optional": true - }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/bare-events": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.2.1.tgz", - "integrity": "sha512-9GYPpsPFvrWBkelIhOhTWtkeZxVxZOdb3VnFTCzlOo3OjvmTvzLoZFUT8kNFACx0vJej6QPney1Cf9BvzCNE/A==", - "optional": true - }, - "node_modules/bare-fs": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.2.1.tgz", - "integrity": "sha512-+CjmZANQDFZWy4PGbVdmALIwmt33aJg8qTkVjClU6X4WmZkTPBDxRHiBn7fpqEWEfF3AC2io++erpViAIQbSjg==", - "optional": true, - "dependencies": { - "bare-events": "^2.0.0", - "bare-os": "^2.0.0", - "bare-path": "^2.0.0", - "streamx": "^2.13.0" - } - }, - "node_modules/bare-os": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.2.0.tgz", - "integrity": "sha512-hD0rOPfYWOMpVirTACt4/nK8mC55La12K5fY1ij8HAdfQakD62M+H4o4tpfKzVGLgRDTuk3vjA4GqGXXCeFbag==", - "optional": true - }, - "node_modules/bare-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.0.tgz", - "integrity": "sha512-DIIg7ts8bdRKwJRJrUMy/PICEaQZaPGZ26lsSx9MJSwIhSrcdHn7/C8W+XmnG/rKi6BaRcz+JO00CjZteybDtw==", - "optional": true, - "dependencies": { - "bare-os": "^2.1.0" - } - }, - "node_modules/base-64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", - "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/bl": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", - "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", - "dependencies": { - "buffer": "^6.0.3", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/boxen": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", - "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.1", - "chalk": "^5.2.0", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.1.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/boxen/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/boxen/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001596", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001596.tgz", - "integrity": "sha512-zpkZ+kEr6We7w63ORkoJ2pOfBwBkY/bJrG/UZ90qNb45Isblu8wzDgevEOrRL1r9dWayHjYiiyCMEXPn4DweGQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "optional": true - }, - "node_modules/ci-info": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz", - "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", - "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", - "dependencies": { - "restore-cursor": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/cliui/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/cliui/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/color": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", - "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", - "optional": true, - "dependencies": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" - }, - "engines": { - "node": ">=12.5.0" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "optional": true, - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/color/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "optional": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "optional": true - }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/common-ancestor-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", - "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==" - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" - }, - "node_modules/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "optional": true, - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "optional": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/detect-libc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", - "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/deterministic-object-hash": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz", - "integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==", - "dependencies": { - "base-64": "^1.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/devalue": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/devalue/-/devalue-4.3.2.tgz", - "integrity": "sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==" - }, - "node_modules/devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", - "dependencies": { - "dequal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/diff": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" - }, - "node_modules/dset": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.3.tgz", - "integrity": "sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "node_modules/electron-to-chromium": { - "version": "1.4.699", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.699.tgz", - "integrity": "sha512-I7q3BbQi6e4tJJN5CRcyvxhK0iJb34TV8eJQcgh+fR2fQ8miMgZcEInckCo1U9exDHbfz7DLDnFn8oqH/VcRKw==" - }, - "node_modules/emmet": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/emmet/-/emmet-2.4.6.tgz", - "integrity": "sha512-dJfbdY/hfeTyf/Ef7Y7ubLYzkBvPQ912wPaeVYpAxvFxkEBf/+hJu4H6vhAvFN6HlxqedlfVn2x1S44FfQ97pg==", - "dependencies": { - "@emmetio/abbreviation": "^2.3.3", - "@emmetio/css-abbreviation": "^2.1.8" - } - }, - "node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==" - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "optional": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/es-module-lexer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", - "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==" - }, - "node_modules/esbuild": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", - "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.12", - "@esbuild/android-arm": "0.19.12", - "@esbuild/android-arm64": "0.19.12", - "@esbuild/android-x64": "0.19.12", - "@esbuild/darwin-arm64": "0.19.12", - "@esbuild/darwin-x64": "0.19.12", - "@esbuild/freebsd-arm64": "0.19.12", - "@esbuild/freebsd-x64": "0.19.12", - "@esbuild/linux-arm": "0.19.12", - "@esbuild/linux-arm64": "0.19.12", - "@esbuild/linux-ia32": "0.19.12", - "@esbuild/linux-loong64": "0.19.12", - "@esbuild/linux-mips64el": "0.19.12", - "@esbuild/linux-ppc64": "0.19.12", - "@esbuild/linux-riscv64": "0.19.12", - "@esbuild/linux-s390x": "0.19.12", - "@esbuild/linux-x64": "0.19.12", - "@esbuild/netbsd-x64": "0.19.12", - "@esbuild/openbsd-x64": "0.19.12", - "@esbuild/sunos-x64": "0.19.12", - "@esbuild/win32-arm64": "0.19.12", - "@esbuild/win32-ia32": "0.19.12", - "@esbuild/win32-x64": "0.19.12" - } - }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" - }, - "node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", - "optional": true - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-yarn-workspace-root2": { - "version": "1.2.16", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz", - "integrity": "sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==", - "dependencies": { - "micromatch": "^4.0.2", - "pkg-dir": "^4.2.0" - } - }, - "node_modules/flattie": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", - "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "optional": true - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-east-asian-width": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", - "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", - "optional": true - }, - "node_modules/github-slugger": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", - "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "node_modules/gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "dependencies": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/gray-matter/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/gray-matter/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/hasown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hast-util-from-html": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.1.tgz", - "integrity": "sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==", - "dependencies": { - "@types/hast": "^3.0.0", - "devlop": "^1.1.0", - "hast-util-from-parse5": "^8.0.0", - "parse5": "^7.0.0", - "vfile": "^6.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-parse5": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", - "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "hastscript": "^8.0.0", - "property-information": "^6.0.0", - "vfile": "^6.0.0", - "vfile-location": "^5.0.0", - "web-namespaces": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-parse-selector": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", - "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-raw": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.2.tgz", - "integrity": "sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "@ungap/structured-clone": "^1.0.0", - "hast-util-from-parse5": "^8.0.0", - "hast-util-to-parse5": "^8.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "parse5": "^7.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-html": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.0.tgz", - "integrity": "sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-raw": "^9.0.0", - "hast-util-whitespace": "^3.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "stringify-entities": "^4.0.0", - "zwitch": "^2.0.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-parse5": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", - "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", - "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hastscript": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", - "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", - "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^4.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/html-escaper": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", - "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==" - }, - "node_modules/html-void-elements": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", - "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" - }, - "node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/import-meta-resolve": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", - "integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "optional": true - }, - "node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "optional": true - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-interactive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", - "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", - "dependencies": { - "is-inside-container": "^1.0.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonc-parser": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz", - "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==" - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/load-yaml-file": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", - "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==", - "dependencies": { - "graceful-fs": "^4.1.5", - "js-yaml": "^3.13.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/load-yaml-file/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/load-yaml-file/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", - "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", - "dependencies": { - "chalk": "^5.0.0", - "is-unicode-supported": "^1.1.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/magic-string": { - "version": "0.30.8", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", - "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/markdown-table": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", - "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-definitions": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", - "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", - "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", - "dependencies": { - "@types/mdast": "^4.0.0", - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mdast-util-from-markdown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", - "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark": "^4.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", - "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", - "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-gfm-autolink-literal": "^2.0.0", - "mdast-util-gfm-footnote": "^2.0.0", - "mdast-util-gfm-strikethrough": "^2.0.0", - "mdast-util-gfm-table": "^2.0.0", - "mdast-util-gfm-task-list-item": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-autolink-literal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", - "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", - "dependencies": { - "@types/mdast": "^4.0.0", - "ccount": "^2.0.0", - "devlop": "^1.0.0", - "mdast-util-find-and-replace": "^3.0.0", - "micromark-util-character": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-footnote": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", - "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", - "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-task-list-item": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", - "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-phrasing": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz", - "integrity": "sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", - "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", - "dependencies": { - "@types/mdast": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromark": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", - "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", - "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", - "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", - "dependencies": { - "micromark-extension-gfm-autolink-literal": "^2.0.0", - "micromark-extension-gfm-footnote": "^2.0.0", - "micromark-extension-gfm-strikethrough": "^2.0.0", - "micromark-extension-gfm-table": "^2.0.0", - "micromark-extension-gfm-tagfilter": "^2.0.0", - "micromark-extension-gfm-task-list-item": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", - "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-footnote": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", - "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", - "dependencies": { - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", - "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-tagfilter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", - "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-task-list-item": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", - "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-factory-destination": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", - "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-label": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", - "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-space": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", - "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-title": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", - "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-whitespace": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", - "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-character": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", - "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-chunked": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", - "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-classify-character": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", - "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-combine-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", - "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", - "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", - "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", - "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-html-tag-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", - "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", - "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-resolve-all": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", - "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", - "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-subtokenize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", - "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-types": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", - "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "optional": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "optional": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "optional": true - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/muggle-string": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", - "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==" - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", - "optional": true - }, - "node_modules/nlcst-to-string": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-3.1.1.tgz", - "integrity": "sha512-63mVyqaqt0cmn2VcI2aH6kxe1rLAmSROqHMA0i4qqg1tidkfExgpb0FGMikMCn86mw5dFtBtEANfmSSK7TjNHw==", - "dependencies": { - "@types/nlcst": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/node-abi": { - "version": "3.56.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.56.0.tgz", - "integrity": "sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==", - "optional": true, - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-addon-api": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", - "optional": true - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "optional": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-7.0.1.tgz", - "integrity": "sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==", - "dependencies": { - "chalk": "^5.3.0", - "cli-cursor": "^4.0.0", - "cli-spinners": "^2.9.0", - "is-interactive": "^2.0.0", - "is-unicode-supported": "^1.3.0", - "log-symbols": "^5.1.0", - "stdin-discarder": "^0.1.0", - "string-width": "^6.1.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/ora/node_modules/string-width": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-6.1.0.tgz", - "integrity": "sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^10.2.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-limit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", - "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate/node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-queue": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.0.1.tgz", - "integrity": "sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==", - "dependencies": { - "eventemitter3": "^5.0.1", - "p-timeout": "^6.1.2" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-timeout": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.2.tgz", - "integrity": "sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-latin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-5.0.1.tgz", - "integrity": "sha512-b/K8ExXaWC9t34kKeDV8kGXBkXZ1HCSAZRYE7HR14eA1GlXX5L8iWhs8USJNhQU9q5ci413jCKF0gOyovvyRBg==", - "dependencies": { - "nlcst-to-string": "^3.0.0", - "unist-util-modify-children": "^3.0.0", - "unist-util-visit-children": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-to-regexp": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", - "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==" - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/prebuild-install": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", - "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", - "optional": true, - "dependencies": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/prebuild-install/node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "optional": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/prebuild-install/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "optional": true, - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/prebuild-install/node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "optional": true, - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/prebuild-install/node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "optional": true, - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/preferred-pm": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.3.tgz", - "integrity": "sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==", - "dependencies": { - "find-up": "^5.0.0", - "find-yarn-workspace-root2": "1.2.16", - "path-exists": "^4.0.0", - "which-pm": "2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/preferred-pm/node_modules/which-pm": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz", - "integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==", - "dependencies": { - "load-yaml-file": "^0.2.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8.15" - } - }, - "node_modules/prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prompts/node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "engines": { - "node": ">=6" - } - }, - "node_modules/property-information": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.1.tgz", - "integrity": "sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "optional": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/queue-tick": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", - "optional": true - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "optional": true, - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rehype": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.1.tgz", - "integrity": "sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==", - "dependencies": { - "@types/hast": "^3.0.0", - "rehype-parse": "^9.0.0", - "rehype-stringify": "^10.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-parse": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.0.tgz", - "integrity": "sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-from-html": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-raw": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", - "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-raw": "^9.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-stringify": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.0.tgz", - "integrity": "sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-to-html": "^9.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-gfm": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", - "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-gfm": "^3.0.0", - "micromark-extension-gfm": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-stringify": "^11.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", - "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz", - "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "mdast-util-to-hast": "^13.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-smartypants": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-2.1.0.tgz", - "integrity": "sha512-qoF6Vz3BjU2tP6OfZqHOvCU0ACmu/6jhGaINSQRI9mM7wCxNQTKB3JUAN4SVoN2ybElEDTxBIABRep7e569iJw==", - "dependencies": { - "retext": "^8.1.0", - "retext-smartypants": "^5.2.0", - "unist-util-visit": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/remark-stringify": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", - "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-to-markdown": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/request-light": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.7.0.tgz", - "integrity": "sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==" - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/restore-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", - "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/restore-cursor/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/restore-cursor/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/restore-cursor/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/retext": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/retext/-/retext-8.1.0.tgz", - "integrity": "sha512-N9/Kq7YTn6ZpzfiGW45WfEGJqFf1IM1q8OsRa1CGzIebCJBNCANDRmOrholiDRGKo/We7ofKR4SEvcGAWEMD3Q==", - "dependencies": { - "@types/nlcst": "^1.0.0", - "retext-latin": "^3.0.0", - "retext-stringify": "^3.0.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-latin": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-3.1.0.tgz", - "integrity": "sha512-5MrD1tuebzO8ppsja5eEu+ZbBeUNCjoEarn70tkXOS7Bdsdf6tNahsv2bY0Z8VooFF6cw7/6S+d3yI/TMlMVVQ==", - "dependencies": { - "@types/nlcst": "^1.0.0", - "parse-latin": "^5.0.0", - "unherit": "^3.0.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-latin/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" - }, - "node_modules/retext-latin/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-latin/node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-latin/node_modules/vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-latin/node_modules/vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-smartypants": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-5.2.0.tgz", - "integrity": "sha512-Do8oM+SsjrbzT2UNIKgheP0hgUQTDDQYyZaIY3kfq0pdFzoPk+ZClYJ+OERNXveog4xf1pZL4PfRxNoVL7a/jw==", - "dependencies": { - "@types/nlcst": "^1.0.0", - "nlcst-to-string": "^3.0.0", - "unified": "^10.0.0", - "unist-util-visit": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-smartypants/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" - }, - "node_modules/retext-smartypants/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-smartypants/node_modules/unist-util-is": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", - "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-smartypants/node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-smartypants/node_modules/unist-util-visit": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", - "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-smartypants/node_modules/unist-util-visit-parents": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", - "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-smartypants/node_modules/vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-smartypants/node_modules/vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-stringify": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-3.1.0.tgz", - "integrity": "sha512-767TLOaoXFXyOnjx/EggXlb37ZD2u4P1n0GJqVdpipqACsQP+20W+BNpMYrlJkq7hxffnFk+jc6mAK9qrbuB8w==", - "dependencies": { - "@types/nlcst": "^1.0.0", - "nlcst-to-string": "^3.0.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-stringify/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" - }, - "node_modules/retext-stringify/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-stringify/node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-stringify/node_modules/vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-stringify/node_modules/vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" - }, - "node_modules/retext/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext/node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext/node_modules/vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext/node_modules/vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rollup": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.1.tgz", - "integrity": "sha512-ggqQKvx/PsB0FaWXhIvVkSWh7a/PCLQAsMjBc+nA2M8Rv2/HG0X6zvixAB7KyZBRtifBUhy5k8voQX/mRnABPg==", - "dependencies": { - "@types/estree": "1.0.5" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.12.1", - "@rollup/rollup-android-arm64": "4.12.1", - "@rollup/rollup-darwin-arm64": "4.12.1", - "@rollup/rollup-darwin-x64": "4.12.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.12.1", - "@rollup/rollup-linux-arm64-gnu": "4.12.1", - "@rollup/rollup-linux-arm64-musl": "4.12.1", - "@rollup/rollup-linux-riscv64-gnu": "4.12.1", - "@rollup/rollup-linux-x64-gnu": "4.12.1", - "@rollup/rollup-linux-x64-musl": "4.12.1", - "@rollup/rollup-win32-arm64-msvc": "4.12.1", - "@rollup/rollup-win32-ia32-msvc": "4.12.1", - "@rollup/rollup-win32-x64-msvc": "4.12.1", - "fsevents": "~2.3.2" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/sharp": { - "version": "0.32.6", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", - "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", - "hasInstallScript": true, - "optional": true, - "dependencies": { - "color": "^4.2.3", - "detect-libc": "^2.0.2", - "node-addon-api": "^6.1.0", - "prebuild-install": "^7.1.1", - "semver": "^7.5.4", - "simple-get": "^4.0.1", - "tar-fs": "^3.0.4", - "tunnel-agent": "^0.6.0" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/shikiji": { - "version": "0.9.19", - "resolved": "https://registry.npmjs.org/shikiji/-/shikiji-0.9.19.tgz", - "integrity": "sha512-Kw2NHWktdcdypCj1GkKpXH4o6Vxz8B8TykPlPuLHOGSV8VkhoCLcFOH4k19K4LXAQYRQmxg+0X/eM+m2sLhAkg==", - "dependencies": { - "shikiji-core": "0.9.19" - } - }, - "node_modules/shikiji-core": { - "version": "0.9.19", - "resolved": "https://registry.npmjs.org/shikiji-core/-/shikiji-core-0.9.19.tgz", - "integrity": "sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw==" - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "optional": true - }, - "node_modules/simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "optional": true, - "dependencies": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "optional": true, - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "node_modules/stdin-discarder": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", - "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", - "dependencies": { - "bl": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/streamx": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.16.1.tgz", - "integrity": "sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==", - "optional": true, - "dependencies": { - "fast-fifo": "^1.1.0", - "queue-tick": "^1.0.1" - }, - "optionalDependencies": { - "bare-events": "^2.2.0" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-width": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz", - "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==", - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/stringify-entities": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", - "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", - "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tar-fs": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.5.tgz", - "integrity": "sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==", - "optional": true, - "dependencies": { - "pump": "^3.0.0", - "tar-stream": "^3.1.5" - }, - "optionalDependencies": { - "bare-fs": "^2.1.1", - "bare-path": "^2.1.0" - } - }, - "node_modules/tar-stream": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", - "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", - "optional": true, - "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", - "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/tsconfck": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.0.3.tgz", - "integrity": "sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA==", - "bin": { - "tsconfck": "bin/tsconfck.js" - }, - "engines": { - "node": "^18 || >=20" - }, - "peerDependencies": { - "typescript": "^5.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "optional": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typesafe-path": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/typesafe-path/-/typesafe-path-0.2.2.tgz", - "integrity": "sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==" - }, - "node_modules/typescript": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", - "integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/typescript-auto-import-cache": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/typescript-auto-import-cache/-/typescript-auto-import-cache-0.3.2.tgz", - "integrity": "sha512-+laqe5SFL1vN62FPOOJSUDTZxtgsoOXjneYOXIpx5rQ4UMiN89NAtJLpqLqyebv9fgQ/IMeeTX+mQyRnwvJzvg==", - "dependencies": { - "semver": "^7.3.8" - } - }, - "node_modules/unherit": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-3.0.1.tgz", - "integrity": "sha512-akOOQ/Yln8a2sgcLj4U0Jmx0R5jpIg2IUyRrWOzmEbjBtGzBdHtSeFKgoEcoH4KYIG/Pb8GQ/BwtYm0GCq1Sqg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/unified": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", - "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", - "dependencies": { - "@types/unist": "^3.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-modify-children": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-3.1.1.tgz", - "integrity": "sha512-yXi4Lm+TG5VG+qvokP6tpnk+r1EPwyYL04JWDxLvgvPV40jANh7nm3udk65OOWquvbMDe+PL9+LmkxDpTv/7BA==", - "dependencies": { - "@types/unist": "^2.0.0", - "array-iterate": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-modify-children/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" - }, - "node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-children": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-2.0.2.tgz", - "integrity": "sha512-+LWpMFqyUwLGpsQxpumsQ9o9DG2VGLFrpz+rpVXYIEdPy57GSy5HioC0g3bg/8WP9oCLlapQtklOzQ8uLS496Q==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-children/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" - }, - "node_modules/unist-util-visit-parents": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", - "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/vfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", - "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-location": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz", - "integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==", - "dependencies": { - "@types/unist": "^3.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", - "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vite": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.5.tgz", - "integrity": "sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==", - "dependencies": { - "esbuild": "^0.19.3", - "postcss": "^8.4.35", - "rollup": "^4.2.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vitefu": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz", - "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==", - "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "vite": { - "optional": true - } - } - }, - "node_modules/volar-service-css": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/volar-service-css/-/volar-service-css-0.0.30.tgz", - "integrity": "sha512-jui+1N0HBfjW43tRfhyZp0axhBee4997BRyX4os8xQm/7cjD2KjAuyz92nMIPRt1QDoG4/7uQT28xNhy0TPJTA==", - "dependencies": { - "vscode-css-languageservice": "^6.2.10", - "vscode-uri": "^3.0.8" - }, - "peerDependencies": { - "@volar/language-service": "~2.0.1" - }, - "peerDependenciesMeta": { - "@volar/language-service": { - "optional": true - } - } - }, - "node_modules/volar-service-emmet": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/volar-service-emmet/-/volar-service-emmet-0.0.30.tgz", - "integrity": "sha512-HEeIrmqQ/DTfuQDI9ER5+YReXXjE9f7W6MlBmn5biUuPyizVTGfuILN8pJhmYvmPHCA7qHhU7CJqwE9DAh9AJg==", - "dependencies": { - "@vscode/emmet-helper": "^2.9.2", - "volar-service-html": "0.0.30" - }, - "peerDependencies": { - "@volar/language-service": "~2.0.1" - }, - "peerDependenciesMeta": { - "@volar/language-service": { - "optional": true - } - } - }, - "node_modules/volar-service-html": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/volar-service-html/-/volar-service-html-0.0.30.tgz", - "integrity": "sha512-wW3TEeRTeHv/3mC8Ik6T62SwewMWFungb8ydyEK/2GDHEntBEG/J9wtuh01/J0kYqPerhlT9zhdGB6PGYHAGuA==", - "dependencies": { - "vscode-html-languageservice": "^5.1.0", - "vscode-uri": "^3.0.8" - }, - "peerDependencies": { - "@volar/language-service": "~2.0.1" - }, - "peerDependenciesMeta": { - "@volar/language-service": { - "optional": true - } - } - }, - "node_modules/volar-service-prettier": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/volar-service-prettier/-/volar-service-prettier-0.0.30.tgz", - "integrity": "sha512-Qdc5Zc0y4hJmJbpIQ52cSDjs0uvVug/e2nuL/XZWPJM6Cr5/3RjjoRVKtDQbKItFYlGk+JH+LSXvwQeD5TXZqg==", - "dependencies": { - "vscode-uri": "^3.0.8" - }, - "peerDependencies": { - "@volar/language-service": "~2.0.1", - "prettier": "^2.2 || ^3.0" - }, - "peerDependenciesMeta": { - "@volar/language-service": { - "optional": true - }, - "prettier": { - "optional": true - } - } - }, - "node_modules/volar-service-typescript": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/volar-service-typescript/-/volar-service-typescript-0.0.30.tgz", - "integrity": "sha512-jA8c0Mhy9rgAsrgtwocK95Smws1M2E0MxlQ/SVo/rmOGH32cX9UGgI0IENWKa3yagp/khfoemOIQDz/KNhI3zg==", - "dependencies": { - "path-browserify": "^1.0.1", - "semver": "^7.5.4", - "typescript-auto-import-cache": "^0.3.1", - "vscode-languageserver-textdocument": "^1.0.11", - "vscode-nls": "^5.2.0", - "vscode-uri": "^3.0.8" - }, - "peerDependencies": { - "@volar/language-service": "~2.0.1", - "@volar/typescript": "~2.0.1" - }, - "peerDependenciesMeta": { - "@volar/language-service": { - "optional": true - } - } - }, - "node_modules/volar-service-typescript-twoslash-queries": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/volar-service-typescript-twoslash-queries/-/volar-service-typescript-twoslash-queries-0.0.30.tgz", - "integrity": "sha512-ahj6woBxhkZu7icQR58x5TnUaS8ZRKn7a+UvY+andmiTWsOaSu85zj36+LPZgZQi1MG+BtjNwUjKoxtZiN51PA==", - "peerDependencies": { - "@volar/language-service": "~2.0.1" - }, - "peerDependenciesMeta": { - "@volar/language-service": { - "optional": true - } - } - }, - "node_modules/vscode-css-languageservice": { - "version": "6.2.12", - "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.2.12.tgz", - "integrity": "sha512-PS9r7HgNjqzRl3v91sXpCyZPc8UDotNo6gntFNtGCKPhGA9Frk7g/VjX1Mbv3F00pn56D+rxrFzR9ep4cawOgA==", - "dependencies": { - "@vscode/l10n": "^0.0.18", - "vscode-languageserver-textdocument": "^1.0.11", - "vscode-languageserver-types": "3.17.5", - "vscode-uri": "^3.0.8" - } - }, - "node_modules/vscode-css-languageservice/node_modules/@vscode/l10n": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.18.tgz", - "integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==" - }, - "node_modules/vscode-html-languageservice": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.1.2.tgz", - "integrity": "sha512-wkWfEx/IIR3s2P5yD4aTGHiOb8IAzFxgkSt1uSC3itJ4oDAm23yG7o0L29JljUdnXDDgLafPAvhv8A2I/8riHw==", - "dependencies": { - "@vscode/l10n": "^0.0.18", - "vscode-languageserver-textdocument": "^1.0.11", - "vscode-languageserver-types": "^3.17.5", - "vscode-uri": "^3.0.8" - } - }, - "node_modules/vscode-html-languageservice/node_modules/@vscode/l10n": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.18.tgz", - "integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==" - }, - "node_modules/vscode-jsonrpc": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", - "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/vscode-languageserver": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", - "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", - "dependencies": { - "vscode-languageserver-protocol": "3.17.5" - }, - "bin": { - "installServerIntoExtension": "bin/installServerIntoExtension" - } - }, - "node_modules/vscode-languageserver-protocol": { - "version": "3.17.5", - "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", - "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", - "dependencies": { - "vscode-jsonrpc": "8.2.0", - "vscode-languageserver-types": "3.17.5" - } - }, - "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", - "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==" - }, - "node_modules/vscode-languageserver-types": { - "version": "3.17.5", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", - "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==" - }, - "node_modules/vscode-nls": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz", - "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==" - }, - "node_modules/vscode-uri": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", - "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==" - }, - "node_modules/web-namespaces": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", - "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-pm": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.1.1.tgz", - "integrity": "sha512-xzzxNw2wMaoCWXiGE8IJ9wuPMU+EYhFksjHxrRT8kMT5SnocBPRg69YAMtyV4D12fP582RA+k3P8H9J5EMdIxQ==", - "dependencies": { - "load-yaml-file": "^0.2.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8.15" - } - }, - "node_modules/which-pm-runs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", - "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", - "dependencies": { - "string-width": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/widest-line/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/widest-line/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "optional": true - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zod": { - "version": "3.22.4", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", - "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - } - } -} diff --git a/packages/docs/package.json b/packages/docs/package.json index ced763a..7d3dbb7 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -15,6 +15,12 @@ "@astrojs/react": "^3.0.10", "@astrojs/svelte": "^5.2.0", "@astrojs/tailwind": "^5.1.0", + "@egjs/react-flicking": "^4.11.2", + "@moonmoonbrothers/flutterjs": "^1.2.3", + "@moonmoonbrothers/flutterjs-react": "^0.0.3", + "@moonmoonbrothers/flutterjs-svelte": "^0.0.4", + "@moonmoonbrothers/uglychart": "^0.0.15", + "@tailwindcss/typography": "^0.5.10", "@types/react": "^18.2.64", "@types/react-dom": "^18.2.21", "astro": "^4.4.15", diff --git a/packages/docs/src/components/pages/ShowCase.astro b/packages/docs/src/components/pages/ShowCase.astro index 0f7fc28..ed714b5 100644 --- a/packages/docs/src/components/pages/ShowCase.astro +++ b/packages/docs/src/components/pages/ShowCase.astro @@ -1,60 +1,30 @@ +--- +import "@egjs/react-flicking/dist/flicking.css"; +import { Banner } from "./show-cases"; +--- +
+
-
-
- Show Cases -
-
- Interactive charts for data-driven insights. -
-
-
-
-
- - - - -
- -
-
-
-
-
-
-
-
-
-
\ No newline at end of file + Show Cases +
+
+ Interactive charts for data-driven insights. +
+
+
+ +
+ + + diff --git a/packages/docs/src/components/pages/show-cases.tsx b/packages/docs/src/components/pages/show-cases.tsx new file mode 100644 index 0000000..72e6c48 --- /dev/null +++ b/packages/docs/src/components/pages/show-cases.tsx @@ -0,0 +1,807 @@ +import Flicking from "@egjs/react-flicking"; +import type { Widget } from "@moonmoonbrothers/flutterjs"; +import ReactWidget from "@moonmoonbrothers/flutterjs-react"; +import { + BarChart, + BubbleChart, + LineChart, + ScatterChart, + StackedBarChart, +} from "@moonmoonbrothers/uglychart"; +import { useCallback, useEffect, useRef, useState } from "react"; + +const barChartProps = { + data: { + labels: ["Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + datasets: [ + { + legend: "Budget", + data: [5000, 3000, 5000, 7000, 6000, 4000, 1000], + }, + { + legend: "Income", + data: [8000, 4000, 7000, 2000, 6000, 3000, 5000], + }, + { + legend: "Expenses", + data: [4000, 4000, 6000, 3000, 4000, 5000, 7000], + }, + { + legend: "Debt", + data: [3000, 4000, 3000, 1000, 2000, 4000, 3000], + }, + ], + title: "Monthly Revenue", + }, +}; + +const barChart = BarChart({ + ...barChartProps, +}); + +const stackedBarChart = StackedBarChart({ + ...barChartProps, + custom: { + chart: { + type: "config", + direction: "horizontal", + }, + bar: { + type: "config", + thickness: 30, + }, + }, +}); + +const bubbleChart = BubbleChart({ + theme: { + border: { + width: 1, + }, + }, + scale: { + x: { + min: 0, + step: 5000, + }, + y: { + min: 55, + step: 5, + }, + }, + data: { + title: "Population", + datasets: [ + { + legend: "Africa", + data: [ + { x: 4200, y: 70.35, value: 32209101, label: "Morocco" }, + { x: 4200, y: 70.71, value: 76117421, label: "Egypt" }, + { x: 5900, y: 56.46, value: 1355246, label: "Gabon" }, + { x: 6600, y: 72.74, value: 32129324, label: "Algeria" }, + { x: 6700, y: 76.28, value: 5631585, label: "Libya" }, + { x: 7100, y: 74.66, value: 9974722, label: "Tunisia" }, + { x: 10500, y: 69.28, value: 1096585, label: "Trinidad and Tobago" }, + { x: 12800, y: 72.09, value: 1220481, label: "Mauritius" }, + { x: 18200, y: 78.68, value: 396851, label: "Malta" }, + ], + }, + { + legend: "America", + data: [ + { x: 4800, y: 74.64, value: 6191368, label: "Paraguay" }, + { x: 4900, y: 70.92, value: 6587541, label: "El Salvador" }, + { x: 5600, y: 69.22, value: 2754430, label: "Peru" }, + { x: 5800, y: 74.06, value: 2501738, label: "Venezuela" }, + { x: 6300, y: 67.63, value: 8833634, label: "Dominican Republic" }, + { x: 6500, y: 67.43, value: 272945, label: "Belize" }, + { x: 6600, y: 71.43, value: 4231077, label: "Colombia" }, + { x: 6900, y: 72.14, value: 3000463, label: "Panama" }, + { x: 8100, y: 71.41, value: 78410118, label: "Brazil" }, + { x: 9600, y: 76.63, value: 3956507, label: "Costa Rica" }, + { x: 9600, y: 74.94, value: 4495959, label: "Mexico" }, + { x: 12400, y: 75.7, value: 6914475, label: "Argentina" }, + { x: 14500, y: 75.92, value: 3399237, label: "Uruguay" }, + { x: 16400, y: 71.64, value: 278289, label: "Barbados" }, + { x: 17700, y: 65.63, value: 299697, label: "Bahamas, The" }, + { x: 17700, y: 77.49, value: 3897960, label: "Puerto Rico" }, + { x: 31500, y: 79.96, value: 32507874, label: "Canada" }, + { x: 32100, y: 77.43, value: 89302754, label: "United States" }, + ], + }, + { + legend: "Asia", + data: [ + { x: 5600, y: 71.96, value: 92988000, label: "China" }, + { x: 5700, y: 61.29, value: 4863169, label: "Turkmenistan" }, + { x: 7700, y: 69.66, value: 19018924, label: "Iran" }, + { x: 7800, y: 66.07, value: 1514370, label: "Kazakhstan" }, + { x: 8100, y: 71.41, value: 14865523, label: "Thailand" }, + { x: 9700, y: 71.95, value: 23522482, label: "Malaysia" }, + { x: 12000, y: 75.23, value: 25795938, label: "Saudi Arabia" }, + { x: 13100, y: 72.85, value: 2903165, label: "Oman" }, + { x: 19200, y: 75.58, value: 48598170, label: "Korea, South" }, + { x: 19200, y: 73.98, value: 677886, label: "Bahrain" }, + { x: 20800, y: 79.17, value: 6199008, label: "Israel" }, + { x: 21300, y: 76.84, value: 2257549, label: "Kuwait" }, + { x: 23200, y: 73.4, value: 840290, label: "Qatar" }, + { x: 25200, y: 74.99, value: 2523915, label: "United Arab Emirates" }, + { x: 25300, y: 77.06, value: 22749838, label: "Taiwan" }, + { x: 27800, y: 81.53, value: 4353893, label: "Singapore" }, + { x: 29400, y: 81.04, value: 52733300, label: "Japan" }, + { x: 34200, y: 81.39, value: 6855125, label: "Hong Kong" }, + ], + }, + { + legend: "Europe", + data: [ + { x: 7700, y: 71.12, value: 2235555, label: "Romania" }, + { x: 8200, y: 71.75, value: 7517973, label: "Bulgaria" }, + { x: 9800, y: 66.39, value: 54378233, label: "Russia" }, + { x: 10700, y: 76.38, value: 1582395, label: "Chile" }, + { x: 11200, y: 74.14, value: 4496869, label: "Croatia" }, + { x: 11500, y: 70.86, value: 2306306, label: "Latvia" }, + { x: 12000, y: 74.16, value: 38626349, label: "Poland" }, + { x: 12500, y: 73.46, value: 3607899, label: "Lithuania" }, + { x: 14300, y: 71.38, value: 1341664, label: "Estonia" }, + { x: 14500, y: 74.19, value: 5423567, label: "Slovakia" }, + { x: 14900, y: 72.25, value: 1003237, label: "Hungary" }, + { x: 16800, y: 75.78, value: 1024617, label: "Czech Republic" }, + { x: 17900, y: 77.35, value: 1052414, label: "Portugal" }, + { x: 19600, y: 75.93, value: 2011473, label: "Slovenia" }, + { x: 21300, y: 78.94, value: 10647529, label: "Greece" }, + { x: 23300, y: 79.37, value: 40280780, label: "Spain" }, + { x: 27700, y: 79.54, value: 58057477, label: "Italy" }, + { x: 28400, y: 80.3, value: 898640, label: "Sweden" }, + { x: 28700, y: 78.54, value: 22424609, label: "Germany" }, + { x: 28700, y: 79.44, value: 30424213, label: "France" }, + { x: 29000, y: 78.24, value: 5214512, label: "Finland" }, + { x: 29500, y: 78.68, value: 16318199, label: "Netherlands" }, + { x: 29600, y: 78.27, value: 60270708, label: "United Kingdom" }, + { x: 30600, y: 78.44, value: 10348276, label: "Belgium" }, + { x: 31300, y: 78.87, value: 8174762, label: "Austria" }, + { x: 31900, y: 77.36, value: 3969558, label: "Ireland" }, + { x: 31900, y: 80.18, value: 293966, label: "Iceland" }, + { x: 32200, y: 77.44, value: 5413392, label: "Denmark" }, + { x: 33800, y: 80.31, value: 7450867, label: "Switzerland" }, + ], + }, + { + legend: "Oceania", + data: [ + { x: 2200, y: 64.56, value: 5420280, label: "Papua New Guinea" }, + { x: 2700, y: 61.32, value: 100798, label: "Kiribati" }, + { x: 5900, y: 69.2, value: 880874, label: "Fiji" }, + { x: 14500, y: 78.75, value: 108775, label: "Virgin Islands" }, + { x: 23200, y: 78.49, value: 1993817, label: "New Zealand" }, + { x: 30700, y: 80.26, value: 5991314, label: "Australia" }, + ], + }, + ], + }, +}); + +const scatterChart = ScatterChart({ + data: { + title: "Body Mass Index", + datasets: [ + { + legend: "male", + data: [ + { x: 174, y: 65.6 }, + { x: 175.3, y: 71.8 }, + { x: 193.5, y: 80.7 }, + { x: 186.5, y: 72.6 }, + { x: 187.2, y: 78.8 }, + { x: 181.5, y: 74.8 }, + { x: 184, y: 86.4 }, + { x: 184.5, y: 78.4 }, + { x: 175, y: 62 }, + { x: 184, y: 81.6 }, + { x: 180, y: 76.6 }, + { x: 177.8, y: 83.6 }, + { x: 192, y: 90 }, + { x: 176, y: 74.6 }, + { x: 174, y: 71 }, + { x: 184, y: 79.6 }, + { x: 192.7, y: 93.8 }, + { x: 171.5, y: 70 }, + { x: 173, y: 72.4 }, + { x: 176, y: 85.9 }, + { x: 176, y: 78.8 }, + { x: 180.5, y: 77.8 }, + { x: 172.7, y: 66.2 }, + { x: 176, y: 86.4 }, + { x: 173.5, y: 81.8 }, + { x: 178, y: 89.6 }, + { x: 180.3, y: 82.8 }, + { x: 180.3, y: 76.4 }, + { x: 164.5, y: 63.2 }, + { x: 173, y: 60.9 }, + { x: 183.5, y: 74.8 }, + { x: 175.5, y: 70 }, + { x: 188, y: 72.4 }, + { x: 189.2, y: 84.1 }, + { x: 172.8, y: 69.1 }, + { x: 170, y: 59.5 }, + { x: 182, y: 67.2 }, + { x: 170, y: 61.3 }, + { x: 177.8, y: 68.6 }, + { x: 184.2, y: 80.1 }, + { x: 186.7, y: 87.8 }, + { x: 171.4, y: 84.7 }, + { x: 172.7, y: 73.4 }, + { x: 175.3, y: 72.1 }, + { x: 180.3, y: 82.6 }, + { x: 182.9, y: 88.7 }, + { x: 188, y: 84.1 }, + { x: 177.2, y: 94.1 }, + { x: 172.1, y: 74.9 }, + { x: 167, y: 59.1 }, + { x: 169.5, y: 75.6 }, + { x: 174, y: 86.2 }, + { x: 172.7, y: 75.3 }, + { x: 182.2, y: 87.1 }, + { x: 164.1, y: 55.2 }, + { x: 163, y: 57 }, + { x: 171.5, y: 61.4 }, + { x: 184.2, y: 76.8 }, + { x: 174, y: 86.8 }, + { x: 174, y: 72.2 }, + { x: 177, y: 71.6 }, + { x: 186, y: 84.8 }, + { x: 167, y: 68.2 }, + { x: 171.8, y: 66.1 }, + { x: 182, y: 72 }, + { x: 167, y: 64.6 }, + { x: 177.8, y: 74.8 }, + { x: 164.5, y: 70 }, + { x: 192, y: 101.6 }, + { x: 175.5, y: 63.2 }, + { x: 171.2, y: 79.1 }, + { x: 181.6, y: 78.9 }, + { x: 167.4, y: 67.7 }, + { x: 181.1, y: 66 }, + { x: 177, y: 68.2 }, + { x: 174.5, y: 63.9 }, + { x: 177.5, y: 72 }, + { x: 170.5, y: 56.8 }, + { x: 182.4, y: 74.5 }, + { x: 197.1, y: 90.9 }, + { x: 180.1, y: 93 }, + { x: 175.5, y: 80.9 }, + { x: 180.6, y: 72.7 }, + { x: 184.4, y: 68 }, + { x: 175.5, y: 70.9 }, + { x: 180.6, y: 72.5 }, + { x: 177, y: 72.5 }, + { x: 177.1, y: 83.4 }, + { x: 181.6, y: 75.5 }, + { x: 176.5, y: 73 }, + { x: 175, y: 70.2 }, + { x: 174, y: 73.4 }, + { x: 165.1, y: 70.5 }, + { x: 177, y: 68.9 }, + { x: 192, y: 102.3 }, + { x: 176.5, y: 68.4 }, + { x: 169.4, y: 65.9 }, + { x: 182.1, y: 75.7 }, + { x: 179.8, y: 84.5 }, + { x: 175.3, y: 87.7 }, + { x: 184.9, y: 86.4 }, + { x: 177.3, y: 73.2 }, + { x: 167.4, y: 53.9 }, + { x: 178.1, y: 72 }, + { x: 168.9, y: 55.5 }, + { x: 157.2, y: 58.4 }, + { x: 180.3, y: 83.2 }, + { x: 170.2, y: 72.7 }, + { x: 177.8, y: 64.1 }, + { x: 172.7, y: 72.3 }, + { x: 165.1, y: 65 }, + { x: 186.7, y: 86.4 }, + { x: 165.1, y: 65 }, + { x: 174, y: 88.6 }, + { x: 175.3, y: 84.1 }, + { x: 185.4, y: 66.8 }, + { x: 177.8, y: 75.5 }, + { x: 180.3, y: 93.2 }, + { x: 180.3, y: 82.7 }, + { x: 177.8, y: 58 }, + { x: 177.8, y: 79.5 }, + { x: 177.8, y: 78.6 }, + { x: 177.8, y: 71.8 }, + { x: 177.8, y: 116.4 }, + { x: 163.8, y: 72.2 }, + { x: 188, y: 83.6 }, + { x: 198.1, y: 85.5 }, + { x: 175.3, y: 90.9 }, + { x: 166.4, y: 85.9 }, + { x: 190.5, y: 89.1 }, + { x: 166.4, y: 75 }, + { x: 177.8, y: 77.7 }, + { x: 179.7, y: 86.4 }, + { x: 172.7, y: 90.9 }, + { x: 190.5, y: 73.6 }, + { x: 185.4, y: 76.4 }, + { x: 168.9, y: 69.1 }, + { x: 167.6, y: 84.5 }, + { x: 175.3, y: 64.5 }, + { x: 170.2, y: 69.1 }, + { x: 190.5, y: 108.6 }, + { x: 177.8, y: 86.4 }, + { x: 190.5, y: 80.9 }, + { x: 177.8, y: 87.7 }, + { x: 184.2, y: 94.5 }, + { x: 176.5, y: 80.2 }, + { x: 177.8, y: 72 }, + { x: 180.3, y: 71.4 }, + { x: 171.4, y: 72.7 }, + { x: 172.7, y: 84.1 }, + { x: 172.7, y: 76.8 }, + { x: 177.8, y: 63.6 }, + { x: 177.8, y: 80.9 }, + { x: 182.9, y: 80.9 }, + { x: 170.2, y: 85.5 }, + { x: 167.6, y: 68.6 }, + { x: 175.3, y: 67.7 }, + { x: 165.1, y: 66.4 }, + { x: 185.4, y: 102.3 }, + { x: 181.6, y: 70.5 }, + { x: 172.7, y: 95.9 }, + { x: 190.5, y: 84.1 }, + { x: 179.1, y: 87.3 }, + { x: 175.3, y: 71.8 }, + { x: 170.2, y: 65.9 }, + { x: 193, y: 95.9 }, + { x: 171.4, y: 91.4 }, + { x: 177.8, y: 81.8 }, + { x: 177.8, y: 96.8 }, + { x: 167.6, y: 69.1 }, + { x: 167.6, y: 82.7 }, + { x: 180.3, y: 75.5 }, + { x: 182.9, y: 79.5 }, + { x: 176.5, y: 73.6 }, + { x: 186.7, y: 91.8 }, + { x: 188, y: 84.1 }, + { x: 188, y: 85.9 }, + { x: 177.8, y: 81.8 }, + { x: 174, y: 82.5 }, + { x: 177.8, y: 80.5 }, + { x: 171.4, y: 70 }, + { x: 185.4, y: 81.8 }, + { x: 185.4, y: 84.1 }, + { x: 188, y: 90.5 }, + { x: 188, y: 91.4 }, + { x: 182.9, y: 89.1 }, + { x: 176.5, y: 85 }, + { x: 175.3, y: 69.1 }, + { x: 175.3, y: 73.6 }, + { x: 188, y: 80.5 }, + { x: 188, y: 82.7 }, + { x: 175.3, y: 86.4 }, + { x: 170.5, y: 67.7 }, + { x: 179.1, y: 92.7 }, + { x: 177.8, y: 93.6 }, + { x: 175.3, y: 70.9 }, + { x: 182.9, y: 75 }, + { x: 170.8, y: 93.2 }, + { x: 188, y: 93.2 }, + { x: 180.3, y: 77.7 }, + { x: 177.8, y: 61.4 }, + { x: 185.4, y: 94.1 }, + { x: 168.9, y: 75 }, + { x: 185.4, y: 83.6 }, + { x: 180.3, y: 85.5 }, + { x: 174, y: 73.9 }, + { x: 167.6, y: 66.8 }, + { x: 182.9, y: 87.3 }, + { x: 160, y: 72.3 }, + { x: 180.3, y: 88.6 }, + { x: 167.6, y: 75.5 }, + { x: 186.7, y: 101.4 }, + { x: 175.3, y: 91.1 }, + { x: 175.3, y: 67.3 }, + { x: 175.9, y: 77.7 }, + { x: 175.3, y: 81.8 }, + { x: 179.1, y: 75.5 }, + { x: 181.6, y: 84.5 }, + { x: 177.8, y: 76.6 }, + { x: 182.9, y: 85 }, + { x: 177.8, y: 102.5 }, + { x: 184.2, y: 77.3 }, + { x: 179.1, y: 71.8 }, + { x: 176.5, y: 87.9 }, + { x: 188, y: 94.3 }, + { x: 174, y: 70.9 }, + { x: 167.6, y: 64.5 }, + { x: 170.2, y: 77.3 }, + { x: 167.6, y: 72.3 }, + { x: 188, y: 87.3 }, + { x: 174, y: 80 }, + { x: 176.5, y: 82.3 }, + { x: 180.3, y: 73.6 }, + { x: 167.6, y: 74.1 }, + { x: 188, y: 85.9 }, + { x: 180.3, y: 73.2 }, + { x: 167.6, y: 76.3 }, + { x: 183, y: 65.9 }, + { x: 183, y: 90.9 }, + { x: 179.1, y: 89.1 }, + { x: 170.2, y: 62.3 }, + { x: 177.8, y: 82.7 }, + { x: 179.1, y: 79.1 }, + { x: 190.5, y: 98.2 }, + { x: 177.8, y: 84.1 }, + { x: 180.3, y: 83.2 }, + { x: 180.3, y: 83.2 }, + ], + }, + { + legend: "female", + data: [ + { x: 161.2, y: 51.6 }, + { x: 167.5, y: 59 }, + { x: 159.5, y: 49.2 }, + { x: 157, y: 63 }, + { x: 155.8, y: 53.6 }, + { x: 170, y: 59 }, + { x: 159.1, y: 47.6 }, + { x: 166, y: 69.8 }, + { x: 176.2, y: 66.8 }, + { x: 160.2, y: 75.2 }, + { x: 172.5, y: 55.2 }, + { x: 170.9, y: 54.2 }, + { x: 172.9, y: 62.5 }, + { x: 153.4, y: 42 }, + { x: 160, y: 50 }, + { x: 147.2, y: 49.8 }, + { x: 168.2, y: 49.2 }, + { x: 175, y: 73.2 }, + { x: 157, y: 47.8 }, + { x: 167.6, y: 68.8 }, + { x: 159.5, y: 50.6 }, + { x: 175, y: 82.5 }, + { x: 166.8, y: 57.2 }, + { x: 176.5, y: 87.8 }, + { x: 170.2, y: 72.8 }, + { x: 174, y: 54.5 }, + { x: 173, y: 59.8 }, + { x: 179.9, y: 67.3 }, + { x: 170.5, y: 67.8 }, + { x: 160, y: 47 }, + { x: 154.4, y: 46.2 }, + { x: 162, y: 55 }, + { x: 176.5, y: 83 }, + { x: 160, y: 54.4 }, + { x: 152, y: 45.8 }, + { x: 162.1, y: 53.6 }, + { x: 170, y: 73.2 }, + { x: 160.2, y: 52.1 }, + { x: 161.3, y: 67.9 }, + { x: 166.4, y: 56.6 }, + { x: 168.9, y: 62.3 }, + { x: 163.8, y: 58.5 }, + { x: 167.6, y: 54.5 }, + { x: 160, y: 50.2 }, + { x: 161.3, y: 60.3 }, + { x: 167.6, y: 58.3 }, + { x: 165.1, y: 56.2 }, + { x: 160, y: 50.2 }, + { x: 170, y: 72.9 }, + { x: 157.5, y: 59.8 }, + { x: 167.6, y: 61 }, + { x: 160.7, y: 69.1 }, + { x: 163.2, y: 55.9 }, + { x: 152.4, y: 46.5 }, + { x: 157.5, y: 54.3 }, + { x: 168.3, y: 54.8 }, + { x: 180.3, y: 60.7 }, + { x: 165.5, y: 60 }, + { x: 165, y: 62 }, + { x: 164.5, y: 60.3 }, + { x: 156, y: 52.7 }, + { x: 160, y: 74.3 }, + { x: 163, y: 62 }, + { x: 165.7, y: 73.1 }, + { x: 161, y: 80 }, + { x: 162, y: 54.7 }, + { x: 166, y: 53.2 }, + { x: 174, y: 75.7 }, + { x: 172.7, y: 61.1 }, + { x: 167.6, y: 55.7 }, + { x: 151.1, y: 48.7 }, + { x: 164.5, y: 52.3 }, + { x: 163.5, y: 50 }, + { x: 152, y: 59.3 }, + { x: 169, y: 62.5 }, + { x: 164, y: 55.7 }, + { x: 161.2, y: 54.8 }, + { x: 155, y: 45.9 }, + { x: 170, y: 70.6 }, + { x: 176.2, y: 67.2 }, + { x: 170, y: 69.4 }, + { x: 162.5, y: 58.2 }, + { x: 170.3, y: 64.8 }, + { x: 164.1, y: 71.6 }, + { x: 169.5, y: 52.8 }, + { x: 163.2, y: 59.8 }, + { x: 154.5, y: 49 }, + { x: 159.8, y: 50 }, + { x: 173.2, y: 69.2 }, + { x: 170, y: 55.9 }, + { x: 161.4, y: 63.4 }, + { x: 169, y: 58.2 }, + { x: 166.2, y: 58.6 }, + { x: 159.4, y: 45.7 }, + { x: 162.5, y: 52.2 }, + { x: 159, y: 48.6 }, + { x: 162.8, y: 57.8 }, + { x: 159, y: 55.6 }, + { x: 179.8, y: 66.8 }, + { x: 162.9, y: 59.4 }, + { x: 161, y: 53.6 }, + { x: 151.1, y: 73.2 }, + { x: 168.2, y: 53.4 }, + { x: 168.9, y: 69 }, + { x: 173.2, y: 58.4 }, + { x: 171.8, y: 56.2 }, + { x: 178, y: 70.6 }, + { x: 164.3, y: 59.8 }, + { x: 163, y: 72 }, + { x: 168.5, y: 65.2 }, + { x: 166.8, y: 56.6 }, + { x: 172.7, y: 105.2 }, + { x: 163.5, y: 51.8 }, + { x: 169.4, y: 63.4 }, + { x: 167.8, y: 59 }, + { x: 159.5, y: 47.6 }, + { x: 167.6, y: 63 }, + { x: 161.2, y: 55.2 }, + { x: 160, y: 45 }, + { x: 163.2, y: 54 }, + { x: 162.2, y: 50.2 }, + { x: 161.3, y: 60.2 }, + { x: 149.5, y: 44.8 }, + { x: 157.5, y: 58.8 }, + { x: 163.2, y: 56.4 }, + { x: 172.7, y: 62 }, + { x: 155, y: 49.2 }, + { x: 156.5, y: 67.2 }, + { x: 164, y: 53.8 }, + { x: 160.9, y: 54.4 }, + { x: 162.8, y: 58 }, + { x: 167, y: 59.8 }, + { x: 160, y: 54.8 }, + { x: 160, y: 43.2 }, + { x: 168.9, y: 60.5 }, + { x: 158.2, y: 46.4 }, + { x: 156, y: 64.4 }, + { x: 160, y: 48.8 }, + { x: 167.1, y: 62.2 }, + { x: 158, y: 55.5 }, + { x: 167.6, y: 57.8 }, + { x: 156, y: 54.6 }, + { x: 162.1, y: 59.2 }, + { x: 173.4, y: 52.7 }, + { x: 159.8, y: 53.2 }, + { x: 170.5, y: 64.5 }, + { x: 159.2, y: 51.8 }, + { x: 157.5, y: 56 }, + { x: 161.3, y: 63.6 }, + { x: 162.6, y: 63.2 }, + { x: 160, y: 59.5 }, + { x: 168.9, y: 56.8 }, + { x: 165.1, y: 64.1 }, + { x: 162.6, y: 50 }, + { x: 165.1, y: 72.3 }, + { x: 166.4, y: 55 }, + { x: 160, y: 55.9 }, + { x: 152.4, y: 60.4 }, + { x: 170.2, y: 69.1 }, + { x: 162.6, y: 84.5 }, + { x: 170.2, y: 55.9 }, + { x: 158.8, y: 55.5 }, + { x: 172.7, y: 69.5 }, + { x: 167.6, y: 76.4 }, + { x: 162.6, y: 61.4 }, + { x: 167.6, y: 65.9 }, + { x: 156.2, y: 58.6 }, + { x: 175.2, y: 66.8 }, + { x: 172.1, y: 56.6 }, + { x: 162.6, y: 58.6 }, + { x: 160, y: 55.9 }, + { x: 165.1, y: 59.1 }, + { x: 182.9, y: 81.8 }, + { x: 166.4, y: 70.7 }, + { x: 165.1, y: 56.8 }, + { x: 177.8, y: 60 }, + { x: 165.1, y: 58.2 }, + { x: 175.3, y: 72.7 }, + { x: 154.9, y: 54.1 }, + { x: 158.8, y: 49.1 }, + { x: 172.7, y: 75.9 }, + { x: 168.9, y: 55 }, + { x: 161.3, y: 57.3 }, + { x: 167.6, y: 55 }, + { x: 165.1, y: 65.5 }, + { x: 175.3, y: 65.5 }, + { x: 157.5, y: 48.6 }, + { x: 163.8, y: 58.6 }, + { x: 167.6, y: 63.6 }, + { x: 165.1, y: 55.2 }, + { x: 165.1, y: 62.7 }, + { x: 168.9, y: 56.6 }, + { x: 162.6, y: 53.9 }, + { x: 164.5, y: 63.2 }, + { x: 176.5, y: 73.6 }, + { x: 168.9, y: 62 }, + { x: 175.3, y: 63.6 }, + { x: 159.4, y: 53.2 }, + { x: 160, y: 53.4 }, + { x: 170.2, y: 55 }, + { x: 162.6, y: 70.5 }, + { x: 167.6, y: 54.5 }, + { x: 162.6, y: 54.5 }, + { x: 160.7, y: 55.9 }, + { x: 160, y: 59 }, + { x: 157.5, y: 63.6 }, + { x: 162.6, y: 54.5 }, + { x: 152.4, y: 47.3 }, + { x: 170.2, y: 67.7 }, + { x: 165.1, y: 80.9 }, + { x: 172.7, y: 70.5 }, + { x: 165.1, y: 60.9 }, + { x: 170.2, y: 63.6 }, + { x: 170.2, y: 54.5 }, + { x: 170.2, y: 59.1 }, + { x: 161.3, y: 70.5 }, + { x: 167.6, y: 52.7 }, + { x: 167.6, y: 62.7 }, + { x: 165.1, y: 86.3 }, + { x: 162.6, y: 66.4 }, + { x: 152.4, y: 67.3 }, + { x: 168.9, y: 63 }, + { x: 170.2, y: 73.6 }, + { x: 175.2, y: 62.3 }, + { x: 175.2, y: 57.7 }, + { x: 160, y: 55.4 }, + { x: 165.1, y: 104.1 }, + { x: 174, y: 55.5 }, + { x: 170.2, y: 77.3 }, + { x: 160, y: 80.5 }, + { x: 167.6, y: 64.5 }, + { x: 167.6, y: 72.3 }, + { x: 167.6, y: 61.4 }, + { x: 154.9, y: 58.2 }, + { x: 162.6, y: 81.8 }, + { x: 175.3, y: 63.6 }, + { x: 171.4, y: 53.4 }, + { x: 157.5, y: 54.5 }, + { x: 165.1, y: 53.6 }, + { x: 160, y: 60 }, + { x: 174, y: 73.6 }, + { x: 162.6, y: 61.4 }, + { x: 174, y: 55.5 }, + { x: 162.6, y: 63.6 }, + { x: 161.3, y: 60.9 }, + { x: 156.2, y: 60 }, + { x: 149.9, y: 46.8 }, + { x: 169.5, y: 57.3 }, + { x: 160, y: 64.1 }, + { x: 175.3, y: 63.6 }, + { x: 169.5, y: 67.3 }, + { x: 160, y: 75.5 }, + { x: 172.7, y: 68.2 }, + { x: 162.6, y: 61.4 }, + { x: 157.5, y: 76.8 }, + { x: 176.5, y: 71.8 }, + { x: 164.4, y: 55.5 }, + { x: 160.7, y: 48.6 }, + { x: 174, y: 66.4 }, + { x: 163.8, y: 67.3 }, + ], + }, + ], + }, +}); + +const lineChart = LineChart({ + data: { + labels: [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", + ], + datasets: [ + { + legend: "Seoul", + data: [20, 40, 25, 50, 15, 45, 33, 34, 20, 30, 22, 13], + }, + { + legend: "Sydney", + data: [5, 30, 21, 18, 59, 50, 28, 33, 7, 20, 10, 30], + }, + { + legend: "Moscow", + data: [30, 5, 18, 21, 33, 41, 29, 15, 30, 10, 33, 5], + }, + ], + title: "Average Temperature", + }, +}); + +export const Chart = { + Bar: () => , + Bubble: () => ( + + ), + StackedBar: () => ( + + ), + Scatter: () => ( + + ), + Line: () => , +}; + +export const Banner = () => { + const controller = useRef(null); + const [stopped, setStopped] = useState(false); + useEffect(() => { + if (stopped) return; + const interval = setInterval(() => { + controller.current?.next(); + }, 4000); + + return () => clearInterval(interval); + }, [stopped]); + + const handleMouseEnter = () => { + setStopped(true); + }; + const handleMouseLeave = () => { + setStopped(false); + }; + + const panels = [ + , + , + , + , + , + ]; + + return ( +
+ + {panels.map((panel, i) => ( +
+ {panel} +
+ ))} +
+
+ ); +}; diff --git a/packages/docs/src/pages/index.astro b/packages/docs/src/pages/index.astro index cea59d9..1532480 100644 --- a/packages/docs/src/pages/index.astro +++ b/packages/docs/src/pages/index.astro @@ -1,11 +1,11 @@ --- import Layout from "../layouts/HomeLayout.astro"; -import Intro from '../components/pages/Intro.astro' -import Features from '../components/pages/Features.astro' -import ShowCase from '../components/pages/ShowCase.astro' -import PleaseComeIn from '../components/pages/PleaseComeIn.astro' -import Author from '../components/pages/Author.astro' -import StartGuide from '../components/pages/StartGuide.astro' +import Intro from "../components/pages/Intro.astro"; +import Features from "../components/pages/Features.astro"; +import ShowCase from "../components/pages/ShowCase.astro"; +import PleaseComeIn from "../components/pages/PleaseComeIn.astro"; +import Author from "../components/pages/Author.astro"; +import StartGuide from "../components/pages/StartGuide.astro"; --- @@ -13,7 +13,7 @@ import StartGuide from '../components/pages/StartGuide.astro' - +
From 93d9ed268036c8c8a5e0e3d420270ba3ee1903ec Mon Sep 17 00:00:00 2001 From: moonmoon <64200419+Moon-DaeSeung@users.noreply.github.com> Date: Sun, 10 Mar 2024 22:53:38 +0900 Subject: [PATCH 03/27] [ms-5] Docs 5 home detail (#4) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Intro 문구 수정 * StartGuide 작성 * needs * thanks to * footer 문구 수정함 * add diagram for show case --- packages/docs/public/diagram/note.svg | 5 + packages/docs/public/diagram/primary-key.svg | 6 + packages/docs/public/meursyphus.jpeg | Bin 0 -> 80567 bytes .../src/components/diagram/Diagram.svelte | 34 +++ .../diagram/controller/DiagramController.ts | 180 +++++++++++++++ .../components/diagram/controller/index.ts | 1 + .../docs/src/components/diagram/dbml/type.ts | 138 +++++++++++ .../diagram/event/ActiveRelationEvent.ts | 17 ++ .../src/components/diagram/event/Event.ts | 3 + .../components/diagram/event/EventManager.ts | 33 +++ .../diagram/event/field/FieldInsertEvent.ts | 18 ++ .../event/field/FieldLayoutChangeEvent.ts | 18 ++ .../diagram/event/field/FieldRemoveEvent.ts | 15 ++ .../components/diagram/event/field/index.ts | 3 + .../src/components/diagram/event/index.ts | 4 + .../diagram/event/node/LegacyNodeEvent.ts | 19 ++ .../event/node/NodeAlignTranslationEvent.ts | 18 ++ .../diagram/event/node/NodeInsertEvent.ts | 18 ++ .../event/node/NodeLayoutChangeEvent.ts | 18 ++ .../diagram/event/node/NodeRemoveEvent.ts | 15 ++ .../event/node/NodeTranslationEndEvent.ts | 15 ++ .../event/node/NodeTranslationEvent.ts | 18 ++ .../components/diagram/event/node/index.ts | 7 + .../src/components/diagram/fixture/index.ts | 1 + .../diagram/fixture/project/index.ts | 148 ++++++++++++ .../diagram/fixture/project/type.ts | 3 + packages/docs/src/components/diagram/index.ts | 3 + packages/docs/src/components/diagram/type.ts | 24 ++ .../diagram/widget/AlignLiner/AlignLiner.ts | 214 ++++++++++++++++++ .../diagram/widget/AlignLiner/Line.ts | 74 ++++++ .../diagram/widget/AlignLiner/type.ts | 9 + .../ChangeNotifier/ChangedLayoutNotifier.ts | 54 +++++ .../ChangeNotifier/ChangedSizeNotifier.ts | 52 +++++ .../diagram/widget/ChangeNotifier/index.ts | 2 + .../src/components/diagram/widget/Diagram.ts | 35 +++ .../components/diagram/widget/Edge/Edge.ts | 142 ++++++++++++ .../diagram/widget/Edge/RefDrawer.ts | 60 +++++ .../diagram/widget/Edge/drawEdge.ts | 169 ++++++++++++++ .../components/diagram/widget/Edge/index.ts | 3 + .../widget/Field/FakeIntrinsicWidth.ts | 36 +++ .../components/diagram/widget/Field/Field.ts | 145 ++++++++++++ .../diagram/widget/Field/FieldContent.ts | 73 ++++++ .../components/diagram/widget/Field/Image.ts | 33 +++ .../diagram/widget/Field/NotNull.ts | 29 +++ .../components/diagram/widget/Field/Note.ts | 8 + .../diagram/widget/Field/NoteTooltip.ts | 138 +++++++++++ .../src/components/diagram/widget/Field/PK.ts | 8 + .../diagram/widget/Field/assets/index.ts | 4 + .../components/diagram/widget/Field/index.ts | 3 + .../diagram/widget/InteractiveViewport.ts | 175 ++++++++++++++ .../diagram/widget/Node/BaseNode.ts | 208 +++++++++++++++++ .../diagram/widget/Node/Draggable.ts | 91 ++++++++ .../diagram/widget/Node/InitialNode.ts | 98 ++++++++ .../diagram/widget/Node/InitialNodes.ts | 139 ++++++++++++ .../diagram/widget/Node/LegacyNode.ts | 112 +++++++++ .../diagram/widget/Node/LegacyNodes.ts | 80 +++++++ .../Provider/DiagramControllerProvider.ts | 24 ++ .../widget/Provider/EventManagerProvider.ts | 20 ++ .../diagram/widget/Provider/index.ts | 2 + .../src/components/diagram/widget/Root.ts | 89 ++++++++ .../diagram/widget/getNextZIndex.ts | 4 + .../diagram/widget/utils/classToFunction.ts | 6 + .../components/diagram/widget/utils/index.ts | 4 + .../docs/src/components/pages/Author.astro | 37 --- .../docs/src/components/pages/Features.astro | 193 +++++++--------- .../docs/src/components/pages/Intro.astro | 96 ++++---- .../src/components/pages/PleaseComeIn.astro | 63 +++--- .../docs/src/components/pages/ShowCase.astro | 4 +- .../src/components/pages/StartGuide.astro | 58 ++--- .../components/pages/ThanksToFlutter.astro | 35 +++ .../components/pages/install-bash-code.mdx | 10 + .../docs/src/components/pages/show-cases.tsx | 5 +- packages/docs/src/pages/index.astro | 4 +- 73 files changed, 3366 insertions(+), 264 deletions(-) create mode 100644 packages/docs/public/diagram/note.svg create mode 100644 packages/docs/public/diagram/primary-key.svg create mode 100644 packages/docs/public/meursyphus.jpeg create mode 100644 packages/docs/src/components/diagram/Diagram.svelte create mode 100644 packages/docs/src/components/diagram/controller/DiagramController.ts create mode 100644 packages/docs/src/components/diagram/controller/index.ts create mode 100644 packages/docs/src/components/diagram/dbml/type.ts create mode 100644 packages/docs/src/components/diagram/event/ActiveRelationEvent.ts create mode 100644 packages/docs/src/components/diagram/event/Event.ts create mode 100644 packages/docs/src/components/diagram/event/EventManager.ts create mode 100644 packages/docs/src/components/diagram/event/field/FieldInsertEvent.ts create mode 100644 packages/docs/src/components/diagram/event/field/FieldLayoutChangeEvent.ts create mode 100644 packages/docs/src/components/diagram/event/field/FieldRemoveEvent.ts create mode 100644 packages/docs/src/components/diagram/event/field/index.ts create mode 100644 packages/docs/src/components/diagram/event/index.ts create mode 100644 packages/docs/src/components/diagram/event/node/LegacyNodeEvent.ts create mode 100644 packages/docs/src/components/diagram/event/node/NodeAlignTranslationEvent.ts create mode 100644 packages/docs/src/components/diagram/event/node/NodeInsertEvent.ts create mode 100644 packages/docs/src/components/diagram/event/node/NodeLayoutChangeEvent.ts create mode 100644 packages/docs/src/components/diagram/event/node/NodeRemoveEvent.ts create mode 100644 packages/docs/src/components/diagram/event/node/NodeTranslationEndEvent.ts create mode 100644 packages/docs/src/components/diagram/event/node/NodeTranslationEvent.ts create mode 100644 packages/docs/src/components/diagram/event/node/index.ts create mode 100644 packages/docs/src/components/diagram/fixture/index.ts create mode 100644 packages/docs/src/components/diagram/fixture/project/index.ts create mode 100644 packages/docs/src/components/diagram/fixture/project/type.ts create mode 100644 packages/docs/src/components/diagram/index.ts create mode 100644 packages/docs/src/components/diagram/type.ts create mode 100644 packages/docs/src/components/diagram/widget/AlignLiner/AlignLiner.ts create mode 100644 packages/docs/src/components/diagram/widget/AlignLiner/Line.ts create mode 100644 packages/docs/src/components/diagram/widget/AlignLiner/type.ts create mode 100644 packages/docs/src/components/diagram/widget/ChangeNotifier/ChangedLayoutNotifier.ts create mode 100644 packages/docs/src/components/diagram/widget/ChangeNotifier/ChangedSizeNotifier.ts create mode 100644 packages/docs/src/components/diagram/widget/ChangeNotifier/index.ts create mode 100644 packages/docs/src/components/diagram/widget/Diagram.ts create mode 100644 packages/docs/src/components/diagram/widget/Edge/Edge.ts create mode 100644 packages/docs/src/components/diagram/widget/Edge/RefDrawer.ts create mode 100644 packages/docs/src/components/diagram/widget/Edge/drawEdge.ts create mode 100644 packages/docs/src/components/diagram/widget/Edge/index.ts create mode 100644 packages/docs/src/components/diagram/widget/Field/FakeIntrinsicWidth.ts create mode 100644 packages/docs/src/components/diagram/widget/Field/Field.ts create mode 100644 packages/docs/src/components/diagram/widget/Field/FieldContent.ts create mode 100644 packages/docs/src/components/diagram/widget/Field/Image.ts create mode 100644 packages/docs/src/components/diagram/widget/Field/NotNull.ts create mode 100644 packages/docs/src/components/diagram/widget/Field/Note.ts create mode 100644 packages/docs/src/components/diagram/widget/Field/NoteTooltip.ts create mode 100644 packages/docs/src/components/diagram/widget/Field/PK.ts create mode 100644 packages/docs/src/components/diagram/widget/Field/assets/index.ts create mode 100644 packages/docs/src/components/diagram/widget/Field/index.ts create mode 100644 packages/docs/src/components/diagram/widget/InteractiveViewport.ts create mode 100644 packages/docs/src/components/diagram/widget/Node/BaseNode.ts create mode 100644 packages/docs/src/components/diagram/widget/Node/Draggable.ts create mode 100644 packages/docs/src/components/diagram/widget/Node/InitialNode.ts create mode 100644 packages/docs/src/components/diagram/widget/Node/InitialNodes.ts create mode 100644 packages/docs/src/components/diagram/widget/Node/LegacyNode.ts create mode 100644 packages/docs/src/components/diagram/widget/Node/LegacyNodes.ts create mode 100644 packages/docs/src/components/diagram/widget/Provider/DiagramControllerProvider.ts create mode 100644 packages/docs/src/components/diagram/widget/Provider/EventManagerProvider.ts create mode 100644 packages/docs/src/components/diagram/widget/Provider/index.ts create mode 100644 packages/docs/src/components/diagram/widget/Root.ts create mode 100644 packages/docs/src/components/diagram/widget/getNextZIndex.ts create mode 100644 packages/docs/src/components/diagram/widget/utils/classToFunction.ts create mode 100644 packages/docs/src/components/diagram/widget/utils/index.ts delete mode 100644 packages/docs/src/components/pages/Author.astro create mode 100644 packages/docs/src/components/pages/ThanksToFlutter.astro create mode 100644 packages/docs/src/components/pages/install-bash-code.mdx diff --git a/packages/docs/public/diagram/note.svg b/packages/docs/public/diagram/note.svg new file mode 100644 index 0000000..240e469 --- /dev/null +++ b/packages/docs/public/diagram/note.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/docs/public/diagram/primary-key.svg b/packages/docs/public/diagram/primary-key.svg new file mode 100644 index 0000000..6a84ae0 --- /dev/null +++ b/packages/docs/public/diagram/primary-key.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/packages/docs/public/meursyphus.jpeg b/packages/docs/public/meursyphus.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7194cd70d761d19fe11cd5ac2a9589c33e9d787d GIT binary patch literal 80567 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

bJahTcyxrj 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 + import Widget from "@moonmoonbrothers/flutterjs-svelte"; + import Diagram from "./widget/Diagram"; + import { onMount } from "svelte"; + import { project } from "./fixture"; + let height = 0; + let container: HTMLElement; + onMount(() => { + const resizeObserver = new ResizeObserver(([entry]) => { + height = entry.contentRect.height; + }); + resizeObserver.observe(container); + return () => { + resizeObserver.disconnect(); + }; + }); + + +

+ () => {} })} + width="100%" + height="{height}px" + /> +
+ + diff --git a/packages/docs/src/components/diagram/controller/DiagramController.ts b/packages/docs/src/components/diagram/controller/DiagramController.ts new file mode 100644 index 0000000..d9cb83e --- /dev/null +++ b/packages/docs/src/components/diagram/controller/DiagramController.ts @@ -0,0 +1,180 @@ +import { GlobalKey, Offset, Rect } from '@moonmoonbrothers/flutterjs'; +import type { Project, Ref, RelatedField, Relation, Table } from '../type'; + +type TableName = string; + +type RelatedFieldByTableId< + TABLE_ID extends number = number, + FIELD_ID extends number = number +> = Record; + +class DiagramController { + readonly diagramRootGlobalKey: GlobalKey = new GlobalKey(); + #relatedFieldIdsOnTableId: RelatedFieldByTableId = {}; + #relatedFields: RelatedField[] = []; + #tables: Table[] = []; + #tableMap: Record = {}; + #scale = 1; + + #activeDraggingTableName: string | null = null; + setActiveDragging(tableName: string | null) { + this.#activeDraggingTableName = tableName; + } + get isDragging() { + return this.#activeDraggingTableName != null; + } + isDraggingTarget(tableName: string) { + return this.#activeDraggingTableName === tableName; + } + + getRect(key: GlobalKey): Rect { + const offset = this.getGlobalOffset(key); + const size = this.getSize(key); + + return Rect.fromLTWH({ + left: offset.x, + top: offset.y, + width: size.width, + height: size.height + }); + } + + getCanvasRect(): Rect { + const size = this.getSize(this.diagramRootGlobalKey); + + return Rect.fromLTWH({ + left: 0, + top: 0, + width: size.width, + height: size.height + }); + } + + getTranslation(translation: Offset) { + return translation.multiply(1 / this.#scale); + } + + getTableByName(name: string): Table | null { + return this.#tableMap[name] ?? null; + } + + changeScale(scale: number) { + this.#scale = scale; + } + + getScale() { + return this.#scale; + } + + #rect: Rect = Rect.fromLTRB({ left: 0, top: 0, right: 0, bottom: 0 }); + changeRootRect({ + left, + top, + width, + height + }: { + left: number; + top: number; + width: number; + height: number; + }) { + this.#rect = Rect.fromLTWH({ left, top, width, height }); + } + + getRootRect() { + return this.#rect; + } + + updateProject(project: Project) { + const { schemas } = project; + const tables = schemas.map((schema) => schema.tables).flat(); + const refs = schemas.map((schema) => schema.refs).flat(); + const { relatedFieldIdsOnTableId, relatedFields } = this.resolveTableAndRefs({ tables, refs }); + + this.#relatedFields = relatedFields; + this.#relatedFieldIdsOnTableId = relatedFieldIdsOnTableId; + this.#tables = tables; + this.#tableMap = tables.reduce( + (acc, table) => { + acc[table.name] = table; + return acc; + }, + {} as Record + ); + } + + getAllTables(): Table[] { + return this.#tables; + } + + getAllRelatedFields(): RelatedField[] { + return this.#relatedFields; + } + + getRelatedFieldIdsByTableId(tableId: number): RelatedFieldByTableId[number] { + return this.#relatedFieldIdsOnTableId[tableId] ?? {}; + } + + private resolveTableAndRefs({ tables, refs }: { tables: Table[]; refs: Ref[] }) { + const endpointToField = tables + .map((table) => table.fields.map((field) => ({ ...field, tableId: table.id }))) + .flat() + .map((field) => + field.endpoints.map((endpoint) => ({ + ...endpoint, + fieldId: field.id, + tableId: field.tableId + })) + ) + .flat() + .reduce( + (acc, endpoint) => { + acc[endpoint.id] = { + fieldId: endpoint.fieldId, + relation: endpoint.relation, + tableId: endpoint.tableId + }; + return acc; + }, + {} as Record + ); + + const relatedFieldIdsOnTableId: RelatedFieldByTableId = tables.reduce((acc, table) => { + acc[table.id] = []; + return acc; + }, {} as RelatedFieldByTableId); + const relatedFields: RelatedField[] = []; + + refs.forEach((ref) => { + const [from, to] = ref.endpointIds.map((id) => endpointToField[id]); + relatedFieldIdsOnTableId[from.tableId].push({ from: from.fieldId, to: to.fieldId }); + relatedFieldIdsOnTableId[to.tableId].push({ from: from.fieldId, to: to.fieldId }); + + relatedFields.push({ + from: { + id: from.fieldId, + relation: from.relation + }, + to: { + id: to.fieldId, + relation: to.relation + } + }); + }); + + return { + relatedFields, + relatedFieldIdsOnTableId + }; + } + + private getGlobalOffset(globalKey: GlobalKey) { + return globalKey.currentContext.renderObject.localToGlobal(); + } + + private getSize(globalKey: GlobalKey) { + return globalKey.currentContext.renderObject.size; + } +} + +export default DiagramController; diff --git a/packages/docs/src/components/diagram/controller/index.ts b/packages/docs/src/components/diagram/controller/index.ts new file mode 100644 index 0000000..c25de7c --- /dev/null +++ b/packages/docs/src/components/diagram/controller/index.ts @@ -0,0 +1 @@ +export { default as DiagramController } from './DiagramController'; diff --git a/packages/docs/src/components/diagram/dbml/type.ts b/packages/docs/src/components/diagram/dbml/type.ts new file mode 100644 index 0000000..882527f --- /dev/null +++ b/packages/docs/src/components/diagram/dbml/type.ts @@ -0,0 +1,138 @@ +interface Item { + id: number; + name: string; + note: string; +} + +export class Project implements Item { + readonly id: number; + readonly name: string; + readonly databaseType: string; + readonly note: string; + readonly schemas: Schema[]; + constructor({ + id, + name, + note, + databaseType, + schemas + }: { + id: number; + name?: string | null; + databaseType?: string | null; + note?: string | null; + schemas: Schema[]; + }) { + this.id = id; + this.name = name ?? ''; + this.databaseType = databaseType ?? ''; + this.note = note ?? ''; + this.schemas = schemas; + } + + findSchema(id: number): Schema | undefined { + return this.schemas.find((schema) => schema.id === id); + } + + findEnum(id: number): Enum | undefined { + return this.schemas.flatMap((schema) => schema.enums).find((en) => en.id === id); + } + + findGroup(id: number): Group | undefined { + return this.schemas.flatMap((schema) => schema.groups).find((group) => group.id === id); + } + + findTable(id: number): Table | undefined { + return this.schemas.flatMap((schema) => schema.tables).find((table) => table.id === id); + } + + findRef(id: number): Ref | undefined { + return this.schemas.flatMap((schema) => schema.refs).find((ref) => ref.id === id); + } +} + +export interface Schema extends Item { + enums: Enum[]; + groups: Group[]; + tables: Table[]; + refs: Ref[]; +} + +export interface Enum extends Item { + values: string[]; +} + +type TokenInfo = { + offset: number; + line: number; + column: number; +}; + +export type Token = { + start: TokenInfo; + end: TokenInfo; +}; + +export interface Group { + id: number; + name: string; + tableIds: number[]; + token: Token; +} +export interface Table extends Item { + meta: TableMeta; + fields: Field[]; + indexes: Index[]; + token: Token; +} + +export interface TableMeta { + headerColor?: string; +} + +export interface Index extends Item { + unique: boolean; + pk: string; + columns: IndexColumn[]; + token: Token; +} + +export interface IndexColumn { + id: number; + type: 'column'; + value: string; +} + +export interface Field extends Item { + type: FieldType; + pk: boolean; + notNull: boolean; + increment: boolean; + endpoints: Endpoint[]; + token: Token; + default?: string | number; +} + +export interface FieldType { + args: unknown; + schemaName: string; + typeName: string; +} + +export type Relation = '*' | '1'; + +export interface Endpoint { + id: number; + relation: Relation; + tableName: string; + fieldNames: string[]; + refId: number; + token: Token; +} + +export interface Ref { + id: number; + name: string; + endpointIds: number[]; + token: Token; +} diff --git a/packages/docs/src/components/diagram/event/ActiveRelationEvent.ts b/packages/docs/src/components/diagram/event/ActiveRelationEvent.ts new file mode 100644 index 0000000..7953730 --- /dev/null +++ b/packages/docs/src/components/diagram/event/ActiveRelationEvent.ts @@ -0,0 +1,17 @@ +import type { DiagramEvent } from './Event'; + +class ActiveRelationEvent implements DiagramEvent { + static get type() { + return 'ActiveRelationEvent'; + } + type = ActiveRelationEvent.type; + + field: { from: FIELD_ID; to: FIELD_ID }; + active: boolean; + constructor({ field, active }: { field: { from: FIELD_ID; to: FIELD_ID }; active: boolean }) { + this.field = field; + this.active = active; + } +} + +export default ActiveRelationEvent; diff --git a/packages/docs/src/components/diagram/event/Event.ts b/packages/docs/src/components/diagram/event/Event.ts new file mode 100644 index 0000000..5365b65 --- /dev/null +++ b/packages/docs/src/components/diagram/event/Event.ts @@ -0,0 +1,3 @@ +export interface DiagramEvent { + type: string; +} diff --git a/packages/docs/src/components/diagram/event/EventManager.ts b/packages/docs/src/components/diagram/event/EventManager.ts new file mode 100644 index 0000000..37ee94e --- /dev/null +++ b/packages/docs/src/components/diagram/event/EventManager.ts @@ -0,0 +1,33 @@ +import type { DiagramEvent } from './Event'; + +// eslint-disable-next-line @typescript-eslint/ban-types +type Callback = Function; + +class EventManager { + events: { [key: string]: Callback[] }; + + constructor() { + this.events = {}; + } + addEventListener(eventType: string, callback: Callback) { + if (!this.events[eventType]) { + this.events[eventType] = []; + } + this.events[eventType].push(callback); + } + removeEventListener(eventType: string, callback: Callback) { + if (!this.events[eventType]) { + return; + } + this.events[eventType] = this.events[eventType].filter((cb) => cb !== callback); + } + + dispatchEvent(event: DiagramEvent) { + if (!this.events[event.type]) { + return; + } + this.events[event.type].forEach((cb) => cb(event)); + } +} + +export default EventManager; diff --git a/packages/docs/src/components/diagram/event/field/FieldInsertEvent.ts b/packages/docs/src/components/diagram/event/field/FieldInsertEvent.ts new file mode 100644 index 0000000..4a5e4f1 --- /dev/null +++ b/packages/docs/src/components/diagram/event/field/FieldInsertEvent.ts @@ -0,0 +1,18 @@ +import type { GlobalKey } from '@moonmoonbrothers/flutterjs'; +import type { DiagramEvent } from '../Event'; + +class FieldInsertEvent implements DiagramEvent { + static get type() { + return 'FieldInsertEvent'; + } + type = FieldInsertEvent.type; + + id: FIELD_ID; + key: GlobalKey; + constructor({ id, key }: { id: FIELD_ID; key: GlobalKey }) { + this.id = id; + this.key = key; + } +} + +export default FieldInsertEvent; diff --git a/packages/docs/src/components/diagram/event/field/FieldLayoutChangeEvent.ts b/packages/docs/src/components/diagram/event/field/FieldLayoutChangeEvent.ts new file mode 100644 index 0000000..88a907b --- /dev/null +++ b/packages/docs/src/components/diagram/event/field/FieldLayoutChangeEvent.ts @@ -0,0 +1,18 @@ +import type { GlobalKey } from '@moonmoonbrothers/flutterjs'; +import type { DiagramEvent } from '../Event'; + +class FieldLayoutChangeEvent implements DiagramEvent { + static get type() { + return 'FieldLayoutChangeEvent'; + } + type = FieldLayoutChangeEvent.type; + + id: FIELD_ID; + key: GlobalKey; + constructor({ id, key }: { id: FIELD_ID; key: GlobalKey }) { + this.id = id; + this.key = key; + } +} + +export default FieldLayoutChangeEvent; diff --git a/packages/docs/src/components/diagram/event/field/FieldRemoveEvent.ts b/packages/docs/src/components/diagram/event/field/FieldRemoveEvent.ts new file mode 100644 index 0000000..14c8918 --- /dev/null +++ b/packages/docs/src/components/diagram/event/field/FieldRemoveEvent.ts @@ -0,0 +1,15 @@ +import type { DiagramEvent } from '../Event'; + +class FieldRemoveEvent implements DiagramEvent { + static get type() { + return 'FieldRemoveEvent'; + } + type = FieldRemoveEvent.type; + + id: FIELD_ID; + constructor({ id }: { id: FIELD_ID }) { + this.id = id; + } +} + +export default FieldRemoveEvent; diff --git a/packages/docs/src/components/diagram/event/field/index.ts b/packages/docs/src/components/diagram/event/field/index.ts new file mode 100644 index 0000000..37e411b --- /dev/null +++ b/packages/docs/src/components/diagram/event/field/index.ts @@ -0,0 +1,3 @@ +export { default as FieldInsertEvent } from './FieldInsertEvent'; +export { default as FieldRemoveEvent } from './FieldRemoveEvent'; +export { default as FieldLayoutChangeEvent } from './FieldLayoutChangeEvent'; diff --git a/packages/docs/src/components/diagram/event/index.ts b/packages/docs/src/components/diagram/event/index.ts new file mode 100644 index 0000000..877172c --- /dev/null +++ b/packages/docs/src/components/diagram/event/index.ts @@ -0,0 +1,4 @@ +export { default as EventManager } from './EventManager'; +export { default as ActiveRelationEvent } from './ActiveRelationEvent'; +export * from './node'; +export * from './field'; diff --git a/packages/docs/src/components/diagram/event/node/LegacyNodeEvent.ts b/packages/docs/src/components/diagram/event/node/LegacyNodeEvent.ts new file mode 100644 index 0000000..2e13fd7 --- /dev/null +++ b/packages/docs/src/components/diagram/event/node/LegacyNodeEvent.ts @@ -0,0 +1,19 @@ +import type { GlobalKey } from '@moonmoonbrothers/flutterjs'; +import type { DiagramEvent } from '../Event'; + +class LegacyNodeEvent implements DiagramEvent { + static get type() { + return 'MovedNodeChangeEvent'; + } + type = LegacyNodeEvent.type; + + tableName: string; + key: GlobalKey; + + constructor({ tableName, key }: { tableName: string; key: GlobalKey }) { + this.tableName = tableName; + this.key = key; + } +} + +export default LegacyNodeEvent; diff --git a/packages/docs/src/components/diagram/event/node/NodeAlignTranslationEvent.ts b/packages/docs/src/components/diagram/event/node/NodeAlignTranslationEvent.ts new file mode 100644 index 0000000..4dc5c82 --- /dev/null +++ b/packages/docs/src/components/diagram/event/node/NodeAlignTranslationEvent.ts @@ -0,0 +1,18 @@ +import type { Offset } from '@moonmoonbrothers/flutterjs'; +import type { DiagramEvent } from '../Event'; + +class NodeAlignTranslationEvent implements DiagramEvent { + static get type() { + return 'NodeAlignTranslationEvent'; + } + type = NodeAlignTranslationEvent.type; + + tableName: string; + translation: Offset; + constructor({ tableName, translation }: { tableName: string; translation: Offset }) { + this.tableName = tableName; + this.translation = translation; + } +} + +export default NodeAlignTranslationEvent; diff --git a/packages/docs/src/components/diagram/event/node/NodeInsertEvent.ts b/packages/docs/src/components/diagram/event/node/NodeInsertEvent.ts new file mode 100644 index 0000000..bb64658 --- /dev/null +++ b/packages/docs/src/components/diagram/event/node/NodeInsertEvent.ts @@ -0,0 +1,18 @@ +import type { GlobalKey } from '@moonmoonbrothers/flutterjs'; +import type { DiagramEvent } from '../Event'; + +class NodeInsertEvent implements DiagramEvent { + static get type() { + return 'NodeInsertEvent'; + } + type = NodeInsertEvent.type; + tableName: string; + key: GlobalKey; + + constructor({ tableName, key }: { tableName: string; key: GlobalKey }) { + this.tableName = tableName; + this.key = key; + } +} + +export default NodeInsertEvent; diff --git a/packages/docs/src/components/diagram/event/node/NodeLayoutChangeEvent.ts b/packages/docs/src/components/diagram/event/node/NodeLayoutChangeEvent.ts new file mode 100644 index 0000000..9398803 --- /dev/null +++ b/packages/docs/src/components/diagram/event/node/NodeLayoutChangeEvent.ts @@ -0,0 +1,18 @@ +import type { GlobalKey } from '@moonmoonbrothers/flutterjs'; +import type { DiagramEvent } from '../Event'; + +class NodeLayoutChangeEvent implements DiagramEvent { + static get type() { + return 'NodeLayoutChangeEvent'; + } + type = NodeLayoutChangeEvent.type; + tableName: string; + key: GlobalKey; + + constructor({ tableName, key }: { tableName: string; key: GlobalKey }) { + this.tableName = tableName; + this.key = key; + } +} + +export default NodeLayoutChangeEvent; diff --git a/packages/docs/src/components/diagram/event/node/NodeRemoveEvent.ts b/packages/docs/src/components/diagram/event/node/NodeRemoveEvent.ts new file mode 100644 index 0000000..d05af19 --- /dev/null +++ b/packages/docs/src/components/diagram/event/node/NodeRemoveEvent.ts @@ -0,0 +1,15 @@ +import type { DiagramEvent } from '../Event'; + +class NodeRemoveEvent implements DiagramEvent { + static get type() { + return 'NodeRemoveEvent'; + } + type = NodeRemoveEvent.type; + tableName: string; + + constructor({ tableName }: { tableName: string }) { + this.tableName = tableName; + } +} + +export default NodeRemoveEvent; diff --git a/packages/docs/src/components/diagram/event/node/NodeTranslationEndEvent.ts b/packages/docs/src/components/diagram/event/node/NodeTranslationEndEvent.ts new file mode 100644 index 0000000..4e05667 --- /dev/null +++ b/packages/docs/src/components/diagram/event/node/NodeTranslationEndEvent.ts @@ -0,0 +1,15 @@ +import type { DiagramEvent } from '../Event'; + +class NodeTranslationEvent implements DiagramEvent { + static get type() { + return 'NodeTranslationEndEvent'; + } + type = NodeTranslationEvent.type; + + tableName: string; + constructor({ tableName }: { tableName: string }) { + this.tableName = tableName; + } +} + +export default NodeTranslationEvent; diff --git a/packages/docs/src/components/diagram/event/node/NodeTranslationEvent.ts b/packages/docs/src/components/diagram/event/node/NodeTranslationEvent.ts new file mode 100644 index 0000000..b16aac8 --- /dev/null +++ b/packages/docs/src/components/diagram/event/node/NodeTranslationEvent.ts @@ -0,0 +1,18 @@ +import type { Offset } from '@moonmoonbrothers/flutterjs'; +import type { DiagramEvent } from '../Event'; + +class NodeTranslationEvent implements DiagramEvent { + static get type() { + return 'NodeTranslationEvent'; + } + type = NodeTranslationEvent.type; + + tableName: string; + translation: Offset; + constructor({ tableName, translation }: { tableName: string; translation: Offset }) { + this.tableName = tableName; + this.translation = translation; + } +} + +export default NodeTranslationEvent; diff --git a/packages/docs/src/components/diagram/event/node/index.ts b/packages/docs/src/components/diagram/event/node/index.ts new file mode 100644 index 0000000..482db51 --- /dev/null +++ b/packages/docs/src/components/diagram/event/node/index.ts @@ -0,0 +1,7 @@ +export { default as LegacyNodeEvent } from './LegacyNodeEvent'; +export { default as NodeInsertEvent } from './NodeInsertEvent'; +export { default as NodeTranslationEvent } from './NodeTranslationEvent'; +export { default as NodeRemoveEvent } from './NodeRemoveEvent'; +export { default as NodeTranslationEndEvent } from './NodeTranslationEndEvent'; +export { default as NodeAlignTranslationEvent } from './NodeAlignTranslationEvent'; +export { default as NodeLayoutChangeEvent } from './NodeLayoutChangeEvent'; diff --git a/packages/docs/src/components/diagram/fixture/index.ts b/packages/docs/src/components/diagram/fixture/index.ts new file mode 100644 index 0000000..a856664 --- /dev/null +++ b/packages/docs/src/components/diagram/fixture/index.ts @@ -0,0 +1 @@ +export { default as project } from './project'; diff --git a/packages/docs/src/components/diagram/fixture/project/index.ts b/packages/docs/src/components/diagram/fixture/project/index.ts new file mode 100644 index 0000000..811277c --- /dev/null +++ b/packages/docs/src/components/diagram/fixture/project/index.ts @@ -0,0 +1,148 @@ +import type { Project } from "./type"; + +export default { + id: 1, + name: "", + databaseType: "", + note: "", + schemas: [ + { + id: 1, + name: "public", + note: "Default Public Schema", + enums: [], + groups: [], + tables: [ + { + id: 1, + name: "member", + note: "", + fields: [ + { + id: 1, + name: "id", + type: { args: null, schemaName: "", typeName: "uuid" }, + increment: false, + notNull: false, + pk: true, + endpoints: [], + token: { + start: { offset: 18, line: 3, column: 3 }, + end: { offset: 26, line: 4, column: 1 }, + }, + }, + { + id: 2, + name: "name", + type: { args: "200", schemaName: "", typeName: "varchar(200)" }, + increment: false, + notNull: false, + pk: false, + endpoints: [], + token: { + start: { offset: 26, line: 4, column: 1 }, + end: { offset: 46, line: 5, column: 1 }, + }, + }, + { + id: 3, + name: "space_id", + note: "", + type: { args: null, schemaName: "", typeName: "uuid" }, + increment: false, + notNull: false, + pk: false, + endpoints: [ + { + id: 1, + relation: "*", + tableName: "member", + fieldNames: ["space_id"], + refId: 1, + token: { + start: { offset: 107, line: 13, column: 1 }, + end: { offset: 138, line: 13, column: 32 }, + }, + }, + ], + token: { + start: { offset: 46, line: 5, column: 1 }, + end: { offset: 62, line: 6, column: 1 }, + }, + }, + ], + indexes: [], + meta: {}, + token: { + start: { offset: 1, line: 2, column: 1 }, + end: { offset: 63, line: 6, column: 2 }, + }, + }, + { + id: 2, + name: "space", + note: "", + fields: [ + { + id: 4, + name: "id", + note: "", + type: { args: null, schemaName: "", typeName: "uuid" }, + increment: false, + notNull: false, + pk: true, + endpoints: [ + { + id: 2, + relation: "1", + tableName: "space", + fieldNames: ["id"], + refId: 1, + token: { + start: { offset: 107, line: 13, column: 1 }, + end: { offset: 138, line: 13, column: 32 }, + }, + }, + ], + token: { + start: { offset: 81, line: 9, column: 3 }, + end: { offset: 89, line: 10, column: 1 }, + }, + }, + { + id: 5, + name: "name", + note: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor.", + type: { args: null, schemaName: "", typeName: "varchar" }, + increment: false, + notNull: false, + pk: false, + endpoints: [], + token: { + start: { offset: 89, line: 10, column: 1 }, + end: { offset: 104, line: 11, column: 1 }, + }, + }, + ], + indexes: [], + meta: {}, + token: { + start: { offset: 65, line: 8, column: 1 }, + end: { offset: 105, line: 11, column: 2 }, + }, + }, + ], + refs: [ + { + id: 1, + name: "", + endpointIds: [1, 2], + token: { + start: { offset: 107, line: 13, column: 1 }, + end: { offset: 138, line: 13, column: 32 }, + }, + }, + ], + }, + ], +} satisfies Project; diff --git a/packages/docs/src/components/diagram/fixture/project/type.ts b/packages/docs/src/components/diagram/fixture/project/type.ts new file mode 100644 index 0000000..dbee98a --- /dev/null +++ b/packages/docs/src/components/diagram/fixture/project/type.ts @@ -0,0 +1,3 @@ +import type { Project as _Project } from '$lib/components/diagram/type'; + +export type Project = _Project; diff --git a/packages/docs/src/components/diagram/index.ts b/packages/docs/src/components/diagram/index.ts new file mode 100644 index 0000000..28a170a --- /dev/null +++ b/packages/docs/src/components/diagram/index.ts @@ -0,0 +1,3 @@ +import Diagram from './Diagram.svelte'; + +export { Diagram }; diff --git a/packages/docs/src/components/diagram/type.ts b/packages/docs/src/components/diagram/type.ts new file mode 100644 index 0000000..b9c2680 --- /dev/null +++ b/packages/docs/src/components/diagram/type.ts @@ -0,0 +1,24 @@ +import type { + Project as _Project, + Table as _Table, + Field as _Field, + Ref as _Ref, + Endpoint as _Endpoint, +} from "./dbml/type"; + +export type Project = Pick< + _Project, + "id" | "note" | "schemas" | "databaseType" | "name" +>; +export type Table = _Table; +export type Field = _Field; +export type Ref = _Ref; +export type Endpoint = _Endpoint; +export type RelatedField = { + from: { id: FieldId; relation: "*" | "1" }; + to: { id: FieldId; relation: "*" | "1" }; +}; +export type Relation = "*" | "1"; +export type FieldId = number; +export type TableName = string; +export type TableId = number; diff --git a/packages/docs/src/components/diagram/widget/AlignLiner/AlignLiner.ts b/packages/docs/src/components/diagram/widget/AlignLiner/AlignLiner.ts new file mode 100644 index 0000000..622de04 --- /dev/null +++ b/packages/docs/src/components/diagram/widget/AlignLiner/AlignLiner.ts @@ -0,0 +1,214 @@ +import type { DiagramController } from '$lib/components/diagram/controller'; +import { + type EventManager, + NodeInsertEvent, + NodeRemoveEvent, + NodeTranslationEvent, + NodeTranslationEndEvent, + NodeAlignTranslationEvent, + NodeLayoutChangeEvent +} from '$lib/components/diagram/event'; +import { + BuildContext, + Offset, + Positioned, + Stack, + State, + StatefulWidget, + ZIndex +} from '@moonmoonbrothers/flutterjs'; +import { DiagramControllerProvider, EventManagerProvider } from '../Provider'; +import type { Line as LineProps } from './type'; +import Line from './Line'; +import { classToFunction } from '../utils'; +import getNextZIndex from '../getNextZIndex'; + +class AlignLiner extends StatefulWidget { + createState(): State { + return new AlignLinerState(); + } +} + +type TableName = string; + +type Rect = { + left: number; + top: number; + right: number; + bottom: number; +}; + +class AlignLinerState extends State { + controller!: DiagramController; + eventManager!: EventManager; + rects: Record = {}; + lines: LineProps[] = []; + addPostFrameCallback!: (callback: () => void) => void; + + initState(context: BuildContext): void { + this.addPostFrameCallback = context.scheduler.addPostFrameCallbacks.bind(context.scheduler); + this.controller = DiagramControllerProvider.of(context); + this.eventManager = EventManagerProvider.of(context); + + this.eventManager.addEventListener(NodeTranslationEvent.type, this.handleNodeTranslation); + this.eventManager.addEventListener(NodeRemoveEvent.type, this.handleNodeRemove); + this.eventManager.addEventListener(NodeInsertEvent.type, this.handleNodeInsert); + this.eventManager.addEventListener(NodeTranslationEndEvent.type, this.handleNodeTranslationEnd); + this.eventManager.addEventListener(NodeLayoutChangeEvent.type, this.handleNodeLayoutChange); + } + + dispose(): void { + super.dispose(); + this.eventManager.removeEventListener(NodeLayoutChangeEvent.type, this.handleNodeLayoutChange); + this.eventManager.removeEventListener(NodeTranslationEvent.type, this.handleNodeTranslation); + this.eventManager.removeEventListener(NodeRemoveEvent.type, this.handleNodeRemove); + this.eventManager.removeEventListener(NodeInsertEvent.type, this.handleNodeInsert); + this.eventManager.removeEventListener( + NodeTranslationEndEvent.type, + this.handleNodeTranslationEnd + ); + } + + handleNodeLayoutChange = (e: NodeLayoutChangeEvent) => { + const rect = this.controller.getRect(e.key); + this.rects[e.tableName] = { + top: rect.top, + left: rect.left, + right: rect.right, + bottom: rect.bottom + }; + }; + + handleNodeTranslation = (e: NodeTranslationEvent) => { + this.addPostFrameCallback(() => { + this.changeLiners(e.tableName); + }); + }; + + handleNodeRemove = (e: NodeRemoveEvent) => { + delete this.rects[e.tableName]; + }; + + handleNodeInsert = (e: NodeInsertEvent) => { + /** + * 노드가 레거시화 되는 순간, 해당 노드의 랜더트리 위치가 바뀌는 과정에서 불필요하게 dispose와 initState가 다시 발생한다. + * 이는 flutterjs에서 같은 키를 가진 위젯의 lazy dispose를 구현하지 않아서 발생하는 문제이다. + * 위의 문제 때문에 dispose와 initState의 불필요한 호출이 발생되고, 해당 메서드의 순서가 보장되지 않아 NodeInsertEvent가 NodeRemoveEvent보다 먼저 발생할 수 있다. + * 그럴 경우 this.findRect(e.tableName)에서 null 에러가 발생한다. + * 이를 방지하기위해 임시적으로 setTimeout을 사용해 동작순서를 강제루 미룬다. + * setTimeout은 flutterjs의 해당 이슈가 해결되면 사라질 예정이다. + * @see https://github.com/moonmoonbrothers/uglychart/issues/204 + */ + setTimeout(() => { + this.addPostFrameCallback(() => { + const rect = this.controller.getRect(e.key); + this.rects[e.tableName] = { + top: rect.top, + left: rect.left, + right: rect.right, + bottom: rect.bottom + }; + }); + }, 0); + }; + + handleNodeTranslationEnd = (_: NodeTranslationEndEvent) => { + this.setState(() => { + this.lines = []; + + const [dx, dy] = [this.translationX, this.translationY]; + const target = this.targetName; + this.translationX = 0; + this.translationY = 0; + this.targetName = null; + if (dx !== 0 || dy !== 0) { + /** + * legacy node가 mount되고 난 뒤 이벤트 발행 + */ + this.addPostFrameCallback(() => { + this.eventManager.dispatchEvent( + new NodeAlignTranslationEvent({ + tableName: target!, + translation: new Offset({ x: dx, y: dy }) + }) + ); + }); + } + }); + }; + + translationX = 0; + translationY = 0; + targetName: TableName | null = null; + private changeLiners(target: TableName) { + this.targetName = target; + this.setState(() => { + this.lines = []; + const targetRect = this.findRect(target); + const otherRects = this.getAllRectsExceptTarget(target); + + let isXAlign = false; + let isYAlign = false; + otherRects.forEach((rect) => { + if (this.isInRange(rect.right, targetRect.right)) { + this.lines.push({ type: 'vertical', x: rect.right }); + this.translationX = rect.right - targetRect.right; + isXAlign = true; + } + if (this.isInRange(rect.bottom, targetRect.bottom)) { + this.lines.push({ type: 'horizontal', y: rect.bottom }); + this.translationY = rect.bottom - targetRect.bottom; + isYAlign = true; + } + if (this.isInRange(rect.left, targetRect.left)) { + this.lines.push({ type: 'vertical', x: rect.left }); + this.translationX = rect.left - targetRect.left; + isXAlign = true; + } + if (this.isInRange(rect.top, targetRect.top)) { + this.lines.push({ type: 'horizontal', y: rect.top }); + this.translationY = rect.top - targetRect.top; + isYAlign = true; + } + }); + if (!isXAlign) { + this.translationX = 0; + } + if (!isYAlign) { + this.translationY = 0; + } + }); + } + + private isInRange(target: number, criteria: number) { + return Math.abs(target - criteria) < 5; + } + + private getAllRectsExceptTarget(target: TableName): Rect[] { + const result: Rect[] = []; + + Object.entries(this.rects).forEach(([tableName, rect]) => { + if (tableName === target) return; + result.push(rect); + }); + return result; + } + + private findRect(tableName: string) { + const result = this.rects[tableName]; + if (result == null) throw new Error(`Cannot find rect for ${tableName} on AlignLiner`); + + return result; + } + + override build() { + return ZIndex({ + zIndex: getNextZIndex(), + child: Stack({ + children: this.lines.map((line) => Positioned.fill({ child: Line({ line }) })) + }) + }); + } +} + +export default classToFunction(AlignLiner); diff --git a/packages/docs/src/components/diagram/widget/AlignLiner/Line.ts b/packages/docs/src/components/diagram/widget/AlignLiner/Line.ts new file mode 100644 index 0000000..11ff9cb --- /dev/null +++ b/packages/docs/src/components/diagram/widget/AlignLiner/Line.ts @@ -0,0 +1,74 @@ +import { CustomPaint, Element, State, StatefulWidget } from '@moonmoonbrothers/flutterjs'; +import type { Line as LineProps } from './type'; +import type { DiagramController } from '$lib/components/diagram/controller'; +import { DiagramControllerProvider } from '../Provider'; +import { classToFunction } from '../utils'; + +class Line extends StatefulWidget { + line: LineProps; + constructor({ line, key }: { line: LineProps; key?: unknown }) { + super(key); + this.line = line; + } + + createState(): State { + return new LineState(); + } +} + +class LineState extends State { + controller!: DiagramController; + initState(context: Element): void { + super.initState(context); + this.controller = DiagramControllerProvider.of(context); + } + + resolveProps(props: LineProps): { x1: number; x2: number; y1: number; y2: number } { + let result: { x1: number; x2: number; y1: number; y2: number }; + const rootRect = this.controller.getRootRect(); + const canvasRect = this.controller.getCanvasRect(); + const scale = this.controller.getScale(); + if (props.type === 'horizontal') { + const { y } = props; + result = { + x1: (canvasRect.left - rootRect.left) / scale + rootRect.left, + x2: (rootRect.width + canvasRect.right - rootRect.right) / scale + rootRect.left, + y1: y, + y2: y + }; + } else { + const { x } = props; + result = { + x1: x, + x2: x, + y1: (canvasRect.top - rootRect.top) / scale + rootRect.top, + y2: (rootRect.height + canvasRect.bottom - rootRect.bottom) / scale + rootRect.top + }; + } + return result; + } + + override build() { + return CustomPaint({ + painter: { + shouldRepaint: () => true, + createDefaultSvgEl: (paintContext) => ({ + line: paintContext.createSvgEl('line') + }), + paint: ({ line }) => { + const { x1, y1, x2, y2 } = this.resolveProps(this.widget.line); + line.setAttribute('x1', `${x1}`); + line.setAttribute('y1', `${y1}`); + line.setAttribute('x2', `${x2}`); + line.setAttribute('y2', `${y2}`); + + line.setAttribute('stroke', 'black'); + line.setAttribute('stroke-width', '1'); + line.setAttribute('stroke-dasharray', '5,5'); + } + } + }); + } +} + +export default classToFunction(Line); diff --git a/packages/docs/src/components/diagram/widget/AlignLiner/type.ts b/packages/docs/src/components/diagram/widget/AlignLiner/type.ts new file mode 100644 index 0000000..f242d7c --- /dev/null +++ b/packages/docs/src/components/diagram/widget/AlignLiner/type.ts @@ -0,0 +1,9 @@ +export type Line = + | { + type: 'vertical'; + x: number; + } + | { + type: 'horizontal'; + y: number; + }; diff --git a/packages/docs/src/components/diagram/widget/ChangeNotifier/ChangedLayoutNotifier.ts b/packages/docs/src/components/diagram/widget/ChangeNotifier/ChangedLayoutNotifier.ts new file mode 100644 index 0000000..b2b8f9a --- /dev/null +++ b/packages/docs/src/components/diagram/widget/ChangeNotifier/ChangedLayoutNotifier.ts @@ -0,0 +1,54 @@ +import { + SingleChildRenderObject, + SingleChildRenderObjectWidget, + Size, + Widget, + type PaintContext, + Matrix4 +} from '@moonmoonbrothers/flutterjs'; +import { classToFunction } from '../utils'; + +class ChangedLayoutNotifier extends SingleChildRenderObjectWidget { + onChange: () => void; + constructor({ key, child, onChange }: { key?: unknown; child: Widget; onChange: () => void }) { + super({ key, child }); + this.onChange = onChange; + } + + createRenderObject() { + return new _SizeChangedLayoutNotifierRenderObject({ + onChange: this.onChange + }); + } + + updateRenderObject(renderObject: _SizeChangedLayoutNotifierRenderObject) { + renderObject.onChange = this.onChange; + } +} + +class _SizeChangedLayoutNotifierRenderObject extends SingleChildRenderObject { + onChange: () => void; + oldSize?: Size; + oldMatrix?: Matrix4; + constructor({ onChange }: { onChange: () => void }) { + super({ isPainter: false }); + this.onChange = onChange; + } + + override paint(context: PaintContext, clipId?: string, matrix4?: Matrix4, opacity?: number) { + super.paint(context, clipId, matrix4, opacity); + const oldSize = this.oldSize; + const oldMatrix = this.oldMatrix; + const currentSize = this.size; + const currentMatrix = matrix4!; + this.oldMatrix = currentMatrix; + this.oldSize = currentSize; + if (oldSize == null) return; + if (oldMatrix == null) return; + if (currentSize.equal(oldSize) && currentMatrix.equals(oldMatrix)) return; + + this.onChange(); + } +} + +export default classToFunction(ChangedLayoutNotifier); diff --git a/packages/docs/src/components/diagram/widget/ChangeNotifier/ChangedSizeNotifier.ts b/packages/docs/src/components/diagram/widget/ChangeNotifier/ChangedSizeNotifier.ts new file mode 100644 index 0000000..5274675 --- /dev/null +++ b/packages/docs/src/components/diagram/widget/ChangeNotifier/ChangedSizeNotifier.ts @@ -0,0 +1,52 @@ +import { + SingleChildRenderObject, + SingleChildRenderObjectWidget, + Size, + Widget +} from '@moonmoonbrothers/flutterjs'; +import { classToFunction } from '../utils'; + +class ChangedSizeNotifier extends SingleChildRenderObjectWidget { + onChange: (size: Size) => void; + constructor({ + key, + child, + onChange + }: { + key?: unknown; + child: Widget; + onChange: (size: Size) => void; + }) { + super({ key, child }); + this.onChange = onChange; + } + + createRenderObject() { + return new ChangedSizeNotifierRenderObject({ + onChange: this.onChange + }); + } + + updateRenderObject(renderObject: ChangedSizeNotifierRenderObject) { + renderObject.onChange = this.onChange; + } +} + +class ChangedSizeNotifierRenderObject extends SingleChildRenderObject { + onChange: (size: Size) => void; + oldSize?: Size; + constructor({ onChange }: { onChange: (size: Size) => void }) { + super({ isPainter: false }); + this.onChange = onChange; + } + + protected preformLayout(): void { + super.preformLayout(); + if (this.oldSize == null) return; + if (this.size.width === this.oldSize.width && this.size.height === this.oldSize.height) return; + this.onChange(this.size); + this.oldSize = this.size; + } +} + +export default classToFunction(ChangedSizeNotifier); diff --git a/packages/docs/src/components/diagram/widget/ChangeNotifier/index.ts b/packages/docs/src/components/diagram/widget/ChangeNotifier/index.ts new file mode 100644 index 0000000..01579ba --- /dev/null +++ b/packages/docs/src/components/diagram/widget/ChangeNotifier/index.ts @@ -0,0 +1,2 @@ +export { default as ChangedLayoutNotifier } from './ChangedLayoutNotifier'; +export { default as ChangedSizeNotifier } from './ChangedSizeNotifier'; diff --git a/packages/docs/src/components/diagram/widget/Diagram.ts b/packages/docs/src/components/diagram/widget/Diagram.ts new file mode 100644 index 0000000..9541a7d --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Diagram.ts @@ -0,0 +1,35 @@ +import type { Project } from '../type'; +import { StatelessWidget } from '@moonmoonbrothers/flutterjs'; +import EventManagerProvider from './Provider/EventManagerProvider'; +import { classToFunction } from './utils'; +import DiagramRoot from './Root'; +import DiagramControllerProvider from './Provider/DiagramControllerProvider'; +import { EventManager } from '../event'; + +type Subscribe = (callback: (project: Project) => void) => () => void; + +class Diagram extends StatelessWidget { + project: Project; + subscribe: Subscribe; + eventManager!: EventManager; + + constructor({ project, subscribe }: { project: Project; subscribe: Subscribe }) { + super(); + this.project = project; + this.subscribe = subscribe; + this.eventManager = new EventManager(); + } + override build() { + /** + * Provider must be placed in stateless wid + * It is flutterjs's bug. If you place it in stateful widget, the child widget is not updated when 'setState' is called. + */ + return EventManagerProvider({ + child: DiagramControllerProvider({ + child: DiagramRoot({ project: this.project, subscribe: this.subscribe }) + }) + }); + } +} + +export default classToFunction(Diagram); diff --git a/packages/docs/src/components/diagram/widget/Edge/Edge.ts b/packages/docs/src/components/diagram/widget/Edge/Edge.ts new file mode 100644 index 0000000..27df94c --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Edge/Edge.ts @@ -0,0 +1,142 @@ +import { + StatefulWidget, + State, + BuildContext, + CustomPaint, + Path, + Rect, + GlobalKey +} from '@moonmoonbrothers/flutterjs'; +import { classToFunction } from '../utils'; +import drawEdge from './drawEdge'; +import EventManagerProvider from '../Provider/EventManagerProvider'; +import { ActiveRelationEvent, EventManager, FieldLayoutChangeEvent } from '../../event'; +import DiagramControllerProvider from '../Provider/DiagramControllerProvider'; +import type { DiagramController } from '$lib/components/diagram/controller'; +import type { FieldId } from '$lib/components/diagram/type'; + +type Vertex = { + id: FIELD_ID; + relation: '*' | '1'; +}; + +class Edge extends StatefulWidget { + fields: Record; + from: Vertex; + to: Vertex; + constructor(props: { + from: Vertex; + to: Vertex; + fields: Record; + }) { + super(); + this.from = props.from; + this.to = props.to; + this.fields = props.fields; + } + + createState() { + return new EdgeState(); + } +} + +class EdgeState extends State { + from?: Rect; + to?: Rect; + active = false; + eventManager!: EventManager; + controller!: DiagramController; + override initState(context: BuildContext) { + const eventManager = EventManagerProvider.of(context); + this.eventManager = eventManager; + this.controller = DiagramControllerProvider.of(context); + + eventManager.addEventListener(FieldLayoutChangeEvent.type, this.handlePositionChangeEvent); + eventManager.addEventListener(ActiveRelationEvent.type, this.handleActiveRelationEvent); + + context.scheduler.addPostFrameCallbacks(() => { + this.setState(() => { + const fields = this.widget.fields; + this.from = this.controller.getRect(fields[this.widget.from.id]); + this.to = this.controller.getRect(fields[this.widget.to.id]); + }); + }); + } + + dispose(): void { + super.dispose(); + this.eventManager.removeEventListener(ActiveRelationEvent.type, this.handleActiveRelationEvent); + this.eventManager.removeEventListener( + FieldLayoutChangeEvent.type, + this.handlePositionChangeEvent + ); + } + handlePositionChangeEvent = (e: FieldLayoutChangeEvent) => { + if (e.id === this.widget.from.id) { + this.didChangePosition('from', e.key); + } else if (e.id === this.widget.to.id) { + this.didChangePosition('to', e.key); + } + }; + + handleActiveRelationEvent = (e: ActiveRelationEvent) => { + if (e.field.from !== this.widget.from.id || e.field.to !== this.widget.to.id) return; + this.setState(() => { + this.active = e.active; + }); + }; + + didChangePosition(type: 'to' | 'from', key: GlobalKey) { + this.element.scheduler.addPostFrameCallbacks(() => { + this.setState(() => { + this[type] = this.controller.getRect(key); + }); + }); + } + + override build() { + return CustomPaint({ + painter: { + dependencies: { active: this.active, from: this.from, to: this.to }, + shouldRepaint: (old) => { + const { dependencies } = old; + const { from, to, active } = dependencies as { from: Rect; to: Rect; active: boolean }; + if (from == null || to == null) return true; + const result = + to.right !== this.to?.right || + to.left !== this.to?.left || + to.top !== this.to?.top || + to.bottom !== this.to?.bottom || + from.right !== this.from?.right || + from.left !== this.from?.left || + from.top !== this.from?.top || + from.bottom !== this.from?.bottom || + active !== this.active; + + return result; + }, + createDefaultSvgEl: (context) => ({ path: context.createSvgEl('path') }), + paint: ({ path }) => { + const painter = new Path(); + if (this.from == null || this.to == null) return; + drawEdge({ + path: painter, + fromField: { + rect: this.from, + relation: this.widget.from.relation + }, + toField: { + rect: this.to, + relation: this.widget.to.relation + } + }); + path.setAttribute('stroke-width', this.active ? '2' : '1'); + path.setAttribute('stroke', this.active ? 'black' : 'gray'); + path.setAttribute('d', painter.getD()); + } + } + }); + } +} + +export default classToFunction(Edge); diff --git a/packages/docs/src/components/diagram/widget/Edge/RefDrawer.ts b/packages/docs/src/components/diagram/widget/Edge/RefDrawer.ts new file mode 100644 index 0000000..00fa396 --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Edge/RefDrawer.ts @@ -0,0 +1,60 @@ +import { + Element, + GlobalKey, + Stack, + State, + StatefulWidget, + Widget, +} from "@moonmoonbrothers/flutterjs"; +import DiagramControllerProvider from "../Provider/DiagramControllerProvider"; +import { classToFunction } from "../utils"; +import Edge from "./Edge"; +import type { DiagramController } from "../../controller"; +import type { FieldId } from "../../type"; +import { FieldInsertEvent, FieldRemoveEvent } from "../../event/field"; +import type { EventManager } from "../../event"; +import { EventManagerProvider } from "../Provider"; + +class RefDrawer extends StatefulWidget { + createState(): State { + return new RefDrawerState(); + } +} + +class RefDrawerState extends State { + fields: Record = {}; + controller!: DiagramController; + eventManager!: EventManager; + initState(context: Element): void { + super.initState(context); + this.controller = DiagramControllerProvider.of(context); + this.eventManager = EventManagerProvider.of(context); + this.eventManager.addEventListener( + FieldInsertEvent.type, + this.handleFieldInsert, + ); + this.eventManager.addEventListener( + FieldRemoveEvent.type, + this.handleFieldRemove, + ); + } + + handleFieldInsert = (e: FieldInsertEvent) => { + this.fields[e.id] = e.key; + }; + + handleFieldRemove = (e: FieldRemoveEvent) => { + delete this.fields[e.id]; + }; + + build(): Widget { + const relatedFields = this.controller.getAllRelatedFields(); + return Stack({ + children: relatedFields.map(({ from, to }) => + Edge({ from, to, fields: this.fields }), + ), + }); + } +} + +export default classToFunction(RefDrawer); diff --git a/packages/docs/src/components/diagram/widget/Edge/drawEdge.ts b/packages/docs/src/components/diagram/widget/Edge/drawEdge.ts new file mode 100644 index 0000000..47b246f --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Edge/drawEdge.ts @@ -0,0 +1,169 @@ +import { Offset, Path, Rect } from '@moonmoonbrothers/flutterjs'; + +const RELATION_LENGTH = 10; + +type Relation = '*' | '1'; + +type Vertex = { + rect: Rect; + relation: Relation; +}; + +function drawEdge({ + path, + fromField, + toField +}: { + fromField: Vertex; + toField: Vertex; + path: Path; +}) { + const overlapped = checkOverlap(fromField.rect, toField.rect); + + const { from, corner1, corner2, to } = overlapped + ? getDotsOnOverlapped({ fromField, toField }) + : getDotsNotOverlapped({ fromField, toField }); + + path + .moveTo(from) + .lineTo(corner1) + .moveTo(corner1) + .lineTo(corner2) + .moveTo(corner2) + .lineTo(to) + .close(); + + drawRelation({ + position: from, + relation: fromField.relation, + direction: from.x > corner1.x ? 'left' : 'right', + path + }); + drawRelation({ + position: to, + relation: toField.relation, + direction: to.x > corner2.x ? 'left' : 'right', + path + }); +} + +export default drawEdge; + +function checkOverlap(from: Rect, to: Rect) { + return !( + to.right + 2 * RELATION_LENGTH < from.left || from.right + 2 * RELATION_LENGTH < to.left + ); +} + +function getDotsOnOverlapped({ fromField, toField }: { fromField: Vertex; toField: Vertex }) { + const connectedSide: 'left' | 'right' = + Math.abs(fromField.rect.left - toField.rect.left) < + Math.abs(fromField.rect.right - toField.rect.right) + ? 'left' + : 'right'; + + const from = new Offset({ + x: connectedSide === 'left' ? fromField.rect.left : fromField.rect.right, + y: fromField.rect.center.y + }); + + const to = new Offset({ + x: connectedSide == 'left' ? toField.rect.left : toField.rect.right, + y: toField.rect.center.y + }); + + const distance = RELATION_LENGTH + 4; + + const cornerX = + connectedSide === 'left' + ? (from.x < to.x ? from.x : to.x) - distance + : (from.x > to.x ? from.x : to.x) + distance; + + const corner1 = new Offset({ x: cornerX, y: from.y }); + const corner2 = new Offset({ x: cornerX, y: to.y }); + + return { + from, + to, + corner1, + corner2 + }; +} + +function getDotsNotOverlapped({ fromField, toField }: { fromField: Vertex; toField: Vertex }) { + const from = new Offset({ + x: fromField.rect.right < toField.rect.left ? fromField.rect.right : fromField.rect.left, + y: fromField.rect.center.y + }); + const to = new Offset({ + x: fromField.rect.right < toField.rect.left ? toField.rect.left : toField.rect.right, + y: toField.rect.center.y + }); + + const corner1 = new Offset({ x: (from.x + to.x) / 2, y: from.y }); + const corner2 = new Offset({ x: (to.x + from.x) / 2, y: to.y }); + + return { + from, + to, + corner1, + corner2 + }; +} + +function drawRelation({ + position, + relation, + direction, + path +}: { + position: Offset; + relation: Relation; + direction: 'right' | 'left'; + path: Path; +}) { + if (relation === '*') { + drawMultiRelation({ position, direction, path }); + } else { + drawSingleRelation({ position, direction, path }); + } +} + +function drawMultiRelation({ + position, + direction, + path +}: { + position: Offset; + direction: 'right' | 'left'; + path: Path; +}) { + const to = new Offset({ + x: position.x + (direction === 'right' ? 1 : -1) * RELATION_LENGTH, + y: position.y + }); + + path + .moveTo(new Offset({ x: position.x, y: position.y - RELATION_LENGTH / 2 })) + .lineTo(to) + .moveTo(new Offset({ x: position.x, y: position.y + RELATION_LENGTH / 2 })) + .lineTo(to) + .close(); +} + +function drawSingleRelation({ + position, + direction, + path +}: { + position: Offset; + direction: 'right' | 'left'; + path: Path; +}) { + const x = position.x + (direction === 'right' ? 1 : -1) * RELATION_LENGTH; + + path + .moveTo(new Offset({ x, y: position.y - RELATION_LENGTH / 2 })) + .lineTo(new Offset({ x, y: position.y + RELATION_LENGTH / 2 })) + .close(); +} diff --git a/packages/docs/src/components/diagram/widget/Edge/index.ts b/packages/docs/src/components/diagram/widget/Edge/index.ts new file mode 100644 index 0000000..2fc7ac5 --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Edge/index.ts @@ -0,0 +1,3 @@ +import Edge from './Edge'; + +export default Edge; diff --git a/packages/docs/src/components/diagram/widget/Field/FakeIntrinsicWidth.ts b/packages/docs/src/components/diagram/widget/Field/FakeIntrinsicWidth.ts new file mode 100644 index 0000000..deffefa --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Field/FakeIntrinsicWidth.ts @@ -0,0 +1,36 @@ +import { + RenderObject, + SingleChildRenderObject, + SingleChildRenderObjectWidget, + Widget +} from '@moonmoonbrothers/flutterjs'; +import { classToFunction } from '../utils'; + +/* +현재 Field의 너비가 Note에 있는 Field의 가장 큰 너비에 맞추기 위해 노드 부모에 IntrinsicWidth를 두고 있다. +이때 Tooltip의 IntrinsicWidth로 인해 Filed의 너비가 원치 않게 늘어나는 현상이 발생한다. +이를 방지하기 위해 Tooltip의 IntrinsicWidth를 무시하는 FakeIntrinsicWidth를 만들었다. +*/ + +class FakeIntrinsicWidth extends SingleChildRenderObjectWidget { + constructor({ child }: { child: Widget }) { + super(child); + } + + createRenderObject() { + return new RenderFakeIntrinsicWidth(); + } + updateRenderObject(_: RenderObject): void {} +} + +class RenderFakeIntrinsicWidth extends SingleChildRenderObject { + constructor() { + super({ isPainter: false }); + } + + getIntrinsicWidth(height: number): number { + return 0; + } +} + +export default classToFunction(FakeIntrinsicWidth); diff --git a/packages/docs/src/components/diagram/widget/Field/Field.ts b/packages/docs/src/components/diagram/widget/Field/Field.ts new file mode 100644 index 0000000..9709703 --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Field/Field.ts @@ -0,0 +1,145 @@ +import { + SizedBox, + StatefulWidget, + State, + BuildContext, + GlobalKey, + Tooltip, + ToolTipPosition, + GestureDetector, +} from "@moonmoonbrothers/flutterjs"; +import type { Field as FieldProps } from "../../type"; +import { classToFunction } from "../utils"; +import ChangedLayoutNotifier from "../ChangeNotifier/ChangedLayoutNotifier"; +import { + FieldLayoutChangeEvent, + type EventManager, + ActiveRelationEvent, +} from "../../event"; +import EventManagerProvider from "../Provider/EventManagerProvider"; +import NoteTooltip from "./NoteTooltip"; +import FieldContent from "./FieldContent"; +import FakeIntrinsicWidth from "./FakeIntrinsicWidth"; +import DiagramControllerProvider from "../Provider/DiagramControllerProvider"; +import type { DiagramController } from "../../controller"; +import { FieldInsertEvent, FieldRemoveEvent } from "../../event/field"; + +class Field extends StatefulWidget { + field: FieldProps; + constructor({ field }: { field: FieldProps }) { + super(field.id); + this.field = field; + } + + createState(): State { + return new FieldState(); + } +} + +class FieldState extends State { + key!: GlobalKey; + eventManager!: EventManager; + controller!: DiagramController; + active: boolean = false; + + override initState(context: BuildContext): void { + super.initState(context); + this.key = new GlobalKey(); + this.eventManager = EventManagerProvider.of(context); + this.controller = DiagramControllerProvider.of(context); + + this.eventManager.addEventListener( + ActiveRelationEvent.type, + this.handleActiveRelationEvent, + ); + this.eventManager.dispatchEvent( + new FieldInsertEvent({ id: this.widget.field.id, key: this.key }), + ); + } + + override dispose(): void { + super.dispose(); + this.eventManager.removeEventListener( + ActiveRelationEvent.type, + this.handleActiveRelationEvent, + ); + this.eventManager.dispatchEvent( + new FieldRemoveEvent({ id: this.widget.field.id }), + ); + } + + dispatchFieldLayoutChangeEvent = () => { + this.eventManager.dispatchEvent( + new FieldLayoutChangeEvent({ id: this.widget.field.id, key: this.key }), + ); + }; + + handleActiveRelationEvent = (e: ActiveRelationEvent) => { + const id = this.widget.field.id; + if (e.field.from !== id && e.field.to !== id) return; + this.setState(() => { + this.active = e.active; + }); + }; + + handleMouseEnter = () => { + if (this.controller.isDragging) return; + this.setState(() => { + this.active = true; + }); + }; + + handleMouseLeave = () => { + if (this.controller.isDragging) return; + this.setState(() => { + this.active = false; + }); + }; + + build(_: BuildContext) { + const { + field: { + name, + type: { typeName }, + note, + default: defaultValue, + }, + } = this.widget; + + return ChangedLayoutNotifier({ + onChange: () => { + this.dispatchFieldLayoutChangeEvent(); + }, + child: GestureDetector({ + key: this.key, + onMouseEnter: this.handleMouseEnter, + onMouseLeave: this.handleMouseLeave, + bubble: { + mouseenter: true, + mouseleave: true, + wheel: true, + }, + child: Tooltip({ + position: ToolTipPosition.bottomRight, + child: FieldContent({ + field: this.widget.field, + active: this.active, + }), + tooltip: + (note || defaultValue != null) && !this.controller.isDragging + ? FakeIntrinsicWidth({ + child: NoteTooltip({ + name, + type: typeName, + note: note, + defaultValue: defaultValue, + }), + }) + : SizedBox.shrink(), + }), + }), + }); + } +} + +export default classToFunction(Field); diff --git a/packages/docs/src/components/diagram/widget/Field/FieldContent.ts b/packages/docs/src/components/diagram/widget/Field/FieldContent.ts new file mode 100644 index 0000000..822121f --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Field/FieldContent.ts @@ -0,0 +1,73 @@ +import { + EdgeInsets, + Text, + TextStyle, + Padding, + Row, + SizedBox, + Spacer, + Container +} from '@moonmoonbrothers/flutterjs'; +import type { Field as FieldProps } from '../../type'; +import PK from './PK'; +import Note from './Note'; +import NotNull from './NotNull'; + +function FieldContent({ field, active }: { field: FieldProps; active: boolean }) { + const { + name, + pk, + type: { typeName }, + notNull, + note + } = field; + + return Container({ + key: field.id, + color: active ? '#333333' : 'transparent', + padding: EdgeInsets.symmetric({ vertical: 8, horizontal: 8 }), + child: Row({ + children: [ + Text(name, { + style: new TextStyle({ + fontSize: 16, + fontWeight: pk ? '800' : '600', + color: pk ? 'white' : 'lightgrey', + fontFamily: 'Noto Sans KR, sans-serif' + }) + }), + pk + ? Padding({ + padding: EdgeInsets.only({ left: 2 }), + child: PK() + }) + : SizedBox.shrink(), + note + ? Padding({ + padding: EdgeInsets.only({ left: 2 }), + child: Note() + }) + : SizedBox.shrink(), + + SizedBox({ width: 4 }), + Spacer(), + Text(typeName, { + style: new TextStyle({ + fontSize: 14, + fontWeight: '400', + fontFamily: 'Noto Sans KR, sans-serif', + color: '#a9a9a9' + }) + }), + notNull + ? Padding({ + padding: EdgeInsets.only({ left: 2 }), + child: NotNull() + }) + : SizedBox.shrink() + ] + }) + }); +} + +export default FieldContent; diff --git a/packages/docs/src/components/diagram/widget/Field/Image.ts b/packages/docs/src/components/diagram/widget/Field/Image.ts new file mode 100644 index 0000000..e89f404 --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Field/Image.ts @@ -0,0 +1,33 @@ +import { CustomPaint, Size } from '@moonmoonbrothers/flutterjs'; + +function Image({ width, height, src }: { width: number; height: number; src: string }) { + return CustomPaint({ + size: new Size({ width, height,}), + painter: { + dependencies: { + width, + height, + src + }, + shouldRepaint(oldPainter) { + const oldDependencies = oldPainter.dependencies; + + return ( + oldDependencies.width !== width || + oldDependencies.height !== height || + oldDependencies.src !== src + ); + }, + createDefaultSvgEl: (context) => ({ + image: context.createSvgEl('image') + }), + paint({ image }, size) { + image.setAttribute('width', `${size.width}`); + image.setAttribute('height', `${size.height}`); + image.setAttribute('href', src); + } + } + }); +} + +export default Image; diff --git a/packages/docs/src/components/diagram/widget/Field/NotNull.ts b/packages/docs/src/components/diagram/widget/Field/NotNull.ts new file mode 100644 index 0000000..28761e3 --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Field/NotNull.ts @@ -0,0 +1,29 @@ +import { + BorderRadius, + BoxDecoration, + Container, + EdgeInsets, + Text, + TextStyle +} from '@moonmoonbrothers/flutterjs'; + +function NotNull() { + return Container({ + padding: EdgeInsets.symmetric({ horizontal: 2 }), + decoration: new BoxDecoration({ + borderRadius: BorderRadius.circular(2), + color: 'lightgrey' + }), + child: Text('NN', { + style: new TextStyle({ + fontSize: 12, + fontWeight: '500', + color: 'grey', + height: 1.2, + fontFamily: 'Noto Sans KR, sans-serif' + }) + }) + }); +} + +export default NotNull; diff --git a/packages/docs/src/components/diagram/widget/Field/Note.ts b/packages/docs/src/components/diagram/widget/Field/Note.ts new file mode 100644 index 0000000..3c126a0 --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Field/Note.ts @@ -0,0 +1,8 @@ +import Assets from './assets'; +import Image from './Image'; + +function Note() { + return Image({ width: 16, height: 16, src: Assets.note }); +} + +export default Note; diff --git a/packages/docs/src/components/diagram/widget/Field/NoteTooltip.ts b/packages/docs/src/components/diagram/widget/Field/NoteTooltip.ts new file mode 100644 index 0000000..3ec86da --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Field/NoteTooltip.ts @@ -0,0 +1,138 @@ +import { + Container, + EdgeInsets, + Text, + TextStyle, + Row, + MainAxisSize, + CustomPaint, + Path, + Size, + Column, + SizedBox, + CrossAxisAlignment, + Padding, + ZIndex +} from '@moonmoonbrothers/flutterjs'; + +function NoteTooltip({ + name, + type, + note, + defaultValue +}: { + name: string; + type: string; + note: string; + defaultValue?: string | number; +}) { + const tooltip = Padding({ + padding: EdgeInsets.only({ top: -24 }), + child: Row({ + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding({ + padding: EdgeInsets.only({ top: 10 }), + child: CustomPaint({ + size: new Size({ width: 8, height: 10 }), + painter: { + createDefaultSvgEl(context) { + return { path: context.createSvgEl('path') }; + }, + shouldRepaint() { + return false; + }, + paint({ path }, { width, height }) { + const p = new Path(); + p.moveTo({ x: 0, y: height / 2 }) + .lineTo({ x: width, y: height }) + .lineTo({ x: width, y: 0 }) + .close(); + + path.setAttribute('fill', 'black'); + path.setAttribute('d', p.getD()); + } + } + }) + }), + + Container({ + color: 'black', + padding: EdgeInsets.all(8), + width: 200, + child: Column({ + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row({ + children: [ + Text(name, { + style: new TextStyle({ + fontSize: 12, + fontWeight: '800', + fontFamily: 'Noto Sans KR, sans-serif', + color: 'white' + }) + }), + SizedBox({ width: 4 }), + Text(type, { + style: new TextStyle({ + fontSize: 12, + fontWeight: '600', + fontFamily: 'Noto Sans KR, sans-serif', + color: 'orange' + }) + }) + ] + }), + SizedBox({ height: 8 }), + Container({ width: Infinity, height: 2, color: 'white' }), + SizedBox({ height: 8 }), + Text(note, { + style: new TextStyle({ + fontSize: 12, + fontWeight: '400', + fontFamily: 'Noto Sans KR, sans-serif', + color: 'white' + }) + }), + defaultValue != null + ? Padding({ + padding: EdgeInsets.only({ top: 2 }), + child: Row({ + children: [ + Text('Default: ', { + style: new TextStyle({ + fontSize: 12, + fontWeight: '800', + fontFamily: 'Noto Sans KR, sans-serif', + color: 'red' + }) + }), + Text(`${defaultValue}`, { + style: new TextStyle({ + fontSize: 12, + fontWeight: '400', + fontFamily: 'Noto Sans KR, sans-serif', + color: 'white' + }) + }) + ] + }) + }) + : SizedBox.shrink() + ] + }) + }) + ] + }) + }); + + return ZIndex({ + zIndex: Infinity, + child: tooltip + }); +} + +export default NoteTooltip; diff --git a/packages/docs/src/components/diagram/widget/Field/PK.ts b/packages/docs/src/components/diagram/widget/Field/PK.ts new file mode 100644 index 0000000..4e4a4d0 --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Field/PK.ts @@ -0,0 +1,8 @@ +import Assets from './assets'; +import Image from './Image'; + +function PK() { + return Image({ width: 16, height: 16, src: Assets.primaryKey }); +} + +export default PK; diff --git a/packages/docs/src/components/diagram/widget/Field/assets/index.ts b/packages/docs/src/components/diagram/widget/Field/assets/index.ts new file mode 100644 index 0000000..b93879e --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Field/assets/index.ts @@ -0,0 +1,4 @@ +export default { + primaryKey: "/diagram/primary-key.svg", + note: "/diagram/note.svg", +}; diff --git a/packages/docs/src/components/diagram/widget/Field/index.ts b/packages/docs/src/components/diagram/widget/Field/index.ts new file mode 100644 index 0000000..2c2414a --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Field/index.ts @@ -0,0 +1,3 @@ +import Field from './Field'; + +export default Field; diff --git a/packages/docs/src/components/diagram/widget/InteractiveViewport.ts b/packages/docs/src/components/diagram/widget/InteractiveViewport.ts new file mode 100644 index 0000000..78e0c91 --- /dev/null +++ b/packages/docs/src/components/diagram/widget/InteractiveViewport.ts @@ -0,0 +1,175 @@ +import { + StatefulWidget, + State, + Container, + Offset, + Widget, + ConstraintsTransformBox, + Alignment, + BuildContext, +} from "@moonmoonbrothers/flutterjs"; +import { classToFunction } from "./utils"; +import { clamp } from "./utils"; +import DiagramControllerProvider from "./Provider/DiagramControllerProvider"; +import type { DiagramController } from "../controller"; + +const SCALE_SENSITIVITY = 500; + +class InteractiveViewport extends StatefulWidget { + child: Widget; + constructor({ child }: { child: Widget }) { + super(); + this.child = child; + } + + createState(): State { + return new InteractiveViewportState(); + } +} + +class InteractiveViewportState extends State { + scaleOrigin: Offset = Offset.zero(); + controller!: DiagramController; + view!: SVGSVGElement; + viedBox!: { x: number; y: number; width: number; height: number }; + resizeObserver!: ResizeObserver; + dragPoint: Offset | null = null; + initState(context: BuildContext) { + this.controller = DiagramControllerProvider.of(context); + this.view = context.renderContext.view; + + if (typeof window === "undefined") return; + this.view.addEventListener("wheel", this.handleWheel); + this.view.addEventListener("mousedown", this.handleDragStart); + this.view.setAttribute("preserveAspectRatio", "none"); + document.addEventListener("mousemove", this.handleDragMove); + document.addEventListener("mouseup", this.handleDragEnd); + this.viedBox = { + x: 0, + y: 0, + width: this.view.clientWidth, + height: this.view.clientHeight, + }; + this.resizeObserver = new ResizeObserver(this.handleResizeView); + this.resizeObserver.observe(this.view); + } + + dispose(): void { + this.view.removeEventListener("wheel", this.handleWheel); + this.view.removeEventListener("mousedown", this.handleDragStart); + document.removeEventListener("mousemove", this.handleDragMove); + document.removeEventListener("mouseup", this.handleDragEnd); + this.resizeObserver.disconnect(); + } + + handleDragStart = (e: MouseEvent) => { + this.dragPoint = new Offset({ x: e.x, y: e.y }); + this.view.style.cursor = "grabbing"; // Change cursor shape to 'grabbing' + }; + + handleDragMove = (e: MouseEvent) => { + if (this.dragPoint == null) return; + const scale = this.controller.getScale(); + const current = new Offset({ x: e.x, y: e.y }); + const movement = current.minus(this.dragPoint).multiply(1 / scale); + this.dragPoint = current; + this.translateViewport(movement); + }; + + handleDragEnd = () => { + this.dragPoint = null; + this.view.style.cursor = "default"; + }; + + translateViewport({ x, y }: { x: number; y: number }) { + this.viedBox.x -= x; + this.viedBox.y -= y; + this.notifyViewportChange(); + } + + handleResizeView = ([entry]: ResizeObserverEntry[]) => { + this.viedBox.width = entry.contentRect.width / this.controller.getScale(); + this.viedBox.height = entry.contentRect.height / this.controller.getScale(); + this.notifyViewportChange(); + }; + + handleWheel = (e: WheelEvent) => { + e.preventDefault(); + /* + mac은 window와 달리 wheel 방향이 반대이다. + 그러나 터치패드로 확대/축소를 할 때는 mac과 window의 방향이 같다. + 터치패드 확대를 기준으로 하면, deltaY에 음수를 곱해야 zoom 동작이 제대로 동작한다. + 때문에 이 위젯에서는 마우스 휠 동작은 mac과 window가 각자의 native 방향과 반대로 동작하게 된다. + */ + + const reversedDeltaY = e.deltaY * -1; + const reversedDeltaX = e.deltaX * -1; + + if (!e.ctrlKey && !e.metaKey) { + this.translateViewport({ + x: reversedDeltaX, + y: reversedDeltaY, + }); + this.notifyViewportChange(); + return; + } + this.zoom({ x: e.offsetX, y: e.offsetY, deltaScale: reversedDeltaY }); + }; + + private zoom({ + x, + y, + deltaScale, + }: { + x: number; + y: number; + deltaScale: number; + }) { + const oldScale = this.controller.getScale(); + const newScale = clamp(oldScale + deltaScale / SCALE_SENSITIVITY, 0.5, 2); + const newOrigin = new Offset({ + x: x / newScale, + y: y / newScale, + }); + + const s = newScale / oldScale; + const r = 1 - 1 / s; + + this.viedBox.width /= s; + this.viedBox.height /= s; + this.viedBox.x += this.scaleOrigin.x * r; + this.viedBox.y += this.scaleOrigin.y * r; + + this.scaleOrigin = newOrigin; + this.controller.changeScale(newScale); + this.notifyViewportChange(); + } + + private notifyViewportChange() { + this.view.setAttribute( + "viewBox", + `${this.viedBox.x} ${this.viedBox.y} ${this.viedBox.width} ${this.viedBox.height}`, + ); + const scale = this.controller.getScale(); + this.controller.changeRootRect({ + left: -this.viedBox.x, + top: -this.viedBox.y, + width: this.viedBox.width * scale ** 2, + height: this.viedBox.height * scale ** 2, + }); + } + + override build() { + return Container({ + width: Infinity, + height: Infinity, + child: ConstraintsTransformBox({ + alignment: Alignment.topLeft, + constraintsTransform: ConstraintsTransformBox.maxUnconstrained, + child: this.widget.child, + }), + }); + } +} + +export default classToFunction(InteractiveViewport); diff --git a/packages/docs/src/components/diagram/widget/Node/BaseNode.ts b/packages/docs/src/components/diagram/widget/Node/BaseNode.ts new file mode 100644 index 0000000..b7a10c1 --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Node/BaseNode.ts @@ -0,0 +1,208 @@ +import type { Table } from '../../type'; +import Draggable from './Draggable'; +import Field from '../Field/Field'; +import { + GestureDetector, + Border, + BoxDecoration, + Column, + Container, + MainAxisSize, + IntrinsicWidth, + BorderSide, + EdgeInsets, + Row, + MainAxisAlignment, + Text, + TextStyle, + GlobalKey, + Offset, + StatefulWidget, + State, + Element, + ConstraintsTransformBox, + Constraints, + BorderRadius, + Padding +} from '@moonmoonbrothers/flutterjs'; +import { classToFunction } from '../utils'; +import EventManagerProvider from '../Provider/EventManagerProvider'; +import { + ActiveRelationEvent, + NodeInsertEvent, + type EventManager, + NodeRemoveEvent, + NodeTranslationEvent, + NodeTranslationEndEvent, + NodeLayoutChangeEvent +} from '../../event'; +import DiagramControllerProvider from '../Provider/DiagramControllerProvider'; +import type { DiagramController } from '$lib/components/diagram/controller'; +import { ChangedLayoutNotifier } from '../ChangeNotifier'; + +class baseNode extends StatefulWidget { + table: Table; + onDragEnd?: () => void; + onDragUpdate?: (_: { delta: Offset; movement: Offset }) => void; + onDragStart?: () => void; + + constructor({ + key, + table, + onDragEnd, + onDragUpdate, + onDragStart + }: { + key?: GlobalKey; + table: Table; + onDragEnd?: () => void; + onDragUpdate?: (_: { delta: Offset; movement: Offset }) => void; + onDragStart?: () => void; + }) { + super(key); + this.table = table; + this.onDragEnd = onDragEnd; + this.onDragStart = onDragStart; + this.onDragUpdate = onDragUpdate; + } + + createState(): State { + return new BaseNodeState(); + } +} + +class BaseNodeState extends State { + key!: GlobalKey; + eventManager!: EventManager; + controller!: DiagramController; + override initState(context: Element): void { + super.initState(context); + this.eventManager = EventManagerProvider.of(context); + this.controller = DiagramControllerProvider.of(context); + this.key = new GlobalKey(); + + this.eventManager.dispatchEvent( + new NodeInsertEvent({ key: this.key, tableName: this.widget.table.name }) + ); + } + + override dispose(): void { + super.dispose(); + this.eventManager.dispatchEvent(new NodeRemoveEvent({ tableName: this.widget.table.name })); + } + + private dispatchActiveEvent(active: boolean) { + const relatedFields = this.controller.getRelatedFieldIdsByTableId(this.widget.table.id); + relatedFields.forEach((field) => { + this.eventManager.dispatchEvent(new ActiveRelationEvent({ field, active })); + }); + } + + handleMouseEnter = () => { + if (this.controller.isDragging && !this.controller.isDraggingTarget(this.widget.table.name)) + return; + this.dispatchActiveEvent(true); + }; + + handleMouseLeave = () => { + if (this.controller.isDragging) return; + this.dispatchActiveEvent(false); + }; + + handleDragStart = () => { + this.widget.onDragStart?.(); + this.controller.setActiveDragging(this.widget.table.name); + }; + + handleDragEnd = () => { + this.widget.onDragEnd?.(); + this.controller.setActiveDragging(null); + this.eventManager.dispatchEvent( + new NodeTranslationEndEvent({ tableName: this.widget.table.name }) + ); + }; + + handleDrag = (event: { movement: Offset; delta: Offset }) => { + this.widget.onDragUpdate?.(event); + this.eventManager.dispatchEvent( + new NodeTranslationEvent({ + tableName: this.widget.table.name, + translation: this.controller.getTranslation(event.movement) + }) + ); + }; + + handleChangeSize = () => { + this.eventManager.dispatchEvent( + new NodeLayoutChangeEvent({ tableName: this.widget.table.name, key: this.key }) + ); + }; + + build() { + const { + table: { fields, name } + } = this.widget; + return ChangedLayoutNotifier({ + onChange: this.handleChangeSize, + child: GestureDetector({ + key: this.key, + onMouseEnter: this.handleMouseEnter, + onMouseLeave: this.handleMouseLeave, + bubble: { + wheel: true + }, + child: Container({ + decoration: new BoxDecoration({ + color: '#707070', + border: Border.all({ color: 'black', width: 1 }) + }), + child: ConstraintsTransformBox({ + constraintsTransform: (constraints) => + new Constraints({ ...constraints, minWidth: 200 }), + child: IntrinsicWidth({ + child: Column({ + mainAxisSize: MainAxisSize.min, + children: [ + Container({ + decoration: new BoxDecoration({ + color: '#505050', + border: new Border({ + bottom: new BorderSide({ + color: 'black', + width: 1 + }) + }) + }), + child: Draggable({ + onDragStart: this.handleDragStart, + onDragEnd: this.handleDragEnd, + onDragUpdate: this.handleDrag, + child: Padding({ + padding: EdgeInsets.symmetric({ horizontal: 8, vertical: 8 }), + child: Row({ + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text(name, { + style: new TextStyle({ + color: 'lightgrey', + fontWeight: '800', + fontFamily: 'Noto Sans KR, sans-serif' + }) + }) + ] + }) + }) + }) + }), + ...fields.map((field) => Field({ field })) + ] + }) + }) + }) + }) + }) + }); + } +} + +export default classToFunction(baseNode); diff --git a/packages/docs/src/components/diagram/widget/Node/Draggable.ts b/packages/docs/src/components/diagram/widget/Node/Draggable.ts new file mode 100644 index 0000000..f279517 --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Node/Draggable.ts @@ -0,0 +1,91 @@ +import { + GestureDetector, + Offset, + State, + StatefulWidget, + Widget +} from '@moonmoonbrothers/flutterjs'; +import { classToFunction } from '../utils'; + +class Draggable extends StatefulWidget { + onDragUpdate?: (detail: { delta: Offset; movement: Offset }) => void; + onDragStart?: () => void; + onDragEnd?: () => void; + child: Widget; + feedback: Widget; + constructor({ + onDragUpdate: onDragUpdate, + onDragStart: onDragStart, + onDragEnd: onDragEnd, + key, + child, + feedback + }: { + onDragUpdate?: (event: { delta: Offset; movement: Offset }) => void; + onDragStart?: () => void; + onDragEnd?: () => void; + key?: unknown; + child: Widget; + feedback?: Widget; + }) { + super(key); + this.onDragUpdate = onDragUpdate; + this.onDragStart = onDragStart; + this.onDragEnd = onDragEnd; + this.child = child; + this.feedback = feedback ?? child; + } + + createState(): State { + return new DraggableState(); + } +} + +class DraggableState extends State { + origin?: Offset; + get active() { + return this.origin != null; + } + delta: Offset = Offset.zero(); + + handleDragStart = (e: MouseEvent): void => { + e.stopPropagation(); + const { x, y } = e; + this.origin = new Offset({ x, y }); + this.widget.onDragStart?.(); + }; + + handleDragMove = (e: MouseEvent): void => { + const { x, y } = e; + if (this.origin == null) return; + e.stopPropagation(); + const oldDelta = this.delta; + const newDelta = new Offset({ x, y }).minus(this.origin!); + + this.delta = newDelta; + this.widget.onDragUpdate?.({ delta: newDelta, movement: newDelta.minus(oldDelta) }); + }; + + handleDragEnd = (): void => { + this.origin = undefined; + this.delta = Offset.zero(); + this.widget.onDragEnd?.(); + }; + + build(): Widget { + return GestureDetector({ + onDragStart: this.handleDragStart, + onDragMove: this.handleDragMove, + onDragEnd: this.handleDragEnd, + child: this.widget.feedback, + cursor: 'move', + bubble: { + wheel: true, + mouseleave: true, + mouseenter: true + } + }); + } +} + +export default classToFunction(Draggable); diff --git a/packages/docs/src/components/diagram/widget/Node/InitialNode.ts b/packages/docs/src/components/diagram/widget/Node/InitialNode.ts new file mode 100644 index 0000000..a2beaa9 --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Node/InitialNode.ts @@ -0,0 +1,98 @@ +import { + StatefulWidget, + State, + BuildContext, + GlobalKey, + Offset, + Transform, + ZIndex, +} from "@moonmoonbrothers/flutterjs"; +import type { Table } from "../../type"; +import { classToFunction } from "../utils"; +import DiagramControllerProvider from "../Provider/DiagramControllerProvider"; +import baseNode from "./BaseNode"; +import getNextZIndex from "../getNextZIndex"; +import { LegacyNodeEvent, type EventManager } from "../../event"; +import EventManagerProvider from "../Provider/EventManagerProvider"; +import type { DiagramController } from "../../controller"; + +class Node extends StatefulWidget { + table: Table; + onLegacy: (key: GlobalKey) => void; + constructor({ + table, + onLegacy, + }: { + table: Table; + onLegacy: (key: GlobalKey) => void; + }) { + super(table.id); + this.table = table; + this.onLegacy = onLegacy; + } + + createState(): State { + return new NodeState(); + } +} + +class NodeState extends State { + nodeKey = new GlobalKey(); + controller!: DiagramController; + eventManager!: EventManager; + delta: Offset = Offset.zero(); + zIndex = 0; + initState(context: BuildContext): void { + super.initState(context); + this.controller = DiagramControllerProvider.of(context); + this.eventManager = EventManagerProvider.of(context); + } + + handleDragStart = () => { + this.setState(() => { + this.zIndex = getNextZIndex(); + }); + }; + + handleDragUpdate = ({ + movement, + }: { + delta: Offset; + movement: Offset; + }): void => { + this.setState(() => { + const translation = this.controller.getTranslation(movement); + this.delta = this.delta.plus(translation); + }); + }; + + handleDragEnd = (): void => { + this.widget.onLegacy(this.nodeKey); + this.eventManager.dispatchEvent( + new LegacyNodeEvent({ + tableName: this.widget.table.name, + key: this.nodeKey, + }), + ); + }; + + override build(_: BuildContext) { + const { table } = this.widget; + + return Transform.translate({ + offset: this.delta, + child: ZIndex({ + zIndex: this.zIndex, + child: baseNode({ + table, + key: this.nodeKey, + onDragEnd: this.handleDragEnd, + onDragStart: this.handleDragStart, + onDragUpdate: this.handleDragUpdate, + }), + }), + }); + } +} + +export default classToFunction(Node); diff --git a/packages/docs/src/components/diagram/widget/Node/InitialNodes.ts b/packages/docs/src/components/diagram/widget/Node/InitialNodes.ts new file mode 100644 index 0000000..6bbacc5 --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Node/InitialNodes.ts @@ -0,0 +1,139 @@ +import { + type Widget, + Container, + Column, + MainAxisSize, + Row, + EdgeInsets, + CrossAxisAlignment, + MainAxisAlignment, + StatefulWidget, + State, + Element, + SizedBox, + Size, + GlobalKey, +} from "@moonmoonbrothers/flutterjs"; +import InitialNode from "./InitialNode"; +import { classToFunction } from "../utils"; +import type { Table } from "../../type"; +import DiagramControllerProvider from "../Provider/DiagramControllerProvider"; +import type { DiagramController } from "../../controller"; + +class InitialNodes extends StatefulWidget { + createState(): State { + return new InitialNodesState(); + } +} + +type TableName = string; + +type ResolveTable = + | { + type: "initial"; + table: Table; + } + | { + type: "legacy"; + size: Size; + }; + +class InitialNodesState extends State { + legacyNodes: Record = {}; + controller!: DiagramController; + initState(context: Element): void { + this.controller = DiagramControllerProvider.of(context); + } + + getResolveTables(): ResolveTable[] { + const tables: ResolveTable[] = this.controller + .getAllTables() + .filter(({ name }) => !this.isLegacyTable(name)) + .map((table) => ({ type: "initial", table })); + + Object.values(this.legacyNodes) + .sort((a, b) => a.index - b.index) + .forEach((legacyNode) => { + tables.splice(legacyNode.index, 0, { + type: "legacy", + size: legacyNode.size, + }); + }); + + return tables; + } + + isLegacyTable(tableName: string) { + return this.legacyNodes[tableName] != null; + } + + handleLegacyNode = + ({ index, tableName }: { index: number; tableName: string }) => + (key: GlobalKey) => { + this.element.scheduler.addPostFrameCallbacks(() => { + this.setState(() => { + this.legacyNodes[tableName] = { + index, + size: key.currentContext.renderObject.size, + }; + }); + }); + }; + + override build() { + const tables = this.getResolveTables(); + return Masonry({ + children: tables.map((table, index) => + table.type === "legacy" + ? SizedBox({ width: table.size.width, height: table.size.height }) + : InitialNode({ + table: table.table, + onLegacy: this.handleLegacyNode({ + index, + tableName: table.table.name, + }), + }), + ), + columnCount: 4, + crossAxisSpacing: 60, + verticalSpacing: 48, + }); + } +} + +export default classToFunction(InitialNodes); + +function Masonry({ + children, + columnCount = 4, + verticalSpacing = 40, + crossAxisSpacing = 40, +}: { + children: Widget[]; + columnCount?: number; + verticalSpacing?: number; + crossAxisSpacing?: number; +}) { + return Row({ + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.start, + children: Array.from({ length: columnCount }).map((_, index) => + Container({ + padding: EdgeInsets.only({ left: index === 0 ? 0 : crossAxisSpacing }), + child: Column({ + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: children + .filter((_, childIndex) => childIndex % columnCount === index) + .map((child) => + Container({ + padding: EdgeInsets.only({ bottom: verticalSpacing }), + child, + }), + ), + }), + }), + ), + }); +} diff --git a/packages/docs/src/components/diagram/widget/Node/LegacyNode.ts b/packages/docs/src/components/diagram/widget/Node/LegacyNode.ts new file mode 100644 index 0000000..cfffbe4 --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Node/LegacyNode.ts @@ -0,0 +1,112 @@ +import { + StatefulWidget, + State, + BuildContext, + Offset, + Positioned, + ZIndex, +} from "@moonmoonbrothers/flutterjs"; +import type { Table } from "../../type"; +import { classToFunction } from "../utils"; +import DiagramControllerProvider from "../Provider/DiagramControllerProvider"; +import baseNode from "./BaseNode"; +import getNextZIndex from "../getNextZIndex"; +import type { DiagramController } from "../../controller"; +import { EventManager, NodeAlignTranslationEvent } from "../../event"; +import { EventManagerProvider } from "../Provider"; + +class Node extends StatefulWidget { + key?: unknown; + table: Table; + position: Offset; + onPositionChange: (position: Offset) => void; + constructor({ + table, + position, + onPositionChange, + key, + }: { + table: Table; + position: Offset; + onPositionChange: (position: Offset) => void; + key?: unknown; + }) { + super(table.id); + this.table = table; + this.position = position; + this.onPositionChange = onPositionChange; + this.key = key; + } + + createState(): State { + return new NodeState(); + } +} + +class NodeState extends State { + controller!: DiagramController; + eventManager!: EventManager; + zIndex: number = getNextZIndex(); + position!: Offset; + + override initState(context: BuildContext): void { + super.initState(context); + this.position = this.widget.position; + this.controller = DiagramControllerProvider.of(context); + this.eventManager = EventManagerProvider.of(context); + + this.eventManager.addEventListener( + NodeAlignTranslationEvent.type, + this.handleAlignTranslation, + ); + } + + override dispose() { + this.eventManager.removeEventListener( + NodeAlignTranslationEvent.type, + this.handleAlignTranslation, + ); + } + + handleDragStart = () => { + this.setState(() => { + this.zIndex = getNextZIndex(); + }); + }; + + handleDragUpdate = ({ movement }: { movement: Offset }): void => { + this.setState(() => { + const resolvedTranslation = this.controller.getTranslation(movement); + this.position = this.position.plus(resolvedTranslation); + this.widget.onPositionChange(this.position); + }); + }; + + handleAlignTranslation = (e: NodeAlignTranslationEvent) => { + if (e.tableName !== this.widget.table.name) return; + this.setState(() => { + this.position = this.position.plus(e.translation); + this.widget.onPositionChange(this.position); + }); + }; + + override build(_: BuildContext) { + const { table } = this.widget; + + return Positioned({ + key: this.widget.key, + left: this.position.x, + top: this.position.y, + child: ZIndex({ + zIndex: this.zIndex, + child: baseNode({ + table, + onDragStart: this.handleDragStart, + onDragUpdate: this.handleDragUpdate, + }), + }), + }); + } +} + +export default classToFunction(Node); diff --git a/packages/docs/src/components/diagram/widget/Node/LegacyNodes.ts b/packages/docs/src/components/diagram/widget/Node/LegacyNodes.ts new file mode 100644 index 0000000..d3f4f1b --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Node/LegacyNodes.ts @@ -0,0 +1,80 @@ +import { + Element, + Offset, + Stack, + StackFit, + State, + StatefulWidget, + Widget, +} from "@moonmoonbrothers/flutterjs"; +import DiagramControllerProvider from "../Provider/DiagramControllerProvider"; +import { LegacyNodeEvent, type EventManager } from "../../event"; +import EventManagerProvider from "../Provider/EventManagerProvider"; +import type { Table } from "../../type"; +import LegacyNode from "./LegacyNode"; +import { classToFunction } from "../utils"; +import type { DiagramController } from "../../controller"; + +class MovedNodes extends StatefulWidget { + createState(): State { + return new StateMovedNodes(); + } +} + +type TableName = string; + +class StateMovedNodes extends State { + controller!: DiagramController; + eventManager!: EventManager; + legacyNodes: Record = {}; + + initState(context: Element): void { + this.controller = DiagramControllerProvider.of(context); + this.eventManager = EventManagerProvider.of(context); + this.eventManager.addEventListener( + LegacyNodeEvent.type, + this.handleLegacyNode, + ); + } + + handleLegacyNode = (e: LegacyNodeEvent) => { + this.setState(() => { + const rect = this.controller.getRect(e.key); + this.legacyNodes[e.tableName] = new Offset({ x: rect.left, y: rect.top }); + }); + }; + + getLegacyTables(): { table: Table; position: Offset }[] { + const result: { table: Table; position: Offset }[] = []; + Object.entries(this.legacyNodes).forEach(([tableName, position]) => { + const table = this.controller.getTableByName(tableName); + if (table == null) return; + result.push({ + table, + position, + }); + }); + return result; + } + + handlePositionChange = (tableName: string) => (position: Offset) => { + this.legacyNodes[tableName] = position; + }; + + override build(_context: Element): Widget { + const tables = this.getLegacyTables(); + return Stack({ + fit: StackFit.loose, + children: tables.map(({ table, position }) => + LegacyNode({ + key: table.name, + table, + position, + onPositionChange: this.handlePositionChange(table.name), + }), + ), + }); + } +} + +export default classToFunction(MovedNodes); diff --git a/packages/docs/src/components/diagram/widget/Provider/DiagramControllerProvider.ts b/packages/docs/src/components/diagram/widget/Provider/DiagramControllerProvider.ts new file mode 100644 index 0000000..1de2ebe --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Provider/DiagramControllerProvider.ts @@ -0,0 +1,24 @@ +import { DiagramController } from "../../controller"; +import { + BuildContext, + Provider, + type Widget, +} from "@moonmoonbrothers/flutterjs"; + +const KEY = Symbol("DiagramMetaProvider"); + +function DiagramControllerProvider({ child }: { child: Widget }) { + return Provider({ + value: new DiagramController(), + providerKey: KEY, + child, + }); +} + +function of(context: BuildContext) { + return Provider.of(KEY, context) as DiagramController; +} + +DiagramControllerProvider.of = of; + +export default DiagramControllerProvider; diff --git a/packages/docs/src/components/diagram/widget/Provider/EventManagerProvider.ts b/packages/docs/src/components/diagram/widget/Provider/EventManagerProvider.ts new file mode 100644 index 0000000..a51cf2d --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Provider/EventManagerProvider.ts @@ -0,0 +1,20 @@ +import { BuildContext, Provider, type Widget } from '@moonmoonbrothers/flutterjs'; +import { EventManager } from '../../event'; + +const KEY = Symbol('EventManagerProvider'); + +function EventManagerProvider({ child }: { child: Widget }) { + return Provider({ + providerKey: KEY, + child, + value: new EventManager() + }); +} + +function of(context: BuildContext) { + return Provider.of(KEY, context) as EventManager; +} + +EventManagerProvider.of = of; + +export default EventManagerProvider; diff --git a/packages/docs/src/components/diagram/widget/Provider/index.ts b/packages/docs/src/components/diagram/widget/Provider/index.ts new file mode 100644 index 0000000..742e06a --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Provider/index.ts @@ -0,0 +1,2 @@ +export { default as DiagramControllerProvider } from './DiagramControllerProvider'; +export { default as EventManagerProvider } from './EventManagerProvider'; diff --git a/packages/docs/src/components/diagram/widget/Root.ts b/packages/docs/src/components/diagram/widget/Root.ts new file mode 100644 index 0000000..4e4b726 --- /dev/null +++ b/packages/docs/src/components/diagram/widget/Root.ts @@ -0,0 +1,89 @@ +import { + Stack, + State, + StatefulWidget, + StackFit, + BuildContext, + Positioned, + Alignment, +} from "@moonmoonbrothers/flutterjs"; +import InitialNodes from "./Node/InitialNodes"; +import InteractiveViewport from "./InteractiveViewport"; +import type { Project } from "../type"; +import { classToFunction } from "./utils"; +import DiagramControllerProvider from "./Provider/DiagramControllerProvider"; +import LegacyNodes from "./Node/LegacyNodes"; +import Edges from "./Edge/RefDrawer"; +import type { DiagramController } from "../controller"; + +type Subscribe = (callback: (project: Project) => void) => () => void; + +class DiagramRoot extends StatefulWidget { + project: Project; + subscribe: Subscribe; + + constructor({ + project, + subscribe, + }: { + project: Project; + subscribe: Subscribe; + }) { + super(); + this.project = project; + this.subscribe = subscribe; + } + + createState(): State { + return new DiagramState(); + } +} + +class DiagramState extends State { + unsubscribe!: () => void; + /** + * This is temporary fix to avoid setState on unmounted component. + * It causes error on finding value provided by Provider (that is located in Root Tree) + */ + mounted: boolean = false; + controller!: DiagramController; + + override initState(context: BuildContext) { + this.controller = DiagramControllerProvider.of(context); + this.controller.updateProject(this.widget.project); + this.unsubscribe = this.widget.subscribe((update) => { + if (!this.mounted) return; + this.setState(() => { + this.controller.updateProject(update); + }); + }); + this.mounted = true; + } + + override dispose(): void { + this.unsubscribe(); + } + + override build(context: BuildContext) { + const controller = DiagramControllerProvider.of(context); + const rootKey = controller.diagramRootGlobalKey; + return InteractiveViewport({ + child: Stack({ + key: rootKey, + fit: StackFit.loose, + alignment: Alignment.center, + children: [ + Positioned.fill({ + child: Edges(), + }), + InitialNodes(), + Positioned.fill({ + child: LegacyNodes(), + }), + ], + }), + }); + } +} + +export default classToFunction(DiagramRoot); diff --git a/packages/docs/src/components/diagram/widget/getNextZIndex.ts b/packages/docs/src/components/diagram/widget/getNextZIndex.ts new file mode 100644 index 0000000..27ba9d7 --- /dev/null +++ b/packages/docs/src/components/diagram/widget/getNextZIndex.ts @@ -0,0 +1,4 @@ +let zIndex = 1; +export default function getNextZIndex() { + return zIndex++; +} diff --git a/packages/docs/src/components/diagram/widget/utils/classToFunction.ts b/packages/docs/src/components/diagram/widget/utils/classToFunction.ts new file mode 100644 index 0000000..3916cb1 --- /dev/null +++ b/packages/docs/src/components/diagram/widget/utils/classToFunction.ts @@ -0,0 +1,6 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +function classToFunction any>(Clazz: V) { + return (...arr: ConstructorParameters) => new Clazz(...arr) as InstanceType; +} + +export default classToFunction; diff --git a/packages/docs/src/components/diagram/widget/utils/index.ts b/packages/docs/src/components/diagram/widget/utils/index.ts new file mode 100644 index 0000000..0ea6882 --- /dev/null +++ b/packages/docs/src/components/diagram/widget/utils/index.ts @@ -0,0 +1,4 @@ +export { default as classToFunction } from './classToFunction'; +export function clamp(value: number, min: number, max: number): number { + return Math.max(min, Math.min(value, max)); +} diff --git a/packages/docs/src/components/pages/Author.astro b/packages/docs/src/components/pages/Author.astro deleted file mode 100644 index ab6ae55..0000000 --- a/packages/docs/src/components/pages/Author.astro +++ /dev/null @@ -1,37 +0,0 @@ -
-
-
- - EasyRd -
-
- Flitter has completely transformed the way I work with SVG. It's - intuitive, powerful, and has drastically reduced my development time. -
-
- -
-
- John Doe -
-
- Frontend Developer, ABC Corp -
-
-
-
-
\ No newline at end of file diff --git a/packages/docs/src/components/pages/Features.astro b/packages/docs/src/components/pages/Features.astro index 06f2b90..a02b7d5 100644 --- a/packages/docs/src/components/pages/Features.astro +++ b/packages/docs/src/components/pages/Features.astro @@ -1,119 +1,86 @@ - +
+
-
-
-
- A Powerful SVG Manipulation Library with Declarative Syntax -
-
-
-
- Flitter allows you to easily manipulate SVG elements using a simple - and intuitive syntax. With Flitter, you can create dynamic and - interactive SVG graphics without the hassle of manual DOM - manipulation. -
-
+
+ Flutter-like Declarative Syntax +
+
+
+
+ Flitter's syntax is highly similar to Flutter, making it intuitive for + developers familiar with Flutter to create complex data visualizations + with minimal additional learning. This seamless experience significantly + reduces the development time and learning curve, allowing for quick + adoption and productivity. +
+
+
+
+
+
+
+ Automatic Layout and Responsiveness: +
+
+ The library automates layout calculations, ensuring that visualizations + are responsive and adapt seamlessly across different devices and screen + sizes. This feature not only simplifies the development process but also + enhances the user experience by making data visualizations more + accessible and engaging across platforms. +
+
+
+
+
+ Built on SVG for Flexibility and Server-Side Rendering: +
+
+ Utilizing SVG as its foundational technology allows Flitter to offer + highly scalable, resolution-independent visualizations that can be + easily rendered on the server side. This provides developers with the + flexibility to create complex, interactive, and aesthetically pleasing + visualizations that are also optimized for performance and compatibility + across web environments. +
+
+
+
+
+ Simplify SVG Manipulation with Flitter's Component-Based Approach
-
-
-
- Effortlessly Animate SVG Elements with Flitter's Animation Features -
-
- Flitter provides a comprehensive set of animation features that - enable you to bring your SVG graphics to life. From simple - transitions to complex keyframe animations, Flitter has got you - covered. -
-
-
-
- Explore -
-
-
-
-
-
-
-
- Optimize SVG Performance with Flitter's Advanced Rendering Engine -
-
- Flitter's rendering engine ensures smooth and efficient rendering of - SVG graphics, even with complex animations and interactions. -
-
-
-
- Discover -
-
-
-
-
-
-
-
- Simplify SVG Manipulation with Flitter's Component-Based Approach -
-
- Flitter's component-based approach allows you to encapsulate SVG - elements and their behaviors into reusable and modular components, - making your code more organized and maintainable. -
-
-
-
- Get Started -
-
-
-
-
+ Flitter's component-based approach allows you to encapsulate SVG + elements and their behaviors into reusable and modular components, + making your code more organized and maintainable.
-
\ No newline at end of file +
+
+
diff --git a/packages/docs/src/components/pages/Intro.astro b/packages/docs/src/components/pages/Intro.astro index 1e37c83..a05e555 100644 --- a/packages/docs/src/components/pages/Intro.astro +++ b/packages/docs/src/components/pages/Intro.astro @@ -1,61 +1,65 @@ +--- +import Diagram from "../../components/diagram/Diagram.svelte"; +import Widget from "@moonmoonbrothers/flutterjs-svelte"; +--- +
+
+
+ Flitter: +
+ + Simplifying Data Visualization with Flutter-like Syntax + +
-
-
- Transform your SVGs with Flitter's powerful features -
-
- Flitter is a cutting-edge library for declarative SVG - manipulation. It simplifies the process of creating interactive - and dynamic SVGs, allowing you to bring your designs to life. -
-
-
-
-
- tutorial: comming soon -
-
-
-
- read the docs -
-
-
+ A declarative, widget-based library built on SVG, + Flitter enables the effortless crafting + of responsive and interactive visualizations. It mimics Flutter's syntax for a minimal learning curve and employs automatic layout + calculations, ensuring complex data is beautifully represented + across web platforms.
+
+
- +
+ tutorial: comming soon +
+ +
+ read the docs +
+
-
\ No newline at end of file +
+ +
+
+
+ diff --git a/packages/docs/src/components/pages/PleaseComeIn.astro b/packages/docs/src/components/pages/PleaseComeIn.astro index 1004f97..dd56c80 100644 --- a/packages/docs/src/components/pages/PleaseComeIn.astro +++ b/packages/docs/src/components/pages/PleaseComeIn.astro @@ -1,40 +1,31 @@ +
+
-
-
-
- Discover the power of Flitter -
-
- Effortlessly manipulate SVG graphics with Flitter's intuitive API -
-
-
-
-
- Explore -
-
-
-
- Try Now -
-
+
+ Discover the power of Flitter +
+
+ Effortlessly manipulate SVG graphics with Flitter's intuitive API +
+
+
+
+
+ Storybook
-
\ No newline at end of file + +
Try Now
+
+
+
+
diff --git a/packages/docs/src/components/pages/ShowCase.astro b/packages/docs/src/components/pages/ShowCase.astro index ed714b5..009dedc 100644 --- a/packages/docs/src/components/pages/ShowCase.astro +++ b/packages/docs/src/components/pages/ShowCase.astro @@ -15,7 +15,9 @@ import { Banner } from "./show-cases";
- Interactive charts for data-driven insights. + Interactive charts implemented with Flitter +
+ Explore the dynamic data visualization capabilities
diff --git a/packages/docs/src/components/pages/StartGuide.astro b/packages/docs/src/components/pages/StartGuide.astro index aa1474b..5978b4f 100644 --- a/packages/docs/src/components/pages/StartGuide.astro +++ b/packages/docs/src/components/pages/StartGuide.astro @@ -1,31 +1,37 @@ +--- +import * as code from "./install-bash-code.mdx"; +--- +
+
-
- -
+ +
+
+
+
+
+

-
-
-
- Get started with Flitter in just a few simple steps -
-
- Install Flitter using the following terminal code:

npm - install flitter -
-
-

+ Get started with Flitter + +

+ Crafted in pure vanilla JavaScript, Flitter can be manually integrated + into any framework with ease. For your convenience, we've pre-packaged + support for React and Svelte, streamlining the integration process to + get you started even faster. +

-
\ No newline at end of file +
+
+
diff --git a/packages/docs/src/components/pages/ThanksToFlutter.astro b/packages/docs/src/components/pages/ThanksToFlutter.astro new file mode 100644 index 0000000..74a8adf --- /dev/null +++ b/packages/docs/src/components/pages/ThanksToFlutter.astro @@ -0,0 +1,35 @@ +
+
+
+ Inspired by   Flutter: A Note of + Gratitude +
+
+ Flitter is built upon the innovative spirit of Flutter. +
+ We extend our heartfelt thanks to Flutter for inspiring a seamless
and + intuitive approach to data visualization. +
+
+ +
+
+ Meursyphus +
+
+ "Opensource GitHub organization" +
+
+
+
+
diff --git a/packages/docs/src/components/pages/install-bash-code.mdx b/packages/docs/src/components/pages/install-bash-code.mdx new file mode 100644 index 0000000..4dc2d84 --- /dev/null +++ b/packages/docs/src/components/pages/install-bash-code.mdx @@ -0,0 +1,10 @@ +```bash +npm i @meursyphus/flitter + +# Choose and install according to your project type, React or Svelte. +# For React projects: +npm i @meursyphus/flitter-react +# For Svelte projects: +npm i @meursyphus/flitter-svelte + +``` diff --git a/packages/docs/src/components/pages/show-cases.tsx b/packages/docs/src/components/pages/show-cases.tsx index 72e6c48..3a8b4cc 100644 --- a/packages/docs/src/components/pages/show-cases.tsx +++ b/packages/docs/src/components/pages/show-cases.tsx @@ -1,5 +1,4 @@ import Flicking from "@egjs/react-flicking"; -import type { Widget } from "@moonmoonbrothers/flutterjs"; import ReactWidget from "@moonmoonbrothers/flutterjs-react"; import { BarChart, @@ -8,7 +7,7 @@ import { ScatterChart, StackedBarChart, } from "@moonmoonbrothers/uglychart"; -import { useCallback, useEffect, useRef, useState } from "react"; +import { useEffect, useRef, useState } from "react"; const barChartProps = { data: { @@ -741,7 +740,7 @@ const lineChart = LineChart({ }); export const Chart = { - Bar: () => , + Bar: () => , Bubble: () => ( ), diff --git a/packages/docs/src/pages/index.astro b/packages/docs/src/pages/index.astro index 1532480..bdc5f4c 100644 --- a/packages/docs/src/pages/index.astro +++ b/packages/docs/src/pages/index.astro @@ -4,7 +4,7 @@ import Intro from "../components/pages/Intro.astro"; import Features from "../components/pages/Features.astro"; import ShowCase from "../components/pages/ShowCase.astro"; import PleaseComeIn from "../components/pages/PleaseComeIn.astro"; -import Author from "../components/pages/Author.astro"; +import ThanksToFlutter from "../components/pages/ThanksToFlutter.astro"; import StartGuide from "../components/pages/StartGuide.astro"; --- @@ -14,7 +14,7 @@ import StartGuide from "../components/pages/StartGuide.astro"; - +
From 1a13fcf01f110c7939cb24806027ecbe62aa04c2 Mon Sep 17 00:00:00 2001 From: moonmoon <64200419+Moon-DaeSeung@users.noreply.github.com> Date: Sun, 10 Mar 2024 23:25:55 +0900 Subject: [PATCH 04/27] [MS-16] Docs 16 header footer (#5) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * header 완료 * [MS-16] header footer --- packages/docs/public/discord.png | Bin 0 -> 10623 bytes packages/docs/public/favicon.jpeg | Bin 0 -> 37251 bytes packages/docs/public/favicon.svg | 9 -- packages/docs/public/github-mark-white.png | Bin 0 -> 4837 bytes packages/docs/public/github-mark.png | Bin 0 -> 6393 bytes packages/docs/public/logo.jpeg | Bin 0 -> 37251 bytes .../src/components/pages/PleaseComeIn.astro | 5 +- packages/docs/src/components/ui/Footer.astro | 83 ++++++------------ packages/docs/src/components/ui/Header.astro | 18 ++-- packages/docs/src/layouts/Layout.astro | 2 +- 10 files changed, 35 insertions(+), 82 deletions(-) create mode 100755 packages/docs/public/discord.png create mode 100644 packages/docs/public/favicon.jpeg delete mode 100644 packages/docs/public/favicon.svg create mode 100644 packages/docs/public/github-mark-white.png create mode 100644 packages/docs/public/github-mark.png create mode 100644 packages/docs/public/logo.jpeg diff --git a/packages/docs/public/discord.png b/packages/docs/public/discord.png new file mode 100755 index 0000000000000000000000000000000000000000..17da18d528f246d045f8f15057d21424d37f759d GIT binary patch literal 10623 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 literal 0 HcmV?d00001 diff --git a/packages/docs/public/favicon.jpeg b/packages/docs/public/favicon.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..964f6e5fe8b2d447c772488e6690025d183b6464 GIT binary patch literal 37251 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 literal 0 HcmV?d00001 diff --git a/packages/docs/public/favicon.svg b/packages/docs/public/favicon.svg deleted file mode 100644 index f157bd1..0000000 --- a/packages/docs/public/favicon.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - diff --git a/packages/docs/public/github-mark-white.png b/packages/docs/public/github-mark-white.png new file mode 100644 index 0000000000000000000000000000000000000000..50b81752278d084ba9d449fff25f4051df162b0f GIT binary patch literal 4837 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 literal 0 HcmV?d00001 diff --git a/packages/docs/public/github-mark.png b/packages/docs/public/github-mark.png new file mode 100644 index 0000000000000000000000000000000000000000..6cb3b705d018006a2bd4200ea94c9d5fb98b6f76 GIT binary patch literal 6393 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 Hu0mjfZ$b4` literal 0 HcmV?d00001 diff --git a/packages/docs/public/logo.jpeg b/packages/docs/public/logo.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..964f6e5fe8b2d447c772488e6690025d183b6464 GIT binary patch literal 37251 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 literal 0 HcmV?d00001 diff --git a/packages/docs/src/components/pages/PleaseComeIn.astro b/packages/docs/src/components/pages/PleaseComeIn.astro index dd56c80..e1db196 100644 --- a/packages/docs/src/components/pages/PleaseComeIn.astro +++ b/packages/docs/src/components/pages/PleaseComeIn.astro @@ -13,13 +13,14 @@

-
Storybook
-
+
+ +
+
+
-
-
-
- © 2023 Flitter. All rights reserved. -
-
-
- Privacy Policy -
-
- Terms of Service -
-
- Cookies Settings -
-
-
+ Flitter is free and open source software released under + the MIT license
-
\ No newline at end of file + + +
diff --git a/packages/docs/src/components/ui/Header.astro b/packages/docs/src/components/ui/Header.astro index 790a5f4..af53061 100644 --- a/packages/docs/src/components/ui/Header.astro +++ b/packages/docs/src/components/ui/Header.astro @@ -10,10 +10,7 @@ const pathname = url.pathname; // 현재 페이지의 경로 class="mx-auto relative w-full max-w-[1520px] justify-center items-center gap-8 inline-flex" > - +
@@ -31,16 +28,13 @@ const pathname = url.pathname; // 현재 페이지의 경로
diff --git a/packages/docs/src/layouts/Layout.astro b/packages/docs/src/layouts/Layout.astro index 08aec6f..fae6921 100644 --- a/packages/docs/src/layouts/Layout.astro +++ b/packages/docs/src/layouts/Layout.astro @@ -15,7 +15,7 @@ const { title } = Astro.props; - + {title ?? "Flitter"} From 26d6e77fb299d4bb1713a1cdf27dd0d24127970b Mon Sep 17 00:00:00 2001 From: moonmoon <64200419+Moon-DaeSeung@users.noreply.github.com> Date: Mon, 11 Mar 2024 07:21:56 +0900 Subject: [PATCH 05/27] [MS-22] Docs 22 docs outline (#6) * add docs * docs outline * sidebar styling * toc fixed --- .../src/components/pages/docs/SideBar.astro | 7 +- .../docs/src/components/pages/docs/Toc.astro | 17 ++- .../content/docs/api/animation-controller.mdx | 8 ++ .../docs/{widgets => api}/container.mdx | 10 +- .../src/content/docs/api/experimental.mdx | 8 ++ packages/docs/src/content/docs/api/flex.mdx | 8 ++ .../src/content/docs/api/gesture-detector.mdx | 7 ++ .../docs/src/content/docs/api/provider.mdx | 8 ++ packages/docs/src/content/docs/api/stack.mdx | 9 ++ packages/docs/src/content/docs/api/text.mdx | 9 ++ .../content/docs/concepts/flutter-like.mdx | 63 +++++++++++ .../docs/concepts/state-management.mdx | 63 ++++++++++- .../docs/src/content/docs/concepts/widget.mdx | 89 ++++++++++++++- .../docs/src/content/docs/how-to-start.mdx | 107 ++++++++++++++++++ .../docs/src/content/docs/introduction.mdx | 33 +++--- .../src/content/docs/widgets/ClipPath.mdx | 8 ++ packages/docs/src/pages/docs/[...slug].astro | 3 + 17 files changed, 424 insertions(+), 33 deletions(-) create mode 100644 packages/docs/src/content/docs/api/animation-controller.mdx rename packages/docs/src/content/docs/{widgets => api}/container.mdx (62%) create mode 100644 packages/docs/src/content/docs/api/experimental.mdx create mode 100644 packages/docs/src/content/docs/api/flex.mdx create mode 100644 packages/docs/src/content/docs/api/gesture-detector.mdx create mode 100644 packages/docs/src/content/docs/api/provider.mdx create mode 100644 packages/docs/src/content/docs/api/stack.mdx create mode 100644 packages/docs/src/content/docs/api/text.mdx create mode 100644 packages/docs/src/content/docs/concepts/flutter-like.mdx create mode 100644 packages/docs/src/content/docs/how-to-start.mdx create mode 100644 packages/docs/src/content/docs/widgets/ClipPath.mdx diff --git a/packages/docs/src/components/pages/docs/SideBar.astro b/packages/docs/src/components/pages/docs/SideBar.astro index c04e610..bc82566 100644 --- a/packages/docs/src/components/pages/docs/SideBar.astro +++ b/packages/docs/src/components/pages/docs/SideBar.astro @@ -38,6 +38,8 @@ navigation.sort((a, b) => a.order - b.order); navigation.forEach((group) => { group.items.sort((a, b) => a.order - b.order); }); + +const currentUrl = Astro.url.pathname; --- - + + diff --git a/packages/flitter-react/node_modules/.bin/esbuild b/packages/flitter-react/node_modules/.bin/esbuild new file mode 120000 index 0000000..c83ac07 --- /dev/null +++ b/packages/flitter-react/node_modules/.bin/esbuild @@ -0,0 +1 @@ +../esbuild/bin/esbuild \ No newline at end of file diff --git a/packages/flitter-react/node_modules/.bin/rollup b/packages/flitter-react/node_modules/.bin/rollup new file mode 120000 index 0000000..5939621 --- /dev/null +++ b/packages/flitter-react/node_modules/.bin/rollup @@ -0,0 +1 @@ +../rollup/dist/bin/rollup \ No newline at end of file diff --git a/packages/flitter-react/node_modules/.bin/vite b/packages/flitter-react/node_modules/.bin/vite new file mode 120000 index 0000000..6d1e3be --- /dev/null +++ b/packages/flitter-react/node_modules/.bin/vite @@ -0,0 +1 @@ +../vite/bin/vite.js \ No newline at end of file diff --git a/packages/flitter-react/node_modules/@esbuild/darwin-arm64/README.md b/packages/flitter-react/node_modules/@esbuild/darwin-arm64/README.md new file mode 100644 index 0000000..c2c0398 --- /dev/null +++ b/packages/flitter-react/node_modules/@esbuild/darwin-arm64/README.md @@ -0,0 +1,3 @@ +# esbuild + +This is the macOS ARM 64-bit binary for esbuild, a JavaScript bundler and minifier. See https://github.com/evanw/esbuild for details. diff --git a/packages/flitter-react/node_modules/@esbuild/darwin-arm64/bin/esbuild b/packages/flitter-react/node_modules/@esbuild/darwin-arm64/bin/esbuild new file mode 100755 index 0000000000000000000000000000000000000000..5b2a97934330ec7edbf96e1262a06ac968a987ec GIT binary patch literal 9510882 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ⅈEPlRxAGIN{9EO@C&-v>yE0 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≦m1nk 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

Nax#YeNQ+C9@YBvK5_Q5wyi;4pA63*YEHZx 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