Merge pull request #1666 from mermaid-js/release-promotion

Release live editor
This commit is contained in:
Sidharth Vinod
2025-04-02 02:22:15 -07:00
committed by GitHub
7 changed files with 241 additions and 292 deletions
+18 -17
View File
@@ -23,13 +23,15 @@
"test:e2e:debug": "playwright test --debug"
},
"devDependencies": {
"@fortawesome/fontawesome-free": "^6.5.2",
"@iconify-json/material-symbols": "^1.2.15",
"@fortawesome/fontawesome-free": "^6.7.2",
"@iconify-json/material-symbols": "^1.2.17",
"@iconify-json/mdi": "^1.2.3",
"@playwright/test": "^1.44.1",
"@sveltejs/adapter-static": "3.0.8",
"@sveltejs/kit": "2.20.0",
"@sveltejs/kit": "2.20.3",
"@sveltejs/vite-plugin-svelte": "^4.0.4",
"@types/lodash-es": "^4.17.12",
"@types/node": "^22.13.17",
"@types/pako": "2.0.3",
"@types/uuid": "9.0.8",
"@typescript-eslint/eslint-plugin": "6.21.0",
@@ -37,11 +39,11 @@
"@vitest/coverage-v8": "2.1.9",
"@vitest/ui": "^2.1.9",
"autoprefixer": "^10.4.21",
"bits-ui": "^1.3.12",
"bits-ui": "^1.3.16",
"c8": "7.14.0",
"chai": "^4.3.10",
"chai": "^4.5.0",
"clsx": "^2.1.1",
"cssnano": "^6.0.5",
"cssnano": "^6.1.2",
"eslint": "8.57.1",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-es": "^4.1.0",
@@ -55,29 +57,28 @@
"esserializer": "^1.3.11",
"husky": "^8.0.3",
"jsdom": "^25.0.1",
"lint-staged": "^15.2.11",
"lint-staged": "^15.5.0",
"lucide-svelte": "^0.479.0",
"node-html-parser": "^6.1.13",
"paneforge": "^1.0.0-next.4",
"postcss": "^8.4.49",
"postcss": "^8.5.3",
"postcss-load-config": "5.1.0",
"prettier": "^3.1.1",
"prettier-plugin-svelte": "^3.2.8",
"prettier": "^3.5.3",
"prettier-plugin-svelte": "^3.3.3",
"prettier-plugin-tailwindcss": "^0.6.11",
"svelte": "^5.23.1",
"svelte": "^5.23.2",
"svelte-preprocess": "^6.0.3",
"svelte-sonner": "^0.3.28",
"tailwind-merge": "^3.0.2",
"tailwind-variants": "^0.3.1",
"tailwindcss": "^3.4.17",
"tailwindcss-animate": "^1.0.7",
"tslib": "^2.6.3",
"typescript": "^5.5.4",
"tslib": "^2.8.1",
"typescript": "^5.8.2",
"unplugin-icons": "^22.1.0",
"vite": "^5.4.14",
"vitest": "^2.1.9",
"vitest-dom": "^0.1.1",
"@playwright/test": "^1.42.1"
"vitest-dom": "^0.1.1"
},
"dependencies": {
"@fontsource-variable/recursive": "^5.2.5",
@@ -86,7 +87,7 @@
"dayjs": "^1.11.13",
"js-base64": "3.7.7",
"lodash-es": "^4.17.21",
"mermaid": "^11.5.0",
"mermaid": "^11.6.0",
"mode-watcher": "^0.5.1",
"monaco-editor": "0.52.2",
"pako": "2.1.0",
@@ -105,7 +106,7 @@
"engines": {
"node": ">=20.19.0"
},
"packageManager": "pnpm@10.6.4+sha512.da3d715bfd22a9a105e6e8088cfc7826699332ded60c423b14ec613a185f1602206702ff0fe4c438cb15c979081ce4cb02568e364b15174503a63c7a8e2a5f6c",
"packageManager": "pnpm@10.7.1+sha512.2d92c86b7928dc8284f53494fb4201f983da65f0fb4f0d40baafa5cf628fa31dae3e5968f12466f17df7e97310e30f343a648baea1b9b350685dafafffdf5808",
"pnpm": {
"onlyBuiltDependencies": [
"deasync",
+142 -125
View File
@@ -13,10 +13,10 @@ importers:
version: 5.2.5
'@mermaid-js/layout-elk':
specifier: ^0.1.7
version: 0.1.7(mermaid@11.5.0)
version: 0.1.7(mermaid@11.6.0)
'@mermaid-js/mermaid-zenuml':
specifier: ^0.2.0
version: 0.2.0(mermaid@11.5.0)(typescript@5.8.2)
version: 0.2.0(mermaid@11.6.0)(typescript@5.8.2)
dayjs:
specifier: ^1.11.13
version: 1.11.13
@@ -27,11 +27,11 @@ importers:
specifier: ^4.17.21
version: 4.17.21
mermaid:
specifier: ^11.5.0
version: 11.5.0
specifier: ^11.6.0
version: 11.6.0
mode-watcher:
specifier: ^0.5.1
version: 0.5.1(svelte@5.23.1)
version: 0.5.1(svelte@5.25.6)
monaco-editor:
specifier: 0.52.2
version: 0.52.2
@@ -55,29 +55,32 @@ importers:
version: 9.0.1
devDependencies:
'@fortawesome/fontawesome-free':
specifier: ^6.5.2
specifier: ^6.7.2
version: 6.7.2
'@iconify-json/material-symbols':
specifier: ^1.2.15
version: 1.2.16
specifier: ^1.2.17
version: 1.2.17
'@iconify-json/mdi':
specifier: ^1.2.3
version: 1.2.3
'@playwright/test':
specifier: ^1.42.1
specifier: ^1.44.1
version: 1.51.1
'@sveltejs/adapter-static':
specifier: 3.0.8
version: 3.0.8(@sveltejs/kit@2.20.0(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.23.1)(vite@5.4.14))(svelte@5.23.1)(vite@5.4.14))
version: 3.0.8(@sveltejs/kit@2.20.3(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.25.6)(vite@5.4.14(@types/node@22.13.17)))(svelte@5.25.6)(vite@5.4.14(@types/node@22.13.17)))
'@sveltejs/kit':
specifier: 2.20.0
version: 2.20.0(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.23.1)(vite@5.4.14))(svelte@5.23.1)(vite@5.4.14)
specifier: 2.20.3
version: 2.20.3(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.25.6)(vite@5.4.14(@types/node@22.13.17)))(svelte@5.25.6)(vite@5.4.14(@types/node@22.13.17))
'@sveltejs/vite-plugin-svelte':
specifier: ^4.0.4
version: 4.0.4(svelte@5.23.1)(vite@5.4.14)
version: 4.0.4(svelte@5.25.6)(vite@5.4.14(@types/node@22.13.17))
'@types/lodash-es':
specifier: ^4.17.12
version: 4.17.12
'@types/node':
specifier: ^22.13.17
version: 22.13.17
'@types/pako':
specifier: 2.0.3
version: 2.0.3
@@ -100,19 +103,19 @@ importers:
specifier: ^10.4.21
version: 10.4.21(postcss@8.5.3)
bits-ui:
specifier: ^1.3.12
version: 1.3.12(svelte@5.23.1)
specifier: ^1.3.16
version: 1.3.16(svelte@5.25.6)
c8:
specifier: 7.14.0
version: 7.14.0
chai:
specifier: ^4.3.10
specifier: ^4.5.0
version: 4.5.0
clsx:
specifier: ^2.1.1
version: 2.1.1
cssnano:
specifier: ^6.0.5
specifier: ^6.1.2
version: 6.1.2(postcss@8.5.3)
eslint:
specifier: 8.57.1
@@ -134,7 +137,7 @@ importers:
version: 2.3.5
eslint-plugin-svelte:
specifier: ^2.46.1
version: 2.46.1(eslint@8.57.1)(svelte@5.23.1)
version: 2.46.1(eslint@8.57.1)(svelte@5.25.6)
eslint-plugin-tailwindcss:
specifier: ^3.18.0
version: 3.18.0(tailwindcss@3.4.17)
@@ -154,41 +157,41 @@ importers:
specifier: ^25.0.1
version: 25.0.1
lint-staged:
specifier: ^15.2.11
specifier: ^15.5.0
version: 15.5.0
lucide-svelte:
specifier: ^0.479.0
version: 0.479.0(svelte@5.23.1)
version: 0.479.0(svelte@5.25.6)
node-html-parser:
specifier: ^6.1.13
version: 6.1.13
paneforge:
specifier: ^1.0.0-next.4
version: 1.0.0-next.4(svelte@5.23.1)
version: 1.0.0-next.4(svelte@5.25.6)
postcss:
specifier: ^8.4.49
specifier: ^8.5.3
version: 8.5.3
postcss-load-config:
specifier: 5.1.0
version: 5.1.0(jiti@1.21.7)(postcss@8.5.3)
prettier:
specifier: ^3.1.1
specifier: ^3.5.3
version: 3.5.3
prettier-plugin-svelte:
specifier: ^3.2.8
version: 3.3.3(prettier@3.5.3)(svelte@5.23.1)
specifier: ^3.3.3
version: 3.3.3(prettier@3.5.3)(svelte@5.25.6)
prettier-plugin-tailwindcss:
specifier: ^0.6.11
version: 0.6.11(prettier-plugin-svelte@3.3.3(prettier@3.5.3)(svelte@5.23.1))(prettier@3.5.3)
version: 0.6.11(prettier-plugin-svelte@3.3.3(prettier@3.5.3)(svelte@5.25.6))(prettier@3.5.3)
svelte:
specifier: ^5.23.1
version: 5.23.1
specifier: ^5.23.2
version: 5.25.6
svelte-preprocess:
specifier: ^6.0.3
version: 6.0.3(postcss-load-config@5.1.0(jiti@1.21.7)(postcss@8.5.3))(postcss@8.5.3)(svelte@5.23.1)(typescript@5.8.2)
version: 6.0.3(postcss-load-config@5.1.0(jiti@1.21.7)(postcss@8.5.3))(postcss@8.5.3)(svelte@5.25.6)(typescript@5.8.2)
svelte-sonner:
specifier: ^0.3.28
version: 0.3.28(svelte@5.23.1)
version: 0.3.28(svelte@5.25.6)
tailwind-merge:
specifier: ^3.0.2
version: 3.0.2
@@ -202,20 +205,20 @@ importers:
specifier: ^1.0.7
version: 1.0.7(tailwindcss@3.4.17)
tslib:
specifier: ^2.6.3
specifier: ^2.8.1
version: 2.8.1
typescript:
specifier: ^5.5.4
specifier: ^5.8.2
version: 5.8.2
unplugin-icons:
specifier: ^22.1.0
version: 22.1.0(@vue/compiler-sfc@3.5.13)(svelte@5.23.1)
version: 22.1.0(@vue/compiler-sfc@3.5.13)(svelte@5.25.6)
vite:
specifier: ^5.4.14
version: 5.4.14
version: 5.4.14(@types/node@22.13.17)
vitest:
specifier: ^2.1.9
version: 2.1.9(@vitest/ui@2.1.9)(jsdom@25.0.1)
version: 2.1.9(@types/node@22.13.17)(@vitest/ui@2.1.9)(jsdom@25.0.1)
vitest-dom:
specifier: ^0.1.1
version: 0.1.1(vitest@2.1.9)
@@ -515,8 +518,8 @@ packages:
resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
deprecated: Use @eslint/object-schema instead
'@iconify-json/material-symbols@1.2.16':
resolution: {integrity: sha512-hCUbIYLWPX9YMChvqEScG5tvFLZ2arXl+bnsvUQDrtsGq00wu4S4qIofH3uZgClYxXhvApkDKtJDlXhoygzmMQ==}
'@iconify-json/material-symbols@1.2.17':
resolution: {integrity: sha512-hKb+Ii5cqLXXefYMxUB2jIc8BNqxixQogud4KU/fn0F4puM1iCdCF2lFV+0U8wnJ6dZIx6E+w8Ree4bIT7To+A==}
'@iconify-json/mdi@1.2.3':
resolution: {integrity: sha512-O3cLwbDOK7NNDf2ihaQOH5F9JglnulNDFV7WprU2dSoZu3h3cWH//h74uQAB87brHmvFVxIOkuBX2sZSzYhScg==}
@@ -566,8 +569,8 @@ packages:
peerDependencies:
mermaid: '>=10.0.0'
'@mermaid-js/parser@0.3.0':
resolution: {integrity: sha512-HsvL6zgE5sUPGgkIDlmAWR1HTNHz2Iy11BAWPTa4Jjabkpguy4Ze2gzfLrg6pdRuBvFwgUYyxiaNqZwrEEXepA==}
'@mermaid-js/parser@0.4.0':
resolution: {integrity: sha512-wla8XOWvQAwuqy+gxiZqY+c7FokraOTHRWMsbB4AgRx9Sy7zKslNyejy7E+a77qHfey5GXw/ik3IXv/NHMJgaA==}
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
@@ -698,8 +701,8 @@ packages:
peerDependencies:
'@sveltejs/kit': ^2.0.0
'@sveltejs/kit@2.20.0':
resolution: {integrity: sha512-xCUGevE2GFhpDAxZiVOsk6HKaBicwU7uWYcMOcpHCDcjoN6mKBIeMEzuddRMqSA4zjbeA+RcillCv1ppkWRwSQ==}
'@sveltejs/kit@2.20.3':
resolution: {integrity: sha512-z1SQ8qra/kGY3DzarG7xc6XsbKm8UY3SnI82XLI3PqMYWbYj/LpjPWuAz9WA5EyLjFNLD7sOAOEW8Gt4yjr5Vg==}
engines: {node: '>=18.13'}
hasBin: true
peerDependencies:
@@ -854,6 +857,9 @@ packages:
'@types/lodash@4.17.16':
resolution: {integrity: sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==}
'@types/node@22.13.17':
resolution: {integrity: sha512-nAJuQXoyPj04uLgu+obZcSmsfOenUg6DxPKogeUy6yNCFwWaj5sBF8/G/pNo8EtBJjAfSVgfIlugR/BCOleO+g==}
'@types/normalize-package-data@2.4.4':
resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
@@ -1148,8 +1154,8 @@ packages:
bindings@1.5.0:
resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
bits-ui@1.3.12:
resolution: {integrity: sha512-RhPvg2e7mTQSXR9WMdsyR5eTC2DSa4ch5MT/TjIaN3suMJ3RGlbzYPNvf4n56Lgck3W4Xm+L4jSgrzTdynuM8Q==}
bits-ui@1.3.16:
resolution: {integrity: sha512-eBifcu68EspZ1n7mpiyCEjbNAaPoaWLuQZ4aw4lYFt4kJYsOXeAiwKS3+IXwDvYZ9NzBDSSrWbst2k6kKU+8SQ==}
engines: {node: '>=18', pnpm: '>=8.7.0'}
peerDependencies:
svelte: ^5.11.0
@@ -1798,8 +1804,8 @@ packages:
resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
engines: {node: '>=0.10'}
esrap@1.4.5:
resolution: {integrity: sha512-CjNMjkBWWZeHn+VX+gS8YvFwJ5+NDhg8aWZBSFJPR8qQduDNjbJodA2WcwCm7uQa5Rjqj+nZvVmceg1RbHFB9g==}
esrap@1.4.6:
resolution: {integrity: sha512-F/D2mADJ9SHY3IwksD4DAXjTt7qt7GWUf3/8RhCNWmC/67tyb55dpimHmy7EplakFaflV0R/PC+fdSPqrRHAQw==}
esrecurse@4.3.0:
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
@@ -2244,8 +2250,8 @@ packages:
kolorist@1.8.0:
resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
langium@3.0.0:
resolution: {integrity: sha512-+Ez9EoiByeoTu/2BXmEaZ06iPNXM6thWJp02KfBO/raSMyCJ4jw7AkWWa+zBCTm0+Tw1Fj9FOxdqSskyN5nAwg==}
langium@3.3.1:
resolution: {integrity: sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==}
engines: {node: '>=16.0.0'}
layout-base@1.0.2:
@@ -2363,8 +2369,8 @@ packages:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
mermaid@11.5.0:
resolution: {integrity: sha512-IYhyukID3zzDj1EihKiN1lp+PXNImoJ3Iyz73qeDAgnus4BNGsJV1n471P4PyeGxPVONerZxignwGxGTSwZnlg==}
mermaid@11.6.0:
resolution: {integrity: sha512-PE8hGUy1LDlWIHWBP05SFdqUHGmRcCcK4IzpOKPE35eOw+G9zZgcnMpyunJVUEOgb//KBORPjysKndw8bFLuRg==}
micromatch@4.0.8:
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
@@ -3330,8 +3336,8 @@ packages:
peerDependencies:
svelte: ^5.0.0
svelte@5.23.1:
resolution: {integrity: sha512-DUu3e5tQDO+PtKffjqJ548YfeKtw2Rqc9/+nlP26DZ0AopWTJNylkNnTOP/wcgIt1JSnovyISxEZ/lDR1OhbOw==}
svelte@5.25.6:
resolution: {integrity: sha512-RGkaeAXDuJdvhA1fdSM5GgD++vYfJYijZL0uN6kM2s/TRJ663jktBhZlF0qjzAJGR/34PtaeT3G8MKJY1EKeqg==}
engines: {node: '>=18'}
svg-pan-zoom@3.6.2:
@@ -3493,6 +3499,9 @@ packages:
ufo@1.5.4:
resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
undici-types@6.20.0:
resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
unplugin-icons@22.1.0:
resolution: {integrity: sha512-ect2ZNtk1Zgwb0NVHd0C1IDW/MV+Jk/xaq4t8o6rYdVS3+L660ZdD5kTSQZvsgdwCvquRw+/wYn75hsweRjoIA==}
peerDependencies:
@@ -3995,7 +4004,7 @@ snapshots:
'@humanwhocodes/object-schema@2.0.3': {}
'@iconify-json/material-symbols@1.2.16':
'@iconify-json/material-symbols@1.2.17':
dependencies:
'@iconify/types': 2.0.0
@@ -4050,24 +4059,24 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0
'@mermaid-js/layout-elk@0.1.7(mermaid@11.5.0)':
'@mermaid-js/layout-elk@0.1.7(mermaid@11.6.0)':
dependencies:
d3: 7.9.0
elkjs: 0.9.3
mermaid: 11.5.0
mermaid: 11.6.0
'@mermaid-js/mermaid-zenuml@0.2.0(mermaid@11.5.0)(typescript@5.8.2)':
'@mermaid-js/mermaid-zenuml@0.2.0(mermaid@11.6.0)(typescript@5.8.2)':
dependencies:
'@zenuml/core': 3.27.12(typescript@5.8.2)
mermaid: 11.5.0
mermaid: 11.6.0
transitivePeerDependencies:
- '@vue/composition-api'
- ts-node
- typescript
'@mermaid-js/parser@0.3.0':
'@mermaid-js/parser@0.4.0':
dependencies:
langium: 3.0.0
langium: 3.3.1
'@nodelib/fs.scandir@2.1.5':
dependencies:
@@ -4151,13 +4160,13 @@ snapshots:
dependencies:
acorn: 8.14.1
'@sveltejs/adapter-static@3.0.8(@sveltejs/kit@2.20.0(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.23.1)(vite@5.4.14))(svelte@5.23.1)(vite@5.4.14))':
'@sveltejs/adapter-static@3.0.8(@sveltejs/kit@2.20.3(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.25.6)(vite@5.4.14(@types/node@22.13.17)))(svelte@5.25.6)(vite@5.4.14(@types/node@22.13.17)))':
dependencies:
'@sveltejs/kit': 2.20.0(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.23.1)(vite@5.4.14))(svelte@5.23.1)(vite@5.4.14)
'@sveltejs/kit': 2.20.3(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.25.6)(vite@5.4.14(@types/node@22.13.17)))(svelte@5.25.6)(vite@5.4.14(@types/node@22.13.17))
'@sveltejs/kit@2.20.0(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.23.1)(vite@5.4.14))(svelte@5.23.1)(vite@5.4.14)':
'@sveltejs/kit@2.20.3(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.25.6)(vite@5.4.14(@types/node@22.13.17)))(svelte@5.25.6)(vite@5.4.14(@types/node@22.13.17))':
dependencies:
'@sveltejs/vite-plugin-svelte': 4.0.4(svelte@5.23.1)(vite@5.4.14)
'@sveltejs/vite-plugin-svelte': 4.0.4(svelte@5.25.6)(vite@5.4.14(@types/node@22.13.17))
'@types/cookie': 0.6.0
cookie: 0.6.0
devalue: 5.1.1
@@ -4169,28 +4178,28 @@ snapshots:
sade: 1.8.1
set-cookie-parser: 2.7.1
sirv: 3.0.1
svelte: 5.23.1
vite: 5.4.14
svelte: 5.25.6
vite: 5.4.14(@types/node@22.13.17)
'@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.23.1)(vite@5.4.14))(svelte@5.23.1)(vite@5.4.14)':
'@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.25.6)(vite@5.4.14(@types/node@22.13.17)))(svelte@5.25.6)(vite@5.4.14(@types/node@22.13.17))':
dependencies:
'@sveltejs/vite-plugin-svelte': 4.0.4(svelte@5.23.1)(vite@5.4.14)
'@sveltejs/vite-plugin-svelte': 4.0.4(svelte@5.25.6)(vite@5.4.14(@types/node@22.13.17))
debug: 4.4.0
svelte: 5.23.1
vite: 5.4.14
svelte: 5.25.6
vite: 5.4.14(@types/node@22.13.17)
transitivePeerDependencies:
- supports-color
'@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.23.1)(vite@5.4.14)':
'@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.25.6)(vite@5.4.14(@types/node@22.13.17))':
dependencies:
'@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.23.1)(vite@5.4.14))(svelte@5.23.1)(vite@5.4.14)
'@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.4(svelte@5.25.6)(vite@5.4.14(@types/node@22.13.17)))(svelte@5.25.6)(vite@5.4.14(@types/node@22.13.17))
debug: 4.4.0
deepmerge: 4.3.1
kleur: 4.1.5
magic-string: 0.30.17
svelte: 5.23.1
vite: 5.4.14
vitefu: 1.0.6(vite@5.4.14)
svelte: 5.25.6
vite: 5.4.14(@types/node@22.13.17)
vitefu: 1.0.6(vite@5.4.14(@types/node@22.13.17))
transitivePeerDependencies:
- supports-color
@@ -4342,6 +4351,10 @@ snapshots:
'@types/lodash@4.17.16': {}
'@types/node@22.13.17':
dependencies:
undici-types: 6.20.0
'@types/normalize-package-data@2.4.4': {}
'@types/pako@2.0.3': {}
@@ -4497,7 +4510,7 @@ snapshots:
std-env: 3.8.1
test-exclude: 7.0.1
tinyrainbow: 1.2.0
vitest: 2.1.9(@vitest/ui@2.1.9)(jsdom@25.0.1)
vitest: 2.1.9(@types/node@22.13.17)(@vitest/ui@2.1.9)(jsdom@25.0.1)
transitivePeerDependencies:
- supports-color
@@ -4508,13 +4521,13 @@ snapshots:
chai: 5.2.0
tinyrainbow: 1.2.0
'@vitest/mocker@2.1.9(vite@5.4.14)':
'@vitest/mocker@2.1.9(vite@5.4.14(@types/node@22.13.17))':
dependencies:
'@vitest/spy': 2.1.9
estree-walker: 3.0.3
magic-string: 0.30.17
optionalDependencies:
vite: 5.4.14
vite: 5.4.14(@types/node@22.13.17)
'@vitest/pretty-format@2.1.9':
dependencies:
@@ -4544,7 +4557,7 @@ snapshots:
sirv: 3.0.1
tinyglobby: 0.2.12
tinyrainbow: 1.2.0
vitest: 2.1.9(@vitest/ui@2.1.9)(jsdom@25.0.1)
vitest: 2.1.9(@types/node@22.13.17)(@vitest/ui@2.1.9)(jsdom@25.0.1)
'@vitest/utils@2.1.9':
dependencies:
@@ -4723,15 +4736,15 @@ snapshots:
dependencies:
file-uri-to-path: 1.0.0
bits-ui@1.3.12(svelte@5.23.1):
bits-ui@1.3.16(svelte@5.25.6):
dependencies:
'@floating-ui/core': 1.6.9
'@floating-ui/dom': 1.6.13
'@internationalized/date': 3.7.0
esm-env: 1.2.2
runed: 0.23.4(svelte@5.23.1)
svelte: 5.23.1
svelte-toolbelt: 0.7.1(svelte@5.23.1)
runed: 0.23.4(svelte@5.25.6)
svelte: 5.25.6
svelte-toolbelt: 0.7.1(svelte@5.25.6)
tabbable: 6.2.0
boolbase@1.0.0: {}
@@ -5388,7 +5401,7 @@ snapshots:
dependencies:
natural-compare: 1.4.0
eslint-plugin-svelte@2.46.1(eslint@8.57.1)(svelte@5.23.1):
eslint-plugin-svelte@2.46.1(eslint@8.57.1)(svelte@5.25.6):
dependencies:
'@eslint-community/eslint-utils': 4.5.1(eslint@8.57.1)
'@jridgewell/sourcemap-codec': 1.5.0
@@ -5401,9 +5414,9 @@ snapshots:
postcss-safe-parser: 6.0.0(postcss@8.5.3)
postcss-selector-parser: 6.1.2
semver: 7.7.1
svelte-eslint-parser: 0.43.0(svelte@5.23.1)
svelte-eslint-parser: 0.43.0(svelte@5.25.6)
optionalDependencies:
svelte: 5.23.1
svelte: 5.25.6
transitivePeerDependencies:
- ts-node
@@ -5441,7 +5454,7 @@ snapshots:
eslint: 8.57.1
optionalDependencies:
'@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1)(typescript@5.8.2)
vitest: 2.1.9(@vitest/ui@2.1.9)(jsdom@25.0.1)
vitest: 2.1.9(@types/node@22.13.17)(@vitest/ui@2.1.9)(jsdom@25.0.1)
transitivePeerDependencies:
- supports-color
- typescript
@@ -5514,7 +5527,7 @@ snapshots:
dependencies:
estraverse: 5.3.0
esrap@1.4.5:
esrap@1.4.6:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
@@ -5933,7 +5946,7 @@ snapshots:
kolorist@1.8.0: {}
langium@3.0.0:
langium@3.3.1:
dependencies:
chevrotain: 11.0.3
chevrotain-allstar: 0.3.1(chevrotain@11.0.3)
@@ -6022,9 +6035,9 @@ snapshots:
lru-cache@10.4.3: {}
lucide-svelte@0.479.0(svelte@5.23.1):
lucide-svelte@0.479.0(svelte@5.25.6):
dependencies:
svelte: 5.23.1
svelte: 5.25.6
magic-string@0.30.17:
dependencies:
@@ -6054,11 +6067,11 @@ snapshots:
merge2@1.4.1: {}
mermaid@11.5.0:
mermaid@11.6.0:
dependencies:
'@braintree/sanitize-url': 7.1.1
'@iconify/utils': 2.3.0
'@mermaid-js/parser': 0.3.0
'@mermaid-js/parser': 0.4.0
'@types/d3': 7.4.3
cytoscape: 3.31.1
cytoscape-cose-bilkent: 4.1.0(cytoscape@3.31.1)
@@ -6117,9 +6130,9 @@ snapshots:
pkg-types: 1.3.1
ufo: 1.5.4
mode-watcher@0.5.1(svelte@5.23.1):
mode-watcher@0.5.1(svelte@5.25.6):
dependencies:
svelte: 5.23.1
svelte: 5.25.6
monaco-editor@0.52.2: {}
@@ -6222,10 +6235,10 @@ snapshots:
pako@2.1.0: {}
paneforge@1.0.0-next.4(svelte@5.23.1):
paneforge@1.0.0-next.4(svelte@5.25.6):
dependencies:
svelte: 5.23.1
svelte-toolbelt: 0.7.1(svelte@5.23.1)
svelte: 5.25.6
svelte-toolbelt: 0.7.1(svelte@5.25.6)
parent-module@1.0.1:
dependencies:
@@ -6568,16 +6581,16 @@ snapshots:
prelude-ls@1.2.1: {}
prettier-plugin-svelte@3.3.3(prettier@3.5.3)(svelte@5.23.1):
prettier-plugin-svelte@3.3.3(prettier@3.5.3)(svelte@5.25.6):
dependencies:
prettier: 3.5.3
svelte: 5.23.1
svelte: 5.25.6
prettier-plugin-tailwindcss@0.6.11(prettier-plugin-svelte@3.3.3(prettier@3.5.3)(svelte@5.23.1))(prettier@3.5.3):
prettier-plugin-tailwindcss@0.6.11(prettier-plugin-svelte@3.3.3(prettier@3.5.3)(svelte@5.25.6))(prettier@3.5.3):
dependencies:
prettier: 3.5.3
optionalDependencies:
prettier-plugin-svelte: 3.3.3(prettier@3.5.3)(svelte@5.23.1)
prettier-plugin-svelte: 3.3.3(prettier@3.5.3)(svelte@5.25.6)
prettier@3.5.3: {}
@@ -6706,10 +6719,10 @@ snapshots:
dependencies:
queue-microtask: 1.2.3
runed@0.23.4(svelte@5.23.1):
runed@0.23.4(svelte@5.25.6):
dependencies:
esm-env: 1.2.2
svelte: 5.23.1
svelte: 5.25.6
rw@1.3.3: {}
@@ -6865,7 +6878,7 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {}
svelte-eslint-parser@0.43.0(svelte@5.23.1):
svelte-eslint-parser@0.43.0(svelte@5.25.6):
dependencies:
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3
@@ -6873,28 +6886,28 @@ snapshots:
postcss: 8.5.3
postcss-scss: 4.0.9(postcss@8.5.3)
optionalDependencies:
svelte: 5.23.1
svelte: 5.25.6
svelte-preprocess@6.0.3(postcss-load-config@5.1.0(jiti@1.21.7)(postcss@8.5.3))(postcss@8.5.3)(svelte@5.23.1)(typescript@5.8.2):
svelte-preprocess@6.0.3(postcss-load-config@5.1.0(jiti@1.21.7)(postcss@8.5.3))(postcss@8.5.3)(svelte@5.25.6)(typescript@5.8.2):
dependencies:
svelte: 5.23.1
svelte: 5.25.6
optionalDependencies:
postcss: 8.5.3
postcss-load-config: 5.1.0(jiti@1.21.7)(postcss@8.5.3)
typescript: 5.8.2
svelte-sonner@0.3.28(svelte@5.23.1):
svelte-sonner@0.3.28(svelte@5.25.6):
dependencies:
svelte: 5.23.1
svelte: 5.25.6
svelte-toolbelt@0.7.1(svelte@5.23.1):
svelte-toolbelt@0.7.1(svelte@5.25.6):
dependencies:
clsx: 2.1.1
runed: 0.23.4(svelte@5.23.1)
runed: 0.23.4(svelte@5.25.6)
style-to-object: 1.0.8
svelte: 5.23.1
svelte: 5.25.6
svelte@5.23.1:
svelte@5.25.6:
dependencies:
'@ampproject/remapping': 2.3.0
'@jridgewell/sourcemap-codec': 1.5.0
@@ -6905,7 +6918,7 @@ snapshots:
axobject-query: 4.1.0
clsx: 2.1.1
esm-env: 1.2.2
esrap: 1.4.5
esrap: 1.4.6
is-reference: 3.0.3
locate-character: 3.0.0
magic-string: 0.30.17
@@ -7066,7 +7079,9 @@ snapshots:
ufo@1.5.4: {}
unplugin-icons@22.1.0(@vue/compiler-sfc@3.5.13)(svelte@5.23.1):
undici-types@6.20.0: {}
unplugin-icons@22.1.0(@vue/compiler-sfc@3.5.13)(svelte@5.25.6):
dependencies:
'@antfu/install-pkg': 1.0.0
'@iconify/utils': 2.3.0
@@ -7075,7 +7090,7 @@ snapshots:
unplugin: 2.2.0
optionalDependencies:
'@vue/compiler-sfc': 3.5.13
svelte: 5.23.1
svelte: 5.25.6
transitivePeerDependencies:
- supports-color
@@ -7111,13 +7126,13 @@ snapshots:
spdx-correct: 3.2.0
spdx-expression-parse: 3.0.1
vite-node@2.1.9:
vite-node@2.1.9(@types/node@22.13.17):
dependencies:
cac: 6.7.14
debug: 4.4.0
es-module-lexer: 1.6.0
pathe: 1.1.2
vite: 5.4.14
vite: 5.4.14(@types/node@22.13.17)
transitivePeerDependencies:
- '@types/node'
- less
@@ -7129,17 +7144,18 @@ snapshots:
- supports-color
- terser
vite@5.4.14:
vite@5.4.14(@types/node@22.13.17):
dependencies:
esbuild: 0.21.5
postcss: 8.5.3
rollup: 4.35.0
optionalDependencies:
'@types/node': 22.13.17
fsevents: 2.3.3
vitefu@1.0.6(vite@5.4.14):
vitefu@1.0.6(vite@5.4.14(@types/node@22.13.17)):
optionalDependencies:
vite: 5.4.14
vite: 5.4.14(@types/node@22.13.17)
vitest-dom@0.1.1(vitest@2.1.9):
dependencies:
@@ -7149,12 +7165,12 @@ snapshots:
dom-accessibility-api: 0.6.3
lodash-es: 4.17.21
redent: 4.0.0
vitest: 2.1.9(@vitest/ui@2.1.9)(jsdom@25.0.1)
vitest: 2.1.9(@types/node@22.13.17)(@vitest/ui@2.1.9)(jsdom@25.0.1)
vitest@2.1.9(@vitest/ui@2.1.9)(jsdom@25.0.1):
vitest@2.1.9(@types/node@22.13.17)(@vitest/ui@2.1.9)(jsdom@25.0.1):
dependencies:
'@vitest/expect': 2.1.9
'@vitest/mocker': 2.1.9(vite@5.4.14)
'@vitest/mocker': 2.1.9(vite@5.4.14(@types/node@22.13.17))
'@vitest/pretty-format': 2.1.9
'@vitest/runner': 2.1.9
'@vitest/snapshot': 2.1.9
@@ -7170,10 +7186,11 @@ snapshots:
tinyexec: 0.3.2
tinypool: 1.0.2
tinyrainbow: 1.2.0
vite: 5.4.14
vite-node: 2.1.9
vite: 5.4.14(@types/node@22.13.17)
vite-node: 2.1.9(@types/node@22.13.17)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 22.13.17
'@vitest/ui': 2.1.9(vitest@2.1.9)
jsdom: 25.0.1
transitivePeerDependencies:
+1
View File
@@ -69,6 +69,7 @@
<Button
title="Dismiss banner"
variant="ghost"
class="hover:bg-transparent hover:text-[#261A56]"
size="sm"
onclick={() => {
dismissPromotion(activePromotion?.id);
+75
View File
@@ -0,0 +1,75 @@
<script lang="ts">
import { Button } from '$/components/ui/button';
import { onDestroy, type Snippet } from 'svelte';
import { fade } from 'svelte/transition';
interface Props {
closeBanner: Snippet;
}
let { closeBanner }: Props = $props();
interface Taglines {
label: string;
url: string;
}
const taglines: Taglines[] = [
{
label: 'Replace ChatGPT Pro, Mermaid.live, and Lucid Chart with Mermaid Chart',
url: 'https://www.mermaidchart.com/mermaid-ai?utm_source=mermaid_live&utm_medium=banner_ad&utm_campaign=aibundle'
},
{
label: 'Diagram live with teammates in Mermaid Chart',
url: 'www.mermaidchart.com/landing?utm_source=mermaid_live&utm_medium=banner_ad&utm_campaign=team_collaboration'
},
{
label: 'Use the Visual Editor in Mermaid Chart to design and build diagrams',
url: 'www.mermaidchart.com/landing?utm_source=mermaid_live&utm_medium=banner_ad&utm_campaign=visual_editor'
},
{
label: 'Explore the Mermaid Whiteboard from the creators of Mermaid',
url: 'https://www.mermaidchart.com/whiteboard?utm_source=mermaid_live&utm_medium=banner_ad&utm_campaign=whiteboard'
}
];
let index = Math.floor(Math.random() * taglines.length);
let currentTagline = $state(taglines[index]);
const interval = setInterval(() => {
if (shouldAnimate) {
index = (index + 1) % taglines.length;
currentTagline = taglines[index];
}
}, 5000);
onDestroy(() => {
clearInterval(interval);
});
let shouldAnimate = $state(true);
</script>
<div
class="flex w-full bg-[#E0095F] p-1.5"
role="banner"
onmouseenter={() => (shouldAnimate = false)}
onmouseleave={() => (shouldAnimate = true)}>
<div class="grid grow">
{#key currentTagline}
<a
href={currentTagline.url}
target="_blank"
class="col-start-1 row-start-1 flex items-center justify-center gap-4 no-underline"
in:fade={{ delay: 800 }}
out:fade={{ duration: 1000 }}>
<span class="text-sm tracking-wider text-white">{currentTagline.label}</span>
<Button
class="shrink-0 rounded-md bg-[#1E1A2E] px-3 py-1.5 text-sm font-semibold tracking-wide text-white hover:bg-[#261A56]">
Try now
</Button>
</a>
{/key}
</div>
{@render closeBanner()}
</div>
-145
View File
@@ -1,145 +0,0 @@
<script lang="ts">
import { Button } from '$/components/ui/button';
import { onDestroy, type Snippet } from 'svelte';
import { fade } from 'svelte/transition';
interface Props {
closeBanner: Snippet;
}
let { closeBanner }: Props = $props();
interface Taglines {
label: string;
url: string;
}
const allTaglines: { [key: string]: { design: number; taglines: Taglines[] } } = {
A: {
design: 1,
taglines: [
{
label: 'Replace ChatGPT Pro, Mermaid.live, and Lucid Chart with Mermaid Chart',
url: 'https://www.mermaidchart.com/play?utm_source=mermaid_live_editor&utm_medium=banner_ad&utm_campaign=AIbundle_A'
},
{
label: 'Diagram live with teammates in Mermaid Chart',
url: 'https://www.mermaidchart.com/play?utm_source=mermaid_live_editor&utm_medium=banner_ad&utm_campaign=teams_A'
},
{
label: 'Use the Visual Editor in Mermaid Chart to design and build diagrams',
url: 'https://www.mermaidchart.com/play?utm_source=mermaid_live_editor&utm_medium=banner_ad&utm_campaign=visual_editor_A'
},
{
label: 'Explore the Mermaid Whiteboard from the creators of Mermaid',
url: 'https://www.mermaidchart.com/whiteboard?utm_source=mermaid_live_editor&utm_medium=banner_ad&utm_campaign=whiteboard_A'
}
]
},
B: {
design: 2,
taglines: [
{
label: 'Replace ChatGPT Pro, Mermaid.live, and Lucid Chart with Mermaid Chart',
url: 'https://www.mermaidchart.com/play?utm_source=mermaid_live_editor&utm_medium=banner_ad&utm_campaign=AIbundle_B'
},
{
label: 'Diagram live with teammates in Mermaid Chart',
url: 'https://www.mermaidchart.com/play?utm_source=mermaid_live_editor&utm_medium=banner_ad&utm_campaign=teams_B'
},
{
label: 'Use the Visual Editor in Mermaid Chart to design and build diagrams',
url: 'https://www.mermaidchart.com/play?utm_source=mermaid_live_editor&utm_medium=banner_ad&utm_campaign=visual_editor_B'
},
{
label: 'Explore the Mermaid Whiteboard from the creators of Mermaid',
url: 'https://www.mermaidchart.com/whiteboard?utm_source=mermaid_live_editor&utm_medium=banner_ad&utm_campaign=whiteboard_B'
}
]
},
C: {
design: 1,
taglines: [
{
label: 'Replace ChatGPT Pro, Mermaid.live, and Lucid Chart with Mermaid Pro',
url: 'https://www.mermaidchart.com/play?utm_source=mermaid_live_editor&utm_medium=banner_ad&utm_campaign=AIbundle_C'
},
{
label: 'Diagram live with teammates in Mermaid Pro',
url: 'https://www.mermaidchart.com/play?utm_source=mermaid_live_editor&utm_medium=banner_ad&utm_campaign=teams_C'
},
{
label: 'Use the Visual Editor in Mermaid Pro to design and build diagrams',
url: 'https://www.mermaidchart.com/play?utm_source=mermaid_live_editor&utm_medium=banner_ad&utm_campaign=visual_editor_C'
},
{
label: 'Explore the Mermaid Whiteboard from the creators of Mermaid',
url: 'https://www.mermaidchart.com/whiteboard?utm_source=mermaid_live_editor&utm_medium=banner_ad&utm_campaign=whiteboard_A'
}
]
},
D: {
design: 2,
taglines: [
{
label: 'Replace ChatGPT Pro, Mermaid.live, and Lucid Chart with Mermaid Pro',
url: 'https://www.mermaidchart.com/play?utm_source=mermaid_live_editor&utm_medium=banner_ad&utm_campaign=AIbundle_D'
},
{
label: 'Diagram live with teammates in Mermaid Pro',
url: 'https://www.mermaidchart.com/play?utm_source=mermaid_live_editor&utm_medium=banner_ad&utm_campaign=teams_D'
},
{
label: 'Use the Visual Editor in Mermaid Pro to design and build diagrams',
url: 'https://www.mermaidchart.com/play?utm_source=mermaid_live_editor&utm_medium=banner_ad&utm_campaign=visual_editor_D'
},
{
label: 'Explore the Mermaid Whiteboard from the creators of Mermaid',
url: 'https://www.mermaidchart.com/whiteboard?utm_source=mermaid_live_editor&utm_medium=banner_ad&utm_campaign=whiteboard_B'
}
]
}
};
const { design, taglines } =
Object.values(allTaglines)[Math.floor(Math.random() * Object.values(allTaglines).length)];
let index = Math.floor(Math.random() * taglines.length);
let currentTagline = $state(taglines[index]);
const interval = setInterval(() => {
if (shouldAnimate) {
index = (index + 1) % taglines.length;
currentTagline = taglines[index];
}
}, 5000);
onDestroy(() => {
clearInterval(interval);
});
let shouldAnimate = $state(true);
</script>
<div
class="flex w-full p-1.5 {design === 1
? 'bg-gradient-to-r from-[#bd34fe] to-[#ff3670]'
: 'bg-[#E0095F]'}"
role="banner"
onmouseenter={() => (shouldAnimate = false)}
onmouseleave={() => (shouldAnimate = true)}>
<div class="grid grow">
{#key currentTagline}
<a
href={currentTagline.url}
target="_blank"
class="col-start-1 row-start-1 flex items-center justify-center gap-4 no-underline"
in:fade={{ delay: 800 }}
out:fade={{ duration: 1000 }}>
<span class="text-sm tracking-wider text-white">{currentTagline.label}</span>
<Button size="sm" class="bg-background font-semibold tracking-wider">Try now</Button>
</a>
{/key}
</div>
{@render closeBanner()}
</div>
+4 -4
View File
@@ -4,7 +4,7 @@ import duration from 'dayjs/plugin/duration';
import type { Component } from 'svelte';
import { get, writable, type Writable } from 'svelte/store';
import { localStorage, persist } from '../persist';
import January2025 from './January2025.svelte';
import April2025 from './April2025.svelte';
dayjs.extend(duration);
@@ -16,10 +16,10 @@ interface Promotion {
}
const promotions: Record<string, Promotion> = {
'promo-january-2025': {
startDate: new Date('2025-01-01'),
'promo-april-2025': {
startDate: new Date('2025-04-01'),
endDate: new Date('2028-12-31'),
component: January2025,
component: April2025,
hideDurationMs: dayjs.duration(1, 'week').asMilliseconds()
}
};
+1 -1
View File
@@ -28,7 +28,7 @@ test.describe('Check actions', () => {
await editPage.toggleSampleDiagrams();
await editPage.loadSampleDiagram('ER');
const secondPngSize = await editPage.checkAndDownloadPNG(110_000);
const secondPngSize = await editPage.checkAndDownloadPNG(81_000);
const secondSvgSize = await editPage.downloadSVG(11_000);
// Verify files are actually different