A lexicon-driven AppView for ATProto. happyview.dev
backfill firehose jetstream atproto appview oauth lexicon
8
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: use Shiki for code blocks

Trezy 76a9495b ddb05c81

+1311 -12
+1206 -3
web/package-lock.json
··· 18 18 "clsx": "^2.1.1", 19 19 "cmdk": "^1.1.1", 20 20 "date-fns": "^4.1.0", 21 + "hast-util-to-jsx-runtime": "^2.3.6", 21 22 "lucide-react": "^0.564.0", 22 23 "next": "16.1.6", 23 24 "next-themes": "^0.4.6", ··· 27 28 "react-day-picker": "^9.13.2", 28 29 "react-dom": "19.2.3", 29 30 "recharts": "^2.15.4", 31 + "shiki": "^3.22.0", 30 32 "sonner": "^2.0.7", 31 33 "tailwind-merge": "^3.4.0", 32 34 "vaul": "^1.1.2", ··· 3569 3571 "dev": true, 3570 3572 "license": "MIT" 3571 3573 }, 3574 + "node_modules/@shikijs/core": { 3575 + "version": "3.22.0", 3576 + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.22.0.tgz", 3577 + "integrity": "sha512-iAlTtSDDbJiRpvgL5ugKEATDtHdUVkqgHDm/gbD2ZS9c88mx7G1zSYjjOxp5Qa0eaW0MAQosFRmJSk354PRoQA==", 3578 + "license": "MIT", 3579 + "dependencies": { 3580 + "@shikijs/types": "3.22.0", 3581 + "@shikijs/vscode-textmate": "^10.0.2", 3582 + "@types/hast": "^3.0.4", 3583 + "hast-util-to-html": "^9.0.5" 3584 + } 3585 + }, 3586 + "node_modules/@shikijs/engine-javascript": { 3587 + "version": "3.22.0", 3588 + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.22.0.tgz", 3589 + "integrity": "sha512-jdKhfgW9CRtj3Tor0L7+yPwdG3CgP7W+ZEqSsojrMzCjD1e0IxIbwUMDDpYlVBlC08TACg4puwFGkZfLS+56Tw==", 3590 + "license": "MIT", 3591 + "dependencies": { 3592 + "@shikijs/types": "3.22.0", 3593 + "@shikijs/vscode-textmate": "^10.0.2", 3594 + "oniguruma-to-es": "^4.3.4" 3595 + } 3596 + }, 3597 + "node_modules/@shikijs/engine-oniguruma": { 3598 + "version": "3.22.0", 3599 + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.22.0.tgz", 3600 + "integrity": "sha512-DyXsOG0vGtNtl7ygvabHd7Mt5EY8gCNqR9Y7Lpbbd/PbJvgWrqaKzH1JW6H6qFkuUa8aCxoiYVv8/YfFljiQxA==", 3601 + "license": "MIT", 3602 + "dependencies": { 3603 + "@shikijs/types": "3.22.0", 3604 + "@shikijs/vscode-textmate": "^10.0.2" 3605 + } 3606 + }, 3607 + "node_modules/@shikijs/langs": { 3608 + "version": "3.22.0", 3609 + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.22.0.tgz", 3610 + "integrity": "sha512-x/42TfhWmp6H00T6uwVrdTJGKgNdFbrEdhaDwSR5fd5zhQ1Q46bHq9EO61SCEWJR0HY7z2HNDMaBZp8JRmKiIA==", 3611 + "license": "MIT", 3612 + "dependencies": { 3613 + "@shikijs/types": "3.22.0" 3614 + } 3615 + }, 3616 + "node_modules/@shikijs/themes": { 3617 + "version": "3.22.0", 3618 + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.22.0.tgz", 3619 + "integrity": "sha512-o+tlOKqsr6FE4+mYJG08tfCFDS+3CG20HbldXeVoyP+cYSUxDhrFf3GPjE60U55iOkkjbpY2uC3It/eeja35/g==", 3620 + "license": "MIT", 3621 + "dependencies": { 3622 + "@shikijs/types": "3.22.0" 3623 + } 3624 + }, 3625 + "node_modules/@shikijs/types": { 3626 + "version": "3.22.0", 3627 + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.22.0.tgz", 3628 + "integrity": "sha512-491iAekgKDBFE67z70Ok5a8KBMsQ2IJwOWw3us/7ffQkIBCyOQfm/aNwVMBUriP02QshIfgHCBSIYAl3u2eWjg==", 3629 + "license": "MIT", 3630 + "dependencies": { 3631 + "@shikijs/vscode-textmate": "^10.0.2", 3632 + "@types/hast": "^3.0.4" 3633 + } 3634 + }, 3635 + "node_modules/@shikijs/vscode-textmate": { 3636 + "version": "10.0.2", 3637 + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", 3638 + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", 3639 + "license": "MIT" 3640 + }, 3572 3641 "node_modules/@sindresorhus/merge-streams": { 3573 3642 "version": "4.0.0", 3574 3643 "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", ··· 4085 4154 "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", 4086 4155 "license": "MIT" 4087 4156 }, 4157 + "node_modules/@types/debug": { 4158 + "version": "4.1.12", 4159 + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", 4160 + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", 4161 + "license": "MIT", 4162 + "dependencies": { 4163 + "@types/ms": "*" 4164 + } 4165 + }, 4088 4166 "node_modules/@types/estree": { 4089 4167 "version": "1.0.8", 4090 4168 "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", 4091 4169 "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", 4092 - "dev": true, 4093 4170 "license": "MIT" 4094 4171 }, 4172 + "node_modules/@types/estree-jsx": { 4173 + "version": "1.0.5", 4174 + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", 4175 + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", 4176 + "license": "MIT", 4177 + "dependencies": { 4178 + "@types/estree": "*" 4179 + } 4180 + }, 4181 + "node_modules/@types/hast": { 4182 + "version": "3.0.4", 4183 + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", 4184 + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", 4185 + "license": "MIT", 4186 + "dependencies": { 4187 + "@types/unist": "*" 4188 + } 4189 + }, 4095 4190 "node_modules/@types/json-schema": { 4096 4191 "version": "7.0.15", 4097 4192 "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", ··· 4106 4201 "dev": true, 4107 4202 "license": "MIT" 4108 4203 }, 4204 + "node_modules/@types/mdast": { 4205 + "version": "4.0.4", 4206 + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", 4207 + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", 4208 + "license": "MIT", 4209 + "dependencies": { 4210 + "@types/unist": "*" 4211 + } 4212 + }, 4213 + "node_modules/@types/ms": { 4214 + "version": "2.1.0", 4215 + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", 4216 + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", 4217 + "license": "MIT" 4218 + }, 4109 4219 "node_modules/@types/node": { 4110 4220 "version": "20.19.33", 4111 4221 "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.33.tgz", ··· 4141 4251 "resolved": "https://registry.npmjs.org/@types/statuses/-/statuses-2.0.6.tgz", 4142 4252 "integrity": "sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA==", 4143 4253 "dev": true, 4254 + "license": "MIT" 4255 + }, 4256 + "node_modules/@types/unist": { 4257 + "version": "3.0.3", 4258 + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", 4259 + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", 4144 4260 "license": "MIT" 4145 4261 }, 4146 4262 "node_modules/@types/validate-npm-package-name": { ··· 4418 4534 "type": "opencollective", 4419 4535 "url": "https://opencollective.com/typescript-eslint" 4420 4536 } 4537 + }, 4538 + "node_modules/@ungap/structured-clone": { 4539 + "version": "1.3.0", 4540 + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", 4541 + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", 4542 + "license": "ISC" 4421 4543 }, 4422 4544 "node_modules/@unrs/resolver-binding-android-arm-eabi": { 4423 4545 "version": "1.11.1", ··· 5303 5425 ], 5304 5426 "license": "CC-BY-4.0" 5305 5427 }, 5428 + "node_modules/ccount": { 5429 + "version": "2.0.1", 5430 + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", 5431 + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", 5432 + "license": "MIT", 5433 + "funding": { 5434 + "type": "github", 5435 + "url": "https://github.com/sponsors/wooorm" 5436 + } 5437 + }, 5306 5438 "node_modules/chalk": { 5307 5439 "version": "4.1.2", 5308 5440 "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", ··· 5320 5452 "url": "https://github.com/chalk/chalk?sponsor=1" 5321 5453 } 5322 5454 }, 5455 + "node_modules/character-entities": { 5456 + "version": "2.0.2", 5457 + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", 5458 + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", 5459 + "license": "MIT", 5460 + "funding": { 5461 + "type": "github", 5462 + "url": "https://github.com/sponsors/wooorm" 5463 + } 5464 + }, 5465 + "node_modules/character-entities-html4": { 5466 + "version": "2.1.0", 5467 + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", 5468 + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", 5469 + "license": "MIT", 5470 + "funding": { 5471 + "type": "github", 5472 + "url": "https://github.com/sponsors/wooorm" 5473 + } 5474 + }, 5475 + "node_modules/character-entities-legacy": { 5476 + "version": "3.0.0", 5477 + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", 5478 + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", 5479 + "license": "MIT", 5480 + "funding": { 5481 + "type": "github", 5482 + "url": "https://github.com/sponsors/wooorm" 5483 + } 5484 + }, 5485 + "node_modules/character-reference-invalid": { 5486 + "version": "2.0.1", 5487 + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", 5488 + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", 5489 + "license": "MIT", 5490 + "funding": { 5491 + "type": "github", 5492 + "url": "https://github.com/sponsors/wooorm" 5493 + } 5494 + }, 5323 5495 "node_modules/class-variance-authority": { 5324 5496 "version": "0.7.1", 5325 5497 "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", ··· 5506 5678 "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 5507 5679 "dev": true, 5508 5680 "license": "MIT" 5681 + }, 5682 + "node_modules/comma-separated-tokens": { 5683 + "version": "2.0.3", 5684 + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", 5685 + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", 5686 + "license": "MIT", 5687 + "funding": { 5688 + "type": "github", 5689 + "url": "https://github.com/sponsors/wooorm" 5690 + } 5509 5691 }, 5510 5692 "node_modules/commander": { 5511 5693 "version": "14.0.3", ··· 5866 6048 "version": "4.4.3", 5867 6049 "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", 5868 6050 "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", 5869 - "dev": true, 5870 6051 "license": "MIT", 5871 6052 "dependencies": { 5872 6053 "ms": "^2.1.3" ··· 5886 6067 "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==", 5887 6068 "license": "MIT" 5888 6069 }, 6070 + "node_modules/decode-named-character-reference": { 6071 + "version": "1.3.0", 6072 + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", 6073 + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", 6074 + "license": "MIT", 6075 + "dependencies": { 6076 + "character-entities": "^2.0.0" 6077 + }, 6078 + "funding": { 6079 + "type": "github", 6080 + "url": "https://github.com/sponsors/wooorm" 6081 + } 6082 + }, 5889 6083 "node_modules/dedent": { 5890 6084 "version": "1.7.1", 5891 6085 "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.1.tgz", ··· 6007 6201 "node": ">= 0.8" 6008 6202 } 6009 6203 }, 6204 + "node_modules/dequal": { 6205 + "version": "2.0.3", 6206 + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", 6207 + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", 6208 + "license": "MIT", 6209 + "engines": { 6210 + "node": ">=6" 6211 + } 6212 + }, 6010 6213 "node_modules/detect-libc": { 6011 6214 "version": "2.1.2", 6012 6215 "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", ··· 6022 6225 "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", 6023 6226 "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", 6024 6227 "license": "MIT" 6228 + }, 6229 + "node_modules/devlop": { 6230 + "version": "1.1.0", 6231 + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", 6232 + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", 6233 + "license": "MIT", 6234 + "dependencies": { 6235 + "dequal": "^2.0.0" 6236 + }, 6237 + "funding": { 6238 + "type": "github", 6239 + "url": "https://github.com/sponsors/wooorm" 6240 + } 6025 6241 }, 6026 6242 "node_modules/diff": { 6027 6243 "version": "8.0.3", ··· 6802 7018 "node": ">=4.0" 6803 7019 } 6804 7020 }, 7021 + "node_modules/estree-util-is-identifier-name": { 7022 + "version": "3.0.0", 7023 + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", 7024 + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", 7025 + "license": "MIT", 7026 + "funding": { 7027 + "type": "opencollective", 7028 + "url": "https://opencollective.com/unified" 7029 + } 7030 + }, 6805 7031 "node_modules/esutils": { 6806 7032 "version": "2.0.3", 6807 7033 "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", ··· 7592 7818 "node": ">= 0.4" 7593 7819 } 7594 7820 }, 7821 + "node_modules/hast-util-to-html": { 7822 + "version": "9.0.5", 7823 + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", 7824 + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", 7825 + "license": "MIT", 7826 + "dependencies": { 7827 + "@types/hast": "^3.0.0", 7828 + "@types/unist": "^3.0.0", 7829 + "ccount": "^2.0.0", 7830 + "comma-separated-tokens": "^2.0.0", 7831 + "hast-util-whitespace": "^3.0.0", 7832 + "html-void-elements": "^3.0.0", 7833 + "mdast-util-to-hast": "^13.0.0", 7834 + "property-information": "^7.0.0", 7835 + "space-separated-tokens": "^2.0.0", 7836 + "stringify-entities": "^4.0.0", 7837 + "zwitch": "^2.0.4" 7838 + }, 7839 + "funding": { 7840 + "type": "opencollective", 7841 + "url": "https://opencollective.com/unified" 7842 + } 7843 + }, 7844 + "node_modules/hast-util-to-jsx-runtime": { 7845 + "version": "2.3.6", 7846 + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", 7847 + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", 7848 + "license": "MIT", 7849 + "dependencies": { 7850 + "@types/estree": "^1.0.0", 7851 + "@types/hast": "^3.0.0", 7852 + "@types/unist": "^3.0.0", 7853 + "comma-separated-tokens": "^2.0.0", 7854 + "devlop": "^1.0.0", 7855 + "estree-util-is-identifier-name": "^3.0.0", 7856 + "hast-util-whitespace": "^3.0.0", 7857 + "mdast-util-mdx-expression": "^2.0.0", 7858 + "mdast-util-mdx-jsx": "^3.0.0", 7859 + "mdast-util-mdxjs-esm": "^2.0.0", 7860 + "property-information": "^7.0.0", 7861 + "space-separated-tokens": "^2.0.0", 7862 + "style-to-js": "^1.0.0", 7863 + "unist-util-position": "^5.0.0", 7864 + "vfile-message": "^4.0.0" 7865 + }, 7866 + "funding": { 7867 + "type": "opencollective", 7868 + "url": "https://opencollective.com/unified" 7869 + } 7870 + }, 7871 + "node_modules/hast-util-whitespace": { 7872 + "version": "3.0.0", 7873 + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", 7874 + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", 7875 + "license": "MIT", 7876 + "dependencies": { 7877 + "@types/hast": "^3.0.0" 7878 + }, 7879 + "funding": { 7880 + "type": "opencollective", 7881 + "url": "https://opencollective.com/unified" 7882 + } 7883 + }, 7595 7884 "node_modules/headers-polyfill": { 7596 7885 "version": "4.0.3", 7597 7886 "resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-4.0.3.tgz", ··· 7624 7913 "license": "MIT", 7625 7914 "engines": { 7626 7915 "node": ">=16.9.0" 7916 + } 7917 + }, 7918 + "node_modules/html-void-elements": { 7919 + "version": "3.0.0", 7920 + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", 7921 + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", 7922 + "license": "MIT", 7923 + "funding": { 7924 + "type": "github", 7925 + "url": "https://github.com/sponsors/wooorm" 7627 7926 } 7628 7927 }, 7629 7928 "node_modules/http-errors": { ··· 7732 8031 "dev": true, 7733 8032 "license": "ISC" 7734 8033 }, 8034 + "node_modules/inline-style-parser": { 8035 + "version": "0.2.7", 8036 + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", 8037 + "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", 8038 + "license": "MIT" 8039 + }, 7735 8040 "node_modules/internal-slot": { 7736 8041 "version": "1.1.0", 7737 8042 "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", ··· 7776 8081 "node": ">= 0.10" 7777 8082 } 7778 8083 }, 8084 + "node_modules/is-alphabetical": { 8085 + "version": "2.0.1", 8086 + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", 8087 + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", 8088 + "license": "MIT", 8089 + "funding": { 8090 + "type": "github", 8091 + "url": "https://github.com/sponsors/wooorm" 8092 + } 8093 + }, 8094 + "node_modules/is-alphanumerical": { 8095 + "version": "2.0.1", 8096 + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", 8097 + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", 8098 + "license": "MIT", 8099 + "dependencies": { 8100 + "is-alphabetical": "^2.0.0", 8101 + "is-decimal": "^2.0.0" 8102 + }, 8103 + "funding": { 8104 + "type": "github", 8105 + "url": "https://github.com/sponsors/wooorm" 8106 + } 8107 + }, 7779 8108 "node_modules/is-array-buffer": { 7780 8109 "version": "3.0.5", 7781 8110 "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", ··· 7941 8270 "url": "https://github.com/sponsors/ljharb" 7942 8271 } 7943 8272 }, 8273 + "node_modules/is-decimal": { 8274 + "version": "2.0.1", 8275 + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", 8276 + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", 8277 + "license": "MIT", 8278 + "funding": { 8279 + "type": "github", 8280 + "url": "https://github.com/sponsors/wooorm" 8281 + } 8282 + }, 7944 8283 "node_modules/is-docker": { 7945 8284 "version": "3.0.0", 7946 8285 "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", ··· 8024 8363 }, 8025 8364 "engines": { 8026 8365 "node": ">=0.10.0" 8366 + } 8367 + }, 8368 + "node_modules/is-hexadecimal": { 8369 + "version": "2.0.1", 8370 + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", 8371 + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", 8372 + "license": "MIT", 8373 + "funding": { 8374 + "type": "github", 8375 + "url": "https://github.com/sponsors/wooorm" 8027 8376 } 8028 8377 }, 8029 8378 "node_modules/is-in-ssh": { ··· 8935 9284 "url": "https://github.com/sponsors/sindresorhus" 8936 9285 } 8937 9286 }, 9287 + "node_modules/longest-streak": { 9288 + "version": "3.1.0", 9289 + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", 9290 + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", 9291 + "license": "MIT", 9292 + "funding": { 9293 + "type": "github", 9294 + "url": "https://github.com/sponsors/wooorm" 9295 + } 9296 + }, 8938 9297 "node_modules/loose-envify": { 8939 9298 "version": "1.4.0", 8940 9299 "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", ··· 8986 9345 "node": ">= 0.4" 8987 9346 } 8988 9347 }, 9348 + "node_modules/mdast-util-from-markdown": { 9349 + "version": "2.0.2", 9350 + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", 9351 + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", 9352 + "license": "MIT", 9353 + "dependencies": { 9354 + "@types/mdast": "^4.0.0", 9355 + "@types/unist": "^3.0.0", 9356 + "decode-named-character-reference": "^1.0.0", 9357 + "devlop": "^1.0.0", 9358 + "mdast-util-to-string": "^4.0.0", 9359 + "micromark": "^4.0.0", 9360 + "micromark-util-decode-numeric-character-reference": "^2.0.0", 9361 + "micromark-util-decode-string": "^2.0.0", 9362 + "micromark-util-normalize-identifier": "^2.0.0", 9363 + "micromark-util-symbol": "^2.0.0", 9364 + "micromark-util-types": "^2.0.0", 9365 + "unist-util-stringify-position": "^4.0.0" 9366 + }, 9367 + "funding": { 9368 + "type": "opencollective", 9369 + "url": "https://opencollective.com/unified" 9370 + } 9371 + }, 9372 + "node_modules/mdast-util-mdx-expression": { 9373 + "version": "2.0.1", 9374 + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", 9375 + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", 9376 + "license": "MIT", 9377 + "dependencies": { 9378 + "@types/estree-jsx": "^1.0.0", 9379 + "@types/hast": "^3.0.0", 9380 + "@types/mdast": "^4.0.0", 9381 + "devlop": "^1.0.0", 9382 + "mdast-util-from-markdown": "^2.0.0", 9383 + "mdast-util-to-markdown": "^2.0.0" 9384 + }, 9385 + "funding": { 9386 + "type": "opencollective", 9387 + "url": "https://opencollective.com/unified" 9388 + } 9389 + }, 9390 + "node_modules/mdast-util-mdx-jsx": { 9391 + "version": "3.2.0", 9392 + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", 9393 + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", 9394 + "license": "MIT", 9395 + "dependencies": { 9396 + "@types/estree-jsx": "^1.0.0", 9397 + "@types/hast": "^3.0.0", 9398 + "@types/mdast": "^4.0.0", 9399 + "@types/unist": "^3.0.0", 9400 + "ccount": "^2.0.0", 9401 + "devlop": "^1.1.0", 9402 + "mdast-util-from-markdown": "^2.0.0", 9403 + "mdast-util-to-markdown": "^2.0.0", 9404 + "parse-entities": "^4.0.0", 9405 + "stringify-entities": "^4.0.0", 9406 + "unist-util-stringify-position": "^4.0.0", 9407 + "vfile-message": "^4.0.0" 9408 + }, 9409 + "funding": { 9410 + "type": "opencollective", 9411 + "url": "https://opencollective.com/unified" 9412 + } 9413 + }, 9414 + "node_modules/mdast-util-mdxjs-esm": { 9415 + "version": "2.0.1", 9416 + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", 9417 + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", 9418 + "license": "MIT", 9419 + "dependencies": { 9420 + "@types/estree-jsx": "^1.0.0", 9421 + "@types/hast": "^3.0.0", 9422 + "@types/mdast": "^4.0.0", 9423 + "devlop": "^1.0.0", 9424 + "mdast-util-from-markdown": "^2.0.0", 9425 + "mdast-util-to-markdown": "^2.0.0" 9426 + }, 9427 + "funding": { 9428 + "type": "opencollective", 9429 + "url": "https://opencollective.com/unified" 9430 + } 9431 + }, 9432 + "node_modules/mdast-util-phrasing": { 9433 + "version": "4.1.0", 9434 + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", 9435 + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", 9436 + "license": "MIT", 9437 + "dependencies": { 9438 + "@types/mdast": "^4.0.0", 9439 + "unist-util-is": "^6.0.0" 9440 + }, 9441 + "funding": { 9442 + "type": "opencollective", 9443 + "url": "https://opencollective.com/unified" 9444 + } 9445 + }, 9446 + "node_modules/mdast-util-to-hast": { 9447 + "version": "13.2.1", 9448 + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", 9449 + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", 9450 + "license": "MIT", 9451 + "dependencies": { 9452 + "@types/hast": "^3.0.0", 9453 + "@types/mdast": "^4.0.0", 9454 + "@ungap/structured-clone": "^1.0.0", 9455 + "devlop": "^1.0.0", 9456 + "micromark-util-sanitize-uri": "^2.0.0", 9457 + "trim-lines": "^3.0.0", 9458 + "unist-util-position": "^5.0.0", 9459 + "unist-util-visit": "^5.0.0", 9460 + "vfile": "^6.0.0" 9461 + }, 9462 + "funding": { 9463 + "type": "opencollective", 9464 + "url": "https://opencollective.com/unified" 9465 + } 9466 + }, 9467 + "node_modules/mdast-util-to-markdown": { 9468 + "version": "2.1.2", 9469 + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", 9470 + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", 9471 + "license": "MIT", 9472 + "dependencies": { 9473 + "@types/mdast": "^4.0.0", 9474 + "@types/unist": "^3.0.0", 9475 + "longest-streak": "^3.0.0", 9476 + "mdast-util-phrasing": "^4.0.0", 9477 + "mdast-util-to-string": "^4.0.0", 9478 + "micromark-util-classify-character": "^2.0.0", 9479 + "micromark-util-decode-string": "^2.0.0", 9480 + "unist-util-visit": "^5.0.0", 9481 + "zwitch": "^2.0.0" 9482 + }, 9483 + "funding": { 9484 + "type": "opencollective", 9485 + "url": "https://opencollective.com/unified" 9486 + } 9487 + }, 9488 + "node_modules/mdast-util-to-string": { 9489 + "version": "4.0.0", 9490 + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", 9491 + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", 9492 + "license": "MIT", 9493 + "dependencies": { 9494 + "@types/mdast": "^4.0.0" 9495 + }, 9496 + "funding": { 9497 + "type": "opencollective", 9498 + "url": "https://opencollective.com/unified" 9499 + } 9500 + }, 8989 9501 "node_modules/media-typer": { 8990 9502 "version": "1.1.0", 8991 9503 "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", ··· 9026 9538 "node": ">= 8" 9027 9539 } 9028 9540 }, 9541 + "node_modules/micromark": { 9542 + "version": "4.0.2", 9543 + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", 9544 + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", 9545 + "funding": [ 9546 + { 9547 + "type": "GitHub Sponsors", 9548 + "url": "https://github.com/sponsors/unifiedjs" 9549 + }, 9550 + { 9551 + "type": "OpenCollective", 9552 + "url": "https://opencollective.com/unified" 9553 + } 9554 + ], 9555 + "license": "MIT", 9556 + "dependencies": { 9557 + "@types/debug": "^4.0.0", 9558 + "debug": "^4.0.0", 9559 + "decode-named-character-reference": "^1.0.0", 9560 + "devlop": "^1.0.0", 9561 + "micromark-core-commonmark": "^2.0.0", 9562 + "micromark-factory-space": "^2.0.0", 9563 + "micromark-util-character": "^2.0.0", 9564 + "micromark-util-chunked": "^2.0.0", 9565 + "micromark-util-combine-extensions": "^2.0.0", 9566 + "micromark-util-decode-numeric-character-reference": "^2.0.0", 9567 + "micromark-util-encode": "^2.0.0", 9568 + "micromark-util-normalize-identifier": "^2.0.0", 9569 + "micromark-util-resolve-all": "^2.0.0", 9570 + "micromark-util-sanitize-uri": "^2.0.0", 9571 + "micromark-util-subtokenize": "^2.0.0", 9572 + "micromark-util-symbol": "^2.0.0", 9573 + "micromark-util-types": "^2.0.0" 9574 + } 9575 + }, 9576 + "node_modules/micromark-core-commonmark": { 9577 + "version": "2.0.3", 9578 + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", 9579 + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", 9580 + "funding": [ 9581 + { 9582 + "type": "GitHub Sponsors", 9583 + "url": "https://github.com/sponsors/unifiedjs" 9584 + }, 9585 + { 9586 + "type": "OpenCollective", 9587 + "url": "https://opencollective.com/unified" 9588 + } 9589 + ], 9590 + "license": "MIT", 9591 + "dependencies": { 9592 + "decode-named-character-reference": "^1.0.0", 9593 + "devlop": "^1.0.0", 9594 + "micromark-factory-destination": "^2.0.0", 9595 + "micromark-factory-label": "^2.0.0", 9596 + "micromark-factory-space": "^2.0.0", 9597 + "micromark-factory-title": "^2.0.0", 9598 + "micromark-factory-whitespace": "^2.0.0", 9599 + "micromark-util-character": "^2.0.0", 9600 + "micromark-util-chunked": "^2.0.0", 9601 + "micromark-util-classify-character": "^2.0.0", 9602 + "micromark-util-html-tag-name": "^2.0.0", 9603 + "micromark-util-normalize-identifier": "^2.0.0", 9604 + "micromark-util-resolve-all": "^2.0.0", 9605 + "micromark-util-subtokenize": "^2.0.0", 9606 + "micromark-util-symbol": "^2.0.0", 9607 + "micromark-util-types": "^2.0.0" 9608 + } 9609 + }, 9610 + "node_modules/micromark-factory-destination": { 9611 + "version": "2.0.1", 9612 + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", 9613 + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", 9614 + "funding": [ 9615 + { 9616 + "type": "GitHub Sponsors", 9617 + "url": "https://github.com/sponsors/unifiedjs" 9618 + }, 9619 + { 9620 + "type": "OpenCollective", 9621 + "url": "https://opencollective.com/unified" 9622 + } 9623 + ], 9624 + "license": "MIT", 9625 + "dependencies": { 9626 + "micromark-util-character": "^2.0.0", 9627 + "micromark-util-symbol": "^2.0.0", 9628 + "micromark-util-types": "^2.0.0" 9629 + } 9630 + }, 9631 + "node_modules/micromark-factory-label": { 9632 + "version": "2.0.1", 9633 + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", 9634 + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", 9635 + "funding": [ 9636 + { 9637 + "type": "GitHub Sponsors", 9638 + "url": "https://github.com/sponsors/unifiedjs" 9639 + }, 9640 + { 9641 + "type": "OpenCollective", 9642 + "url": "https://opencollective.com/unified" 9643 + } 9644 + ], 9645 + "license": "MIT", 9646 + "dependencies": { 9647 + "devlop": "^1.0.0", 9648 + "micromark-util-character": "^2.0.0", 9649 + "micromark-util-symbol": "^2.0.0", 9650 + "micromark-util-types": "^2.0.0" 9651 + } 9652 + }, 9653 + "node_modules/micromark-factory-space": { 9654 + "version": "2.0.1", 9655 + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", 9656 + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", 9657 + "funding": [ 9658 + { 9659 + "type": "GitHub Sponsors", 9660 + "url": "https://github.com/sponsors/unifiedjs" 9661 + }, 9662 + { 9663 + "type": "OpenCollective", 9664 + "url": "https://opencollective.com/unified" 9665 + } 9666 + ], 9667 + "license": "MIT", 9668 + "dependencies": { 9669 + "micromark-util-character": "^2.0.0", 9670 + "micromark-util-types": "^2.0.0" 9671 + } 9672 + }, 9673 + "node_modules/micromark-factory-title": { 9674 + "version": "2.0.1", 9675 + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", 9676 + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", 9677 + "funding": [ 9678 + { 9679 + "type": "GitHub Sponsors", 9680 + "url": "https://github.com/sponsors/unifiedjs" 9681 + }, 9682 + { 9683 + "type": "OpenCollective", 9684 + "url": "https://opencollective.com/unified" 9685 + } 9686 + ], 9687 + "license": "MIT", 9688 + "dependencies": { 9689 + "micromark-factory-space": "^2.0.0", 9690 + "micromark-util-character": "^2.0.0", 9691 + "micromark-util-symbol": "^2.0.0", 9692 + "micromark-util-types": "^2.0.0" 9693 + } 9694 + }, 9695 + "node_modules/micromark-factory-whitespace": { 9696 + "version": "2.0.1", 9697 + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", 9698 + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", 9699 + "funding": [ 9700 + { 9701 + "type": "GitHub Sponsors", 9702 + "url": "https://github.com/sponsors/unifiedjs" 9703 + }, 9704 + { 9705 + "type": "OpenCollective", 9706 + "url": "https://opencollective.com/unified" 9707 + } 9708 + ], 9709 + "license": "MIT", 9710 + "dependencies": { 9711 + "micromark-factory-space": "^2.0.0", 9712 + "micromark-util-character": "^2.0.0", 9713 + "micromark-util-symbol": "^2.0.0", 9714 + "micromark-util-types": "^2.0.0" 9715 + } 9716 + }, 9717 + "node_modules/micromark-util-character": { 9718 + "version": "2.1.1", 9719 + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", 9720 + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", 9721 + "funding": [ 9722 + { 9723 + "type": "GitHub Sponsors", 9724 + "url": "https://github.com/sponsors/unifiedjs" 9725 + }, 9726 + { 9727 + "type": "OpenCollective", 9728 + "url": "https://opencollective.com/unified" 9729 + } 9730 + ], 9731 + "license": "MIT", 9732 + "dependencies": { 9733 + "micromark-util-symbol": "^2.0.0", 9734 + "micromark-util-types": "^2.0.0" 9735 + } 9736 + }, 9737 + "node_modules/micromark-util-chunked": { 9738 + "version": "2.0.1", 9739 + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", 9740 + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", 9741 + "funding": [ 9742 + { 9743 + "type": "GitHub Sponsors", 9744 + "url": "https://github.com/sponsors/unifiedjs" 9745 + }, 9746 + { 9747 + "type": "OpenCollective", 9748 + "url": "https://opencollective.com/unified" 9749 + } 9750 + ], 9751 + "license": "MIT", 9752 + "dependencies": { 9753 + "micromark-util-symbol": "^2.0.0" 9754 + } 9755 + }, 9756 + "node_modules/micromark-util-classify-character": { 9757 + "version": "2.0.1", 9758 + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", 9759 + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", 9760 + "funding": [ 9761 + { 9762 + "type": "GitHub Sponsors", 9763 + "url": "https://github.com/sponsors/unifiedjs" 9764 + }, 9765 + { 9766 + "type": "OpenCollective", 9767 + "url": "https://opencollective.com/unified" 9768 + } 9769 + ], 9770 + "license": "MIT", 9771 + "dependencies": { 9772 + "micromark-util-character": "^2.0.0", 9773 + "micromark-util-symbol": "^2.0.0", 9774 + "micromark-util-types": "^2.0.0" 9775 + } 9776 + }, 9777 + "node_modules/micromark-util-combine-extensions": { 9778 + "version": "2.0.1", 9779 + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", 9780 + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", 9781 + "funding": [ 9782 + { 9783 + "type": "GitHub Sponsors", 9784 + "url": "https://github.com/sponsors/unifiedjs" 9785 + }, 9786 + { 9787 + "type": "OpenCollective", 9788 + "url": "https://opencollective.com/unified" 9789 + } 9790 + ], 9791 + "license": "MIT", 9792 + "dependencies": { 9793 + "micromark-util-chunked": "^2.0.0", 9794 + "micromark-util-types": "^2.0.0" 9795 + } 9796 + }, 9797 + "node_modules/micromark-util-decode-numeric-character-reference": { 9798 + "version": "2.0.2", 9799 + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", 9800 + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", 9801 + "funding": [ 9802 + { 9803 + "type": "GitHub Sponsors", 9804 + "url": "https://github.com/sponsors/unifiedjs" 9805 + }, 9806 + { 9807 + "type": "OpenCollective", 9808 + "url": "https://opencollective.com/unified" 9809 + } 9810 + ], 9811 + "license": "MIT", 9812 + "dependencies": { 9813 + "micromark-util-symbol": "^2.0.0" 9814 + } 9815 + }, 9816 + "node_modules/micromark-util-decode-string": { 9817 + "version": "2.0.1", 9818 + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", 9819 + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", 9820 + "funding": [ 9821 + { 9822 + "type": "GitHub Sponsors", 9823 + "url": "https://github.com/sponsors/unifiedjs" 9824 + }, 9825 + { 9826 + "type": "OpenCollective", 9827 + "url": "https://opencollective.com/unified" 9828 + } 9829 + ], 9830 + "license": "MIT", 9831 + "dependencies": { 9832 + "decode-named-character-reference": "^1.0.0", 9833 + "micromark-util-character": "^2.0.0", 9834 + "micromark-util-decode-numeric-character-reference": "^2.0.0", 9835 + "micromark-util-symbol": "^2.0.0" 9836 + } 9837 + }, 9838 + "node_modules/micromark-util-encode": { 9839 + "version": "2.0.1", 9840 + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", 9841 + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", 9842 + "funding": [ 9843 + { 9844 + "type": "GitHub Sponsors", 9845 + "url": "https://github.com/sponsors/unifiedjs" 9846 + }, 9847 + { 9848 + "type": "OpenCollective", 9849 + "url": "https://opencollective.com/unified" 9850 + } 9851 + ], 9852 + "license": "MIT" 9853 + }, 9854 + "node_modules/micromark-util-html-tag-name": { 9855 + "version": "2.0.1", 9856 + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", 9857 + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", 9858 + "funding": [ 9859 + { 9860 + "type": "GitHub Sponsors", 9861 + "url": "https://github.com/sponsors/unifiedjs" 9862 + }, 9863 + { 9864 + "type": "OpenCollective", 9865 + "url": "https://opencollective.com/unified" 9866 + } 9867 + ], 9868 + "license": "MIT" 9869 + }, 9870 + "node_modules/micromark-util-normalize-identifier": { 9871 + "version": "2.0.1", 9872 + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", 9873 + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", 9874 + "funding": [ 9875 + { 9876 + "type": "GitHub Sponsors", 9877 + "url": "https://github.com/sponsors/unifiedjs" 9878 + }, 9879 + { 9880 + "type": "OpenCollective", 9881 + "url": "https://opencollective.com/unified" 9882 + } 9883 + ], 9884 + "license": "MIT", 9885 + "dependencies": { 9886 + "micromark-util-symbol": "^2.0.0" 9887 + } 9888 + }, 9889 + "node_modules/micromark-util-resolve-all": { 9890 + "version": "2.0.1", 9891 + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", 9892 + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", 9893 + "funding": [ 9894 + { 9895 + "type": "GitHub Sponsors", 9896 + "url": "https://github.com/sponsors/unifiedjs" 9897 + }, 9898 + { 9899 + "type": "OpenCollective", 9900 + "url": "https://opencollective.com/unified" 9901 + } 9902 + ], 9903 + "license": "MIT", 9904 + "dependencies": { 9905 + "micromark-util-types": "^2.0.0" 9906 + } 9907 + }, 9908 + "node_modules/micromark-util-sanitize-uri": { 9909 + "version": "2.0.1", 9910 + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", 9911 + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", 9912 + "funding": [ 9913 + { 9914 + "type": "GitHub Sponsors", 9915 + "url": "https://github.com/sponsors/unifiedjs" 9916 + }, 9917 + { 9918 + "type": "OpenCollective", 9919 + "url": "https://opencollective.com/unified" 9920 + } 9921 + ], 9922 + "license": "MIT", 9923 + "dependencies": { 9924 + "micromark-util-character": "^2.0.0", 9925 + "micromark-util-encode": "^2.0.0", 9926 + "micromark-util-symbol": "^2.0.0" 9927 + } 9928 + }, 9929 + "node_modules/micromark-util-subtokenize": { 9930 + "version": "2.1.0", 9931 + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", 9932 + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", 9933 + "funding": [ 9934 + { 9935 + "type": "GitHub Sponsors", 9936 + "url": "https://github.com/sponsors/unifiedjs" 9937 + }, 9938 + { 9939 + "type": "OpenCollective", 9940 + "url": "https://opencollective.com/unified" 9941 + } 9942 + ], 9943 + "license": "MIT", 9944 + "dependencies": { 9945 + "devlop": "^1.0.0", 9946 + "micromark-util-chunked": "^2.0.0", 9947 + "micromark-util-symbol": "^2.0.0", 9948 + "micromark-util-types": "^2.0.0" 9949 + } 9950 + }, 9951 + "node_modules/micromark-util-symbol": { 9952 + "version": "2.0.1", 9953 + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", 9954 + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", 9955 + "funding": [ 9956 + { 9957 + "type": "GitHub Sponsors", 9958 + "url": "https://github.com/sponsors/unifiedjs" 9959 + }, 9960 + { 9961 + "type": "OpenCollective", 9962 + "url": "https://opencollective.com/unified" 9963 + } 9964 + ], 9965 + "license": "MIT" 9966 + }, 9967 + "node_modules/micromark-util-types": { 9968 + "version": "2.0.2", 9969 + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", 9970 + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", 9971 + "funding": [ 9972 + { 9973 + "type": "GitHub Sponsors", 9974 + "url": "https://github.com/sponsors/unifiedjs" 9975 + }, 9976 + { 9977 + "type": "OpenCollective", 9978 + "url": "https://opencollective.com/unified" 9979 + } 9980 + ], 9981 + "license": "MIT" 9982 + }, 9029 9983 "node_modules/micromatch": { 9030 9984 "version": "4.0.8", 9031 9985 "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", ··· 9117 10071 "version": "2.1.3", 9118 10072 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 9119 10073 "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 9120 - "dev": true, 9121 10074 "license": "MIT" 9122 10075 }, 9123 10076 "node_modules/msw": { ··· 9616 10569 "url": "https://github.com/sponsors/sindresorhus" 9617 10570 } 9618 10571 }, 10572 + "node_modules/oniguruma-parser": { 10573 + "version": "0.12.1", 10574 + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.1.tgz", 10575 + "integrity": "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==", 10576 + "license": "MIT" 10577 + }, 10578 + "node_modules/oniguruma-to-es": { 10579 + "version": "4.3.4", 10580 + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.4.tgz", 10581 + "integrity": "sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==", 10582 + "license": "MIT", 10583 + "dependencies": { 10584 + "oniguruma-parser": "^0.12.1", 10585 + "regex": "^6.0.1", 10586 + "regex-recursion": "^6.0.2" 10587 + } 10588 + }, 9619 10589 "node_modules/open": { 9620 10590 "version": "11.0.0", 9621 10591 "resolved": "https://registry.npmjs.org/open/-/open-11.0.0.tgz", ··· 9769 10739 "node": ">=6" 9770 10740 } 9771 10741 }, 10742 + "node_modules/parse-entities": { 10743 + "version": "4.0.2", 10744 + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", 10745 + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", 10746 + "license": "MIT", 10747 + "dependencies": { 10748 + "@types/unist": "^2.0.0", 10749 + "character-entities-legacy": "^3.0.0", 10750 + "character-reference-invalid": "^2.0.0", 10751 + "decode-named-character-reference": "^1.0.0", 10752 + "is-alphanumerical": "^2.0.0", 10753 + "is-decimal": "^2.0.0", 10754 + "is-hexadecimal": "^2.0.0" 10755 + }, 10756 + "funding": { 10757 + "type": "github", 10758 + "url": "https://github.com/sponsors/wooorm" 10759 + } 10760 + }, 10761 + "node_modules/parse-entities/node_modules/@types/unist": { 10762 + "version": "2.0.11", 10763 + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", 10764 + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", 10765 + "license": "MIT" 10766 + }, 9772 10767 "node_modules/parse-json": { 9773 10768 "version": "5.2.0", 9774 10769 "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", ··· 10006 11001 "loose-envify": "^1.4.0", 10007 11002 "object-assign": "^4.1.1", 10008 11003 "react-is": "^16.13.1" 11004 + } 11005 + }, 11006 + "node_modules/property-information": { 11007 + "version": "7.1.0", 11008 + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", 11009 + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", 11010 + "license": "MIT", 11011 + "funding": { 11012 + "type": "github", 11013 + "url": "https://github.com/sponsors/wooorm" 10009 11014 } 10010 11015 }, 10011 11016 "node_modules/proxy-addr": { ··· 10398 11403 "url": "https://github.com/sponsors/ljharb" 10399 11404 } 10400 11405 }, 11406 + "node_modules/regex": { 11407 + "version": "6.1.0", 11408 + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", 11409 + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", 11410 + "license": "MIT", 11411 + "dependencies": { 11412 + "regex-utilities": "^2.3.0" 11413 + } 11414 + }, 11415 + "node_modules/regex-recursion": { 11416 + "version": "6.0.2", 11417 + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", 11418 + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", 11419 + "license": "MIT", 11420 + "dependencies": { 11421 + "regex-utilities": "^2.3.0" 11422 + } 11423 + }, 11424 + "node_modules/regex-utilities": { 11425 + "version": "2.3.0", 11426 + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", 11427 + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", 11428 + "license": "MIT" 11429 + }, 10401 11430 "node_modules/regexp.prototype.flags": { 10402 11431 "version": "1.5.4", 10403 11432 "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", ··· 10944 11973 "node": ">=8" 10945 11974 } 10946 11975 }, 11976 + "node_modules/shiki": { 11977 + "version": "3.22.0", 11978 + "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.22.0.tgz", 11979 + "integrity": "sha512-LBnhsoYEe0Eou4e1VgJACes+O6S6QC0w71fCSp5Oya79inkwkm15gQ1UF6VtQ8j/taMDh79hAB49WUk8ALQW3g==", 11980 + "license": "MIT", 11981 + "dependencies": { 11982 + "@shikijs/core": "3.22.0", 11983 + "@shikijs/engine-javascript": "3.22.0", 11984 + "@shikijs/engine-oniguruma": "3.22.0", 11985 + "@shikijs/langs": "3.22.0", 11986 + "@shikijs/themes": "3.22.0", 11987 + "@shikijs/types": "3.22.0", 11988 + "@shikijs/vscode-textmate": "^10.0.2", 11989 + "@types/hast": "^3.0.4" 11990 + } 11991 + }, 10947 11992 "node_modules/side-channel": { 10948 11993 "version": "1.1.0", 10949 11994 "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", ··· 11069 12114 "node": ">=0.10.0" 11070 12115 } 11071 12116 }, 12117 + "node_modules/space-separated-tokens": { 12118 + "version": "2.0.2", 12119 + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", 12120 + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", 12121 + "license": "MIT", 12122 + "funding": { 12123 + "type": "github", 12124 + "url": "https://github.com/sponsors/wooorm" 12125 + } 12126 + }, 11072 12127 "node_modules/stable-hash": { 11073 12128 "version": "0.0.5", 11074 12129 "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", ··· 11258 12313 "url": "https://github.com/sponsors/ljharb" 11259 12314 } 11260 12315 }, 12316 + "node_modules/stringify-entities": { 12317 + "version": "4.0.4", 12318 + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", 12319 + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", 12320 + "license": "MIT", 12321 + "dependencies": { 12322 + "character-entities-html4": "^2.0.0", 12323 + "character-entities-legacy": "^3.0.0" 12324 + }, 12325 + "funding": { 12326 + "type": "github", 12327 + "url": "https://github.com/sponsors/wooorm" 12328 + } 12329 + }, 11261 12330 "node_modules/stringify-object": { 11262 12331 "version": "5.0.0", 11263 12332 "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-5.0.0.tgz", ··· 11328 12397 "url": "https://github.com/sponsors/sindresorhus" 11329 12398 } 11330 12399 }, 12400 + "node_modules/style-to-js": { 12401 + "version": "1.1.21", 12402 + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", 12403 + "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", 12404 + "license": "MIT", 12405 + "dependencies": { 12406 + "style-to-object": "1.0.14" 12407 + } 12408 + }, 12409 + "node_modules/style-to-object": { 12410 + "version": "1.0.14", 12411 + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", 12412 + "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", 12413 + "license": "MIT", 12414 + "dependencies": { 12415 + "inline-style-parser": "0.2.7" 12416 + } 12417 + }, 11331 12418 "node_modules/styled-jsx": { 11332 12419 "version": "5.1.6", 11333 12420 "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", ··· 11541 12628 "node": ">=16" 11542 12629 } 11543 12630 }, 12631 + "node_modules/trim-lines": { 12632 + "version": "3.0.1", 12633 + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", 12634 + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", 12635 + "license": "MIT", 12636 + "funding": { 12637 + "type": "github", 12638 + "url": "https://github.com/sponsors/wooorm" 12639 + } 12640 + }, 11544 12641 "node_modules/ts-api-utils": { 11545 12642 "version": "2.4.0", 11546 12643 "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", ··· 11806 12903 "url": "https://github.com/sponsors/sindresorhus" 11807 12904 } 11808 12905 }, 12906 + "node_modules/unist-util-is": { 12907 + "version": "6.0.1", 12908 + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", 12909 + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", 12910 + "license": "MIT", 12911 + "dependencies": { 12912 + "@types/unist": "^3.0.0" 12913 + }, 12914 + "funding": { 12915 + "type": "opencollective", 12916 + "url": "https://opencollective.com/unified" 12917 + } 12918 + }, 12919 + "node_modules/unist-util-position": { 12920 + "version": "5.0.0", 12921 + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", 12922 + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", 12923 + "license": "MIT", 12924 + "dependencies": { 12925 + "@types/unist": "^3.0.0" 12926 + }, 12927 + "funding": { 12928 + "type": "opencollective", 12929 + "url": "https://opencollective.com/unified" 12930 + } 12931 + }, 12932 + "node_modules/unist-util-stringify-position": { 12933 + "version": "4.0.0", 12934 + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", 12935 + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", 12936 + "license": "MIT", 12937 + "dependencies": { 12938 + "@types/unist": "^3.0.0" 12939 + }, 12940 + "funding": { 12941 + "type": "opencollective", 12942 + "url": "https://opencollective.com/unified" 12943 + } 12944 + }, 12945 + "node_modules/unist-util-visit": { 12946 + "version": "5.1.0", 12947 + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", 12948 + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", 12949 + "license": "MIT", 12950 + "dependencies": { 12951 + "@types/unist": "^3.0.0", 12952 + "unist-util-is": "^6.0.0", 12953 + "unist-util-visit-parents": "^6.0.0" 12954 + }, 12955 + "funding": { 12956 + "type": "opencollective", 12957 + "url": "https://opencollective.com/unified" 12958 + } 12959 + }, 12960 + "node_modules/unist-util-visit-parents": { 12961 + "version": "6.0.2", 12962 + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", 12963 + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", 12964 + "license": "MIT", 12965 + "dependencies": { 12966 + "@types/unist": "^3.0.0", 12967 + "unist-util-is": "^6.0.0" 12968 + }, 12969 + "funding": { 12970 + "type": "opencollective", 12971 + "url": "https://opencollective.com/unified" 12972 + } 12973 + }, 11809 12974 "node_modules/universalify": { 11810 12975 "version": "2.0.1", 11811 12976 "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", ··· 12002 13167 "peerDependencies": { 12003 13168 "react": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc", 12004 13169 "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc" 13170 + } 13171 + }, 13172 + "node_modules/vfile": { 13173 + "version": "6.0.3", 13174 + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", 13175 + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", 13176 + "license": "MIT", 13177 + "dependencies": { 13178 + "@types/unist": "^3.0.0", 13179 + "vfile-message": "^4.0.0" 13180 + }, 13181 + "funding": { 13182 + "type": "opencollective", 13183 + "url": "https://opencollective.com/unified" 13184 + } 13185 + }, 13186 + "node_modules/vfile-message": { 13187 + "version": "4.0.3", 13188 + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", 13189 + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", 13190 + "license": "MIT", 13191 + "dependencies": { 13192 + "@types/unist": "^3.0.0", 13193 + "unist-util-stringify-position": "^4.0.0" 13194 + }, 13195 + "funding": { 13196 + "type": "opencollective", 13197 + "url": "https://opencollective.com/unified" 12005 13198 } 12006 13199 }, 12007 13200 "node_modules/victory-vendor": { ··· 12395 13588 }, 12396 13589 "peerDependencies": { 12397 13590 "zod": "^3.25.0 || ^4.0.0" 13591 + } 13592 + }, 13593 + "node_modules/zwitch": { 13594 + "version": "2.0.4", 13595 + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", 13596 + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", 13597 + "license": "MIT", 13598 + "funding": { 13599 + "type": "github", 13600 + "url": "https://github.com/sponsors/wooorm" 12398 13601 } 12399 13602 } 12400 13603 }
+2
web/package.json
··· 19 19 "clsx": "^2.1.1", 20 20 "cmdk": "^1.1.1", 21 21 "date-fns": "^4.1.0", 22 + "hast-util-to-jsx-runtime": "^2.3.6", 22 23 "lucide-react": "^0.564.0", 23 24 "next": "16.1.6", 24 25 "next-themes": "^0.4.6", ··· 28 29 "react-day-picker": "^9.13.2", 29 30 "react-dom": "19.2.3", 30 31 "recharts": "^2.15.4", 32 + "shiki": "^3.22.0", 31 33 "sonner": "^2.0.7", 32 34 "tailwind-merge": "^3.4.0", 33 35 "vaul": "^1.1.2",
+5 -4
web/src/app/(dashboard)/lexicons/page.tsx
··· 17 17 import { useCallback, useEffect, useMemo, useRef, useState } from "react"; 18 18 19 19 import { useAuth } from "@/lib/auth-context"; 20 + import { CodeBlock } from "@/components/code-block"; 20 21 import { 21 22 addNetworkLexicon, 22 23 deleteLexicon, ··· 279 280 280 281 {viewLexicon && ( 281 282 <Dialog open onOpenChange={() => setViewLexicon(null)}> 282 - <DialogContent className="max-w-2xl"> 283 + <DialogContent className="sm:max-w-2xl"> 283 284 <DialogHeader> 284 285 <DialogTitle>{viewLexicon.id}</DialogTitle> 285 286 <DialogDescription> ··· 287 288 {viewLexicon.lexicon_type} 288 289 </DialogDescription> 289 290 </DialogHeader> 290 - <pre className="bg-muted max-h-96 overflow-auto rounded-md p-4 text-xs"> 291 - {JSON.stringify(viewLexicon.lexicon_json, null, 2)} 292 - </pre> 291 + <CodeBlock 292 + code={JSON.stringify(viewLexicon.lexicon_json, null, 2)} 293 + /> 293 294 </DialogContent> 294 295 </Dialog> 295 296 )}
+4 -5
web/src/app/(dashboard)/records/page.tsx
··· 15 15 type CollectionStat, 16 16 type AdminRecord, 17 17 } from "@/lib/api"; 18 + import { CodeBlock } from "@/components/code-block"; 18 19 import { DataTable } from "@/components/data-table/data-table"; 19 20 import { DataTableViewOptions } from "@/components/data-table/data-table-view-options"; 20 21 import { SiteHeader } from "@/components/site-header"; ··· 245 246 246 247 {viewRecord && ( 247 248 <Dialog open onOpenChange={() => setViewRecord(null)}> 248 - <DialogContent className="max-w-2xl"> 249 + <DialogContent className="sm:max-w-4xl"> 249 250 <DialogHeader> 250 - <DialogTitle className="font-mono text-sm"> 251 + <DialogTitle className="truncate font-mono text-sm"> 251 252 {viewRecord.uri} 252 253 </DialogTitle> 253 254 </DialogHeader> 254 - <pre className="bg-muted max-h-96 overflow-auto rounded-md p-4 text-xs"> 255 - {JSON.stringify(viewRecord, null, 2)} 256 - </pre> 255 + <CodeBlock code={JSON.stringify(viewRecord, null, 2)} /> 257 256 </DialogContent> 258 257 </Dialog> 259 258 )}
+18
web/src/app/globals.css
··· 125 125 @apply bg-background text-foreground; 126 126 @apply bg-background text-foreground; 127 127 } 128 + } 129 + 130 + .shiki, 131 + .shiki span { 132 + color: var(--shiki-light) !important; 133 + background-color: var(--shiki-light-bg) !important; 134 + font-style: var(--shiki-light-font-style) !important; 135 + font-weight: var(--shiki-light-font-weight) !important; 136 + text-decoration: var(--shiki-light-text-decoration) !important; 137 + } 138 + 139 + html.dark .shiki, 140 + html.dark .shiki span { 141 + color: var(--shiki-dark) !important; 142 + background-color: var(--shiki-dark-bg) !important; 143 + font-style: var(--shiki-dark-font-style) !important; 144 + font-weight: var(--shiki-dark-font-weight) !important; 145 + text-decoration: var(--shiki-dark-text-decoration) !important; 128 146 }
+76
web/src/components/code-block.tsx
··· 1 + "use client"; 2 + 3 + import { useEffect, useState } from "react"; 4 + import type { BundledLanguage } from "shiki/bundle/web"; 5 + import type React from "react"; 6 + import { cn } from "@/lib/utils"; 7 + 8 + async function highlight(code: string, lang: BundledLanguage) { 9 + const { codeToHast } = await import("shiki/bundle/web"); 10 + const { toJsxRuntime } = await import("hast-util-to-jsx-runtime"); 11 + const { Fragment, jsx, jsxs } = await import("react/jsx-runtime"); 12 + 13 + const hast = await codeToHast(code, { 14 + lang, 15 + themes: { 16 + light: "github-light", 17 + dark: "github-dark", 18 + }, 19 + defaultColor: false, 20 + }); 21 + 22 + return toJsxRuntime(hast, { 23 + Fragment, 24 + jsx, 25 + jsxs, 26 + components: { 27 + pre: ({ style, ...props }: React.ComponentProps<"pre">) => ( 28 + <pre 29 + className="p-4 text-xs" 30 + style={{ 31 + ...style, 32 + backgroundColor: "transparent", 33 + }} 34 + {...props} 35 + /> 36 + ), 37 + code: (props: React.ComponentProps<"code">) => ( 38 + <code className="whitespace-pre" {...props} /> 39 + ), 40 + }, 41 + }) as React.JSX.Element; 42 + } 43 + 44 + interface CodeBlockProps { 45 + code: string; 46 + lang?: BundledLanguage; 47 + className?: string; 48 + } 49 + 50 + export function CodeBlock({ code, lang = "json", className }: CodeBlockProps) { 51 + const [nodes, setNodes] = useState<React.JSX.Element | null>(null); 52 + 53 + useEffect(() => { 54 + void highlight(code, lang).then(setNodes); 55 + }, [code, lang]); 56 + 57 + return ( 58 + <div 59 + className={cn( 60 + "bg-muted min-w-0 max-h-[70vh] overflow-auto rounded-md", 61 + className, 62 + )} 63 + > 64 + <div className="w-fit min-w-full"> 65 + <div className="bg-muted-foreground/10 sticky top-0 px-4 py-2 text-xs font-medium text-muted-foreground"> 66 + {lang} 67 + </div> 68 + {nodes ?? ( 69 + <pre className="p-4 text-xs"> 70 + <code className="whitespace-pre">{code}</code> 71 + </pre> 72 + )} 73 + </div> 74 + </div> 75 + ); 76 + }