diff --git a/package-lock.json b/package-lock.json
index 01230886..78a7c80b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,49 +1,49 @@
{
"name": "mashlib",
- "version": "2.0.0",
+ "version": "2.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "mashlib",
- "version": "2.0.0",
+ "version": "2.1.0",
"license": "MIT",
"dependencies": {
- "rdflib": "^2.3.3",
- "solid-logic": "^4.0.0",
- "solid-panes": "^4.0.0",
- "solid-ui": "^3.0.0"
+ "rdflib": "^2.3.5",
+ "solid-logic": "^4.0.2",
+ "solid-panes": "^4.1.0",
+ "solid-ui": "^3.0.4"
},
"devDependencies": {
- "@babel/cli": "^7.28.0",
- "@babel/core": "^7.28.0",
- "@babel/plugin-transform-runtime": "^7.28.0",
- "@babel/preset-env": "^7.28.0",
- "@babel/preset-typescript": "^7.27.1",
- "@typescript-eslint/parser": "^8.39.0",
+ "@babel/cli": "^7.28.6",
+ "@babel/core": "^7.28.6",
+ "@babel/plugin-transform-runtime": "^7.28.5",
+ "@babel/preset-env": "^7.28.6",
+ "@babel/preset-typescript": "^7.28.5",
+ "@typescript-eslint/parser": "^8.54.0",
"@webpack-cli/serve": "^3.0.1",
"babel-loader": "^10.0.0",
"bundlesize2": "^0.0.35",
- "copy-webpack-plugin": "^13.0.0",
- "css-loader": "^7.1.2",
- "eslint": "^9.33.0",
+ "copy-webpack-plugin": "^13.0.1",
+ "css-loader": "^7.1.3",
+ "eslint": "^9.39.2",
"file-loader": "^6.2.0",
- "globals": "^17.0.0",
- "html-webpack-plugin": "^5.6.3",
- "mini-css-extract-plugin": "^2.9.4",
+ "globals": "^17.2.0",
+ "html-webpack-plugin": "^5.6.6",
+ "mini-css-extract-plugin": "^2.10.0",
"node-polyfill-webpack-plugin": "^4.1.0",
- "terser-webpack-plugin": "^5.3.14",
- "typescript": "^5.9.2",
+ "terser-webpack-plugin": "^5.3.16",
+ "typescript": "^5.9.3",
"url-loader": "^4.1.1",
- "webpack": "^5.101.0",
+ "webpack": "^5.104.1",
"webpack-cli": "^6.0.1",
- "webpack-dev-server": "^5.2.2"
+ "webpack-dev-server": "^5.2.3"
}
},
"node_modules/@babel/cli": {
- "version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.28.3.tgz",
- "integrity": "sha512-n1RU5vuCX0CsaqaXm9I0KUCNKNQMy5epmzl/xdSSm70bSqhg9GWhgeosypyQLc0bK24+Xpk1WGzZlI9pJtkZdg==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.28.6.tgz",
+ "integrity": "sha512-6EUNcuBbNkj08Oj4gAZ+BUU8yLCgKzgVX4gaTh09Ya2C8ICM4P+G30g4m3akRxSYAp3A/gnWchrNst7px4/nUQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -174,18 +174,18 @@
}
},
"node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz",
- "integrity": "sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz",
+ "integrity": "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.27.3",
"@babel/helper-member-expression-to-functions": "^7.28.5",
"@babel/helper-optimise-call-expression": "^7.27.1",
- "@babel/helper-replace-supers": "^7.27.1",
+ "@babel/helper-replace-supers": "^7.28.6",
"@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
- "@babel/traverse": "^7.28.5",
+ "@babel/traverse": "^7.28.6",
"semver": "^6.3.1"
},
"engines": {
@@ -214,17 +214,17 @@
}
},
"node_modules/@babel/helper-define-polyfill-provider": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz",
- "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==",
+ "version": "0.6.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.6.tgz",
+ "integrity": "sha512-mOAsxeeKkUKayvZR3HeTYD/fICpCPLJrU5ZjelT/PA6WHtNDBOE436YiaEUvHN454bRM3CebhDsIpieCc4texA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-compilation-targets": "^7.27.2",
- "@babel/helper-plugin-utils": "^7.27.1",
- "debug": "^4.4.1",
+ "@babel/helper-compilation-targets": "^7.28.6",
+ "@babel/helper-plugin-utils": "^7.28.6",
+ "debug": "^4.4.3",
"lodash.debounce": "^4.0.8",
- "resolve": "^1.22.10"
+ "resolve": "^1.22.11"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
@@ -300,9 +300,9 @@
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz",
- "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz",
+ "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==",
"dev": true,
"license": "MIT",
"engines": {
@@ -328,15 +328,15 @@
}
},
"node_modules/@babel/helper-replace-supers": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz",
- "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz",
+ "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-member-expression-to-functions": "^7.27.1",
+ "@babel/helper-member-expression-to-functions": "^7.28.5",
"@babel/helper-optimise-call-expression": "^7.27.1",
- "@babel/traverse": "^7.27.1"
+ "@babel/traverse": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -390,15 +390,15 @@
}
},
"node_modules/@babel/helper-wrap-function": {
- "version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz",
- "integrity": "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.6.tgz",
+ "integrity": "sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/template": "^7.27.2",
- "@babel/traverse": "^7.28.3",
- "@babel/types": "^7.28.2"
+ "@babel/template": "^7.28.6",
+ "@babel/traverse": "^7.28.6",
+ "@babel/types": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -502,14 +502,14 @@
}
},
"node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
- "version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz",
- "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.6.tgz",
+ "integrity": "sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/traverse": "^7.28.3"
+ "@babel/helper-plugin-utils": "^7.28.6",
+ "@babel/traverse": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -532,13 +532,13 @@
}
},
"node_modules/@babel/plugin-syntax-import-assertions": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz",
- "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.28.6.tgz",
+ "integrity": "sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -548,13 +548,13 @@
}
},
"node_modules/@babel/plugin-syntax-import-attributes": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz",
- "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz",
+ "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -564,13 +564,13 @@
}
},
"node_modules/@babel/plugin-syntax-jsx": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz",
- "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz",
+ "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -580,13 +580,13 @@
}
},
"node_modules/@babel/plugin-syntax-typescript": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz",
- "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz",
+ "integrity": "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -629,15 +629,15 @@
}
},
"node_modules/@babel/plugin-transform-async-generator-functions": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz",
- "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.6.tgz",
+ "integrity": "sha512-9knsChgsMzBV5Yh3kkhrZNxH3oCYAfMBkNNaVN4cP2RVlFPe8wYdwwcnOsAbkdDoV9UjFtOXWrWB52M8W4jNeA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.28.6",
"@babel/helper-remap-async-to-generator": "^7.27.1",
- "@babel/traverse": "^7.28.0"
+ "@babel/traverse": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -647,14 +647,14 @@
}
},
"node_modules/@babel/plugin-transform-async-to-generator": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz",
- "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.28.6.tgz",
+ "integrity": "sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-module-imports": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-module-imports": "^7.28.6",
+ "@babel/helper-plugin-utils": "^7.28.6",
"@babel/helper-remap-async-to-generator": "^7.27.1"
},
"engines": {
@@ -681,13 +681,13 @@
}
},
"node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.5.tgz",
- "integrity": "sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.6.tgz",
+ "integrity": "sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -697,14 +697,14 @@
}
},
"node_modules/@babel/plugin-transform-class-properties": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz",
- "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.28.6.tgz",
+ "integrity": "sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-create-class-features-plugin": "^7.28.6",
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -714,14 +714,14 @@
}
},
"node_modules/@babel/plugin-transform-class-static-block": {
- "version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz",
- "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.6.tgz",
+ "integrity": "sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.28.3",
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-create-class-features-plugin": "^7.28.6",
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -731,18 +731,18 @@
}
},
"node_modules/@babel/plugin-transform-classes": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz",
- "integrity": "sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz",
+ "integrity": "sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.27.3",
- "@babel/helper-compilation-targets": "^7.27.2",
+ "@babel/helper-compilation-targets": "^7.28.6",
"@babel/helper-globals": "^7.28.0",
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-replace-supers": "^7.27.1",
- "@babel/traverse": "^7.28.4"
+ "@babel/helper-plugin-utils": "^7.28.6",
+ "@babel/helper-replace-supers": "^7.28.6",
+ "@babel/traverse": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -752,14 +752,14 @@
}
},
"node_modules/@babel/plugin-transform-computed-properties": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz",
- "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.28.6.tgz",
+ "integrity": "sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/template": "^7.27.1"
+ "@babel/helper-plugin-utils": "^7.28.6",
+ "@babel/template": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -786,14 +786,14 @@
}
},
"node_modules/@babel/plugin-transform-dotall-regex": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz",
- "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.28.6.tgz",
+ "integrity": "sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-create-regexp-features-plugin": "^7.28.5",
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -819,14 +819,14 @@
}
},
"node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz",
- "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.28.6.tgz",
+ "integrity": "sha512-5suVoXjC14lUN6ZL9OLKIHCNVWCrqGqlmEp/ixdXjvgnEl/kauLvvMO/Xw9NyMc95Joj1AeLVPVMvibBgSoFlA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-create-regexp-features-plugin": "^7.28.5",
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -852,14 +852,14 @@
}
},
"node_modules/@babel/plugin-transform-explicit-resource-management": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz",
- "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.6.tgz",
+ "integrity": "sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/plugin-transform-destructuring": "^7.28.0"
+ "@babel/helper-plugin-utils": "^7.28.6",
+ "@babel/plugin-transform-destructuring": "^7.28.5"
},
"engines": {
"node": ">=6.9.0"
@@ -869,13 +869,13 @@
}
},
"node_modules/@babel/plugin-transform-exponentiation-operator": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.5.tgz",
- "integrity": "sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.6.tgz",
+ "integrity": "sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -936,13 +936,13 @@
}
},
"node_modules/@babel/plugin-transform-json-strings": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz",
- "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.28.6.tgz",
+ "integrity": "sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -968,13 +968,13 @@
}
},
"node_modules/@babel/plugin-transform-logical-assignment-operators": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.5.tgz",
- "integrity": "sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.6.tgz",
+ "integrity": "sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -1017,14 +1017,14 @@
}
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz",
- "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz",
+ "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-module-transforms": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-module-transforms": "^7.28.6",
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -1103,13 +1103,13 @@
}
},
"node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz",
- "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.28.6.tgz",
+ "integrity": "sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -1119,13 +1119,13 @@
}
},
"node_modules/@babel/plugin-transform-numeric-separator": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz",
- "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.28.6.tgz",
+ "integrity": "sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -1135,17 +1135,17 @@
}
},
"node_modules/@babel/plugin-transform-object-rest-spread": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz",
- "integrity": "sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.6.tgz",
+ "integrity": "sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-compilation-targets": "^7.27.2",
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/plugin-transform-destructuring": "^7.28.0",
+ "@babel/helper-compilation-targets": "^7.28.6",
+ "@babel/helper-plugin-utils": "^7.28.6",
+ "@babel/plugin-transform-destructuring": "^7.28.5",
"@babel/plugin-transform-parameters": "^7.27.7",
- "@babel/traverse": "^7.28.4"
+ "@babel/traverse": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -1172,13 +1172,13 @@
}
},
"node_modules/@babel/plugin-transform-optional-catch-binding": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz",
- "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.28.6.tgz",
+ "integrity": "sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -1188,13 +1188,13 @@
}
},
"node_modules/@babel/plugin-transform-optional-chaining": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.5.tgz",
- "integrity": "sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.6.tgz",
+ "integrity": "sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.28.6",
"@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
},
"engines": {
@@ -1221,14 +1221,14 @@
}
},
"node_modules/@babel/plugin-transform-private-methods": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz",
- "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.28.6.tgz",
+ "integrity": "sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-create-class-features-plugin": "^7.28.6",
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -1238,15 +1238,15 @@
}
},
"node_modules/@babel/plugin-transform-private-property-in-object": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz",
- "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.28.6.tgz",
+ "integrity": "sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.27.1",
- "@babel/helper-create-class-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-annotate-as-pure": "^7.27.3",
+ "@babel/helper-create-class-features-plugin": "^7.28.6",
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -1272,13 +1272,13 @@
}
},
"node_modules/@babel/plugin-transform-regenerator": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz",
- "integrity": "sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.6.tgz",
+ "integrity": "sha512-eZhoEZHYQLL5uc1gS5e9/oTknS0sSSAtd5TkKMUp3J+S/CaUjagc0kOUPsEbDmMeva0nC3WWl4SxVY6+OBuxfw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -1288,14 +1288,14 @@
}
},
"node_modules/@babel/plugin-transform-regexp-modifiers": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz",
- "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.28.6.tgz",
+ "integrity": "sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-create-regexp-features-plugin": "^7.28.5",
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -1358,13 +1358,13 @@
}
},
"node_modules/@babel/plugin-transform-spread": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz",
- "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.28.6.tgz",
+ "integrity": "sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-plugin-utils": "^7.28.6",
"@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
},
"engines": {
@@ -1423,17 +1423,17 @@
}
},
"node_modules/@babel/plugin-transform-typescript": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.5.tgz",
- "integrity": "sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.6.tgz",
+ "integrity": "sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.27.3",
- "@babel/helper-create-class-features-plugin": "^7.28.5",
- "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/helper-create-class-features-plugin": "^7.28.6",
+ "@babel/helper-plugin-utils": "^7.28.6",
"@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
- "@babel/plugin-syntax-typescript": "^7.27.1"
+ "@babel/plugin-syntax-typescript": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -1459,14 +1459,14 @@
}
},
"node_modules/@babel/plugin-transform-unicode-property-regex": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz",
- "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.28.6.tgz",
+ "integrity": "sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-create-regexp-features-plugin": "^7.28.5",
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -1493,14 +1493,14 @@
}
},
"node_modules/@babel/plugin-transform-unicode-sets-regex": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz",
- "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.28.6.tgz",
+ "integrity": "sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/helper-create-regexp-features-plugin": "^7.28.5",
+ "@babel/helper-plugin-utils": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -1510,76 +1510,76 @@
}
},
"node_modules/@babel/preset-env": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.5.tgz",
- "integrity": "sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.6.tgz",
+ "integrity": "sha512-GaTI4nXDrs7l0qaJ6Rg06dtOXTBCG6TMDB44zbqofCIC4PqC7SEvmFFtpxzCDw9W5aJ7RKVshgXTLvLdBFV/qw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.28.5",
- "@babel/helper-compilation-targets": "^7.27.2",
- "@babel/helper-plugin-utils": "^7.27.1",
+ "@babel/compat-data": "^7.28.6",
+ "@babel/helper-compilation-targets": "^7.28.6",
+ "@babel/helper-plugin-utils": "^7.28.6",
"@babel/helper-validator-option": "^7.27.1",
"@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5",
"@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1",
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1",
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1",
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3",
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.6",
"@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
- "@babel/plugin-syntax-import-assertions": "^7.27.1",
- "@babel/plugin-syntax-import-attributes": "^7.27.1",
+ "@babel/plugin-syntax-import-assertions": "^7.28.6",
+ "@babel/plugin-syntax-import-attributes": "^7.28.6",
"@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
"@babel/plugin-transform-arrow-functions": "^7.27.1",
- "@babel/plugin-transform-async-generator-functions": "^7.28.0",
- "@babel/plugin-transform-async-to-generator": "^7.27.1",
+ "@babel/plugin-transform-async-generator-functions": "^7.28.6",
+ "@babel/plugin-transform-async-to-generator": "^7.28.6",
"@babel/plugin-transform-block-scoped-functions": "^7.27.1",
- "@babel/plugin-transform-block-scoping": "^7.28.5",
- "@babel/plugin-transform-class-properties": "^7.27.1",
- "@babel/plugin-transform-class-static-block": "^7.28.3",
- "@babel/plugin-transform-classes": "^7.28.4",
- "@babel/plugin-transform-computed-properties": "^7.27.1",
+ "@babel/plugin-transform-block-scoping": "^7.28.6",
+ "@babel/plugin-transform-class-properties": "^7.28.6",
+ "@babel/plugin-transform-class-static-block": "^7.28.6",
+ "@babel/plugin-transform-classes": "^7.28.6",
+ "@babel/plugin-transform-computed-properties": "^7.28.6",
"@babel/plugin-transform-destructuring": "^7.28.5",
- "@babel/plugin-transform-dotall-regex": "^7.27.1",
+ "@babel/plugin-transform-dotall-regex": "^7.28.6",
"@babel/plugin-transform-duplicate-keys": "^7.27.1",
- "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1",
+ "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.28.6",
"@babel/plugin-transform-dynamic-import": "^7.27.1",
- "@babel/plugin-transform-explicit-resource-management": "^7.28.0",
- "@babel/plugin-transform-exponentiation-operator": "^7.28.5",
+ "@babel/plugin-transform-explicit-resource-management": "^7.28.6",
+ "@babel/plugin-transform-exponentiation-operator": "^7.28.6",
"@babel/plugin-transform-export-namespace-from": "^7.27.1",
"@babel/plugin-transform-for-of": "^7.27.1",
"@babel/plugin-transform-function-name": "^7.27.1",
- "@babel/plugin-transform-json-strings": "^7.27.1",
+ "@babel/plugin-transform-json-strings": "^7.28.6",
"@babel/plugin-transform-literals": "^7.27.1",
- "@babel/plugin-transform-logical-assignment-operators": "^7.28.5",
+ "@babel/plugin-transform-logical-assignment-operators": "^7.28.6",
"@babel/plugin-transform-member-expression-literals": "^7.27.1",
"@babel/plugin-transform-modules-amd": "^7.27.1",
- "@babel/plugin-transform-modules-commonjs": "^7.27.1",
+ "@babel/plugin-transform-modules-commonjs": "^7.28.6",
"@babel/plugin-transform-modules-systemjs": "^7.28.5",
"@babel/plugin-transform-modules-umd": "^7.27.1",
"@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1",
"@babel/plugin-transform-new-target": "^7.27.1",
- "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1",
- "@babel/plugin-transform-numeric-separator": "^7.27.1",
- "@babel/plugin-transform-object-rest-spread": "^7.28.4",
+ "@babel/plugin-transform-nullish-coalescing-operator": "^7.28.6",
+ "@babel/plugin-transform-numeric-separator": "^7.28.6",
+ "@babel/plugin-transform-object-rest-spread": "^7.28.6",
"@babel/plugin-transform-object-super": "^7.27.1",
- "@babel/plugin-transform-optional-catch-binding": "^7.27.1",
- "@babel/plugin-transform-optional-chaining": "^7.28.5",
+ "@babel/plugin-transform-optional-catch-binding": "^7.28.6",
+ "@babel/plugin-transform-optional-chaining": "^7.28.6",
"@babel/plugin-transform-parameters": "^7.27.7",
- "@babel/plugin-transform-private-methods": "^7.27.1",
- "@babel/plugin-transform-private-property-in-object": "^7.27.1",
+ "@babel/plugin-transform-private-methods": "^7.28.6",
+ "@babel/plugin-transform-private-property-in-object": "^7.28.6",
"@babel/plugin-transform-property-literals": "^7.27.1",
- "@babel/plugin-transform-regenerator": "^7.28.4",
- "@babel/plugin-transform-regexp-modifiers": "^7.27.1",
+ "@babel/plugin-transform-regenerator": "^7.28.6",
+ "@babel/plugin-transform-regexp-modifiers": "^7.28.6",
"@babel/plugin-transform-reserved-words": "^7.27.1",
"@babel/plugin-transform-shorthand-properties": "^7.27.1",
- "@babel/plugin-transform-spread": "^7.27.1",
+ "@babel/plugin-transform-spread": "^7.28.6",
"@babel/plugin-transform-sticky-regex": "^7.27.1",
"@babel/plugin-transform-template-literals": "^7.27.1",
"@babel/plugin-transform-typeof-symbol": "^7.27.1",
"@babel/plugin-transform-unicode-escapes": "^7.27.1",
- "@babel/plugin-transform-unicode-property-regex": "^7.27.1",
+ "@babel/plugin-transform-unicode-property-regex": "^7.28.6",
"@babel/plugin-transform-unicode-regex": "^7.27.1",
- "@babel/plugin-transform-unicode-sets-regex": "^7.27.1",
+ "@babel/plugin-transform-unicode-sets-regex": "^7.28.6",
"@babel/preset-modules": "0.1.6-no-external-plugins",
"babel-plugin-polyfill-corejs2": "^0.4.14",
"babel-plugin-polyfill-corejs3": "^0.13.0",
@@ -1630,9 +1630,9 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz",
- "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz",
+ "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -1687,13 +1687,13 @@
}
},
"node_modules/@digitalbazaar/http-client": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/@digitalbazaar/http-client/-/http-client-4.2.0.tgz",
- "integrity": "sha512-OGju/GYp0V72qlZ/Pd4jGEwqBwT/Za/tw+Z3AC7lgMheGqsbhTZrtc5iLz9z59G/Q53QyE2fnjHV8N9wjBpiWA==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/@digitalbazaar/http-client/-/http-client-4.3.0.tgz",
+ "integrity": "sha512-6lMpxpt9BOmqHKGs9Xm6DP4LlZTBFer/ZjHvP3FcW3IaUWYIWC7dw5RFZnvw4fP57kAVcm1dp3IF+Y50qhBvAw==",
"license": "BSD-3-Clause",
"dependencies": {
- "ky": "^1.7.5",
- "undici": "^6.21.2"
+ "ky": "^1.14.2",
+ "undici": "^6.23.0"
},
"engines": {
"node": ">=18.0"
@@ -1725,9 +1725,9 @@
"license": "MIT"
},
"node_modules/@eslint-community/eslint-utils": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz",
- "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==",
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz",
+ "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1743,6 +1743,19 @@
"eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
}
},
+ "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
"node_modules/@eslint-community/regexpp": {
"version": "4.12.2",
"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz",
@@ -1819,9 +1832,9 @@
}
},
"node_modules/@eslint/eslintrc": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
- "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz",
+ "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1831,7 +1844,7 @@
"globals": "^14.0.0",
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
+ "js-yaml": "^4.1.1",
"minimatch": "^3.1.2",
"strip-json-comments": "^3.1.1"
},
@@ -1873,16 +1886,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@eslint/eslintrc/node_modules/ignore": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
- "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
"node_modules/@eslint/eslintrc/node_modules/import-fresh": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
@@ -2186,9 +2189,9 @@
}
},
"node_modules/@jsonjoy.com/buffers": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz",
- "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==",
+ "version": "17.65.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-17.65.0.tgz",
+ "integrity": "sha512-eBrIXd0/Ld3p9lpDDlMaMn6IEfWqtHMD+z61u0JrIiPzsV1r7m6xDZFRxJyvIFTEO+SWdYF9EiQbXZGd8BzPfA==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -2219,22 +2222,315 @@
"tslib": "2"
}
},
+ "node_modules/@jsonjoy.com/fs-core": {
+ "version": "4.56.10",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-core/-/fs-core-4.56.10.tgz",
+ "integrity": "sha512-PyAEA/3cnHhsGcdY+AmIU+ZPqTuZkDhCXQ2wkXypdLitSpd6d5Ivxhnq4wa2ETRWFVJGabYynBWxIijOswSmOw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jsonjoy.com/fs-node-builtins": "4.56.10",
+ "@jsonjoy.com/fs-node-utils": "4.56.10",
+ "thingies": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/fs-fsa": {
+ "version": "4.56.10",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-fsa/-/fs-fsa-4.56.10.tgz",
+ "integrity": "sha512-/FVK63ysNzTPOnCCcPoPHt77TOmachdMS422txM4KhxddLdbW1fIbFMYH0AM0ow/YchCyS5gqEjKLNyv71j/5Q==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jsonjoy.com/fs-core": "4.56.10",
+ "@jsonjoy.com/fs-node-builtins": "4.56.10",
+ "@jsonjoy.com/fs-node-utils": "4.56.10",
+ "thingies": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/fs-node": {
+ "version": "4.56.10",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node/-/fs-node-4.56.10.tgz",
+ "integrity": "sha512-7R4Gv3tkUdW3dXfXiOkqxkElxKNVdd8BDOWC0/dbERd0pXpPY+s2s1Mino+aTvkGrFPiY+mmVxA7zhskm4Ue4Q==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jsonjoy.com/fs-core": "4.56.10",
+ "@jsonjoy.com/fs-node-builtins": "4.56.10",
+ "@jsonjoy.com/fs-node-utils": "4.56.10",
+ "@jsonjoy.com/fs-print": "4.56.10",
+ "@jsonjoy.com/fs-snapshot": "4.56.10",
+ "glob-to-regex.js": "^1.0.0",
+ "thingies": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/fs-node-builtins": {
+ "version": "4.56.10",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.56.10.tgz",
+ "integrity": "sha512-uUnKz8R0YJyKq5jXpZtkGV9U0pJDt8hmYcLRrPjROheIfjMXsz82kXMgAA/qNg0wrZ1Kv+hrg7azqEZx6XZCVw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/fs-node-to-fsa": {
+ "version": "4.56.10",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.56.10.tgz",
+ "integrity": "sha512-oH+O6Y4lhn9NyG6aEoFwIBNKZeYy66toP5LJcDOMBgL99BKQMUf/zWJspdRhMdn/3hbzQsZ8EHHsuekbFLGUWw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jsonjoy.com/fs-fsa": "4.56.10",
+ "@jsonjoy.com/fs-node-builtins": "4.56.10",
+ "@jsonjoy.com/fs-node-utils": "4.56.10"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/fs-node-utils": {
+ "version": "4.56.10",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.56.10.tgz",
+ "integrity": "sha512-8EuPBgVI2aDPwFdaNQeNpHsyqPi3rr+85tMNG/lHvQLiVjzoZsvxA//Xd8aB567LUhy4QS03ptT+unkD/DIsNg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jsonjoy.com/fs-node-builtins": "4.56.10"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/fs-print": {
+ "version": "4.56.10",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-print/-/fs-print-4.56.10.tgz",
+ "integrity": "sha512-JW4fp5mAYepzFsSGrQ48ep8FXxpg4niFWHdF78wDrFGof7F3tKDJln72QFDEn/27M1yHd4v7sKHHVPh78aWcEw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jsonjoy.com/fs-node-utils": "4.56.10",
+ "tree-dump": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/fs-snapshot": {
+ "version": "4.56.10",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.56.10.tgz",
+ "integrity": "sha512-DkR6l5fj7+qj0+fVKm/OOXMGfDFCGXLfyHkORH3DF8hxkpDgIHbhf/DwncBMs2igu/ST7OEkexn1gIqoU6Y+9g==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jsonjoy.com/buffers": "^17.65.0",
+ "@jsonjoy.com/fs-node-utils": "4.56.10",
+ "@jsonjoy.com/json-pack": "^17.65.0",
+ "@jsonjoy.com/util": "^17.65.0"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/base64": {
+ "version": "17.65.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-17.65.0.tgz",
+ "integrity": "sha512-Xrh7Fm/M0QAYpekSgmskdZYnFdSGnsxJ/tHaolA4bNwWdG9i65S8m83Meh7FOxyJyQAdo4d4J97NOomBLEfkDQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/codegen": {
+ "version": "17.65.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-17.65.0.tgz",
+ "integrity": "sha512-7MXcRYe7n3BG+fo3jicvjB0+6ypl2Y/bQp79Sp7KeSiiCgLqw4Oled6chVv07/xLVTdo3qa1CD0VCCnPaw+RGA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/json-pack": {
+ "version": "17.65.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-17.65.0.tgz",
+ "integrity": "sha512-e0SG/6qUCnVhHa0rjDJHgnXnbsacooHVqQHxspjvlYQSkHm+66wkHw6Gql+3u/WxI/b1VsOdUi0M+fOtkgKGdQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jsonjoy.com/base64": "17.65.0",
+ "@jsonjoy.com/buffers": "17.65.0",
+ "@jsonjoy.com/codegen": "17.65.0",
+ "@jsonjoy.com/json-pointer": "17.65.0",
+ "@jsonjoy.com/util": "17.65.0",
+ "hyperdyperid": "^1.2.0",
+ "thingies": "^2.5.0",
+ "tree-dump": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/json-pointer": {
+ "version": "17.65.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-17.65.0.tgz",
+ "integrity": "sha512-uhTe+XhlIZpWOxgPcnO+iSCDgKKBpwkDVTyYiXX9VayGV8HSFVJM67M6pUE71zdnXF1W0Da21AvnhlmdwYPpow==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jsonjoy.com/util": "17.65.0"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/util": {
+ "version": "17.65.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-17.65.0.tgz",
+ "integrity": "sha512-cWiEHZccQORf96q2y6zU3wDeIVPeidmGqd9cNKJRYoVHTV0S1eHPy5JTbHpMnGfDvtvujQwQozOqgO9ABu6h0w==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jsonjoy.com/buffers": "17.65.0",
+ "@jsonjoy.com/codegen": "17.65.0"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
"node_modules/@jsonjoy.com/json-pack": {
"version": "1.21.0",
"resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.21.0.tgz",
"integrity": "sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==",
"dev": true,
"license": "Apache-2.0",
- "dependencies": {
- "@jsonjoy.com/base64": "^1.1.2",
- "@jsonjoy.com/buffers": "^1.2.0",
- "@jsonjoy.com/codegen": "^1.0.0",
- "@jsonjoy.com/json-pointer": "^1.0.2",
- "@jsonjoy.com/util": "^1.9.0",
- "hyperdyperid": "^1.2.0",
- "thingies": "^2.5.0",
- "tree-dump": "^1.1.0"
- },
+ "dependencies": {
+ "@jsonjoy.com/base64": "^1.1.2",
+ "@jsonjoy.com/buffers": "^1.2.0",
+ "@jsonjoy.com/codegen": "^1.0.0",
+ "@jsonjoy.com/json-pointer": "^1.0.2",
+ "@jsonjoy.com/util": "^1.9.0",
+ "hyperdyperid": "^1.2.0",
+ "thingies": "^2.5.0",
+ "tree-dump": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/json-pack/node_modules/@jsonjoy.com/buffers": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz",
+ "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==",
+ "dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=10.0"
},
@@ -2288,6 +2584,23 @@
"tslib": "2"
}
},
+ "node_modules/@jsonjoy.com/util/node_modules/@jsonjoy.com/buffers": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz",
+ "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
"node_modules/@leichtgewicht/ip-codec": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz",
@@ -2588,9 +2901,9 @@
}
},
"node_modules/@types/express-serve-static-core": {
- "version": "4.19.7",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.7.tgz",
- "integrity": "sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg==",
+ "version": "4.19.8",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz",
+ "integrity": "sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2639,9 +2952,9 @@
"license": "MIT"
},
"node_modules/@types/node": {
- "version": "24.10.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.0.tgz",
- "integrity": "sha512-qzQZRBqkFsYyaSWXuEHc2WR9c0a0CXwiE5FWUvn7ZM+vdy1uZLfCunD38UzhuB7YN/J11ndbDBcTmOdxJo9Q7A==",
+ "version": "25.0.10",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.10.tgz",
+ "integrity": "sha512-zWW5KPngR/yvakJgGOmZ5vTBemDoSqF3AcV/LrO5u5wTWyEAVVh+IT39G4gtyAkh3CtTZs8aX/yRM82OfzHJRg==",
"license": "MIT",
"dependencies": {
"undici-types": "~7.16.0"
@@ -2738,17 +3051,17 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "8.48.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.48.1.tgz",
- "integrity": "sha512-PC0PDZfJg8sP7cmKe6L3QIL8GZwU5aRvUFedqSIpw3B+QjRSUZeeITC2M5XKeMXEzL6wccN196iy3JLwKNvDVA==",
+ "version": "8.54.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.54.0.tgz",
+ "integrity": "sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/scope-manager": "8.48.1",
- "@typescript-eslint/types": "8.48.1",
- "@typescript-eslint/typescript-estree": "8.48.1",
- "@typescript-eslint/visitor-keys": "8.48.1",
- "debug": "^4.3.4"
+ "@typescript-eslint/scope-manager": "8.54.0",
+ "@typescript-eslint/types": "8.54.0",
+ "@typescript-eslint/typescript-estree": "8.54.0",
+ "@typescript-eslint/visitor-keys": "8.54.0",
+ "debug": "^4.4.3"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2763,15 +3076,15 @@
}
},
"node_modules/@typescript-eslint/project-service": {
- "version": "8.48.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.48.1.tgz",
- "integrity": "sha512-HQWSicah4s9z2/HifRPQ6b6R7G+SBx64JlFQpgSSHWPKdvCZX57XCbszg/bapbRsOEv42q5tayTYcEFpACcX1w==",
+ "version": "8.54.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.54.0.tgz",
+ "integrity": "sha512-YPf+rvJ1s7MyiWM4uTRhE4DvBXrEV+d8oC3P9Y2eT7S+HBS0clybdMIPnhiATi9vZOYDc7OQ1L/i6ga6NFYK/g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/tsconfig-utils": "^8.48.1",
- "@typescript-eslint/types": "^8.48.1",
- "debug": "^4.3.4"
+ "@typescript-eslint/tsconfig-utils": "^8.54.0",
+ "@typescript-eslint/types": "^8.54.0",
+ "debug": "^4.4.3"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2785,14 +3098,14 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "8.48.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.48.1.tgz",
- "integrity": "sha512-rj4vWQsytQbLxC5Bf4XwZ0/CKd362DkWMUkviT7DCS057SK64D5lH74sSGzhI6PDD2HCEq02xAP9cX68dYyg1w==",
+ "version": "8.54.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.54.0.tgz",
+ "integrity": "sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.48.1",
- "@typescript-eslint/visitor-keys": "8.48.1"
+ "@typescript-eslint/types": "8.54.0",
+ "@typescript-eslint/visitor-keys": "8.54.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2803,9 +3116,9 @@
}
},
"node_modules/@typescript-eslint/tsconfig-utils": {
- "version": "8.48.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.48.1.tgz",
- "integrity": "sha512-k0Jhs4CpEffIBm6wPaCXBAD7jxBtrHjrSgtfCjUvPp9AZ78lXKdTR8fxyZO5y4vWNlOvYXRtngSZNSn+H53Jkw==",
+ "version": "8.54.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.54.0.tgz",
+ "integrity": "sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -2820,9 +3133,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "8.48.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.48.1.tgz",
- "integrity": "sha512-+fZ3LZNeiELGmimrujsDCT4CRIbq5oXdHe7chLiW8qzqyPMnn1puNstCrMNVAqwcl2FdIxkuJ4tOs/RFDBVc/Q==",
+ "version": "8.54.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz",
+ "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -2834,21 +3147,21 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.48.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.48.1.tgz",
- "integrity": "sha512-/9wQ4PqaefTK6POVTjJaYS0bynCgzh6ClJHGSBj06XEHjkfylzB+A3qvyaXnErEZSaxhIo4YdyBgq6j4RysxDg==",
+ "version": "8.54.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz",
+ "integrity": "sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/project-service": "8.48.1",
- "@typescript-eslint/tsconfig-utils": "8.48.1",
- "@typescript-eslint/types": "8.48.1",
- "@typescript-eslint/visitor-keys": "8.48.1",
- "debug": "^4.3.4",
- "minimatch": "^9.0.4",
- "semver": "^7.6.0",
+ "@typescript-eslint/project-service": "8.54.0",
+ "@typescript-eslint/tsconfig-utils": "8.54.0",
+ "@typescript-eslint/types": "8.54.0",
+ "@typescript-eslint/visitor-keys": "8.54.0",
+ "debug": "^4.4.3",
+ "minimatch": "^9.0.5",
+ "semver": "^7.7.3",
"tinyglobby": "^0.2.15",
- "ts-api-utils": "^2.1.0"
+ "ts-api-utils": "^2.4.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2875,13 +3188,13 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.48.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.48.1.tgz",
- "integrity": "sha512-BmxxndzEWhE4TIEEMBs8lP3MBWN3jFPs/p6gPm/wkv02o41hI6cq9AuSmGAaTTHPtA1FTi2jBre4A9rm5ZmX+Q==",
+ "version": "8.54.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz",
+ "integrity": "sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.48.1",
+ "@typescript-eslint/types": "8.54.0",
"eslint-visitor-keys": "^4.2.1"
},
"engines": {
@@ -2892,19 +3205,6 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
- "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
"node_modules/@webassemblyjs/ast": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz",
@@ -3232,21 +3532,21 @@
}
},
"node_modules/activitystreams-pane": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/activitystreams-pane/-/activitystreams-pane-1.0.0.tgz",
- "integrity": "sha512-hdayUTYNeJalu7mY7RoXHag5SbuNz3uC55E1jC+obJ/tvIl5QqroEONxqGsDCr4qDQ1UEQPuPsOckUOJWl4eXQ==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/activitystreams-pane/-/activitystreams-pane-1.0.1.tgz",
+ "integrity": "sha512-XBusVxTkRHzt3rbzMla9dw932q23AM93MLCEByeGbDWU2p/cAzTD5D2fg+S3o69OwIuun4WDZTuWg+u7PdF1nQ==",
"license": "MIT",
"dependencies": {
- "pane-registry": "^3.0.0",
- "react": "^19.2.0",
- "react-dom": "^19.2.0",
+ "pane-registry": "^3.0.1",
+ "react": "^19.2.3",
+ "react-dom": "^19.2.3",
"react-jss": "^10.10.0",
"timeago.js": "^4.0.2"
},
"peerDependencies": {
- "rdflib": "^2.3.0",
- "solid-logic": "^4.0.0",
- "solid-ui": "^3.0.0"
+ "rdflib": "^2.3.5",
+ "solid-logic": "^4.0.2",
+ "solid-ui": "^3.0.3"
}
},
"node_modules/ajv": {
@@ -3468,14 +3768,14 @@
}
},
"node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.4.14",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz",
- "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==",
+ "version": "0.4.15",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.15.tgz",
+ "integrity": "sha512-hR3GwrRwHUfYwGfrisXPIDP3JcYfBrW7wKE7+Au6wDYl7fm/ka1NEII6kORzxNU556JjfidZeBsO10kYvtV1aw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.27.7",
- "@babel/helper-define-polyfill-provider": "^0.6.5",
+ "@babel/compat-data": "^7.28.6",
+ "@babel/helper-define-polyfill-provider": "^0.6.6",
"semver": "^6.3.1"
},
"peerDependencies": {
@@ -3497,13 +3797,13 @@
}
},
"node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz",
- "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==",
+ "version": "0.6.6",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.6.tgz",
+ "integrity": "sha512-hYm+XLYRMvupxiQzrvXUj7YyvFFVfv5gI0R71AJzudg1g2AI2vyCPPIFEBjk162/wFzti3inBHo7isWFuEVS/A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.6.5"
+ "@babel/helper-define-polyfill-provider": "^0.6.6"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
@@ -3537,9 +3837,9 @@
"license": "MIT"
},
"node_modules/baseline-browser-mapping": {
- "version": "2.9.15",
- "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.15.tgz",
- "integrity": "sha512-kX8h7K2srmDyYnXRIppo4AH/wYgzWVCs+eKr3RusRSQ5PvRYoEFmR/I0PbdTjKFAoKqp5+kbxnNTFO9jOfSVJg==",
+ "version": "2.9.18",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.18.tgz",
+ "integrity": "sha512-e23vBV1ZLfjb9apvfPk4rHVu2ry6RIr2Wfs+O324okSidrX7pTAnEJPCh/O5BtRlr7QtZI7ktOP3vsqr7Z5XoA==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@@ -3618,27 +3918,6 @@
"ms": "2.0.0"
}
},
- "node_modules/body-parser/node_modules/http-errors": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
- "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "depd": "~2.0.0",
- "inherits": "~2.0.4",
- "setprototypeof": "~1.2.0",
- "statuses": "~2.0.2",
- "toidentifier": "~1.0.1"
- },
- "engines": {
- "node": ">= 0.8"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/express"
- }
- },
"node_modules/body-parser/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
@@ -3646,16 +3925,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/body-parser/node_modules/statuses": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
- "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/bonjour-service": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz",
@@ -4137,9 +4406,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001765",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001765.tgz",
- "integrity": "sha512-LWcNtSyZrakjECqmpP4qdg0MMGdN368D7X8XvvAqOcqMv0RxnlqVKZl2V6/mBR68oYMxOZPLw/gO7DuisMHUvQ==",
+ "version": "1.0.30001766",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001766.tgz",
+ "integrity": "sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA==",
"dev": true,
"funding": [
{
@@ -4184,14 +4453,14 @@
}
},
"node_modules/chat-pane": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chat-pane/-/chat-pane-3.0.0.tgz",
- "integrity": "sha512-Zr2BXbSDInVOgz1CrdmBxiziJUhCkeDAxfpTtlEnpMn13gZsg9p2AmMTmxV+yKCZZpQJCkOURU5Z+XKb3uOIZw==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/chat-pane/-/chat-pane-3.0.1.tgz",
+ "integrity": "sha512-J9OdnIueNcRfuHZ3vkL7cjhrXCeDHTwq6MtAdcDbAsehb7hugFlhO4zQ7IkajZz5fGUpisf76KpoVzcjizlRYQ==",
"license": "MIT",
"peerDependencies": {
- "rdflib": "^2.3.0",
- "solid-logic": "^4.0.0",
- "solid-ui": "^3.0.0"
+ "rdflib": "^2.3.5",
+ "solid-logic": "^4.0.2",
+ "solid-ui": "^3.0.3"
}
},
"node_modules/chokidar": {
@@ -4405,17 +4674,17 @@
"license": "MIT"
},
"node_modules/contacts-pane": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/contacts-pane/-/contacts-pane-3.0.0.tgz",
- "integrity": "sha512-tFG53tUZQv6FFQzAltrkpCtY4xTO+oHeSisIIP4O45Eo22Q7YgP5jvsjuhkQGan3CK1moVfA7MieUFsfjvWKWw==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/contacts-pane/-/contacts-pane-3.0.1.tgz",
+ "integrity": "sha512-+kI4WpSv+Kms3Z7pnAazCozw2V4t132d5gmVTGVeLgIBMfMr/h9xACBTuhbPV9feaa8WHfV2RbGuBfzKp5juew==",
"license": "MIT",
"dependencies": {
- "mime-types": "^3.0.1"
+ "mime-types": "^3.0.2"
},
"peerDependencies": {
- "rdflib": "^2.3.0",
- "solid-logic": "^4.0.0",
- "solid-ui": "^3.0.0"
+ "rdflib": "^2.3.5",
+ "solid-logic": "^4.0.2",
+ "solid-ui": "^3.0.3"
}
},
"node_modules/content-disposition": {
@@ -4449,9 +4718,9 @@
"license": "MIT"
},
"node_modules/cookie": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz",
- "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==",
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
+ "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
"dev": true,
"license": "MIT",
"engines": {
@@ -4459,9 +4728,9 @@
}
},
"node_modules/cookie-signature": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz",
+ "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==",
"dev": true,
"license": "MIT"
},
@@ -4503,9 +4772,9 @@
}
},
"node_modules/core-js": {
- "version": "3.46.0",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.46.0.tgz",
- "integrity": "sha512-vDMm9B0xnqqZ8uSBpZ8sNtRtOdmfShrvT6h2TuQGLs0Is+cR0DYbj/KWP6ALVNbWPpqA/qPLoOuppJN07humpA==",
+ "version": "3.48.0",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.48.0.tgz",
+ "integrity": "sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==",
"hasInstallScript": true,
"license": "MIT",
"funding": {
@@ -4514,13 +4783,13 @@
}
},
"node_modules/core-js-compat": {
- "version": "3.46.0",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.46.0.tgz",
- "integrity": "sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==",
+ "version": "3.48.0",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.48.0.tgz",
+ "integrity": "sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "browserslist": "^4.26.3"
+ "browserslist": "^4.28.1"
},
"funding": {
"type": "opencollective",
@@ -4673,20 +4942,20 @@
}
},
"node_modules/css-loader": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz",
- "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==",
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.3.tgz",
+ "integrity": "sha512-frbERmjT0UC5lMheWpJmMilnt9GEhbZJN/heUb7/zaJYeIzj5St9HvDcfshzzOqbsS+rYpMk++2SD3vGETDSyA==",
"dev": true,
"license": "MIT",
"dependencies": {
"icss-utils": "^5.1.0",
- "postcss": "^8.4.33",
+ "postcss": "^8.4.40",
"postcss-modules-extract-imports": "^3.1.0",
"postcss-modules-local-by-default": "^4.0.5",
"postcss-modules-scope": "^3.2.0",
"postcss-modules-values": "^4.0.0",
"postcss-value-parser": "^4.2.0",
- "semver": "^7.5.4"
+ "semver": "^7.6.3"
},
"engines": {
"node": ">= 18.12.0"
@@ -4815,9 +5084,9 @@
"license": "MIT"
},
"node_modules/default-browser": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz",
- "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==",
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz",
+ "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4832,9 +5101,9 @@
}
},
"node_modules/default-browser-id": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz",
- "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz",
+ "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5038,9 +5307,9 @@
}
},
"node_modules/dompurify": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.0.tgz",
- "integrity": "sha512-r+f6MYR1gGN1eJv0TVQbhA7if/U7P87cdPl3HN5rikqaBSBxLiCb/b9O+2eG0cxz0ghyU+mU1QkbsOwERMYlWQ==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.1.tgz",
+ "integrity": "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==",
"license": "(MPL-2.0 OR Apache-2.0)",
"optionalDependencies": {
"@types/trusted-types": "^2.0.7"
@@ -5102,9 +5371,9 @@
"license": "MIT"
},
"node_modules/electron-to-chromium": {
- "version": "1.5.267",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz",
- "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==",
+ "version": "1.5.278",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.278.tgz",
+ "integrity": "sha512-dQ0tM1svDRQOwxnXxm+twlGTjr9Upvt8UFWAgmLsxEzFQxhbti4VwxmMjsDxVC51Zo84swW7FVCXEV+VAkhuPw==",
"dev": true,
"license": "ISC"
},
@@ -5158,9 +5427,9 @@
}
},
"node_modules/enhanced-resolve": {
- "version": "5.18.3",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz",
- "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==",
+ "version": "5.18.4",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz",
+ "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5182,9 +5451,9 @@
}
},
"node_modules/envinfo": {
- "version": "7.20.0",
- "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.20.0.tgz",
- "integrity": "sha512-+zUomDcLXsVkQ37vUqWBvQwLaLlj8eZPSi61llaEFAVBY5mhcXdaSw1pSJVl4yTYD5g/gEfpNl28YYk4IPvrrg==",
+ "version": "7.21.0",
+ "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.21.0.tgz",
+ "integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==",
"dev": true,
"license": "MIT",
"bin": {
@@ -5351,13 +5620,13 @@
}
},
"node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
+ "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
"dev": true,
"license": "Apache-2.0",
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
@@ -5374,19 +5643,6 @@
"concat-map": "0.0.1"
}
},
- "node_modules/eslint/node_modules/eslint-visitor-keys": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
- "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
"node_modules/eslint/node_modules/glob-parent": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
@@ -5400,16 +5656,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/eslint/node_modules/ignore": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
- "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
"node_modules/eslint/node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
@@ -5441,19 +5687,6 @@
"url": "https://opencollective.com/eslint"
}
},
- "node_modules/espree/node_modules/eslint-visitor-keys": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
- "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
"node_modules/esprima": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
@@ -5469,9 +5702,9 @@
}
},
"node_modules/esquery": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
- "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz",
+ "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -5778,18 +6011,18 @@
}
},
"node_modules/finalhandler": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
- "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz",
+ "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==",
"dev": true,
"license": "MIT",
"dependencies": {
"debug": "2.6.9",
"encodeurl": "~2.0.0",
"escape-html": "~1.0.3",
- "on-finished": "2.4.1",
+ "on-finished": "~2.4.1",
"parseurl": "~1.3.3",
- "statuses": "2.0.1",
+ "statuses": "~2.0.2",
"unpipe": "~1.0.0"
},
"engines": {
@@ -5862,13 +6095,13 @@
"license": "ISC"
},
"node_modules/folder-pane": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/folder-pane/-/folder-pane-3.0.0.tgz",
- "integrity": "sha512-7igSdUResLf1MlJnV8VjG/tWFJsdrYx07v5Wz9cVSr5G9zNqQx9VjgB7VqqA0wPEgHho12o0bRHPsaFPDPPGwQ==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/folder-pane/-/folder-pane-3.0.1.tgz",
+ "integrity": "sha512-4M3sKNMAsJRnAUZ8ii8UnfCPcQdChR9RkC65PM+eAz1gU5jQgHbplQOuyf+VtJgsqluHHohwjBbz3JafVnXNIw==",
"license": "MIT",
"peerDependencies": {
- "solid-logic": "^4.0.0",
- "solid-ui": "^3.0.0"
+ "solid-logic": "^4.0.2",
+ "solid-ui": "^3.0.3"
}
},
"node_modules/follow-redirects": {
@@ -6118,9 +6351,9 @@
}
},
"node_modules/globals": {
- "version": "17.0.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-17.0.0.tgz",
- "integrity": "sha512-gv5BeD2EssA793rlFWVPMMCqefTlpusw6/2TbAVMy0FzcG8wKJn4O+NqJ4+XWmmwrayJgw5TzrmWjFgmz1XPqw==",
+ "version": "17.2.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-17.2.0.tgz",
+ "integrity": "sha512-tovnCz/fEq+Ripoq+p/gN1u7l6A7wwkoBT9pRCzTHzsD/LvADIzXZdjmRymh5Ztf0DYC3Rwg5cZRYjxzBmzbWg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6438,20 +6671,24 @@
"license": "MIT"
},
"node_modules/http-errors": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
- "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
+ "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "depd": "2.0.0",
- "inherits": "2.0.4",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "toidentifier": "1.0.1"
+ "depd": "~2.0.0",
+ "inherits": "~2.0.4",
+ "setprototypeof": "~1.2.0",
+ "statuses": "~2.0.2",
+ "toidentifier": "~1.0.1"
},
"engines": {
"node": ">= 0.8"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
"node_modules/http-parser-js": {
@@ -6570,6 +6807,16 @@
],
"license": "BSD-3-Clause"
},
+ "node_modules/ignore": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
"node_modules/import-fresh": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
@@ -6713,9 +6960,9 @@
}
},
"node_modules/ipaddr.js": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz",
- "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz",
+ "integrity": "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7053,17 +7300,17 @@
}
},
"node_modules/issue-pane": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/issue-pane/-/issue-pane-3.0.0.tgz",
- "integrity": "sha512-EtDf3jDNO+cSFJcjd9ZdpLNEbEDfFAAJ7RYpHHTaupjp0bYDaft33rnaBMqI2F4VY+9CIHZjWQL09KOlNO04Aw==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/issue-pane/-/issue-pane-3.0.1.tgz",
+ "integrity": "sha512-vL92VCe8zFWFHfbfk+Ne0cL8cwAJ9eQEoS1m36dMqgzlAaepHF+XRCYQXRdtEpeLkPTlX1iM+GWBX84rrhlFJw==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.28.3"
+ "@babel/runtime": "^7.28.6"
},
"peerDependencies": {
- "rdflib": "^2.3.0",
- "solid-logic": "^4.0.0",
- "solid-ui": "^3.0.0"
+ "rdflib": "^2.3.5",
+ "solid-logic": "^4.0.2",
+ "solid-ui": "^3.0.3"
}
},
"node_modules/jest-worker": {
@@ -7444,9 +7691,9 @@
}
},
"node_modules/lit-html": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.1.tgz",
- "integrity": "sha512-S9hbyDu/vs1qNrithiNyeyv64c9yqiW9l+DBgI18fL+MTvOtWoFR0FWiyq1TxaYef5wNlpEmzlXoBlZEO+WjoA==",
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.2.tgz",
+ "integrity": "sha512-Qy9hU88zcmaxBXcc10ZpdK7cOLXvXpRoBxERdtqV9QOrfpMZZ6pSYP91LhpPtap3sFMUiL7Tw2RImbe0Al2/kw==",
"license": "BSD-3-Clause",
"dependencies": {
"@types/trusted-types": "^2.0.2"
@@ -7619,23 +7866,31 @@
}
},
"node_modules/meeting-pane": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/meeting-pane/-/meeting-pane-3.0.0.tgz",
- "integrity": "sha512-/QuRUKTm7wNRnnaUeWBeVmir5ZSxWvOpr0T1G0WXzVtCwD0yRc0O9JVXt3qkOCxxleXF7BL7FkYgO2qwEwRrjA==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/meeting-pane/-/meeting-pane-3.0.1.tgz",
+ "integrity": "sha512-qFR8VTEkxzceFxfoLvTY6svXd+uSQd5DXfSsS23Iaw5n+KOXGyyz8izkqEKLVoNgpZtiQFY7NbRk9RXX7eg+wA==",
"license": "MIT",
"peerDependencies": {
- "rdflib": "^2.3.0",
- "solid-logic": "^4.0.0",
- "solid-ui": "^3.0.0"
+ "rdflib": "^2.3.5",
+ "solid-logic": "^4.0.2",
+ "solid-ui": "^3.0.3"
}
},
"node_modules/memfs": {
- "version": "4.50.0",
- "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.50.0.tgz",
- "integrity": "sha512-N0LUYQMUA1yS5tJKmMtU9yprPm6ZIg24yr/OVv/7t6q0kKDIho4cBbXRi1XKttUmNYDYgF/q45qrKE/UhGO0CA==",
+ "version": "4.56.10",
+ "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.56.10.tgz",
+ "integrity": "sha512-eLvzyrwqLHnLYalJP7YZ3wBe79MXktMdfQbvMrVD80K+NhrIukCVBvgP30zTJYEEDh9hZ/ep9z0KOdD7FSHo7w==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
+ "@jsonjoy.com/fs-core": "4.56.10",
+ "@jsonjoy.com/fs-fsa": "4.56.10",
+ "@jsonjoy.com/fs-node": "4.56.10",
+ "@jsonjoy.com/fs-node-builtins": "4.56.10",
+ "@jsonjoy.com/fs-node-to-fsa": "4.56.10",
+ "@jsonjoy.com/fs-node-utils": "4.56.10",
+ "@jsonjoy.com/fs-print": "4.56.10",
+ "@jsonjoy.com/fs-snapshot": "4.56.10",
"@jsonjoy.com/json-pack": "^1.11.0",
"@jsonjoy.com/util": "^1.9.0",
"glob-to-regex.js": "^1.0.1",
@@ -7646,6 +7901,9 @@
"funding": {
"type": "github",
"url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
"node_modules/merge-descriptors": {
@@ -8663,9 +8921,9 @@
}
},
"node_modules/postcss-selector-parser": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz",
- "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
+ "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8721,20 +8979,20 @@
"license": "MIT"
},
"node_modules/profile-pane": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/profile-pane/-/profile-pane-2.0.0.tgz",
- "integrity": "sha512-YOaG9Ep9IM05HjognsPenfPzjvgqnftQyieUY46ASxpp84VvPx8sPC8w4+jvms6gqtyRkf5+LRn/u32Fkvb1VQ==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/profile-pane/-/profile-pane-3.0.0.tgz",
+ "integrity": "sha512-LyX2WI7r41vwdFjA8MIshJyGbpccv2tXnrUeMLvqNhllhg9l7MfGt2Vk9YvlRLTeQ17sV6MPiSE2uSZgW8dYaw==",
"license": "MIT",
"dependencies": {
- "lit-html": "^3.2.1",
- "pane-registry": "^3.0.0",
+ "lit-html": "^3.3.2",
+ "pane-registry": "^3.0.1",
"qrcode": "^1.5.4",
"validate-color": "^2.2.4"
},
"peerDependencies": {
- "rdflib": "^2.3.0",
- "solid-logic": "^4.0.0",
- "solid-ui": "^3.0.0"
+ "rdflib": "^2.3.5",
+ "solid-logic": "^4.0.2",
+ "solid-ui": "^3.0.4"
}
},
"node_modules/prop-types": {
@@ -8909,37 +9167,6 @@
"node": ">= 0.8"
}
},
- "node_modules/raw-body/node_modules/http-errors": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
- "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "depd": "~2.0.0",
- "inherits": "~2.0.4",
- "setprototypeof": "~1.2.0",
- "statuses": "~2.0.2",
- "toidentifier": "~1.0.1"
- },
- "engines": {
- "node": ">= 0.8"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/express"
- }
- },
- "node_modules/raw-body/node_modules/statuses": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
- "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/rdf-canonize": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/rdf-canonize/-/rdf-canonize-5.0.0.tgz",
@@ -8969,9 +9196,9 @@
}
},
"node_modules/react": {
- "version": "19.2.0",
- "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz",
- "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==",
+ "version": "19.2.3",
+ "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz",
+ "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -8984,15 +9211,15 @@
"license": "MIT"
},
"node_modules/react-dom": {
- "version": "19.2.0",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz",
- "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==",
+ "version": "19.2.3",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz",
+ "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==",
"license": "MIT",
"dependencies": {
"scheduler": "^0.27.0"
},
"peerDependencies": {
- "react": "^19.2.0"
+ "react": "^19.2.3"
}
},
"node_modules/react-is": {
@@ -9479,25 +9706,25 @@
}
},
"node_modules/send": {
- "version": "0.19.0",
- "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
- "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
+ "version": "0.19.2",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz",
+ "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==",
"dev": true,
"license": "MIT",
"dependencies": {
"debug": "2.6.9",
"depd": "2.0.0",
"destroy": "1.2.0",
- "encodeurl": "~1.0.2",
+ "encodeurl": "~2.0.0",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
+ "fresh": "~0.5.2",
+ "http-errors": "~2.0.1",
"mime": "1.6.0",
"ms": "2.1.3",
- "on-finished": "2.4.1",
+ "on-finished": "~2.4.1",
"range-parser": "~1.2.1",
- "statuses": "2.0.1"
+ "statuses": "~2.0.2"
},
"engines": {
"node": ">= 0.8.0"
@@ -9520,16 +9747,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/send/node_modules/encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/serialize-javascript": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
@@ -9541,22 +9758,26 @@
}
},
"node_modules/serve-index": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
- "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==",
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.2.tgz",
+ "integrity": "sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "accepts": "~1.3.4",
+ "accepts": "~1.3.8",
"batch": "0.6.1",
"debug": "2.6.9",
"escape-html": "~1.0.3",
- "http-errors": "~1.6.2",
- "mime-types": "~2.1.17",
- "parseurl": "~1.3.2"
+ "http-errors": "~1.8.0",
+ "mime-types": "~2.1.35",
+ "parseurl": "~1.3.3"
},
"engines": {
"node": ">= 0.8.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
"node_modules/serve-index/node_modules/debug": {
@@ -9580,28 +9801,22 @@
}
},
"node_modules/serve-index/node_modules/http-errors": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==",
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
+ "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
"dev": true,
"license": "MIT",
"dependencies": {
"depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.0",
- "statuses": ">= 1.4.0 < 2"
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.1"
},
"engines": {
"node": ">= 0.6"
}
},
- "node_modules/serve-index/node_modules/inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
- "dev": true,
- "license": "ISC"
- },
"node_modules/serve-index/node_modules/mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
@@ -9632,13 +9847,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/serve-index/node_modules/setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
- "dev": true,
- "license": "ISC"
- },
"node_modules/serve-index/node_modules/statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
@@ -9650,16 +9858,16 @@
}
},
"node_modules/serve-static": {
- "version": "1.16.2",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
- "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
+ "version": "1.16.3",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz",
+ "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==",
"dev": true,
"license": "MIT",
"dependencies": {
"encodeurl": "~2.0.0",
"escape-html": "~1.0.3",
"parseurl": "~1.3.3",
- "send": "0.19.0"
+ "send": "~0.19.1"
},
"engines": {
"node": ">= 0.8.0"
@@ -9909,31 +10117,31 @@
"license": "MIT"
},
"node_modules/solid-panes": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/solid-panes/-/solid-panes-4.0.0.tgz",
- "integrity": "sha512-d05ajtDH1/2MeXK/A2eVdpGoyPNhjBGmYkWTXzgYKbTjFD188DMyt+vdasiiJ97mRC8s8pc4MhRPFOM9zFxJuw==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/solid-panes/-/solid-panes-4.1.0.tgz",
+ "integrity": "sha512-8X6TClAapBZZcYmRA7vESau1a0rHQV5mHrbAIx1OTfHjIh3sYj8RP3jq+4NA+AzW1sFUQ0vwBKlnpK9uzXIF+Q==",
"license": "MIT",
"dependencies": {
"@solid/better-simple-slideshow": "^0.1.0",
- "activitystreams-pane": "^1.0.0",
- "chat-pane": "^3.0.0",
- "contacts-pane": "^3.0.0",
- "dompurify": "^3.2.6",
- "folder-pane": "^3.0.0",
- "issue-pane": "^3.0.0",
- "marked": "^17.0.0",
- "meeting-pane": "^3.0.0",
- "mime-types": "^3.0.1",
- "pane-registry": "^3.0.0",
- "profile-pane": "^2.0.0",
+ "activitystreams-pane": "^1.0.1",
+ "chat-pane": "^3.0.1",
+ "contacts-pane": "^3.0.1",
+ "dompurify": "^3.3.1",
+ "folder-pane": "^3.0.1",
+ "issue-pane": "^3.0.1",
+ "marked": "^17.0.1",
+ "meeting-pane": "^3.0.1",
+ "mime-types": "^3.0.2",
+ "pane-registry": "^3.0.1",
+ "profile-pane": "^3.0.0",
"solid-namespace": "^0.5.4",
- "source-pane": "^3.0.0"
+ "source-pane": "^3.0.1"
}
},
"node_modules/solid-ui": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/solid-ui/-/solid-ui-3.0.3.tgz",
- "integrity": "sha512-lH6JjF1WvpBMhsyEmF+gvHXLFumnzO6bZGpvMbkdnsmNoBD3GMi8/BElz7hPNiX6Fubgya/s/ZykQm1NmXRdnQ==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/solid-ui/-/solid-ui-3.0.4.tgz",
+ "integrity": "sha512-WJt4LT+GC61ai85RFlv+fduLSTksd2CwqLUVQy+7vU2+CzybxbT/nn2pwLOVOoIWPXTN8kW9ZL1mVnxnr2ETtQ==",
"license": "MIT",
"dependencies": {
"@noble/curves": "^2.0.1",
@@ -9997,14 +10205,14 @@
}
},
"node_modules/source-pane": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/source-pane/-/source-pane-3.0.0.tgz",
- "integrity": "sha512-VCVWwiSJaWKyO+0FsA8o3hw8BRNZuX8umvKXYvb/2mWEX7FASFz7/f0RKAgUWamgNcZqI3kgYCud7CXmXwCtyg==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/source-pane/-/source-pane-3.0.1.tgz",
+ "integrity": "sha512-AcRmKM5u66QQafXCml1vqdYgzfnmJTqb26RRxMqVfOaZEV/aml1LcPDKQqA+X2qiNKPf/cyxpTbdRyO0nQB5gQ==",
"license": "MIT",
"peerDependencies": {
- "rdflib": "^2.3.0",
- "solid-logic": "^4.0.0",
- "solid-ui": "^3.0.0"
+ "rdflib": "^2.3.5",
+ "solid-logic": "^4.0.2",
+ "solid-ui": "^3.0.3"
}
},
"node_modules/spdy": {
@@ -10047,9 +10255,9 @@
"license": "BSD-3-Clause"
},
"node_modules/statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -10178,9 +10386,9 @@
}
},
"node_modules/terser": {
- "version": "5.44.1",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.1.tgz",
- "integrity": "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==",
+ "version": "5.46.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz",
+ "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
@@ -10415,9 +10623,9 @@
}
},
"node_modules/ts-api-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
- "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz",
+ "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -10832,9 +11040,9 @@
"license": "MIT"
},
"node_modules/watchpack": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz",
- "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==",
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz",
+ "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11181,9 +11389,9 @@
"license": "ISC"
},
"node_modules/which-typed-array": {
- "version": "1.1.19",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz",
- "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==",
+ "version": "1.1.20",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz",
+ "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11241,9 +11449,9 @@
"license": "ISC"
},
"node_modules/ws": {
- "version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
+ "version": "8.19.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz",
+ "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==",
"dev": true,
"license": "MIT",
"engines": {
diff --git a/package.json b/package.json
index f07c154a..5bd14129 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "mashlib",
- "version": "2.0.0",
+ "version": "2.1.0",
"description": "Data mashup library",
"main": "dist/mashlib.js",
"files": [
@@ -49,35 +49,41 @@
},
"homepage": "https://github.com/solidos/mashlib",
"dependencies": {
- "rdflib": "^2.3.3",
- "solid-logic": "^4.0.0",
- "solid-panes": "^4.0.0",
- "solid-ui": "^3.0.0"
+ "rdflib": "^2.3.5",
+ "solid-logic": "^4.0.2",
+ "solid-panes": "^4.1.0",
+ "solid-ui": "^3.0.4"
+ },
+ "overrides": {
+ "rdflib": "$rdflib",
+ "solid-logic": "$solid-logic",
+ "solid-panes": "$solid-panes",
+ "solid-ui": "$solid-ui"
},
"devDependencies": {
- "@babel/cli": "^7.28.0",
- "@babel/core": "^7.28.0",
- "@babel/plugin-transform-runtime": "^7.28.0",
- "@babel/preset-env": "^7.28.0",
- "@babel/preset-typescript": "^7.27.1",
- "@typescript-eslint/parser": "^8.39.0",
+ "@babel/cli": "^7.28.6",
+ "@babel/core": "^7.28.6",
+ "@babel/plugin-transform-runtime": "^7.28.5",
+ "@babel/preset-env": "^7.28.6",
+ "@babel/preset-typescript": "^7.28.5",
+ "@typescript-eslint/parser": "^8.54.0",
"@webpack-cli/serve": "^3.0.1",
"babel-loader": "^10.0.0",
"bundlesize2": "^0.0.35",
- "copy-webpack-plugin": "^13.0.0",
- "css-loader": "^7.1.2",
- "eslint": "^9.33.0",
+ "copy-webpack-plugin": "^13.0.1",
+ "css-loader": "^7.1.3",
+ "eslint": "^9.39.2",
"file-loader": "^6.2.0",
- "globals": "^17.0.0",
- "html-webpack-plugin": "^5.6.3",
- "mini-css-extract-plugin": "^2.9.4",
+ "globals": "^17.2.0",
+ "html-webpack-plugin": "^5.6.6",
+ "mini-css-extract-plugin": "^2.10.0",
"node-polyfill-webpack-plugin": "^4.1.0",
- "terser-webpack-plugin": "^5.3.14",
- "typescript": "^5.9.2",
+ "terser-webpack-plugin": "^5.3.16",
+ "typescript": "^5.9.3",
"url-loader": "^4.1.1",
- "webpack": "^5.101.0",
+ "webpack": "^5.104.1",
"webpack-cli": "^6.0.1",
- "webpack-dev-server": "^5.2.2"
+ "webpack-dev-server": "^5.2.3"
},
"bundlesize": [
{
diff --git a/src/databrowser.html b/src/databrowser.html
index fcd8a6cf..7bf893c0 100644
--- a/src/databrowser.html
+++ b/src/databrowser.html
@@ -9,13 +9,26 @@
})
-
-
-
-
-
+
+ Skip to main content
+
+
+
+
+
+
diff --git a/src/index.ts b/src/index.ts
index d0d11afe..320cdee7 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -2,11 +2,39 @@ import * as $rdf from 'rdflib'
import * as panes from 'solid-panes'
import { authn, solidLogicSingleton, authSession, store } from 'solid-logic'
import versionInfo from './versionInfo'
-import { mashStyle } from './styles/mashlib-style'
import './styles/mash.css'
const global: any = window
+// Theme Management
+const initializeTheme = () => {
+ const savedTheme = localStorage.getItem('mashlib-theme')
+ const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches
+ const theme = savedTheme || (prefersDark ? 'dark' : 'light')
+
+ if (theme === 'dark') {
+ document.documentElement.setAttribute('data-theme', 'dark')
+ } else {
+ document.documentElement.removeAttribute('data-theme')
+ }
+}
+
+const setTheme = (theme: 'light' | 'dark') => {
+ if (theme === 'dark') {
+ document.documentElement.setAttribute('data-theme', 'dark')
+ } else {
+ document.documentElement.removeAttribute('data-theme')
+ }
+ localStorage.setItem('mashlib-theme', theme)
+}
+
+const getTheme = (): 'light' | 'dark' => {
+ return document.documentElement.getAttribute('data-theme') === 'dark' ? 'dark' : 'light'
+}
+
+// Initialize theme on load
+initializeTheme()
+
global.$rdf = $rdf
global.panes = panes
global.SolidLogic = {
@@ -16,15 +44,15 @@ global.SolidLogic = {
solidLogicSingleton
}
global.mashlib = {
- versionInfo
+ versionInfo,
+ theme: {
+ set: setTheme,
+ get: getTheme,
+ init: initializeTheme
+ }
}
global.panes.runDataBrowser = function (uri?:string|$rdf.NamedNode|null) {
- document.getElementById('PageBody')?.setAttribute('style', mashStyle.dbLayout)
- document.getElementById('PageHeader')?.setAttribute('style', mashStyle.dbLayoutHeader)
- document.getElementById('PageFooter')?.setAttribute('style', mashStyle.dbLayoutFooter)
- document.getElementById('DummyUUID')?.setAttribute('style', mashStyle.dbLayoutContent)
-
// Set up cross-site proxy
const fetcher: any = $rdf.Fetcher
fetcher.crossSiteProxyTemplate = window.origin + '/xss/?uri={uri}'
diff --git a/src/styles/mash-utilities.css b/src/styles/mash-utilities.css
new file mode 100644
index 00000000..c29390bc
--- /dev/null
+++ b/src/styles/mash-utilities.css
@@ -0,0 +1,691 @@
+/*
+** ------SolidOS Utility Classes------
+** Reusable utility classes for layout, spacing, accessibility, and components
+*/
+
+/* ===========================================
+ ACCESSIBILITY UTILITIES (HIGH PRIORITY)
+ =========================================== */
+
+/* Screen reader only content - hidden visually but available to assistive tech */
+.sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ margin: -1px;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ white-space: nowrap;
+ border: 0;
+}
+
+/* Visually hidden but can become visible on focus */
+.visually-hidden {
+ position: absolute !important;
+ width: 1px !important;
+ height: 1px !important;
+ padding: 0 !important;
+ margin: -1px !important;
+ overflow: hidden !important;
+ clip: rect(0, 0, 0, 0) !important;
+ white-space: nowrap !important;
+ border: 0 !important;
+}
+
+.visually-hidden.focusable:focus,
+.visually-hidden.focusable:active {
+ position: static !important;
+ width: auto !important;
+ height: auto !important;
+ padding: inherit !important;
+ margin: inherit !important;
+ overflow: visible !important;
+ clip: auto !important;
+ white-space: inherit !important;
+}
+
+/* Minimum touch target for mobile accessibility (WCAG 2.5.5) */
+.min-touch-target {
+ min-height: var(--min-touch-target);
+ min-width: var(--min-touch-target);
+}
+
+/* Reduced motion support */
+.reduced-motion {
+ animation: none !important;
+ transition: none !important;
+}
+
+/* Focus ring utility */
+.focus-ring {
+ outline: var(--focus-ring-width) solid var(--color-primary);
+ outline-offset: var(--outline-offset-sm);
+}
+
+.no-focus-ring {
+ outline: none;
+}
+
+/* ARIA live regions - for dynamic content announcements */
+.live-region {
+ position: absolute;
+ left: -10000px;
+ width: 1px;
+ height: 1px;
+ overflow: hidden;
+}
+
+/* Skip links for keyboard navigation */
+ .skip-link {
+ position: absolute;
+ left: -999px;
+ top: auto;
+ width: 1px;
+ height: 1px;
+ overflow: hidden;
+}
+
+.skip-link:focus {
+ position: static;
+ width: auto;
+ height: auto;
+ padding: 0.5em 1em;
+ background: #005fcc;
+ color: #fff;
+ z-index: var(--z-index-skip-links);
+ outline: none;
+}
+
+/* ===========================================
+ LAYOUT UTILITIES
+ =========================================== */
+
+.flex {
+ display: flex;
+}
+
+.grid {
+ display: grid;
+}
+
+.center {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.flex-center {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.flex-column {
+ display: flex;
+ flex-direction: column;
+}
+
+.flex-column-center {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.flex-row {
+ display: flex;
+ flex-direction: row;
+}
+
+.flex-wrap {
+ flex-wrap: wrap;
+}
+
+.flex-1 {
+ flex: 1;
+}
+
+.justify-start {
+ justify-content: flex-start;
+}
+
+.justify-end {
+ justify-content: flex-end;
+}
+
+.justify-center {
+ justify-content: center;
+}
+
+.justify-between {
+ justify-content: space-between;
+}
+
+.align-start {
+ align-items: flex-start;
+}
+
+.align-end {
+ align-items: flex-end;
+}
+
+.align-center {
+ align-items: center;
+}
+
+/* ===========================================
+ SPACING UTILITIES
+ =========================================== */
+
+/* Gap utilities */
+.gap-xs { gap: var(--spacing-xs); }
+.gap-sm { gap: var(--spacing-sm); }
+.gap-md { gap: var(--spacing-md); }
+.gap-lg { gap: var(--spacing-lg); }
+.gap-xl { gap: var(--spacing-xl); }
+
+/* Margin top */
+.mt-0 { margin-top: 0; }
+.mt-xs { margin-top: var(--spacing-xs); }
+.mt-sm { margin-top: var(--spacing-sm); }
+.mt-md { margin-top: var(--spacing-md); }
+.mt-lg { margin-top: var(--spacing-lg); }
+.mt-xl { margin-top: var(--spacing-xl); }
+
+/* Margin bottom */
+.mb-0 { margin-bottom: 0; }
+.mb-xs { margin-bottom: var(--spacing-xs); }
+.mb-sm { margin-bottom: var(--spacing-sm); }
+.mb-md { margin-bottom: var(--spacing-md); }
+.mb-lg { margin-bottom: var(--spacing-lg); }
+.mb-xl { margin-bottom: var(--spacing-xl); }
+
+/* Margin left */
+.ml-0 { margin-left: 0; }
+.ml-xs { margin-left: var(--spacing-xs); }
+.ml-sm { margin-left: var(--spacing-sm); }
+.ml-md { margin-left: var(--spacing-md); }
+.ml-lg { margin-left: var(--spacing-lg); }
+
+/* Margin right */
+.mr-0 { margin-right: 0; }
+.mr-xs { margin-right: var(--spacing-xs); }
+.mr-sm { margin-right: var(--spacing-sm); }
+.mr-md { margin-right: var(--spacing-md); }
+.mr-lg { margin-right: var(--spacing-lg); }
+
+/* Margin horizontal (left + right) */
+.mx-auto { margin-left: auto; margin-right: auto; }
+.mx-xs { margin-left: var(--spacing-xs); margin-right: var(--spacing-xs); }
+.mx-sm { margin-left: var(--spacing-sm); margin-right: var(--spacing-sm); }
+.mx-md { margin-left: var(--spacing-md); margin-right: var(--spacing-md); }
+
+/* Margin vertical (top + bottom) */
+.my-xs { margin-top: var(--spacing-xs); margin-bottom: var(--spacing-xs); }
+.my-sm { margin-top: var(--spacing-sm); margin-bottom: var(--spacing-sm); }
+.my-md { margin-top: var(--spacing-md); margin-bottom: var(--spacing-md); }
+
+/* Padding */
+.p-0 { padding: 0; }
+.p-xs { padding: var(--spacing-xs); }
+.p-sm { padding: var(--spacing-sm); }
+.p-md { padding: var(--spacing-md); }
+.p-lg { padding: var(--spacing-lg); }
+.p-xl { padding: var(--spacing-xl); }
+
+/* Padding top */
+.pt-xs { padding-top: var(--spacing-xs); }
+.pt-sm { padding-top: var(--spacing-sm); }
+.pt-md { padding-top: var(--spacing-md); }
+.pt-lg { padding-top: var(--spacing-lg); }
+
+/* Padding bottom */
+.pb-xs { padding-bottom: var(--spacing-xs); }
+.pb-sm { padding-bottom: var(--spacing-sm); }
+.pb-md { padding-bottom: var(--spacing-md); }
+.pb-lg { padding-bottom: var(--spacing-lg); }
+
+/* Padding horizontal */
+.px-xs { padding-left: var(--spacing-xs); padding-right: var(--spacing-xs); }
+.px-sm { padding-left: var(--spacing-sm); padding-right: var(--spacing-sm); }
+.px-md { padding-left: var(--spacing-md); padding-right: var(--spacing-md); }
+.px-lg { padding-left: var(--spacing-lg); padding-right: var(--spacing-lg); }
+
+/* Padding vertical */
+.py-xs { padding-top: var(--spacing-xs); padding-bottom: var(--spacing-xs); }
+.py-sm { padding-top: var(--spacing-sm); padding-bottom: var(--spacing-sm); }
+.py-md { padding-top: var(--spacing-md); padding-bottom: var(--spacing-md); }
+.py-lg { padding-top: var(--spacing-lg); padding-bottom: var(--spacing-lg); }
+
+/* ===========================================
+ TEXT UTILITIES
+ =========================================== */
+
+.text-center { text-align: center; }
+.text-left { text-align: left; }
+.text-right { text-align: right; }
+
+.text-secondary { color: var(--color-text-secondary); }
+.text-muted { color: var(--color-text-muted); }
+.text-primary { color: var(--color-primary); }
+.text-error { color: var(--color-error); }
+.text-success { color: var(--color-success); }
+
+.text-bold { font-weight: var(--font-weight-bold); }
+.text-normal { font-weight: var(--font-weight-normal); }
+
+.text-sm { font-size: var(--font-size-sm); }
+.text-lg { font-size: var(--font-size-lg); }
+.text-xl { font-size: var(--font-size-xl); }
+
+/* Text that respects accessibility guidelines */
+.text-readable {
+ line-height: var(--line-height-base);
+ max-width: var(--max-width-readable);
+}
+
+.text-scale-friendly {
+ line-height: var(--line-height-base);
+ max-width: var(--max-width-readable-wide);
+}
+
+/* Text with minimum font size safety */
+.text-small {
+ font-size: max(var(--font-size-sm), var(--min-font-size));
+ line-height: var(--min-line-height);
+}
+
+.text-large {
+ font-size: var(--font-size-lg);
+ line-height: var(--line-height-base);
+}
+
+/* Text overflow handling */
+.text-truncate {
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+}
+
+.text-wrap-anywhere {
+ overflow-wrap: anywhere;
+ word-break: break-word;
+}
+
+.text-nowrap {
+ white-space: nowrap;
+}
+
+/* High contrast text for accessibility */
+.text-contrast-high {
+ color: var(--color-text);
+ font-weight: var(--font-weight-bold);
+}
+
+/* Better focus for text elements */
+.focusable-text:focus {
+ background-color: var(--color-primary-alpha-light);
+ outline: var(--focus-ring-width) solid var(--color-primary);
+ outline-offset: var(--outline-offset-sm);
+ border-radius: var(--outline-offset-sm);
+}
+
+/* High contrast box */
+.high-contrast {
+ color: var(--color-text);
+ background: var(--color-background);
+ border: var(--border-width-thin) solid var(--color-border-pale);
+}
+
+/* ===========================================
+ BORDER & SHADOW UTILITIES
+ =========================================== */
+
+.rounded { border-radius: var(--border-radius-full); }
+.rounded-sm { border-radius: var(--border-radius-base); }
+.rounded-lg { border-radius: var(--border-radius-lg); }
+.rounded-none { border-radius: 0; }
+
+.shadow { box-shadow: var(--box-shadow); }
+.shadow-sm { box-shadow: var(--box-shadow-sm); }
+.shadow-none { box-shadow: none; }
+
+.border { border: var(--border-width-thin) solid var(--color-border); }
+.border-dark { border: var(--border-width-thin) solid var(--color-border-dark); }
+.border-light { border: var(--border-width-thin) solid var(--color-border-light); }
+.border-none { border: none; }
+
+/* ===========================================
+ BACKGROUND UTILITIES
+ =========================================== */
+
+.bg-primary {
+ background: var(--color-primary);
+ color: var(--color-background);
+}
+
+.bg-card {
+ background: var(--color-card-bg);
+}
+
+.bg-section {
+ background: var(--color-section-bg);
+}
+
+.bg-transparent {
+ background: transparent;
+}
+
+.bg-white {
+ background: var(--color-background);
+}
+
+/* ===========================================
+ BUTTON COMPONENTS
+ =========================================== */
+
+/* Primary button */
+.btn-primary {
+ min-height: var(--min-touch-target);
+ padding: var(--spacing-sm) var(--spacing-md);
+ border: var(--border-width-thin) solid var(--color-primary);
+ border-radius: var(--border-radius-base);
+ background: var(--color-primary);
+ color: var(--color-background);
+ font-weight: var(--font-weight-bold);
+ cursor: pointer;
+ transition: all var(--animation-duration) ease;
+ text-decoration: none;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.btn-primary:hover {
+ background: color-mix(in srgb, var(--color-primary) 85%, black);
+ box-shadow: 0 2px 4px var(--color-primary-alpha);
+}
+
+.btn-primary:active {
+ box-shadow: 0 1px 2px var(--color-primary-alpha);
+}
+
+.btn-primary:focus,
+.btn-primary:focus-visible {
+ outline: var(--focus-indicator-width) solid var(--color-primary);
+ outline-offset: var(--outline-offset-sm);
+ box-shadow: 0 0 0 var(--focus-ring-width) var(--color-background), 0 0 0 calc(var(--focus-ring-width) + var(--focus-indicator-width)) var(--color-primary-alpha);
+}
+
+.btn-primary:disabled {
+ opacity: var(--opacity-disabled);
+ cursor: not-allowed;
+ transform: none;
+}
+
+/* Secondary button */
+.btn-secondary {
+ min-height: var(--min-touch-target);
+ padding: var(--spacing-sm) var(--spacing-md);
+ border: var(--border-width-thin) solid var(--color-secondary);
+ border-radius: var(--border-radius-base);
+ background: var(--color-secondary);
+ color: var(--color-background);
+ font-weight: var(--font-weight-bold);
+ cursor: pointer;
+ transition: all var(--animation-duration) ease;
+ text-decoration: none;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.btn-secondary:hover {
+ background: color-mix(in srgb, var(--color-secondary) 85%, black);
+}
+
+.btn-secondary:disabled {
+ opacity: var(--opacity-disabled);
+ cursor: not-allowed;
+}
+
+/* Outline button */
+.btn-outline {
+ min-height: var(--min-touch-target);
+ padding: var(--spacing-sm) var(--spacing-md);
+ border: var(--border-width-medium) solid var(--color-primary);
+ border-radius: var(--border-radius-base);
+ background: transparent;
+ color: var(--color-primary);
+ font-weight: var(--font-weight-bold);
+ cursor: pointer;
+ transition: all var(--animation-duration) ease;
+ text-decoration: none;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.btn-outline:hover {
+ background: var(--color-primary);
+ color: var(--color-background);
+}
+
+.btn-outline:disabled {
+ opacity: var(--opacity-disabled);
+ cursor: not-allowed;
+}
+
+/* Transparent button (for solid-ui integration) */
+.btn-transparent {
+ background-color: transparent;
+ border: none;
+ cursor: pointer;
+}
+
+.btn-transparent:hover {
+ background-color: var(--color-hover-bg);
+}
+
+/* Button focus state */
+.action-button-focus:focus,
+.action-button-focus:focus-visible {
+ outline: var(--focus-indicator-width) solid var(--color-primary) !important;
+ outline-offset: var(--outline-offset-sm) !important;
+ box-shadow: 0 0 0 var(--focus-ring-width) var(--color-background), 0 0 0 calc(var(--focus-ring-width) + var(--focus-indicator-width)) var(--color-primary-alpha) !important;
+ z-index: 1;
+}
+
+/* ===========================================
+ CARD & SECTION COMPONENTS
+ =========================================== */
+
+.module-card {
+ background: var(--color-card-bg);
+ border-radius: var(--border-radius-full);
+ box-shadow: var(--box-shadow);
+ padding: var(--spacing-lg);
+ margin-bottom: var(--spacing-lg);
+ width: 100%;
+ max-width: 100%;
+ box-sizing: border-box;
+}
+
+.module-header {
+ text-align: center;
+ margin-bottom: var(--spacing-md);
+}
+
+.section-centered {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.section-bg {
+ background: var(--color-section-bg);
+ border-radius: var(--border-radius-full);
+ box-shadow: var(--box-shadow);
+ padding: var(--spacing-md);
+}
+
+.section-title {
+ font-size: var(--font-size-xl);
+ font-weight: var(--font-weight-bold);
+ color: var(--color-primary);
+ margin: 0;
+}
+
+/* ===========================================
+ LIST & TABLE UTILITIES
+ =========================================== */
+
+.list-reset {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+}
+
+.zebra-stripe tr:nth-child(even),
+.zebra-stripe > *:nth-child(even) {
+ background-color: var(--color-zebra-stripe);
+}
+
+/* ===========================================
+ DISPLAY & VISIBILITY UTILITIES
+ =========================================== */
+
+.block { display: block; }
+.inline { display: inline; }
+.inline-block { display: inline-block; }
+.hidden { display: none; }
+.visible { visibility: visible; }
+.invisible { visibility: hidden; }
+
+/* ===========================================
+ WIDTH & HEIGHT UTILITIES
+ =========================================== */
+
+.w-full { width: 100%; }
+.w-auto { width: auto; }
+.h-full { height: 100%; }
+.h-auto { height: auto; }
+.max-w-full { max-width: 100%; }
+
+/* ===========================================
+ POSITION UTILITIES
+ =========================================== */
+
+.relative { position: relative; }
+.absolute { position: absolute; }
+.fixed { position: fixed; }
+.sticky { position: sticky; }
+
+/* ===========================================
+ LOADING & STATUS INDICATORS
+ =========================================== */
+
+.loading-text {
+ color: var(--color-primary);
+ text-align: center;
+ margin: var(--spacing-md) 0;
+}
+
+.loading-spinner {
+ width: var(--min-touch-target);
+ height: var(--min-touch-target);
+ border: var(--focus-indicator-width) solid var(--color-border-pale);
+ border-top: var(--focus-indicator-width) solid var(--color-primary);
+ border-radius: var(--border-radius-full);
+ animation: spin var(--animation-duration-slow) linear infinite;
+}
+
+@keyframes spin {
+ 0% { transform: rotate(0deg); }
+ 100% { transform: rotate(360deg); }
+}
+
+/* ===========================================
+ ARIA ROLE STYLING
+ =========================================== */
+
+[role="alert"] {
+ padding: var(--spacing-md);
+ border: var(--border-width-medium) solid var(--color-error);
+ border-radius: var(--border-radius-base);
+ background-color: var(--color-primary-alpha-light);
+ margin: var(--spacing-md) 0;
+}
+
+[role="status"] {
+ padding: var(--spacing-md);
+ border: var(--border-width-medium) solid var(--color-success);
+ border-radius: var(--border-radius-base);
+ background-color: var(--color-success-alpha);
+ margin: var(--spacing-md) 0;
+}
+
+/* ===========================================
+ FOCUS TRAP FOR MODALS
+ =========================================== */
+
+.focus-trap {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ z-index: var(--z-index-modal);
+ background: var(--overlay-bg);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+/* ===========================================
+ MEDIA QUERIES
+ =========================================== */
+
+/* Respect reduced motion preferences */
+@media (prefers-reduced-motion: reduce) {
+ .loading-spinner {
+ animation: none;
+ border-top-color: var(--color-primary);
+ }
+
+ *,
+ *::before,
+ *::after {
+ animation-duration: 0.01ms !important;
+ animation-iteration-count: 1 !important;
+ transition-duration: 0.01ms !important;
+ }
+}
+
+/* High contrast mode support */
+@media (prefers-contrast: high) {
+ .btn-primary,
+ .btn-secondary,
+ .btn-outline {
+ border-width: var(--border-width-medium);
+ }
+
+ .module-card,
+ .section-bg {
+ border: var(--border-width-medium) solid var(--color-border-dark);
+ }
+}
+
+/* Mobile minimum font size */
+@media screen and (max-width: 768px) {
+ html {
+ font-size: max(16px, 1rem);
+ }
+}
+
+/* Smooth scroll when no motion preference */
+@media (prefers-reduced-motion: no-preference) {
+ html {
+ scroll-behavior: smooth;
+ }
+}
diff --git a/src/styles/mash.css b/src/styles/mash.css
index 5d1d971c..4a331aaf 100644
--- a/src/styles/mash.css
+++ b/src/styles/mash.css
@@ -1,25 +1,90 @@
-/* Some common style for the Solid Data Browser
-**
-**
-** Do NOT use physical measures, but font-relative measures.
-** 2006-10-21 timbl converted px to em at approx 1em = 12px
+/*
+** ------SolidOS Styles------
**
*/
-
-/* If you need style in a pane, insert it in the dom (2016)*/
+@import url("./themes.css");
+@import url("./mash-utilities.css");
/* I couldn't find the code for the collapse image. this is a quick work around
to make the collapsing easier to use ( the triangles dont jump 20 pixels). ~cm2
*/
-img[title="Hide details."]{ float:left }
+img[title="Hide details."] {
+ float: left;
+}
+
+html, body {
+ margin: 0;
+ padding: 0;
+ font-family: var(--font-family-base);
+ font-size: var(--font-size-base);
+ line-height: var(--line-height-base);
+ background: var(--color-background);
+ color: var(--color-text);
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ text-rendering: optimizeLegibility;
+}
+
+/* Improved heading hierarchy */
+h1, h2, h3, h4, h5, h6 {
+ color: var(--color-primary);
+ font-weight: 600;
+ line-height: var(--line-height-tight);
+ margin-top: 0;
+ margin-bottom: var(--spacing-sm);
+}
+
+h1 { font-size: 2em; } /* 32px */
+h2 { font-size: 1.5em; } /* 24px */
+h3 { font-size: 1.25em; } /* 20px */
+h4 { font-size: 1.125em; }/* 18px */
+h5, h6 { font-size: 1em; }/* 16px */
+
+/* Better paragraph spacing */
+p {
+ margin-bottom: var(--spacing-md);
+ line-height: var(--line-height-base);
+ max-width: 65ch; /* Optimal reading width */
+}
+
+/* Improved link accessibility */
+a {
+ color: var(--color-primary);
+ text-decoration: underline;
+ text-underline-offset: 0.125em;
+ text-decoration-thickness: 0.0625em;
+}
+
+a:hover, a:focus {
+ text-decoration-thickness: 0.125em;
+}
-html { height: 100%; line-height:1.15 }
-body { height: 100%; background-color: white ; font-family: sans-serif } /* was: font-size: 80%; */
+/* Main page elements in databrowser.html */
+#PageBody {
+ display: flex;
+ flex-direction: column;
+}
+#DummyUUID {
+ flex: 1 0 auto;
+}
+#PageHeader {
+ flex-shrink: 0;
+}
+#PageFooter {
+ flex-shrink: 0;
+}
-.warning { color: red; }
-.selected { background-color: #8F3 }
+.warning {
+ color: var(--color-warning);
+}
+.selected {
+ background-color: var(--color-selected-bg);
+}
-.licOkay { background-color: #dfd }
+/* used in profile-pane as success button */
+.licOkay {
+ background-color: var(--color-success-bg);
+}
/*
** other potential colors for CC:
@@ -28,24 +93,50 @@ body { height: 100%; background-color: white ; font-family: sans-serif } /* was
** #ccff99, mit page color
*/
-strong { font-size: 120%; color: #333; font-weight: bold; }
-div.Outliner { margin-top: 2em; padding: 0.8em; }
-form#TabulateForm { padding: 0.8em }
-div#addViewForm { padding: 0.8em }
-iframe { background: white }
+strong {
+ font-size: 120%;
+ color: var(--color-text);
+ font-weight: bold;
+}
+div.Outliner {
+ margin-top: 2em;
+ padding: 0.8em;
+}
+form#TabulateForm {
+ padding: 0.8em;
+}
+div#addViewForm {
+ padding: 0.8em;
+}
+iframe {
+ background: var(--color-iframe-bg);
+}
/* Map */
-img.pic { max-height: 20em }
+img.pic {
+ max-height: 20em;
+}
/* Sources */
-.fetched { background-color: #eeffee }
-.requested { background-color: yellow }
-.failed { color: red; background-color: white }
-.unparseable { background-color: #ffcc00; }
+.fetched {
+ background-color: var(--color-fetch-bg);
+}
+.requested {
+ background-color: var(--color-request-bg);
+}
+.failed {
+ color: var(--color-warning);
+ background-color: var(--color-error-bg);
+}
+.unparseable {
+ background-color: var(--color-unparseable-bg);
+}
-pre#status { font-size: 100% }
+pre#status {
+ font-size: 100%;
+}
/* Panes */
/*
@@ -62,13 +153,13 @@ div.instancePane {
/* ***************** For the Justification UI Panes **********/
div.container {
-border-top: solid 5px black;
-border-left: solid 5px black;
-border-bottom: solid 5px black;
-border-right: solid 5px black;
-margin-top: 0.5em;
-margin-bottom: 0.5em;
-border-radius: 0.75em;
+ border-top: solid 5px var(--color-container-border);
+ border-left: solid 5px var(--color-container-border);
+ border-bottom: solid 5px var(--color-container-border);
+ border-right: solid 5px var(--color-container-border);
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ border-radius: 0.75em;
}
/*
div.nonCompliantPane {
@@ -94,136 +185,209 @@ div.compliantPane {
}
*/
div.justification {
-font-size: 100%;
-padding: 0 5px;
-width: 80%; /* @@ Don't use pixels -- use em */
-background-color: white;
-margin-top: 0.5em; margin-bottom: 0.5em;
+ font-size: 100%;
+ padding: 0 5px;
+ width: 80%; /* @@ Don't use pixels -- use em */
+ background-color: var(--color-background);
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
}
-
div.description {
-font-size: 120%;
-border-top: solid 1px yellow;
-border-left: solid 1px yellow;
-border-bottom: solid 1px yellow;
-border-right: solid 1px yellow;
-padding: 15px;
-width: 100%;
-background-color: #ffffdd;
-margin-top: 0.5em;
-margin-bottom: 0.5em;
-margin-left: 0.5em;
-margin-right: 0.5em;
-border-radius: 0.75em;
-position:relative;
-left:0%
+ font-size: 120%;
+ border-top: solid 1px var(--color-alert-border);
+ border-left: solid 1px var(--color-alert-border);
+ border-bottom: solid 1px var(--color-alert-border);
+ border-right: solid 1px var(--color-alert-border);
+ padding: 15px;
+ width: 100%;
+ background-color: var(--color-alert-bg);
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ margin-left: 0.5em;
+ margin-right: 0.5em;
+ border-radius: 0.75em;
+ position: relative;
+ left: 0%;
}
div.premises {
-font-size: 100%;
-border-top: solid 1px #3399ff;
-border-left: solid 1px #3399ff;
-border-bottom: solid 1px #3399ff;
-border-right: solid 1px #3399ff;
-padding: 0.5px;
-width: 100%;
-background-color: #ccccff;
-margin-top: 0.5em;
-margin-bottom: 0.5em;
-margin-left: 0.5em;
-margin-right: 0.5em;
-border-radius: 0.75em;
-position:relative;
-left:0% /*May be we could shift the left margin a bit?*/
+ font-size: 100%;
+ border-top: solid 1px var(--color-info-border);
+ border-left: solid 1px var(--color-info-border);
+ border-bottom: solid 1px var(--color-info-border);
+ border-right: solid 1px var(--color-info-border);
+ padding: 0.5px;
+ width: 100%;
+ background-color: var(--color-info-bg);
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ margin-left: 0.5em;
+ margin-right: 0.5em;
+ border-radius: 0.75em;
+ position: relative;
+ left: 0%; /*May be we could shift the left margin a bit?*/
}
/* ***************** Social Pane **********/
div.socialPane {
-border-top: solid 1px #777; border-bottom: solid 1px #777;
-padding-top: 0.5em; padding-bottom: 0.5em;
-margin: 0 }
-
-img.foafPic { width: 100% ; border: none; margin: 0; padding: 0;
-/*float:right; */}
+ border-top: solid 1px var(--color-border-dark);
+ border-bottom: solid 1px var(--color-border-dark);
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
+ margin: 0;
+}
+img.foafPic {
+ width: 100%;
+ border: none;
+ margin: 0;
+ padding: 0;
+ /*float:right; */
+}
div.mildNotice {
-border: dashed 0.1em #777; margin: 1em; padding: 1em;
-width: 80%; /* float: right; */
-background-color: #ffe; }
-
-.friendBox { /* height: 4em; */ border-top: solid 0.01em #ccc; margin: 0; padding: 0.3em;
-/* float: left; */}
-.friendBoxBig { height: 20em; border-top: solid 0.01em #202; /* float: left; */}
-
-.socialPane a { color: #3B5998; text-decoration: none; font-weight: bold}
-.socialPane a:link { color: #3B5998; text-decoration: none; font-weight: bold}
-.socialPane a:visited { color: #3B5998; text-decoration: none; font-weight: bold}
-.socialPane a:hover { color: #3B5998; text-decoration: underline; font-weight: bold}
-.socialPane a:active { color: #888; text-decoration: none; }
-
-img.foafThumb { height: 3em ; border: 0px; margin: 0.1em; padding: 0.1em;
-vertical-align: middle;
+ border: dashed 0.1em var(--color-border-dark);
+ margin: 1em;
+ padding: 1em;
+ width: 80%; /* float: right; */
+ background-color: var(--color-mild-notice-bg);
+}
+
+.friendBox {
+ /* height: 4em; */
+ border-top: solid 0.01em var(--color-border);
+ margin: 0;
+ padding: 0.3em;
+ /* float: left; */
+}
+.friendBoxBig {
+ height: 20em;
+ border-top: solid 0.01em var(--color-text-dark-gray); /* float: left; */
+}
+
+.socialPane a {
+ color: var(--color-text-link);
+ text-decoration: none;
+ font-weight: bold;
+}
+.socialPane a:link {
+ color: var(--color-text-link);
+ text-decoration: none;
+ font-weight: bold;
+}
+.socialPane a:visited {
+ color: var(--color-text-link-visited);
+ text-decoration: none;
+ font-weight: bold;
+}
+.socialPane a:hover {
+ color: var(--color-text-link-hover);
+ text-decoration: underline;
+ font-weight: bold;
+}
+.socialPane a:active {
+ color: var(--color-text-link-active);
+ text-decoration: none;
+}
+
+img.foafThumb {
+ height: 3em;
+ border: 0px;
+ margin: 0.1em;
+ padding: 0.1em;
+ vertical-align: middle;
} /* Thumbnail of a fiend etc */
-.friendBox .confirmed { font-weight: bold; }
+.friendBox .confirmed {
+ font-weight: bold;
+}
-table.inputForm { font-size: 100% }
+table.inputForm {
+ font-size: 100%;
+}
.mainBlock {
-background: #fff;
-color: #000;
-float: left;
-width: 46%;
-margin: 0;
-border-left: 1px solid #ccc;
-border-right: 1px solid #ccc;
-border-bottom: 1px solid #ccc;
-padding: 0;
+ background: var(--color-main-block-bg);
+ color: var(--color-text);
+ float: left;
+ width: 46%;
+ margin: 0;
+ border-left: 1px solid var(--color-border);
+ border-right: 1px solid var(--color-border);
+ border-bottom: 1px solid var(--color-border);
+ padding: 0;
}
.navBlock {
-background-color: #eee;
-float: left;
-width: 25%;
-border: 0;
-padding: 0.5em;
-margin: 0;
+ background-color: var(--color-nav-block-bg);
+ float: left;
+ width: 25%;
+ border: 0;
+ padding: 0.5em;
+ margin: 0;
}
.navBlock .navSection {
-border: solid 0.05em gray;
-padding: 0.5em;
-border-radius: 0.5em; /* CSS3: border-radius: .4em; */
+ border: solid 0.05em var(--color-nav-block-border);
+ padding: 0.5em;
+ border-radius: 0.5em; /* CSS3: border-radius: .4em; */
}
-div.socialPane h2 { color: #202 }
-div.socialPane h3 { color: #202 }
+div.socialPane h2 {
+ color: var(--color-text-dark-gray);
+}
+div.socialPane h3 {
+ color: var(--color-text-dark-gray);
+}
div.social_linkButton {
-width: 80%;
-background-color: #fff;
-border: solid 0.05em #ccc;
-margin-top: 0.1em; margin-bottom: 0.1em;
-padding: 0.1em;
-text-align: center;
+ width: 80%;
+ background-color: var(--color-background);
+ border: solid 0.05em var(--color-border);
+ margin-top: 0.1em;
+ margin-bottom: 0.1em;
+ padding: 0.1em;
+ text-align: center;
}
/* For question-and-answer stuff for new web id but quite reusable.
*/
-.answer { font-style: italic; color: #00c; text-decoration: underline; }
-.tip { font-style: normal; color: #333; margin: 1em;}
-.task { font-style: normal; color: #333; margin: 1em;
-background-color: #ffe; padding: 1em;
-border-radius: 1em; /* CSS3: border-radius: 1em; */
-}
-.success {background-color: #efe }
-.failure {background-color: white ; border: 0.5em red}
-div.unknown { display:none }
-div.yes > div.negative { display: none }
-div.no > div.affirmative { display: none }
+.answer {
+ font-style: italic;
+ color: var(--color-text-answer);
+ text-decoration: underline;
+}
+.tip {
+ font-style: normal;
+ color: var(--color-text);
+ margin: 1em;
+}
+.task {
+ font-style: normal;
+ color: var(--color-text);
+ margin: 1em;
+ background-color: var(--color-mild-notice-bg);
+ padding: 1em;
+ border-radius: 1em; /* CSS3: border-radius: 1em; */
+}
+.success {
+ background-color: var(--color-success-bg);
+}
+.failure {
+ background-color: var(--color-failure-bg);
+ border: 0.5em var(--color-failure-border);
+}
+div.unknown {
+ display: none;
+}
+div.yes > div.negative {
+ display: none;
+}
+div.no > div.affirmative {
+ display: none;
+}
/******************* Exception Pane ********
**
@@ -231,228 +395,301 @@ div.no > div.affirmative { display: none }
** throws an exception
**/
-div.exceptionPane pre { background-color: #fee; }
-
-
+div.exceptionPane pre {
+ background-color: var(--color-error-notice-bg);
+}
/******************* Category Pane *********/
-.categoryPane a { color: #3B5998; text-decoration: none; font-weight: bold}
-.categoryPane a:link { color: #3B5998; text-decoration: none; font-weight: bold}
-.categoryPane a:visited { color: #3B5998; text-decoration: none; font-weight: bold}
-.categoryPane a:hover { color: #3B5998; text-decoration: underline; font-weight: bold}
-.categoryPane a:active { color: #888; text-decoration: none; }
+.categoryPane a {
+ color: var(--color-text-link);
+ text-decoration: none;
+ font-weight: bold;
+}
+.categoryPane a:link {
+ color: var(--color-text-link);
+ text-decoration: none;
+ font-weight: bold;
+}
+.categoryPane a:visited {
+ color: var(--color-text-link-visited);
+ text-decoration: none;
+ font-weight: bold;
+}
+.categoryPane a:hover {
+ color: var(--color-text-link-hover);
+ text-decoration: underline;
+ font-weight: bold;
+}
+.categoryPane a:active {
+ color: var(--color-text-link-active);
+ text-decoration: none;
+}
-.categoryBottomClass { background-color: #efe ; border: 0.1em solid green }
+.categoryBottomClass {
+ background-color: var(--color-category-class-bg);
+ border: 0.1em solid var(--color-category-class-border);
+}
-.categoryTable { padding-left: 2em;}
-.categoryPane { background-color: #f8fff8; padding: 0.5em;
-border-width: 0.1em; border-color: #777777;
-border-radius: 1em; /* CSS3: border-radius: .4em; */ }
+.categoryTable {
+ padding-left: 2em;
+}
+.categoryPane {
+ background-color: var(--color-category-bg);
+ padding: 0.5em;
+ border-width: 0.1em;
+ border-color: var(--color-category-border);
+ border-radius: 1em; /* CSS3: border-radius: .4em; */
+}
-.categoryPane a.categoryWhy { color: #ddd}
-.categoryPane a.categoryWhy:link { color: #ddd; text-decoration: none; font-weight: bold}
-.categoryPane a.categoryWhy:visited { color: #ddd; text-decoration: none; font-weight: bold}
-.categoryPane a.categoryWhy:hover { color: #3B5998; text-decoration: underline; font-weight: bold}
-.categoryPane a.categoryWhy:active { color: #ddd; text-decoration: none; }
+.categoryPane a.categoryWhy {
+ color: var(--color-border-pale);
+}
+.categoryPane a.categoryWhy:link {
+ color: var(--color-border-pale);
+ text-decoration: none;
+ font-weight: bold;
+}
+.categoryPane a.categoryWhy:visited {
+ color: var(--color-border-pale);
+ text-decoration: none;
+ font-weight: bold;
+}
+.categoryPane a.categoryWhy:hover {
+ color: var(--color-text-link-hover);
+ text-decoration: underline;
+ font-weight: bold;
+}
+.categoryPane a.categoryWhy:active {
+ color: var(--color-border-pale);
+ text-decoration: none;
+}
-.categoryPane a.categoryWhy { color:grey }
+.categoryPane a.categoryWhy {
+ color: grey;
+}
/* a.categoryWhy:hover { color: #3B5998 } */
-
/******************* PubsPane *********/
.pubsPane {
-background-color: #F2F6DA;
-border-width: 0.1em;
-border-color: #777777;
-border-radius: 1em; /* CSS3: border-radius: .4em; */
-padding: 1em;
+ background-color: var(--color-pubs-pane-bg);
+ border-width: 0.1em;
+ border-color: var(--color-pubs-pane-border);
+ border-radius: 1em; /* CSS3: border-radius: .4em; */
+ padding: 1em;
-text-decoration: none;
-font-weight: bold;
+ text-decoration: none;
+ font-weight: bold;
}
.pubsPane h2 {
-margin: 0;
-padding: 0;
+ margin: 0;
+ padding: 0;
}
.pubsPane form {
-padding-left: 1em;
+ padding-left: 1em;
}
/*Clear both - start things on individula lines */
.pubsRow {
-margin: 0.5em 3em 0.5em 0em;
-clear: both;
+ margin: 0.5em 3em 0.5em 0em;
+ clear: both;
}
/*inputs float right to line up */
.pubsRow input {
-float: right;
-width: 20em;
-height: 1em;
+ float: right;
+ width: 20em;
+ height: 1em;
}
#inpid_book_description {
-float: right;
-height: 8em;
-width: 17em;
+ float: right;
+ height: 8em;
+ width: 17em;
}
.pubsRow button {
-float: left;
-height: 2em;
-padding: 0.5em;
-margin: 0.5em;
+ float: left;
+ height: 2em;
+ padding: 0.5em;
+ margin: 0.5em;
}
-.hideit
-{
-display: none;
+.hideit {
+ display: none;
}
.active {
-/* display: visible; */
+ /* display: visible; */
}
.submitRow {
-clear: both;
-height: 5em;
+ clear: both;
+ height: 5em;
}
.submitRow button {
-width: 7em;
-height: 100%;
+ width: 7em;
+ height: 100%;
}
#buttonid {
-display: none;
+ display: none;
}
-#buttonid.active{
-display: inline;
+#buttonid.active {
+ display: inline;
}
-
-
-
/******************* CV Pane *****************/
.CVclass {
-background-color: LightSkyBlue;
+ background-color: var(--color-cv-pane-bg);
}
/******************* Data Content Pane *****************/
div.dataContentPane {
-border-top: solid 1px black;
-border-left: solid 1px black;
-border-bottom: solid 1px #777;
-border-right: solid 1px #777;
-padding: 0.5em; /* color: #404; */
-margin-top: 0.5em; margin-bottom: 0.5em;
+ border-top: solid 1px var(--color-data-pane-border-top);
+ border-left: solid 1px var(--color-data-pane-border-top);
+ border-bottom: solid 1px var(--color-data-pane-border-side);
+ border-right: solid 1px var(--color-data-pane-border-side);
+ padding: 0.5em; /* color: #404; */
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
}
.nestedFormula {
-border-top: solid 1px black;
-border-left: solid 1px black;
-border-bottom: solid 1px #777;
-border-right: solid 1px #777;
-padding: 0.5em;
-border-radius: 0.5em;
+ border-top: solid 1px var(--color-data-pane-border-top);
+ border-left: solid 1px var(--color-data-pane-border-top);
+ border-bottom: solid 1px var(--color-data-pane-border-side);
+ border-right: solid 1px var(--color-data-pane-border-side);
+ padding: 0.5em;
+ border-radius: 0.5em;
}
div.dataContentPane td {
-padding-left: 0.2em;
-padding-top: 0.1em;
-padding-right: 0.2em;
-padding-bottom: 0.05em;
-/* vertical-align: middle; /*@@ Lalana's request*/
-vertical-align: top; /*@@ Tims's request*/
-/* With middel, you can't tell what is with what */
-/* background-color: white; */
+ padding-left: 0.2em;
+ padding-top: 0.1em;
+ padding-right: 0.2em;
+ padding-bottom: 0.05em;
+ /* vertical-align: middle; /*@@ Lalana's request*/
+ vertical-align: top; /*@@ Tims's request*/
+ /* With middel, you can't tell what is with what */
+ /* background-color: white; */
}
div.dataContentPane tr {
-margin-bottom: 0.6em;
-padding-top: 1em;
-padding-bottom: 1em;
-
+ margin-bottom: 0.6em;
+ padding-top: 1em;
+ padding-bottom: 1em;
}
-.dataContentPane a { color: #3B5998; text-decoration: none; font-weight: bold}
-.dataContentPane a:link { color: #3B5998; text-decoration: none; font-weight: bold}
-.dataContentPane a:visited { color: #3B5998; text-decoration: none; font-weight: bold}
-.dataContentPane a:hover { color: #3B5998; text-decoration: underline; font-weight: bold}
-.dataContentPane a:active { color: #888; text-decoration: none; }
+.dataContentPane a {
+ color: var(--color-text-link);
+ text-decoration: none;
+ font-weight: bold;
+}
+.dataContentPane a:link {
+ color: var(--color-text-link);
+ text-decoration: none;
+ font-weight: bold;
+}
+.dataContentPane a:visited {
+ color: var(--color-text-link-visited);
+ text-decoration: none;
+ font-weight: bold;
+}
+.dataContentPane a:hover {
+ color: var(--color-text-link-hover);
+ text-decoration: underline;
+ font-weight: bold;
+}
+.dataContentPane a:active {
+ color: var(--color-text-link-active);
+ text-decoration: none;
+}
-.dataContentPane.embeddedText { white-space: pre-wrap;}
-.dataContentPane.embeddedXHTML {}
+.dataContentPane.embeddedText {
+ white-space: pre-wrap;
+}
+.dataContentPane.embeddedXHTML {
+}
/* div.dataContentPane a { text-decoration: none; color: #006} /* Only very slightly blue */
-div.dataContentPane td.pred { min-width: 12em } /* Keep aligned with others better */
-div.dataContentPane td.pred a { color: #444 } /* Greyish as form field names have less info value */
+div.dataContentPane td.pred {
+ min-width: 12em;
+} /* Keep aligned with others better */
+div.dataContentPane td.pred a {
+ color: var(--color-text-muted);
+} /* Greyish as form field names have less info value */
/* .collectionAsTables {border-right: green 1px; margin: 0.2em;} */
-
-
div.n3Pane {
-padding: 1em;
-border-top: solid 1px black;
-border-left: solid 1px black;
-border-bottom: solid 1px #777;
-border-right: solid 1px #777;
-color: #004;
+ padding: 1em;
+ border-top: solid 1px var(--color-data-pane-border-top);
+ border-left: solid 1px var(--color-data-pane-border-top);
+ border-bottom: solid 1px var(--color-data-pane-border-side);
+ border-right: solid 1px var(--color-data-pane-border-side);
+ color: var(--color-text-blue);
}
-.imageView { border: 1em white; margin: 1em; }
+.imageView {
+ border: 1em var(--color-background);
+ margin: 1em;
+}
-.n3Pane pre { font-size: 120%; }
-div.n3Pane { }
+.n3Pane pre {
+ font-size: 120%;
+}
+div.n3Pane {
+}
-.RDFXMLPane pre { font-size: 120%; }
-div.RDFXMLPane { }
+.RDFXMLPane pre {
+ font-size: 120%;
+}
+div.RDFXMLPane {
+}
div.RDFXMLPane {
-padding: 1em;
-border-top: solid 2px black;
-border-left: solid 2px black;
-border-bottom: solid 2px #777;
-border-right: solid 2px #777;
-color: #440;
+ padding: 1em;
+ border-top: solid 2px var(--color-data-pane-border-top);
+ border-left: solid 2px var(--color-data-pane-border-top);
+ border-bottom: solid 2px var(--color-data-pane-border-side);
+ border-right: solid 2px var(--color-data-pane-border-side);
+ color: var(--color-text-brown);
}
/* Generic things useful anywhere */
-
img.hideTillHover {
-visibility:hidden;
+ visibility: hidden;
}
-img.hideTillHover:hover {
-visibility:visible;
+img.hideTillHover:hover {
+ visibility: visible;
}
-.hideTillHover img{
-visibility:hidden;
+.hideTillHover img {
+ visibility: hidden;
}
.hideTillHover:hover img {
-visibility:visible;
+ visibility: visible;
}
-.hideTillHover a{
-visibility:hidden;
+.hideTillHover a {
+ visibility: hidden;
}
.hideTillHover:hover a {
-visibility:visible;
+ visibility: visible;
}
-.hoverControl .hoverControlHide{
-visibility:hidden;
+.hoverControl .hoverControlHide {
+ visibility: hidden;
}
.hoverControl:hover .hoverControlHide {
-visibility:visible;
+ visibility: visible;
}
-
/* Pane icons: */
/*
@@ -478,311 +715,369 @@ visibility:visible;
.hoverControl:hover .paneHidden { border-radius: 0.5em; margin-left: 1em; padding: 3px; visibility:visible; }
*/
-
-
/* outline object view */
-img.outlineImage { max-height: 20em; max-width: 30em } /* save vertical space */
+img.outlineImage {
+ max-height: 20em;
+ max-width: 30em;
+} /* save vertical space */
/* Compare facebook which only limits width -> lots of tall images! */
-img.phoneIcon { border: 0; margin-left: 1em}
+img.phoneIcon {
+ border: 0;
+ margin-left: 1em;
+}
-table#sources { width: 100% }
+table#sources {
+ width: 100%;
+}
-table { border-spacing: 0}
+table {
+ border-spacing: 0;
+}
-table { margin: 0em }
+table {
+ margin: 0em;
+}
-td { font-size: 100%;
-border-left: none;
-border-top: none;
-border-right: none;
-border-bottom: none;
-margin: 0.2em;
-/* border-right: solid purple 0.1em ;
+td {
+ font-size: 100%;
+ border-left: none;
+ border-top: none;
+ border-right: none;
+ border-bottom: none;
+ margin: 0.2em;
+ /* border-right: solid purple 0.1em ;
border-bottom: solid purple 0.1em;
*/
-vertical-align: top;
-/* display: compact; Causes console errors in ffox */
+ vertical-align: top;
+ /* display: compact; Causes console errors in ffox */
}
-td.pred { padding-left: 0.5em }
+td.pred {
+ padding-left: 0.5em;
+}
/*td.optButton { display: none }
tr[parentOfSelected] > td.pred td.optButton { display: block }
*/
-table.results { width: 100% }
-
-table.results td { font-size: 100%;
-background-color:#fff;
-border-left: none;
-border-top: none;
-border-right: none;
-border-bottom: none;
-margin: 0.1em;
-border-right: solid #777 0.1em ;
-border-bottom: solid #777 0.1em;
+table.results {
+ width: 100%;
+}
-vertical-align: top }
+table.results td {
+ font-size: 100%;
+ background-color: var(--color-table-result-bg);
+ border-left: none;
+ border-top: none;
+ border-right: none;
+ border-bottom: none;
+ margin: 0.1em;
+ border-right: solid var(--color-table-border-dark) 0.1em;
+ border-bottom: solid var(--color-table-border-dark) 0.1em;
+ vertical-align: top;
+}
-table.results th { font-size: 100%;
-background-color: #ddf;
-border-left: none;
-border-top: none;
-border-right: solid #777 0.1em;
-border-bottom: solid #777 0.1em;
-margin: 0.3em;
-padding-top: 0.5em; padding-right: 0.5em;
-border-right: solid #777 0.1em ;
-border-bottom: solid #777 0.1em;
+table.results th {
+ font-size: 100%;
+ background-color: var(--color-table-header-bg);
+ border-left: none;
+ border-top: none;
+ border-right: solid var(--color-table-border-dark) 0.1em;
+ border-bottom: solid var(--color-table-border-dark) 0.1em;
+ margin: 0.3em;
+ padding-top: 0.5em;
+ padding-right: 0.5em;
+ border-right: solid var(--color-table-border-dark) 0.1em;
+ border-bottom: solid var(--color-table-border-dark) 0.1em;
-vertical-align: top }
+ vertical-align: top;
+}
/* Hide sections of the display.
Collpase not actually in CSS1 except for table row and col.
Supposed to leave layoutunchanged. So we float it too. */
-.collapse { display: none }
-.expand { display: block }
+.collapse {
+ display: none;
+}
+.expand {
+ display: block;
+}
/* log classes */
-.nrml { color: black; }
-.info { color: black; }
-.warn { color: black; background-color: #ffd; }
-.eror { color: black; background-color: #fdd; }
-.mesg { color: green; }
-.dbug { color: black; background-color: #ddf;} /* Blue */
+.nrml {
+ color: var(--color-log-normal);
+}
+.info {
+ color: var(--color-log-info);
+}
+.warn {
+ color: var(--color-log-warn);
+ background-color: var(--color-log-warn-bg);
+}
+.eror {
+ color: var(--color-log-error);
+ background-color: var(--color-log-error-bg);
+}
+.mesg {
+ color: var(--color-log-message);
+}
+.dbug {
+ color: var(--color-log-debug);
+ background-color: var(--color-log-debug-bg);
+} /* Blue */
/* Try to get the icons to flush right in the cell */
.sortheader {
-color: black;
-text-decoration: none;
-position: relative;
-border:none; /* Jim's commented out */
+ color: var(--color-log-normal);
+ text-decoration: none;
+ position: relative;
+ border: none; /* Jim's commented out */
}
-.colclose { float: right; color: #aaa } /* Should be 67% transp black */
-.sortarrow { float: left; color: #aaa; border: none;}
-
+.colclose {
+ float: right;
+ color: var(--color-col-close);
+} /* Should be 67% transp black */
+.sortarrow {
+ float: left;
+ color: var(--color-sort-arrow);
+ border: none;
+}
/* CSS Stuff for tabbed Views.. */
table.viewTable {
-padding: 0;
-margin: 0;
-border-style: none;
-border-width: 0;
-height: 40em;
-width: 100%;
-border-spacing: 0;
+ padding: 0;
+ margin: 0;
+ border-style: none;
+ border-width: 0;
+ height: 40em;
+ width: 100%;
+ border-spacing: 0;
}
div.viewTabs {
-background-color: #fff;
-padding:0;
+ background-color: var(--color-view-tab-bg);
+ padding: 0;
}
div.viewWindows {
-width: 100%;
-height:100%;
-overflow: auto;
-margin: 0em;
-padding:0em;
-border-right: solid #aaa 0.1em; /* was 2px */
-border-left: solid #aaa 0.1em;
-border-bottom: solid #aaa 0.1em;
-background-color: #ccc;
+ width: 100%;
+ height: 100%;
+ overflow: auto;
+ margin: 0em;
+ padding: 0em;
+ border-right: solid var(--color-border-light) 0.1em; /* was 2px */
+ border-left: solid var(--color-border-light) 0.1em;
+ border-bottom: solid var(--color-border-light) 0.1em;
+ background-color: var(--color-view-window-bg);
}
div.querySelect {
-background-color: #ccc;
-width:100%;
-height:100%;
-border-left: solid #aaa 0.1em;
-border-bottom: solid #aaa 0.1em;
-overflow:auto;
-margin: 0em;
-padding:0em;
+ background-color: var(--color-query-select-bg);
+ width: 100%;
+ height: 100%;
+ border-left: solid var(--color-border-light) 0.1em;
+ border-bottom: solid var(--color-border-light) 0.1em;
+ overflow: auto;
+ margin: 0em;
+ padding: 0em;
}
td.viewTableData {
-padding: 0em;
-margin: 0em;
-height:100%;
-width:80%;
+ padding: 0em;
+ margin: 0em;
+ height: 100%;
+ width: 80%;
}
td.queryTableData {
-padding: 0em;
-margin: 0em;
-border-width: 0em;
-height:100%;
-width:20%;
-border-style:none;
+ padding: 0em;
+ margin: 0em;
+ border-width: 0em;
+ height: 100%;
+ width: 20%;
+ border-style: none;
}
table.viewTable tr {
-height: 100%;
-margin: 0em;
-padding: 0em;
-border-style:none;
+ height: 100%;
+ margin: 0em;
+ padding: 0em;
+ border-style: none;
}
-
a {
-color: #3B5998;
-text-decoration: none;
-cursor: pointer;
-}
-a.inactive{
-background-color: #eee;
-border-right:solid #ddd 0.1em;
-border-top:solid #aaa 0.1em;
-border-left:solid #aaa 0.1em;
-padding-top: 0.3em;
-padding-left: 0.8em;
-padding-right: 0.8em;
-padding-bottom: 0em;
-margin-right: 0.1em;
-color: #99f;
-text-decoration:none;
-}
-
-a.active{
-background-color: #ccc;
-border-right:solid #ddd 0.1em;
-border-top:solid #aaa 0.1em;
-border-left:solid #aaa 0.1em;
-padding-top: 0.3em;
-padding-left: 0.8em;
-padding-right: 0.8em;
-padding-bottom:0em;
-margin-right:0.1em;
-color: #22f;
-text-decoration:none;
+ color: var(--color-text-link);
+ text-decoration: none;
+ cursor: pointer;
+}
+a.inactive {
+ background-color: var(--color-tab-inactive-bg);
+ border-right: solid var(--color-tab-inactive-border) 0.1em;
+ border-top: solid var(--color-tab-inactive-border-light) 0.1em;
+ border-left: solid var(--color-tab-inactive-border-light) 0.1em;
+ padding-top: 0.3em;
+ padding-left: 0.8em;
+ padding-right: 0.8em;
+ padding-bottom: 0em;
+ margin-right: 0.1em;
+ color: var(--color-tab-inactive-text);
+ text-decoration: none;
+}
+
+a.active {
+ background-color: var(--color-tab-active-bg);
+ border-right: solid var(--color-tab-active-border) 0.1em;
+ border-top: solid var(--color-tab-active-border-light) 0.1em;
+ border-left: solid var(--color-tab-active-border-light) 0.1em;
+ padding-top: 0.3em;
+ padding-left: 0.8em;
+ padding-right: 0.8em;
+ padding-bottom: 0em;
+ margin-right: 0.1em;
+ color: var(--color-tab-active-text);
+ text-decoration: none;
}
input.tabQueryName {
-border: solid #aaa 0.1em;
-width:100%;
-padding:0em;
+ border: solid var(--color-border-light) 0.1em;
+ width: 100%;
+ padding: 0em;
}
input.delQueryButton {
-border:none;
-color:#c00;
-background-color:#ccc;
-cursor:pointer;
-padding:0em;
+ border: none;
+ color: var(--color-warning);
+ background-color: var(--color-tab-active-bg);
+ cursor: pointer;
+ padding: 0em;
}
td.checkboxTD {
-padding-right:0.5em;
+ padding-right: 0.5em;
}
.sourceHighlight {
-background-color:yellow;
+ background-color: var(--color-source-highlight);
}
#MenuBar {
-padding: 0.5em;
-position: fixed;
-top: 0;
-bottom: auto;
-left: 0;
-right: 0;
-background-color: #eee;
-border: 0.1em solid #aaa;
+ padding: 0.5em;
+ position: fixed;
+ top: 0;
+ bottom: auto;
+ left: 0;
+ right: 0;
+ background-color: var(--color-nav-block-bg);
+ border: 0.1em solid var(--color-border-light);
}
#TabulatorStatusWidget {
-position: fixed;
-top: 0;
-bottom: auto;
-left: auto;
-right: 0;
+ position: fixed;
+ top: 0;
+ bottom: auto;
+ left: auto;
+ right: 0;
}
div.mapKeyDiv {
-position:relative;
-float:right;
-margin: 0.3em;
-color: #777;
-background:#fff;
-border:solid #777 0.1em;
-padding:0.1em;
+ position: relative;
+ float: right;
+ margin: 0.3em;
+ color: var(--color-border-dark);
+ background: var(--color-background);
+ border: solid var(--color-border-dark) 0.1em;
+ padding: 0.1em;
}
span.closeQuerySpan {
-float:right;
-text-align:right;
-height: 0.1em;
-overflow:visible;
+ float: right;
+ text-align: right;
+ height: 0.1em;
+ overflow: visible;
}
span.openQuerySpan {
-float:left;
-overflow:visible;
-height:0em;
-text-align:left;
-position:relative;
-top:0em;
-z-index:1;
+ float: left;
+ overflow: visible;
+ height: 0em;
+ text-align: left;
+ position: relative;
+ top: 0em;
+ z-index: 1;
}
-input.textinput{
-width: 100%;
-border: none;
-font-size:95%;
-padding: 0em;
-margin: 0;
+input.textinput {
+ width: 100%;
+ border: none;
+ font-size: 95%;
+ padding: 0em;
+ margin: 0;
}
-textarea.textinput{
-border: none;
+textarea.textinput {
+ border: none;
}
.pendingedit {
-color: #bbb;
+ color: var(--color-pending-edit);
}
-td.undetermined{
-color: gray;
-font-style: italic;
+td.undetermined {
+ color: var(--color-nav-block-border);
+ font-style: italic;
}
/*revert back*/
-td.undetermined table{
-color: black;
-font-style: normal;
+td.undetermined table {
+ color: var(--color-text);
+ font-style: normal;
}
/*color style from http://developer.yahoo.com/yui/docs/module_menu.html*/
-.outlineMenu{
-position:absolute;
-/*width:10em;*/
-height:10em; /* Jim's commented out */
-background: #FFFFFF none repeat scroll 0%;
-overflow-x: hidden;
-overflow-y: auto;
-border: 1px solid;
-/*padding:.2em;*/
+.outlineMenu {
+ position: absolute;
+ /*width:10em;*/
+ height: 10em; /* Jim's commented out */
+ background: var(--color-menu-bg) none repeat scroll 0%;
+ overflow-x: hidden;
+ overflow-y: auto;
+ border: 1px solid;
+ /*padding:.2em;*/
+}
+.outlineMenu table {
+ cursor: default;
+ width: 100%;
+ text-align: left;
+ padding: 5px 5px;
+}
+.outlineMenu div {
+ /*width:6em;*/
+ overflow: auto;
+ white-space: nowrap;
+}
+.outlineMenu td {
+ color: var(--color-menu-item-text);
+}
+.outlineMenu .activeItem {
+ background: var(--color-menu-item-active);
+} /* @@ Jim's: #f4e8fc; */
+.outlineMenu input {
+ margin: 0.2em;
}
-.outlineMenu table{cursor:default;width:100%;text-align:left;padding:5px 5px;}
-.outlineMenu div{/*width:6em;*/ overflow:auto; white-space:nowrap;}
-.outlineMenu td{color:#654d6c;}
-.outlineMenu .activeItem{background: #D1C6DA;} /* @@ Jim's: #f4e8fc; */
-.outlineMenu input{margin: 0.2em;}
-div.bottom-border{
-border: .2em solid transparent;
-width: 100%;
+div.bottom-border {
+ border: 0.2em solid transparent;
+ width: 100%;
}
-div.bottom-border-active{
-cursor: copy;
-border: .2em solid;
-border-color: rgb(100%,65%,0%);
+div.bottom-border-active {
+ cursor: copy;
+ border: 0.2em solid;
+ border-color: var(--color-bottom-border-highlight);
}
/* The thing below was for the kenny's orange bar*/
@@ -794,199 +1089,195 @@ td{
*/
.deleteIcon {
-margin-left: 0.1em;
+ margin-left: 0.1em;
}
.deleteCol {
-float: right;
-display: inline;
+ float: right;
+ display: inline;
}
-.suggestion_list
-{
-background: white;
-border: 1px solid;
-padding: 4px;
+.suggestion_list {
+ background: var(--color-suggestion-bg);
+ border: 1px solid var(--color-suggestion-border);
+ padding: 4px;
}
-.suggestion_list ul
-{
-padding: 0;
-margin: 0;
-list-style-type: none;
+.suggestion_list ul {
+ padding: 0;
+ margin: 0;
+ list-style-type: none;
}
-.suggestion_list a
-{
-text-decoration: none;
-color: navy;
+.suggestion_list a {
+ text-decoration: none;
+ color: var(--color-suggestion-link);
}
-.suggestion_list .selected
-{
-background: navy;
-color: white;
+.suggestion_list .selected {
+ background: var(--color-suggestion-selected-bg);
+ color: var(--color-suggestion-selected-text);
}
-.suggestion_list .selected a
-{
-color: white;
+.suggestion_list .selected a {
+ color: var(--color-suggestion-selected-text);
}
-#autosuggest
-{
-display: none;
+#autosuggest {
+ display: none;
}
-
-
/*
Start of styles for the photoPane, by albert08@csail.mit.edu
*/
div.PhotoContentPane {
-float: left;
-width: 900px;
-border: 1px solid #AAAAAA;
-padding: 10px;
+ float: left;
+ width: 900px;
+ border: 1px solid var(--color-photo-border);
+ padding: 10px;
}
div.PhotoListPanel {
-float: left;
-padding: 5px ;
-border: 1px solid #AAAAAA;
-width: 540px;
-min-height: 300px;
+ float: left;
+ padding: 5px;
+ border: 1px solid var(--color-photo-border);
+ width: 540px;
+ min-height: 300px;
}
div.PhotoInfoPanel {
-float: left;
-padding: 10px;
-border: 1px solid #AAAAAA;
-width: 300px;
-text-align: center;
-margin: 0px 0px 10px 10px;
+ float: left;
+ padding: 10px;
+ border: 1px solid var(--color-photo-border);
+ width: 300px;
+ text-align: center;
+ margin: 0px 0px 10px 10px;
}
div.TagMenu {
-float: left;
-padding: 10px;
-border: 1px solid #AAAAAA;
-width: 300px;
-margin: 0px 0px 0px 10px;
-text-align: justify;
+ float: left;
+ padding: 10px;
+ border: 1px solid var(--color-photo-border);
+ width: 300px;
+ margin: 0px 0px 0px 10px;
+ text-align: justify;
}
.tagItem {
-float: left;
-padding: 2px;
-margin: 2px;
-cursor:pointer;
+ float: left;
+ padding: 2px;
+ margin: 2px;
+ cursor: pointer;
}
.tagItem_h {
-float: left;
-padding: 2px;
-margin: 1px;
-border: 1px solid #DDBB99;
-background-color: #DDEEFF;
-cursor:pointer;
+ float: left;
+ padding: 2px;
+ margin: 1px;
+ border: 1px solid var(--color-photo-tag-highlight-border);
+ background-color: var(--color-photo-tag-highlight);
+ cursor: pointer;
}
div.photoItem {
-float: left;
-width: 100%;
+ float: left;
+ width: 100%;
}
div.photoFrame {
-border-right: 1px solid #AAAAAA;
-width: 260px;
-padding: 10px;
-margin: 10px 10px 10px 10px;
-text-align: center;
-float: left;
+ border-right: 1px solid var(--color-photo-border);
+ width: 260px;
+ padding: 10px;
+ margin: 10px 10px 10px 10px;
+ text-align: center;
+ float: left;
}
img.photoThumbnail {
-border: 1px solid #CCCCCC;
-margin: auto auto auto auto;
+ border: 1px solid var(--color-photo-thumb-border);
+ margin: auto auto auto auto;
}
.photoListTags {
-width:200px;
-margin-top: 10px;
-padding-top: 10px;
-float: left;
+ width: 200px;
+ margin-top: 10px;
+ padding-top: 10px;
+ float: left;
}
.photoList_tag {
-background: transparent url("https://solidos.github.io/solid-ui/src/originalIcons/tag_tiny.png") 0px 1px no-repeat;
-padding: 1px 0px 1px 18px;
-margin-left: 5px;
+ background: transparent
+ url("https://solidos.github.io/solid-ui/src/originalIcons/tag_tiny.png") 0px
+ 1px no-repeat;
+ padding: 1px 0px 1px 18px;
+ margin-left: 5px;
}
.TagMenu_tag {
-background: transparent url("https://solidos.github.io/solid-ui/src/originalIcons/tag_tiny.png") 0px 1px no-repeat;
-padding: 1px 0px 1px 18px;
-margin-left: 5px;
+ background: transparent
+ url("https://solidos.github.io/solid-ui/src/originalIcons/tag_tiny.png") 0px
+ 1px no-repeat;
+ padding: 1px 0px 1px 18px;
+ margin-left: 5px;
}
div.photoImportContentPane {
-float: left;
-padding: 0px;
-width: 930px;
-border: 1px solid #AAAAAA;
-padding: 10px;
+ float: left;
+ padding: 0px;
+ width: 930px;
+ border: 1px solid var(--color-photo-border);
+ padding: 10px;
}
.photoImportTitle {
-font-size: 16px;
-font-weight: bold;
+ font-size: 1rem;
+ font-weight: bold;
}
.photoItemPanel {
-width: 260px;
-height: 300px;
-float: left;
-padding: 10px;
-border: 1px solid #AAAAAA;
-margin: 0px 10px 10px 0px;
+ width: 260px;
+ height: 300px;
+ float: left;
+ padding: 10px;
+ border: 1px solid var(--color-photo-border);
+ margin: 0px 10px 10px 0px;
}
.photoControlImg {
-border: 0px;
-cursor: pointer;
+ border: 0px;
+ cursor: pointer;
}
.photoControlImgInactive {
-opacity: .5;
-border: 0px;
+ opacity: 0.5;
+ border: 0px;
}
#photoPageInfo {
-font-family: Arial;
-font-size: 14px;
-font-weight: bold;
+ font-family: var(--font-family-ui);
+ font-size: 0.875rem;
+ font-weight: bold;
}
.controls {
-clear: both;
-text-align: right;
-margin: 15px 15px 0px 0px;
+ clear: both;
+ text-align: right;
+ margin: 15px 15px 0px 0px;
}
.controlButton {
-margin: 0px 0px 0px 10px;
+ margin: 0px 0px 0px 10px;
}
div.TagPane {
-min-width: 500px;
-border: 1px solid #AAAAAA;
-padding: 10px;
+ min-width: 500px;
+ border: 1px solid var(--color-photo-border);
+ padding: 10px;
}
div.TagSemanticsPanel {
-margin: 5px 0px 20px 0px;
+ margin: 5px 0px 20px 0px;
}
div.TagSemanticsTable {
-width: 100%;
-font-family: Arial;
-font-size: 12px;
+ width: 100%;
+ font-family: var(--font-family-ui);
+ font-size: 0.75rem;
}
div.AddTagSemantics {
-margin: 50px 0px 10px 0px;
+ margin: 50px 0px 10px 0px;
}
.controlSelect {
-margin: 5px;
-font-family: Arial;
-font-size: 12px;
+ margin: 5px;
+ font-family: var(--font-family-ui);
+ font-size: 0.75rem;
}
.tagURIInput {
-margin: 5px;
-font-family: Arial;
-font-size: 12px;
-width: 300px;
+ margin: 5px;
+ font-family: var(--font-family-ui);
+ font-size: 0.75rem;
+ width: 300px;
}
-div.TagPane hr{
-border: 1px solid #AAAAAA;
+div.TagPane hr {
+ border: 1px solid var(--color-photo-border);
}
/*
End of styles for the photoPane
@@ -997,89 +1288,123 @@ Styles for tableViewPane
*/
.tableViewPane table th {
-background-color: #eee;
-color: black;
+ background-color: var(--color-tab-inactive-bg);
+ color: var(--color-log-normal);
}
.tableViewPane table th a {
-color: #555;
+ color: var(--color-text-secondary);
}
.tableViewPane table .selectors td {
-background-color: #ccc;
+ background-color: var(--color-tab-active-bg);
}
.tableViewPane table td {
-border-bottom: 1px solid black;
-border-right: 1px solid black;
+ border-bottom: 1px solid var(--color-data-pane-border-top);
+ border-right: 1px solid var(--color-data-pane-border-top);
}
.tableViewPane .toolbar td {
-border: none;
+ border: none;
}
.tableViewPane .sparqlButton {
-width: 16px;
-height: 16px;
-border: 1px solid black;
+ width: 16px;
+ height: 16px;
+ border: 1px solid var(--color-data-pane-border-top);
}
.tableViewPane .sparqlDialog {
-position: fixed;
-top: 40px;
-left: 100px;
-width: 600px;
-background: white;
-border: 1px solid black;
-padding: 5px;
+ position: fixed;
+ top: 40px;
+ left: 100px;
+ width: 600px;
+ background: var(--color-background);
+ border: 1px solid var(--color-data-pane-border-top);
+ padding: 5px;
}
.tableViewPane .sparqlDialog textarea {
-width: 590px;
-height: 250px;
+ width: 590px;
+ height: 250px;
}
/* These should be the same as with hthe dataContentPane */
-.tableViewPane a { color: #3B5998; text-decoration: none; font-weight: bold}
-.tableViewPane a:link { color: #3B5998; text-decoration: none; font-weight: bold}
-.tableViewPane a:visited { color: #3B5998; text-decoration: none; font-weight: bold}
-.tableViewPane a:hover { color: #3B5998; text-decoration: underline; font-weight: bold}
-.tableViewPane a:active { color: #888; text-decoration: none; }
-
-.tableViewPane tr {border-color: #444; padding-left: 0.3em; padding-right: 0.3em }
-
+.tableViewPane a {
+ color: var(--color-text-link);
+ text-decoration: none;
+ font-weight: bold;
+}
+.tableViewPane a:link {
+ color: var(--color-text-link);
+ text-decoration: none;
+ font-weight: bold;
+}
+.tableViewPane a:visited {
+ color: var(--color-text-link-visited);
+ text-decoration: none;
+ font-weight: bold;
+}
+.tableViewPane a:hover {
+ color: var(--color-text-link-hover);
+ text-decoration: underline;
+ font-weight: bold;
+}
+.tableViewPane a:active {
+ color: var(--color-text-link-active);
+ text-decoration: none;
+}
+.tableViewPane tr {
+ border-color: var(--color-border-darker);
+ padding-left: 0.3em;
+ padding-right: 0.3em;
+}
/*The 'display explanation' feature*/
.inquiry {
-padding-left: 0.2em;
-color: red;
-font-family: Arial;
-font-weight: bold;
+ padding-left: 0.2em;
+ color: var(--color-warning);
+ font-family: var(--font-family-ui);
+ font-weight: bold;
}
/*
End of styles for tableViewPane
*/
-
-
/* Styles for FORM PANE
**
** Colors from data cotent pane
*/
-.formPane a { color: #3B5998; text-decoration: none; }
-.formPane a:link { color: #3B5998; text-decoration: none; }
-.formPane a:visited { color: #3B5998; text-decoration: none; }
-.formPane a:hover { color: #3B5998; font-weight: bold} /* was text-decoration: underline; */
-.formPane a:active { color: #888; text-decoration: none; }
+.formPane a {
+ color: var(--color-text-link);
+ text-decoration: none;
+}
+.formPane a:link {
+ color: var(--color-text-link);
+ text-decoration: none;
+}
+.formPane a:visited {
+ color: var(--color-text-link-visited);
+ text-decoration: none;
+}
+.formPane a:hover {
+ color: var(--color-text-link-hover);
+ font-weight: bold;
+} /* was text-decoration: underline; */
+.formPane a:active {
+ color: var(--color-text-link-active);
+ text-decoration: none;
+}
/* ends */
@mixin box-shadow($x-axis: 0, $y-axis: 1px, $blur: 4px, $color: $default) {
-box-shadow: $x-axis $y-axis $blur $color;
--webkit-box-shadow: $x-axis $y-axis $blur $color;
--moz-box-shadow: $x-axis $y-axis $blur $color;
--o-box-shadow: $x-axis $y-axis $blur $color;
-}
\ No newline at end of file
+ box-shadow: $x-axis $y-axis $blur $color;
+ -webkit-box-shadow: $x-axis $y-axis $blur $color;
+ -moz-box-shadow: $x-axis $y-axis $blur $color;
+ -o-box-shadow: $x-axis $y-axis $blur $color;
+}
diff --git a/src/styles/mashlib-style.ts b/src/styles/mashlib-style.ts
deleted file mode 100644
index b0ab56bd..00000000
--- a/src/styles/mashlib-style.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-export interface MashStyle {
- dbLayout: string;
- dbLayoutContent: string;
- dbLayoutHeader: string;
- dbLayoutFooter: string;
- setStyle: (ele: HTMLElement, styleName: keyof Omit) => void;
-}
-
-export const mashStyle: MashStyle = {
- dbLayout: 'display: flex; flex-direction: column;',
- dbLayoutContent: 'flex: 1 0 auto;',
- dbLayoutHeader: 'flex-shrink: 0;',
- dbLayoutFooter: 'flex-shrink: 0;',
- setStyle: function setStyle(ele: HTMLElement, styleName: keyof Omit) {
- ele.setAttribute('style', mashStyle[styleName])
- }
-}
\ No newline at end of file
diff --git a/src/styles/themes.css b/src/styles/themes.css
new file mode 100644
index 00000000..4615b259
--- /dev/null
+++ b/src/styles/themes.css
@@ -0,0 +1,8 @@
+/*
+** ------SolidOS Themes------
+** Theme variables for light and dark modes
+*/
+
+@import url('./themes/light.css');
+/* @import url('./themes/dark.css'); */
+
diff --git a/src/styles/themes/dark.css b/src/styles/themes/dark.css
new file mode 100644
index 00000000..50cc6e40
--- /dev/null
+++ b/src/styles/themes/dark.css
@@ -0,0 +1,196 @@
+/*
+** Dark Theme
+** Dark color scheme for SolidOS with high contrast and reduced eye strain
+*/
+
+html[data-theme="dark"] {
+ /* Background and Text */
+ --color-background: #1e1e1e;
+ --color-text: #e0e0e0;
+ --color-text-secondary: #999;
+ --color-text-light: #555;
+ --color-text-link: #66b3ff;
+ --color-text-link-visited: #66b3ff;
+ --color-text-link-hover: #66b3ff;
+ --color-text-link-active: #aaa;
+ --color-text-answer: #66b3ff;
+ --color-text-muted: #bbb;
+ --color-text-dark-gray: #d4d4d4;
+ --color-text-blue: #7cb9ff;
+ --color-text-brown: #c4a660;
+
+ /* Borders */
+ --color-border: #444;
+ --color-border-dark: #555;
+ --color-border-darker: #333;
+ --color-border-light: #666;
+ --color-border-pale: #555;
+
+ /* Status Colors */
+ --color-selected-bg: #4a6e3a;
+ --color-warning: #ff6b6b;
+ --color-success-bg: #2a5f2a;
+ --color-success-border: #4db84d;
+ --color-failure-bg: #3a3a3a;
+ --color-failure-border: #ff6b6b;
+
+ /* Info and Alert Colors */
+ --color-info-bg: #2a2a5a;
+ --color-info-border: #6699ff;
+ --color-alert-bg: #5a5a2a;
+ --color-alert-border: #ccaa00;
+ --color-fetch-bg: #2a5a2a;
+ --color-request-bg: #6b6b00;
+ --color-error-bg: #3a3a3a;
+ --color-error-notice-bg: #5a3a3a;
+ --color-unparseable-bg: #6b5a00;
+
+ /* Component Colors */
+ --color-container-border: #555;
+ --color-iframe-bg: #2a2a2a;
+ --color-main-block-bg: #252525;
+ --color-nav-block-bg: #2a2a2a;
+ --color-nav-block-border: #555;
+ --color-category-bg: #1f2b1f;
+ --color-category-border: #555;
+ --color-category-class-bg: #2a5f2a;
+ --color-category-class-border: #4db84d;
+ --color-pubs-pane-bg: #3a3a2a;
+ --color-pubs-pane-border: #555;
+ --color-cv-pane-bg: #1f4a5a;
+
+ /* Data Content Pane */
+ --color-data-pane-border-top: #888;
+ --color-data-pane-border-side: #555;
+ --color-table-header-bg: #2a3a5a;
+ --color-table-result-bg: #252525;
+ --color-table-border-dark: #555;
+
+ /* Notification Colors */
+ --color-log-normal: #e0e0e0;
+ --color-log-info: #e0e0e0;
+ --color-log-warn: #e0e0e0;
+ --color-log-warn-bg: #5a5a2a;
+ --color-log-error: #e0e0e0;
+ --color-log-error-bg: #5a3a3a;
+ --color-log-message: #66bb66;
+ --color-log-debug: #e0e0e0;
+ --color-log-debug-bg: #2a3a5a;
+
+ /* Suggestion List */
+ --color-suggestion-bg: #2a2a2a;
+ --color-suggestion-border: #4db8ff;
+ --color-suggestion-link: #4db8ff;
+ --color-suggestion-selected-bg: #4db8ff;
+ --color-suggestion-selected-text: #1e1e1e;
+
+ /* Photo Pane */
+ --color-photo-border: #555;
+ --color-photo-tag-highlight: #2a4a7a;
+ --color-photo-tag-highlight-border: #5a6b4a;
+ --color-photo-thumb-border: #444;
+
+ /* Menu and Tab Colors */
+ --color-menu-bg: #2a2a2a;
+ --color-menu-item-text: #c4b4d4;
+ --color-menu-item-active: #4a5a7a;
+ --color-view-tab-bg: #252525;
+ --color-view-window-bg: #3a3a3a;
+ --color-query-select-bg: #3a3a3a;
+ --color-tab-inactive-bg: #2a2a2a;
+ --color-tab-inactive-border: #444;
+ --color-tab-inactive-border-light: #555;
+ --color-tab-inactive-text: #6b7baa;
+ --color-tab-active-bg: #3a3a3a;
+ --color-tab-active-border: #444;
+ --color-tab-active-border-light: #555;
+ --color-tab-active-text: #66b3ff;
+
+ /* Special Highlights */
+ --color-source-highlight: #6b6b00;
+ --color-hover-visibility: visible;
+ --color-hidden-visibility: hidden;
+ --color-mild-notice-bg: #3a3a2a;
+ --color-bottom-border-highlight: rgb(60%,80%,100%);
+ --color-col-close: #555;
+ --color-sort-arrow: #555;
+
+ /* Typography */
+ --font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+ --font-family-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+ --font-size-base: 100%;
+ --font-size-strong: 120%;
+ --font-weight-normal: normal;
+ --font-weight-bold: bold;
+ --line-height-base: 1.5;
+ --line-height-tight: 1.4;
+ --line-height-loose: 1.6;
+ --letter-spacing-wide: 0.025em;
+ --font-size-sm: 0.875rem;
+ --font-size-lg: 1.125rem;
+ --font-size-xl: 1.25rem;
+
+ /* Spacing and Sizing */
+ --spacing-tiny: 0.05em;
+ --spacing-small: 0.1em;
+ --spacing-xs: 0.5rem;
+ --spacing-sm: 0.75em;
+ --spacing-base: 0.5em;
+ --spacing-md: 1em;
+ --spacing-lg: 1.5em;
+ --spacing-xl: 2em;
+ --spacing-2xl: 3em;
+ --border-width-thin: 1px;
+ --border-width-medium: 2px;
+ --border-width-bold: 5px;
+ --border-radius-base: 0.5em;
+ --border-radius-lg: 0.75em;
+ --border-radius-full: 1em;
+
+ /* Primary/Accent Colors */
+ --color-primary: #B388FF;
+ --color-secondary: #4FC3F7;
+ --color-accent: #FFE082;
+ --color-error: #FF5252;
+ --color-success: #69F0AE;
+ --color-primary-alpha: rgba(124, 77, 255, 0.35);
+ --color-primary-alpha-light: rgba(124, 77, 255, 0.15);
+
+ /* Card/Section Backgrounds */
+ --color-card-bg: #2a2a2a;
+ --color-section-bg: #1a1a1a;
+ --color-zebra-stripe: rgba(255, 255, 255, 0.03);
+ --color-hover-bg: rgba(255, 255, 255, 0.08);
+
+ /* Shadows */
+ --box-shadow: 0 2px 8px rgba(0,0,0,0.3);
+ --box-shadow-sm: 0 1px 4px rgba(0,0,0,0.2);
+
+ /* Accessibility */
+ --min-touch-target: 44px;
+ --focus-ring-width: 2px;
+ --focus-indicator-width: 3px;
+ --animation-duration: 0.2s;
+ --animation-duration-slow: 0.3s;
+ --min-font-size: 14px;
+ --min-line-height: 1.4;
+ --high-contrast-ratio: 7:1;
+
+ /* Overlay and Modal */
+ --overlay-bg: rgba(0, 0, 0, 0.7);
+ --z-index-modal: 9999;
+ --z-index-skip-links: 1000;
+
+ /* Opacity */
+ --opacity-disabled: 0.6;
+
+ /* Layout Values */
+ --max-width-readable: 65ch;
+ --max-width-readable-wide: 70ch;
+
+ /* Outline Offsets */
+ --outline-offset-sm: 2px;
+
+ /* Success Alpha */
+ --color-success-alpha: rgba(105, 240, 174, 0.15);
+}
diff --git a/src/styles/themes/light.css b/src/styles/themes/light.css
new file mode 100644
index 00000000..5a8a8839
--- /dev/null
+++ b/src/styles/themes/light.css
@@ -0,0 +1,197 @@
+/*
+** Light Theme (Default)
+** Default color scheme for SolidOS
+*/
+
+:root {
+ /* Background and Text */
+ --color-background: white;
+ --color-text: ##1A1A1A;
+ --color-text-secondary: #666;
+ --color-text-light: #aaa;
+ --color-text-link: #3B5998;
+ --color-text-link-visited: #3B5998;
+ --color-text-link-hover: #3B5998;
+ --color-text-link-active: #888;
+ --color-text-answer: #00c;
+ --color-text-muted: #444;
+ --color-text-dark-gray: #202;
+ --color-text-blue: #004;
+ --color-text-brown: #440;
+
+ /* Borders */
+ --color-border: #ccc;
+ --color-border-dark: #777;
+ --color-border-darker: #444;
+ --color-border-light: #aaa;
+ --color-border-pale: #eee;
+
+ /* Status Colors */
+ --color-selected-bg: #8F3;
+ --color-warning: red;
+ --color-success-bg: #dfd;
+ --color-success-border: green;
+ --color-failure-bg: white;
+ --color-failure-border: red;
+
+ /* Info and Alert Colors */
+ --color-info-bg: #ccccff;
+ --color-info-border: #3399ff;
+ --color-alert-bg: #ffffdd;
+ --color-alert-border: yellow;
+ --color-fetch-bg: #eeffee;
+ --color-request-bg: yellow;
+ --color-error-bg: white;
+ --color-error-notice-bg: #fee;
+ --color-unparseable-bg: #ffcc00;
+
+ /* Component Colors */
+ --color-container-border: black;
+ --color-iframe-bg: white;
+ --color-main-block-bg: #fff;
+ --color-nav-block-bg: #eee;
+ --color-nav-block-border: gray;
+ --color-category-bg: #f8fff8;
+ --color-category-border: #777777;
+ --color-category-class-bg: #efe;
+ --color-category-class-border: green;
+ --color-pubs-pane-bg: #F2F6DA;
+ --color-pubs-pane-border: #777777;
+ --color-cv-pane-bg: LightSkyBlue;
+
+ /* Data Content Pane */
+ --color-data-pane-border-top: black;
+ --color-data-pane-border-side: #777;
+ --color-table-header-bg: #ddf;
+ --color-table-result-bg: #fff;
+ --color-table-border-dark: #777;
+
+ /* Notification Colors */
+ --color-log-normal: black;
+ --color-log-info: black;
+ --color-log-warn: black;
+ --color-log-warn-bg: #ffd;
+ --color-log-error: black;
+ --color-log-error-bg: #fdd;
+ --color-log-message: green;
+ --color-log-debug: black;
+ --color-log-debug-bg: #ddf;
+
+ /* Suggestion List */
+ --color-suggestion-bg: white;
+ --color-suggestion-border: navy;
+ --color-suggestion-link: navy;
+ --color-suggestion-selected-bg: navy;
+ --color-suggestion-selected-text: white;
+
+ /* Photo Pane */
+ --color-photo-border: #AAAAAA;
+ --color-photo-tag-highlight: #DDEEFF;
+ --color-photo-tag-highlight-border: #DDBB99;
+ --color-photo-thumb-border: #CCCCCC;
+
+ /* Menu and Tab Colors */
+ --color-menu-bg: #FFFFFF;
+ --color-menu-item-text: #654d6c;
+ --color-menu-item-active: #D1C6DA;
+ --color-view-tab-bg: #fff;
+ --color-view-window-bg: #ccc;
+ --color-query-select-bg: #ccc;
+ --color-tab-inactive-bg: #eee;
+ --color-tab-inactive-border: #ddd;
+ --color-tab-inactive-border-light: #aaa;
+ --color-tab-inactive-text: #99f;
+ --color-tab-active-bg: #ccc;
+ --color-tab-active-border: #ddd;
+ --color-tab-active-border-light: #aaa;
+ --color-tab-active-text: #22f;
+
+ /* Special Highlights */
+ --color-source-highlight: yellow;
+ --color-hover-visibility: visible;
+ --color-hidden-visibility: hidden;
+ --color-mild-notice-bg: #ffe;
+ --color-bottom-border-highlight: rgb(100%,65%,0%);
+ --color-col-close: #aaa;
+ --color-sort-arrow: #aaa;
+ --color-pending-edit: #bbb;
+
+ /* Typography */
+ --font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+ --font-family-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+ --font-size-base: 100%;
+ --font-size-strong: 120%;
+ --font-weight-normal: normal;
+ --font-weight-bold: bold;
+ --line-height-base: 1.5;
+ --line-height-tight: 1.4;
+ --line-height-loose: 1.6;
+ --letter-spacing-wide: 0.025em;
+ --font-size-sm: 0.875rem;
+ --font-size-lg: 1.125rem;
+ --font-size-xl: 1.25rem;
+
+ /* Spacing and Sizing */
+ --spacing-tiny: 0.05em;
+ --spacing-small: 0.1em;
+ --spacing-xs: 0.5rem;
+ --spacing-sm: 0.75em;
+ --spacing-base: 0.5em;
+ --spacing-md: 1em;
+ --spacing-lg: 1.5em;
+ --spacing-xl: 2em;
+ --spacing-2xl: 3em;
+ --border-width-thin: 1px;
+ --border-width-medium: 2px;
+ --border-width-bold: 5px;
+ --border-radius-base: 0.5em;
+ --border-radius-lg: 0.75em;
+ --border-radius-full: 1em;
+
+ /* Primary/Accent Colors */
+ --color-primary: #7C4DFF;
+ --color-primary-alpha: rgba(124, 77, 255, 0.25);
+ --color-primary-alpha-light: rgba(124, 77, 255, 0.1);
+ --color-secondary: #0077B6;
+ --color-accent: #FFD600;
+ --color-error: #B00020;
+ --color-success: #00C853;
+
+ /* Card/Section Backgrounds */
+ --color-card-bg: #FFFFFF;
+ --color-section-bg: #F5F5F5;
+ --color-zebra-stripe: rgba(0, 0, 0, 0.02);
+ --color-hover-bg: rgba(0, 0, 0, 0.05);
+
+ /* Shadows */
+ --box-shadow: 0 2px 8px rgba(124,77,255,0.08);
+ --box-shadow-sm: 0 1px 4px rgba(124,77,255,0.12);
+
+ /* Accessibility */
+ --min-touch-target: 44px;
+ --focus-ring-width: 2px;
+ --focus-indicator-width: 3px;
+ --animation-duration: 0.2s;
+ --animation-duration-slow: 0.3s;
+ --min-font-size: 14px;
+ --min-line-height: 1.4;
+ --high-contrast-ratio: 7:1; /* WCAG AAA standard */
+
+ /* Overlay and Modal */
+ --overlay-bg: rgba(0, 0, 0, 0.5);
+ --z-index-modal: 9999;
+ --z-index-skip-links: 1000;
+
+ /* Opacity */
+ --opacity-disabled: 0.6;
+
+ /* Layout Values */
+ --max-width-readable: 65ch;
+ --max-width-readable-wide: 70ch;
+
+ /* Outline Offsets */
+ --outline-offset-sm: 2px;
+
+ /* Success Alpha */
+ --color-success-alpha: rgba(0, 200, 83, 0.1);
+}
diff --git a/static/browse-test.html b/static/browse-test.html
index 2ef6e111..f43fadc2 100644
--- a/static/browse-test.html
+++ b/static/browse-test.html
@@ -2,6 +2,17 @@
+
+ Skip to main content
+
+
+
-