Merge main to resolve lockfile conflicts

Keeps compound-web ^9.7.1 from this branch and picks up
compound-design-tokens 10.2.2 from main.
This commit is contained in:
Quentin Gliech
2026-07-03 11:20:30 +02:00
6 changed files with 636 additions and 231 deletions
Generated
+46 -38
View File
@@ -93,7 +93,7 @@ dependencies = [
"cfg-if",
"http",
"indexmap 2.14.0",
"schemars 1.1.0",
"schemars 1.2.1",
"serde",
"serde_json",
"serde_qs",
@@ -793,9 +793,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
name = "bytes"
version = "1.11.1"
version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
checksum = "8ae3f5d315924270530207e2a68396c3cc547f6dca3fbdca317cfb1a51edb593"
dependencies = [
"serde",
]
@@ -812,9 +812,9 @@ dependencies = [
[[package]]
name = "camino"
version = "1.2.1"
version = "1.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "276a59bf2b2c967788139340c9f0c5b12d7fd6630315c15c217e559de85d2609"
checksum = "5f2d30e4173c4026932d51d31d6b0613b1fd3014bf3f9f8943d4ba139c437ba0"
dependencies = [
"serde_core",
]
@@ -1005,9 +1005,9 @@ dependencies = [
[[package]]
name = "compact_str"
version = "0.9.0"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fdb1325a1cece981e8a296ab8f0f9b63ae357bd0784a9faaf548cc7b480707a"
checksum = "9dfdd1c2274d9aa354115b09dc9a901d6c5576818cdf70d14cae2bdb47df00ab"
dependencies = [
"castaway",
"cfg-if",
@@ -1028,15 +1028,14 @@ dependencies = [
[[package]]
name = "console"
version = "0.15.11"
version = "0.16.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8"
checksum = "d64e8af5551369d19cf50138de61f1c42074ab970f74e99be916646777f8fc87"
dependencies = [
"encode_unicode",
"libc",
"once_cell",
"unicode-width 0.2.1",
"windows-sys 0.59.0",
"windows-sys 0.61.2",
]
[[package]]
@@ -1570,14 +1569,13 @@ dependencies = [
[[package]]
name = "dialoguer"
version = "0.11.0"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de"
checksum = "25f104b501bf2364e78d0d3974cbc774f738f5865306ed128e1e0d7499c0ad96"
dependencies = [
"console",
"fuzzy-matcher",
"shell-words",
"thiserror 1.0.69",
"zeroize",
]
@@ -2091,16 +2089,16 @@ dependencies = [
[[package]]
name = "governor"
version = "0.10.1"
version = "0.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "444405bbb1a762387aa22dd569429533b54a1d8759d35d3b64cb39b0293eaa19"
checksum = "9efcab3c1958580ff1f25a2a41be1668f7603d849bb63af523b208a3cc1223b8"
dependencies = [
"cfg-if",
"dashmap",
"futures-sink",
"futures-timer",
"futures-util",
"hashbrown 0.15.5",
"hashbrown 0.16.1",
"nonzero_ext",
"parking_lot",
"portable-atomic",
@@ -2169,6 +2167,8 @@ version = "0.16.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
dependencies = [
"allocator-api2",
"equivalent",
"foldhash 0.2.0",
"serde",
"serde_core",
@@ -2368,14 +2368,13 @@ dependencies = [
[[package]]
name = "hyper-util"
version = "0.1.18"
version = "0.1.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52e9a2a24dc5c6821e71a7030e1e14b7b632acac55c40e9d2e082c621261bb56"
checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0"
dependencies = [
"base64",
"bytes",
"futures-channel",
"futures-core",
"futures-util",
"http",
"http-body",
@@ -2821,9 +2820,9 @@ dependencies = [
[[package]]
name = "insta"
version = "1.46.3"
version = "1.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e82db8c87c7f1ccecb34ce0c24399b8a73081427f3c7c50a5d597925356115e4"
checksum = "86f0f8fee8c926415c58d6ae43a08523a26faccb2323f5e6b644fe7dd4ef6b82"
dependencies = [
"console",
"once_cell",
@@ -2881,6 +2880,15 @@ dependencies = [
"either",
]
[[package]]
name = "itertools"
version = "0.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b4baf93f58d4425749ca49a51c50ebab072c5df6994d08fed93541c331481dc"
dependencies = [
"either",
]
[[package]]
name = "itoa"
version = "1.0.15"
@@ -3247,7 +3255,7 @@ dependencies = [
"http-body-util",
"hyper",
"ipnetwork",
"itertools 0.14.0",
"itertools 0.15.0",
"listenfd",
"mas-config",
"mas-context",
@@ -3324,7 +3332,7 @@ dependencies = [
"rand 0.8.5",
"rand_chacha 0.3.1",
"rustls-pki-types",
"schemars 1.1.0",
"schemars 1.2.1",
"serde",
"serde_json",
"serde_with",
@@ -3445,7 +3453,7 @@ dependencies = [
"reqwest",
"ruma-common",
"rustls",
"schemars 1.1.0",
"schemars 1.2.1",
"sentry",
"serde",
"serde_json",
@@ -3525,7 +3533,7 @@ dependencies = [
name = "mas-iana"
version = "1.20.0-rc.0"
dependencies = [
"schemars 1.1.0",
"schemars 1.2.1",
"serde",
]
@@ -3565,7 +3573,7 @@ dependencies = [
"rand 0.8.5",
"rand_chacha 0.3.1",
"rsa",
"schemars 1.1.0",
"schemars 1.2.1",
"sec1",
"serde",
"serde_json",
@@ -3700,7 +3708,7 @@ dependencies = [
"mas-data-model",
"oauth2-types",
"opa-wasm",
"schemars 1.1.0",
"schemars 1.2.1",
"serde",
"serde_json",
"thiserror 2.0.17",
@@ -4812,7 +4820,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9120690fafc389a67ba3803df527d0ec9cbbc9cc45e4cc20b332996dfb672425"
dependencies = [
"anyhow",
"itertools 0.14.0",
"itertools 0.13.0",
"proc-macro2",
"quote",
"syn",
@@ -5374,9 +5382,9 @@ dependencies = [
[[package]]
name = "schemars"
version = "1.1.0"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9558e172d4e8533736ba97870c4b2cd63f84b382a3d6eb063da41b91cce17289"
checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc"
dependencies = [
"chrono",
"dyn-clone",
@@ -5390,9 +5398,9 @@ dependencies = [
[[package]]
name = "schemars_derive"
version = "1.1.0"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "301858a4023d78debd2353c7426dc486001bddc91ae31a76fb1f55132f7e2633"
checksum = "7d115b50f4aaeea07e79c1912f645c7513d81715d0420f8bc77a18c6260b307f"
dependencies = [
"proc-macro2",
"quote",
@@ -5751,7 +5759,7 @@ dependencies = [
"indexmap 1.9.3",
"indexmap 2.14.0",
"schemars 0.9.0",
"schemars 1.1.0",
"schemars 1.2.1",
"serde_core",
"serde_json",
"serde_with_macros",
@@ -6285,9 +6293,9 @@ dependencies = [
[[package]]
name = "system-configuration"
version = "0.6.1"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b"
checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b"
dependencies = [
"bitflags",
"core-foundation 0.9.4",
@@ -6502,9 +6510,9 @@ dependencies = [
[[package]]
name = "tokio-stream"
version = "0.1.17"
version = "0.1.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047"
checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70"
dependencies = [
"futures-core",
"pin-project-lite",
+4 -4
View File
@@ -159,7 +159,7 @@ version = "0.9.0"
# Terminal formatting
[workspace.dependencies.console]
version = "0.15.11"
version = "0.16.3"
# Cookie store
[workspace.dependencies.cookie_store]
@@ -206,7 +206,7 @@ features = ["std"]
# Interactive CLI dialogs
[workspace.dependencies.dialoguer]
version = "0.11.0"
version = "0.12.0"
default-features = false
features = ["fuzzy-select", "password"]
@@ -335,7 +335,7 @@ version = "2.0.6"
# Snapshot testing
[workspace.dependencies.insta]
version = "1.46.3"
version = "1.48.0"
features = ["yaml", "json"]
# IP network address types
@@ -345,7 +345,7 @@ features = ["serde"]
# Iterator utilities
[workspace.dependencies.itertools]
version = "0.14.0"
version = "0.15.0"
# K256 elliptic curve
[workspace.dependencies.k256]
+1
View File
@@ -56,6 +56,7 @@ multiple-versions = "deny"
skip = [
{ name = "itertools", version = "0.13.0" }, # zxcvbn depends on this old version
{ name = "itertools", version = "0.14.0" }, # wasmtime-internal-cranelift depends on this old version
# a few crates depend on old versions of hashbrown
{ name = "hashbrown", version = "0.14.5" },
{ name = "hashbrown", version = "0.15.5" },
+4 -4
View File
@@ -24,7 +24,7 @@
"@radix-ui/react-dialog": "^1.1.18",
"@tanstack/react-query": "^5.101.0",
"@tanstack/react-router": "^1.170.16",
"@vector-im/compound-design-tokens": "10.2.0",
"@vector-im/compound-design-tokens": "10.2.2",
"@vector-im/compound-web": "^9.7.1",
"@zxcvbn-ts/core": "^4.1.2",
"@zxcvbn-ts/language-common": "^4.1.2",
@@ -39,7 +39,7 @@
"vaul": "^1.1.2"
},
"devDependencies": {
"@biomejs/biome": "^2.4.15",
"@biomejs/biome": "^2.5.0",
"@browser-logos/chrome": "^2.0.0",
"@browser-logos/firefox": "^3.0.10",
"@browser-logos/safari": "^2.1.0",
@@ -64,7 +64,7 @@
"@vitest/coverage-v8": "^4.1.7",
"browserslist-to-esbuild": "^2.1.1",
"graphql": "^16.14.0",
"happy-dom": "^20.9.0",
"happy-dom": "^20.10.6",
"i18next-cli": "^1.64.1",
"knip": "^6.17.1",
"msw": "^2.14.6",
@@ -72,7 +72,7 @@
"rimraf": "^6.1.3",
"storybook": "^10.4.6",
"tailwindcss": "^4.3.1",
"tinyglobby": "^0.2.16",
"tinyglobby": "^0.2.17",
"typescript": "^6.0.3",
"vite": "8.0.16",
"vite-plugin-graphql-codegen": "^4.0.1",
+553 -185
View File
File diff suppressed because it is too large Load Diff
+28
View File
@@ -186,6 +186,10 @@ done
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24"><path d="M14 5H5v9h1a1 1 0 1 1 0 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1a1 1 0 1 1-2 0z"/><path d="M8 10a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-9a2 2 0 0 1-2-2zm2 0v9h9v-9z"/></svg>
{% endmacro %}
{% macro crop() %}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M6 4a1 1 0 0 0-1 1v2H3a1 1 0 1 0 0 2h2v8a3 3 0 0 0 3 3h8v2a1 1 0 0 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-8a3 3 0 0 0-3-3H7V5a1 1 0 0 0-1-1m9 5a1 1 0 0 1 1 1v8H8a1 1 0 0 1-1-1V9z" clip-rule="evenodd"/><path d="M15.707.293a1 1 0 0 0-1.414 0l-2 2a1 1 0 0 0 0 1.414l2 2a1 1 0 1 0 1.414-1.414l-.275-.276A6 6 0 0 1 21 10a1 1 0 1 0 2 0 8 8 0 0 0-7.596-7.99l.303-.303a1 1 0 0 0 0-1.414"/></svg>
{% endmacro %}
{% macro dark_mode() %}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M17.983 17.31C13.332 15.66 10 11.22 10 6q0-.907.132-1.78a8 8 0 1 0 7.852 13.091m1.82-1.552c.668.15 1.094.863.737 1.447A10 10 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2c.402 0 .653.416.524.797A10 10 0 0 0 12 6c0 4.768 3.337 8.757 7.803 9.758" clip-rule="evenodd"/></svg>
{% endmacro %}
@@ -262,6 +266,10 @@ done
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24"><path d="M10 20a1 1 0 1 1-2 0v-4H4a1 1 0 1 1 0-2h6zm10-6a1 1 0 1 1 0 2h-4v4a1 1 0 1 1-2 0v-6zM9 3a1 1 0 0 1 1 1v6H4a1 1 0 0 1 0-2h4V4a1 1 0 0 1 1-1m6 0a1 1 0 0 1 1 1v4h4a1 1 0 1 1 0 2h-6V4a1 1 0 0 1 1-1"/></svg>
{% endmacro %}
{% macro expand_all() %}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24"><path d="m12 19.2 3.9-3.9a.95.95 0 0 1 .7-.275q.425 0 .7.275a.95.95 0 0 1 .275.7.95.95 0 0 1-.275.7l-3.875 3.875q-.575.575-1.425.575t-1.425-.575L6.7 16.7a.95.95 0 0 1-.275-.7q0-.425.275-.7a.95.95 0 0 1 .7-.275q.425 0 .7.275zm0-14.25-3.9 3.9a.95.95 0 0 1-.7.275.95.95 0 0 1-.7-.275.95.95 0 0 1-.275-.7q0-.425.275-.7l3.875-3.875Q11.15 3 12 3t1.425.575L17.3 7.45a.95.95 0 0 1 .275.7.95.95 0 0 1-.275.7.95.95 0 0 1-.7.275.95.95 0 0 1-.7-.275z"/></svg>
{% endmacro %}
{% macro expand() %}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24"><path d="M21 3.997a1 1 0 0 0-.29-.702l-.005-.004A1 1 0 0 0 20 3h-8a1 1 0 1 0 0 2h5.586L5 17.586V12a1 1 0 1 0-2 0v8.003a1 1 0 0 0 .29.702l.005.004c.18.18.43.291.705.291h8a1 1 0 1 0 0-2H6.414L19 6.414V12a1 1 0 1 0 2 0z"/></svg>
{% endmacro %}
@@ -302,6 +310,14 @@ done
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24"><path d="M5 7a1 1 0 0 0 0 2h14a1 1 0 1 0 0-2zm3 4a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2zm2 5a1 1 0 0 1 1-1h2a1 1 0 1 1 0 2h-2a1 1 0 0 1-1-1"/></svg>
{% endmacro %}
{% macro flip_horizontal() %}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24"><path d="M12 2a1 1 0 0 1 1 1v18a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1M2 8a1 1 0 0 1 1.6-.8l5.334 4a1 1 0 0 1 0 1.6l-5.334 4A1 1 0 0 1 2 16zm18.4-.8A1 1 0 0 1 22 8v8a1 1 0 0 1-1.6.8l-5.334-4a1 1 0 0 1 0-1.6z"/></svg>
{% endmacro %}
{% macro flip_vertical() %}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24"><path d="M11.2 15.066a1 1 0 0 1 1.6 0l4 5.334A1 1 0 0 1 16 22H8a1 1 0 0 1-.8-1.6zM21 11a1 1 0 1 1 0 2H3a1 1 0 1 1 0-2zm-5-9a1 1 0 0 1 .8 1.6l-4 5.334a1 1 0 0 1-1.6 0L7.2 3.6A1 1 0 0 1 8 2z"/></svg>
{% endmacro %}
{% macro folder() %}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24"><path d="M4 20q-.824 0-1.412-.587A1.93 1.93 0 0 1 2 18V6q0-.824.587-1.412A1.93 1.93 0 0 1 4 4h6l2 2h8q.824 0 1.413.588Q22 7.175 22 8v10q0 .824-.587 1.413A1.93 1.93 0 0 1 20 20zm0-2h16V8h-8.825l-2-2H4z"/></svg>
{% endmacro %}
@@ -662,6 +678,14 @@ done
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24"><g clip-path="url(#a)"><path d="M14.83 4.83 12.7 2.7c-.62-.62-1.7-.18-1.7.71v.66C7.06 4.56 4 7.92 4 12c0 3.64 2.43 6.71 5.77 7.68.62.18 1.23-.32 1.23-.96v-.03a.97.97 0 0 0-.68-.94A5.98 5.98 0 0 1 6 12c0-2.97 2.16-5.43 5-5.91v1.53c0 .89 1.07 1.33 1.7.71l2.13-2.08a.99.99 0 0 0 0-1.42m4.84 4.93q-.24-.825-.66-1.59c-.31-.57-1.1-.66-1.56-.2l-.01.01c-.31.31-.38.78-.17 1.16.2.37.36.76.48 1.16.12.42.51.7.94.7h.02c.65 0 1.15-.62.96-1.24M13 18.68v.02c0 .65.62 1.14 1.24.96q.825-.24 1.59-.66c.57-.31.66-1.1.2-1.56l-.02-.02a.97.97 0 0 0-1.16-.17c-.37.21-.76.37-1.16.49-.41.12-.69.51-.69.94m4.44-2.65c.46.46 1.25.37 1.56-.2.28-.51.5-1.04.67-1.59.18-.62-.31-1.24-.96-1.24h-.02c-.44 0-.82.28-.94.7q-.18.6-.48 1.17c-.21.38-.13.86.17 1.16"/></g><defs><clipPath id="a"><path d="M0 0h24v24H0z"/></clipPath></defs></svg>
{% endmacro %}
{% macro save_solid() %}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24"><path d="M18 2H6a2 2 0 0 0-2 2v16.336c0 1.583 1.75 2.538 3.082 1.683l3.836-2.467a2 2 0 0 1 2.164 0l3.836 2.467c1.331.855 3.082-.1 3.082-1.683V4a2 2 0 0 0-2-2"/></svg>
{% endmacro %}
{% macro save() %}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24"><path d="M9.837 17.869a4 4 0 0 1 4.326 0L18 20.336V4H6v16.336zM20 20.336c0 1.582-1.751 2.538-3.082 1.682l-3.836-2.466a2 2 0 0 0-2.164 0l-3.836 2.466-.126.076C5.643 22.814 4 21.869 4 20.336V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2z"/></svg>
{% endmacro %}
{% macro search() %}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24"><path d="M15.05 16.463a7.5 7.5 0 1 1 1.414-1.414l3.243 3.244a1 1 0 0 1-1.414 1.414zM16 10.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0"/></svg>
{% endmacro %}
@@ -810,6 +834,10 @@ done
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M5.457 2.083a1 1 0 0 0-1.414 1.414L8.04 7.494v2.25a.5.5 0 0 1-.15.356l-3.7 3.644a.5.5 0 0 0-.15.356v1.4a.5.5 0 0 0 .5.5h6.5v6a1 1 0 0 0 2 0v-6h3.506l4.497 4.497a1 1 0 0 0 1.414-1.414zM14.546 14 10.04 9.494v.25a2.5 2.5 0 0 1-.746 1.781L6.78 14z" clip-rule="evenodd"/><path d="M14.04 4v3.85l2.015 2.015a.5.5 0 0 1-.015-.12V5.257a.5.5 0 0 1 .15-.357l2.081-2.043a.5.5 0 0 0-.35-.857h-9.73l2 2z"/></svg>
{% endmacro %}
{% macro unsave() %}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M3.503 2.083a1 1 0 0 1 1.414 0l17 17a1 1 0 1 1-1.414 1.414L20 19.994v.342c0 1.582-1.75 2.538-3.082 1.683l-3.836-2.467a2 2 0 0 0-2.164 0l-3.836 2.467-.126.075C5.643 22.814 4 21.869 4 20.336V3.994l-.497-.497a1 1 0 0 1 0-1.414M6 20.336l3.837-2.467a4 4 0 0 1 4.326 0L18 20.336v-2.342l-12-12z" clip-rule="evenodd"/><path d="M18 2a2 2 0 0 1 2 2v10.35l-2-2V4H9.65l-2-2z"/></svg>
{% endmacro %}
{% macro user_add_solid() %}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24"><path d="M10 12q-1.65 0-2.825-1.175T6 8t1.175-2.825T10 4t2.825 1.175T14 8t-1.175 2.825T10 12m-8 6v-.8q0-.85.438-1.562.437-.713 1.162-1.088a14.8 14.8 0 0 1 3.15-1.163A13.8 13.8 0 0 1 10 13q1.65 0 3.25.387 1.6.388 3.15 1.163.724.375 1.163 1.087Q18 16.35 18 17.2v.8q0 .824-.587 1.413A1.93 1.93 0 0 1 16 20H4q-.824 0-1.412-.587A1.93 1.93 0 0 1 2 18m15-7h2v2q0 .424.288.713.287.287.712.287.424 0 .712-.287A.97.97 0 0 0 21 13v-2h2q.424 0 .712-.287A.97.97 0 0 0 24 10a.97.97 0 0 0-.288-.713A.97.97 0 0 0 23 9h-2V7a.97.97 0 0 0-.288-.713A.97.97 0 0 0 20 6a.97.97 0 0 0-.712.287A.97.97 0 0 0 19 7v2h-2a.97.97 0 0 0-.712.287A.97.97 0 0 0 16 10q0 .424.288.713.287.287.712.287"/></svg>
{% endmacro %}