diff --git a/package-lock.json b/package-lock.json index ca71dd5f..4f957103 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mavedb-ui", - "version": "2025.5.2", + "version": "2026.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mavedb-ui", - "version": "2025.5.2", + "version": "2026.1.0", "dependencies": { "@fontsource/raleway": "^5.0.16", "@fortawesome/fontawesome-svg-core": "^7.0.0", @@ -14,6 +14,8 @@ "@fortawesome/free-regular-svg-icons": "^7.0.0", "@fortawesome/free-solid-svg-icons": "^7.0.0", "@fortawesome/vue-fontawesome": "^3.1.1", + "@primevue/themes": "^4.4.1", + "@tailwindcss/vite": "^4.1.16", "@unhead/vue": "^2.0.17", "axios": "^1.11.0", "chart.js": "^4.4.1", @@ -40,6 +42,8 @@ "jsonpath-plus": "^10.3.0", "jsonwebtoken": "^9.0.2", "jszip": "^3.10.1", + "linkify-html": "^4.3.2", + "linkifyjs": "^4.3.2", "lodash": "^4.17.21", "marked": "^11.1.0", "moment": "^2.29.4", @@ -51,12 +55,13 @@ "pluralize": "^8.0.0", "primeflex": "^3.3.1", "primeicons": "^6.0.1", - "primevue": "3.52.0", + "primevue": "^4.4.1", "rest-client-vue": "^1.2.0-b2", + "tailwindcss": "^4.1.16", "universal-base64url": "~1.1.0", "uuid": "^9.0.1", "vee-validate": "^4.12.2", - "vue": "^3.3.11", + "vue": "^3.4.0", "vue-debounce": "^4.0.1", "vue-router": "^4.2.5", "vuex": "^4.1.0", @@ -101,21 +106,21 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", - "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", "license": "MIT", "dependencies": { - "@babel/types": "^7.28.4" + "@babel/types": "^7.28.5" }, "bin": { "parser": "bin/babel-parser.js" @@ -125,13 +130,13 @@ } }, "node_modules/@babel/types": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", - "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" + "@babel/helper-validator-identifier": "^7.28.5" }, "engines": { "node": ">=6.9.0" @@ -144,7 +149,6 @@ "cpu": [ "ppc64" ], - "dev": true, "optional": true, "os": [ "aix" @@ -160,7 +164,6 @@ "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "android" @@ -176,7 +179,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "android" @@ -192,7 +194,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "android" @@ -208,7 +209,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -224,7 +224,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -240,7 +239,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "freebsd" @@ -256,7 +254,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "freebsd" @@ -272,7 +269,6 @@ "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "linux" @@ -288,7 +284,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -304,7 +299,6 @@ "cpu": [ "ia32" ], - "dev": true, "optional": true, "os": [ "linux" @@ -320,7 +314,6 @@ "cpu": [ "loong64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -336,7 +329,6 @@ "cpu": [ "mips64el" ], - "dev": true, "optional": true, "os": [ "linux" @@ -352,7 +344,6 @@ "cpu": [ "ppc64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -368,7 +359,6 @@ "cpu": [ "riscv64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -384,7 +374,6 @@ "cpu": [ "s390x" ], - "dev": true, "optional": true, "os": [ "linux" @@ -400,7 +389,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -416,7 +404,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "netbsd" @@ -432,7 +419,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "openbsd" @@ -448,7 +434,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "sunos" @@ -464,7 +449,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -480,7 +464,6 @@ "cpu": [ "ia32" ], - "dev": true, "optional": true, "os": [ "win32" @@ -496,7 +479,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -846,12 +828,51 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.5", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "license": "MIT" }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "node_modules/@jsep-plugin/assignment": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@jsep-plugin/assignment/-/assignment-1.3.0.tgz", @@ -942,6 +963,87 @@ "url": "https://opencollective.com/pkgr" } }, + "node_modules/@primeuix/styled": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@primeuix/styled/-/styled-0.7.4.tgz", + "integrity": "sha512-QSO/NpOQg8e9BONWRBx9y8VGMCMYz0J/uKfNJEya/RGEu7ARx0oYW0ugI1N3/KB1AAvyGxzKBzGImbwg0KUiOQ==", + "license": "MIT", + "dependencies": { + "@primeuix/utils": "^0.6.1" + }, + "engines": { + "node": ">=12.11.0" + } + }, + "node_modules/@primeuix/styles": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@primeuix/styles/-/styles-1.2.5.tgz", + "integrity": "sha512-nypFRct/oaaBZqP4jinT0puW8ZIfs4u+l/vqUFmJEPU332fl5ePj6DoOpQgTLzo3OfmvSmz5a5/5b4OJJmmi7Q==", + "license": "MIT", + "dependencies": { + "@primeuix/styled": "^0.7.3" + } + }, + "node_modules/@primeuix/themes": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@primeuix/themes/-/themes-1.2.5.tgz", + "integrity": "sha512-n3YkwJrHQaEESc/D/A/iD815sxp8cKnmzscA6a8Tm8YvMtYU32eCahwLLe6h5rywghVwxASWuG36XBgISYOIjQ==", + "license": "MIT", + "dependencies": { + "@primeuix/styled": "^0.7.3" + } + }, + "node_modules/@primeuix/utils": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@primeuix/utils/-/utils-0.6.2.tgz", + "integrity": "sha512-l+li4z6UAwamqbu4xodN3lqr1G4S37DKEJ7Y/nE3MjEx7zJ+KIBkb5voF26Nuly1UCmIcRWQJokhLRF7+sRhyg==", + "license": "MIT", + "engines": { + "node": ">=12.11.0" + } + }, + "node_modules/@primevue/core": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@primevue/core/-/core-4.4.1.tgz", + "integrity": "sha512-RG56iDKIJT//EtntjQzOiWOHZZJczw/qWWtdL5vFvw8/QDS9DPKn8HLpXK7N5Le6KK1MLXUsxoiGTZK+poUFUg==", + "license": "MIT", + "dependencies": { + "@primeuix/styled": "^0.7.4", + "@primeuix/utils": "^0.6.1" + }, + "engines": { + "node": ">=12.11.0" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/@primevue/icons": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@primevue/icons/-/icons-4.4.1.tgz", + "integrity": "sha512-UfDimrIjVdY6EziwieyV4zPKzW6mnKHKhy4Dgyjv2oI6pNeuim+onbJo1ce22PEGXW78vfblG/3/JIzVHFweqQ==", + "license": "MIT", + "dependencies": { + "@primeuix/utils": "^0.6.1", + "@primevue/core": "4.4.1" + }, + "engines": { + "node": ">=12.11.0" + } + }, + "node_modules/@primevue/themes": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@primevue/themes/-/themes-4.4.1.tgz", + "integrity": "sha512-3qofw+UhTG5rZXUU+RtYY1ea5Q84LvfHtDuzFLUSK9pL1SLS+S4CBnoMuVM9I009FdVyNGT0Bib3sLMf21SBVQ==", + "license": "MIT", + "dependencies": { + "@primeuix/styled": "^0.7.4", + "@primeuix/themes": "^1.2.5" + }, + "engines": { + "node": ">=12.11.0" + } + }, "node_modules/@rolldown/pluginutils": { "version": "1.0.0-beta.29", "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.29.tgz", @@ -956,7 +1058,6 @@ "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "android" @@ -969,7 +1070,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "android" @@ -982,7 +1082,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -995,7 +1094,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -1008,7 +1106,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "freebsd" @@ -1021,7 +1118,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "freebsd" @@ -1034,7 +1130,6 @@ "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1047,7 +1142,6 @@ "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1060,7 +1154,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1073,7 +1166,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1086,7 +1178,6 @@ "cpu": [ "loong64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1099,7 +1190,6 @@ "cpu": [ "ppc64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1112,7 +1202,6 @@ "cpu": [ "riscv64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1125,7 +1214,6 @@ "cpu": [ "riscv64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1138,7 +1226,6 @@ "cpu": [ "s390x" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1151,7 +1238,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1164,7 +1250,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -1177,7 +1262,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -1190,7 +1274,6 @@ "cpu": [ "ia32" ], - "dev": true, "optional": true, "os": [ "win32" @@ -1203,7 +1286,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -1216,6 +1298,263 @@ "hasInstallScript": true, "license": "Apache-2.0" }, + "node_modules/@tailwindcss/node": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.16.tgz", + "integrity": "sha512-BX5iaSsloNuvKNHRN3k2RcCuTEgASTo77mofW0vmeHkfrDWaoFAFvNHpEgtu0eqyypcyiBkDWzSMxJhp3AUVcw==", + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "enhanced-resolve": "^5.18.3", + "jiti": "^2.6.1", + "lightningcss": "1.30.2", + "magic-string": "^0.30.19", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.16" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.16.tgz", + "integrity": "sha512-2OSv52FRuhdlgyOQqgtQHuCgXnS8nFSYRp2tJ+4WZXKgTxqPy7SMSls8c3mPT5pkZ17SBToGM5LHEJBO7miEdg==", + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.16", + "@tailwindcss/oxide-darwin-arm64": "4.1.16", + "@tailwindcss/oxide-darwin-x64": "4.1.16", + "@tailwindcss/oxide-freebsd-x64": "4.1.16", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.16", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.16", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.16", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.16", + "@tailwindcss/oxide-linux-x64-musl": "4.1.16", + "@tailwindcss/oxide-wasm32-wasi": "4.1.16", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.16", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.16" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.16.tgz", + "integrity": "sha512-8+ctzkjHgwDJ5caq9IqRSgsP70xhdhJvm+oueS/yhD5ixLhqTw9fSL1OurzMUhBwE5zK26FXLCz2f/RtkISqHA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.16.tgz", + "integrity": "sha512-C3oZy5042v2FOALBZtY0JTDnGNdS6w7DxL/odvSny17ORUnaRKhyTse8xYi3yKGyfnTUOdavRCdmc8QqJYwFKA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.16.tgz", + "integrity": "sha512-vjrl/1Ub9+JwU6BP0emgipGjowzYZMjbWCDqwA2Z4vCa+HBSpP4v6U2ddejcHsolsYxwL5r4bPNoamlV0xDdLg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.16.tgz", + "integrity": "sha512-TSMpPYpQLm+aR1wW5rKuUuEruc/oOX3C7H0BTnPDn7W/eMw8W+MRMpiypKMkXZfwH8wqPIRKppuZoedTtNj2tg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.16.tgz", + "integrity": "sha512-p0GGfRg/w0sdsFKBjMYvvKIiKy/LNWLWgV/plR4lUgrsxFAoQBFrXkZ4C0w8IOXfslB9vHK/JGASWD2IefIpvw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.16.tgz", + "integrity": "sha512-DoixyMmTNO19rwRPdqviTrG1rYzpxgyYJl8RgQvdAQUzxC1ToLRqtNJpU/ATURSKgIg6uerPw2feW0aS8SNr/w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.16.tgz", + "integrity": "sha512-H81UXMa9hJhWhaAUca6bU2wm5RRFpuHImrwXBUvPbYb+3jo32I9VIwpOX6hms0fPmA6f2pGVlybO6qU8pF4fzQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.16.tgz", + "integrity": "sha512-ZGHQxDtFC2/ruo7t99Qo2TTIvOERULPl5l0K1g0oK6b5PGqjYMga+FcY1wIUnrUxY56h28FxybtDEla+ICOyew==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.16.tgz", + "integrity": "sha512-Oi1tAaa0rcKf1Og9MzKeINZzMLPbhxvm7rno5/zuP1WYmpiG0bEHq4AcRUiG2165/WUzvxkW4XDYCscZWbTLZw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.16.tgz", + "integrity": "sha512-B01u/b8LteGRwucIBmCQ07FVXLzImWESAIMcUU6nvFt/tYsQ6IHz8DmZ5KtvmwxD+iTYBtM1xwoGXswnlu9v0Q==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.5.0", + "@emnapi/runtime": "^1.5.0", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.0.7", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.16.tgz", + "integrity": "sha512-zX+Q8sSkGj6HKRTMJXuPvOcP8XfYON24zJBRPlszcH1Np7xuHXhWn8qfFjIujVzvH3BHU+16jBXwgpl20i+v9A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.16.tgz", + "integrity": "sha512-m5dDFJUEejbFqP+UXVstd4W/wnxA4F61q8SoL+mqTypId2T2ZpuxosNSgowiCnLp2+Z+rivdU0AqpfgiD7yCBg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.16.tgz", + "integrity": "sha512-bbguNBcDxsRmi9nnlWJxhfDWamY3lmcyACHcdO1crxfzuLpOhHLLtEIN/nCbbAtj5rchUgQD17QVAKi1f7IsKg==", + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.1.16", + "@tailwindcss/oxide": "4.1.16", + "tailwindcss": "4.1.16" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7" + } + }, "node_modules/@types/argparse": { "version": "2.0.17", "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-2.0.17.tgz", @@ -2068,53 +2407,53 @@ } }, "node_modules/@vue/compiler-core": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.21.tgz", - "integrity": "sha512-8i+LZ0vf6ZgII5Z9XmUvrCyEzocvWT+TeR2VBUVlzIH6Tyv57E20mPZ1bCS+tbejgUgmjrEh7q/0F0bibskAmw==", + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.22.tgz", + "integrity": "sha512-jQ0pFPmZwTEiRNSb+i9Ow/I/cHv2tXYqsnHKKyCQ08irI2kdF5qmYedmF8si8mA7zepUFmJ2hqzS8CQmNOWOkQ==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.28.3", - "@vue/shared": "3.5.21", + "@babel/parser": "^7.28.4", + "@vue/shared": "3.5.22", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.1" } }, "node_modules/@vue/compiler-dom": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.21.tgz", - "integrity": "sha512-jNtbu/u97wiyEBJlJ9kmdw7tAr5Vy0Aj5CgQmo+6pxWNQhXZDPsRr1UWPN4v3Zf82s2H3kF51IbzZ4jMWAgPlQ==", + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.22.tgz", + "integrity": "sha512-W8RknzUM1BLkypvdz10OVsGxnMAuSIZs9Wdx1vzA3mL5fNMN15rhrSCLiTm6blWeACwUwizzPVqGJgOGBEN/hA==", "license": "MIT", "dependencies": { - "@vue/compiler-core": "3.5.21", - "@vue/shared": "3.5.21" + "@vue/compiler-core": "3.5.22", + "@vue/shared": "3.5.22" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.21.tgz", - "integrity": "sha512-SXlyk6I5eUGBd2v8Ie7tF6ADHE9kCR6mBEuPyH1nUZ0h6Xx6nZI29i12sJKQmzbDyr2tUHMhhTt51Z6blbkTTQ==", + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.22.tgz", + "integrity": "sha512-tbTR1zKGce4Lj+JLzFXDq36K4vcSZbJ1RBu8FxcDv1IGRz//Dh2EBqksyGVypz3kXpshIfWKGOCcqpSbyGWRJQ==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.28.3", - "@vue/compiler-core": "3.5.21", - "@vue/compiler-dom": "3.5.21", - "@vue/compiler-ssr": "3.5.21", - "@vue/shared": "3.5.21", + "@babel/parser": "^7.28.4", + "@vue/compiler-core": "3.5.22", + "@vue/compiler-dom": "3.5.22", + "@vue/compiler-ssr": "3.5.22", + "@vue/shared": "3.5.22", "estree-walker": "^2.0.2", - "magic-string": "^0.30.18", + "magic-string": "^0.30.19", "postcss": "^8.5.6", "source-map-js": "^1.2.1" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.21.tgz", - "integrity": "sha512-vKQ5olH5edFZdf5ZrlEgSO1j1DMA4u23TVK5XR1uMhvwnYvVdDF0nHXJUblL/GvzlShQbjhZZ2uvYmDlAbgo9w==", + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.22.tgz", + "integrity": "sha512-GdgyLvg4R+7T8Nk2Mlighx7XGxq/fJf9jaVofc3IL0EPesTE86cP/8DD1lT3h1JeZr2ySBvyqKQJgbS54IX1Ww==", "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.5.21", - "@vue/shared": "3.5.21" + "@vue/compiler-dom": "3.5.22", + "@vue/shared": "3.5.22" } }, "node_modules/@vue/compiler-vue2": { @@ -2285,53 +2624,53 @@ } }, "node_modules/@vue/reactivity": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.21.tgz", - "integrity": "sha512-3ah7sa+Cwr9iiYEERt9JfZKPw4A2UlbY8RbbnH2mGCE8NwHkhmlZt2VsH0oDA3P08X3jJd29ohBDtX+TbD9AsA==", + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.22.tgz", + "integrity": "sha512-f2Wux4v/Z2pqc9+4SmgZC1p73Z53fyD90NFWXiX9AKVnVBEvLFOWCEgJD3GdGnlxPZt01PSlfmLqbLYzY/Fw4A==", "license": "MIT", "dependencies": { - "@vue/shared": "3.5.21" + "@vue/shared": "3.5.22" } }, "node_modules/@vue/runtime-core": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.21.tgz", - "integrity": "sha512-+DplQlRS4MXfIf9gfD1BOJpk5RSyGgGXD/R+cumhe8jdjUcq/qlxDawQlSI8hCKupBlvM+3eS1se5xW+SuNAwA==", + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.22.tgz", + "integrity": "sha512-EHo4W/eiYeAzRTN5PCextDUZ0dMs9I8mQ2Fy+OkzvRPUYQEyK9yAjbasrMCXbLNhF7P0OUyivLjIy0yc6VrLJQ==", "license": "MIT", "dependencies": { - "@vue/reactivity": "3.5.21", - "@vue/shared": "3.5.21" + "@vue/reactivity": "3.5.22", + "@vue/shared": "3.5.22" } }, "node_modules/@vue/runtime-dom": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.21.tgz", - "integrity": "sha512-3M2DZsOFwM5qI15wrMmNF5RJe1+ARijt2HM3TbzBbPSuBHOQpoidE+Pa+XEaVN+czbHf81ETRoG1ltztP2em8w==", + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.22.tgz", + "integrity": "sha512-Av60jsryAkI023PlN7LsqrfPvwfxOd2yAwtReCjeuugTJTkgrksYJJstg1e12qle0NarkfhfFu1ox2D+cQotww==", "license": "MIT", "dependencies": { - "@vue/reactivity": "3.5.21", - "@vue/runtime-core": "3.5.21", - "@vue/shared": "3.5.21", + "@vue/reactivity": "3.5.22", + "@vue/runtime-core": "3.5.22", + "@vue/shared": "3.5.22", "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.21.tgz", - "integrity": "sha512-qr8AqgD3DJPJcGvLcJKQo2tAc8OnXRcfxhOJCPF+fcfn5bBGz7VCcO7t+qETOPxpWK1mgysXvVT/j+xWaHeMWA==", + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.22.tgz", + "integrity": "sha512-gXjo+ao0oHYTSswF+a3KRHZ1WszxIqO7u6XwNHqcqb9JfyIL/pbWrrh/xLv7jeDqla9u+LK7yfZKHih1e1RKAQ==", "license": "MIT", "dependencies": { - "@vue/compiler-ssr": "3.5.21", - "@vue/shared": "3.5.21" + "@vue/compiler-ssr": "3.5.22", + "@vue/shared": "3.5.22" }, "peerDependencies": { - "vue": "3.5.21" + "vue": "3.5.22" } }, "node_modules/@vue/shared": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.21.tgz", - "integrity": "sha512-+2k1EQpnYuVuu3N7atWyG3/xoFWIVJZq4Mz8XNOdScFI0etES75fbny/oU4lKWk/577P1zmg0ioYvpGEDZ3DLw==", + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.22.tgz", + "integrity": "sha512-F4yc6palwq3TT0u+FYf0Ns4Tfl9GRFURDN2gWG7L1ecIaS/4fCIuFOjMTnCyjsu/OK6vaDKLCrGAa+KvvH+h4w==", "license": "MIT" }, "node_modules/@vue/tsconfig": { @@ -3972,6 +4311,15 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, "node_modules/devlop": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", @@ -4078,6 +4426,19 @@ "node": ">= 0.8" } }, + "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==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -4295,7 +4656,6 @@ "version": "0.21.5", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", - "dev": true, "hasInstallScript": true, "bin": { "esbuild": "bin/esbuild" @@ -4690,7 +5050,8 @@ "node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" }, "node_modules/esutils": { "version": "2.0.3", @@ -4969,7 +5330,6 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -5129,6 +5489,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -5926,6 +6292,15 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, "node_modules/jquery": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", @@ -6090,6 +6465,270 @@ "immediate": "~3.0.5" } }, + "node_modules/lightningcss": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", + "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.30.2", + "lightningcss-darwin-arm64": "1.30.2", + "lightningcss-darwin-x64": "1.30.2", + "lightningcss-freebsd-x64": "1.30.2", + "lightningcss-linux-arm-gnueabihf": "1.30.2", + "lightningcss-linux-arm64-gnu": "1.30.2", + "lightningcss-linux-arm64-musl": "1.30.2", + "lightningcss-linux-x64-gnu": "1.30.2", + "lightningcss-linux-x64-musl": "1.30.2", + "lightningcss-win32-arm64-msvc": "1.30.2", + "lightningcss-win32-x64-msvc": "1.30.2" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", + "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/linkify-html": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/linkify-html/-/linkify-html-4.3.2.tgz", + "integrity": "sha512-RozNgrfSFrNQlprJSZIN7lF+ZVPj5Pz8POQcu1PYGAUhL9tKtvtWcOXOmlXjuGGEWHtC6gt6Q2U4+VUq9ELmng==", + "license": "MIT", + "peerDependencies": { + "linkifyjs": "^4.0.0" + } + }, + "node_modules/linkifyjs": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.3.2.tgz", + "integrity": "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA==", + "license": "MIT" + }, "node_modules/lit": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/lit/-/lit-3.3.0.tgz", @@ -6206,9 +6845,9 @@ } }, "node_modules/magic-string": { - "version": "0.30.19", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz", - "integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==", + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" @@ -8092,11 +8731,19 @@ "integrity": "sha512-KDeO94CbWI4pKsPnYpA1FPjo79EsY9I+M8ywoPBSf9XMXoe/0crjbUK7jcQEDHuc0ZMRIZsxH3TYLv4TUtHmAA==" }, "node_modules/primevue": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/primevue/-/primevue-3.52.0.tgz", - "integrity": "sha512-HLOVP5YI0ArFKUhIyfZsWmTNMaBYNCBWC/3DYvdd/Po4LY5/WXf7yIYvArE2q/3OuwSXJXvjlR8UNQeJYRSQog==", - "peerDependencies": { - "vue": "^3.0.0" + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/primevue/-/primevue-4.4.1.tgz", + "integrity": "sha512-JbHBa5k30pZ7mn/z4vYBOnyt5GrR15eM3X0wa3VanonxnFLYkTEx8OMh33aU6ndWeOfi7Ef57dOL3bTH+3f4hQ==", + "license": "MIT", + "dependencies": { + "@primeuix/styled": "^0.7.4", + "@primeuix/styles": "^1.2.5", + "@primeuix/utils": "^0.6.1", + "@primevue/core": "4.4.1", + "@primevue/icons": "4.4.1" + }, + "engines": { + "node": ">=12.11.0" } }, "node_modules/process-nextick-args": { @@ -8433,7 +9080,6 @@ "version": "4.46.3", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.46.3.tgz", "integrity": "sha512-RZn2XTjXb8t5g13f5YclGoilU/kwT696DIkY3sywjdZidNSi3+vseaQov7D7BZXVJCPv3pDWUN69C78GGbXsKw==", - "dev": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -9254,6 +9900,25 @@ "url": "https://opencollective.com/synckit" } }, + "node_modules/tailwindcss": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.16.tgz", + "integrity": "sha512-pONL5awpaQX4LN5eiv7moSiSPd/DLDzKVRJz8Q9PgzmAdd1R4307GQS2ZpfiN7ZmekdQrfhZZiSE5jkLR4WNaA==", + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -9818,7 +10483,6 @@ "version": "5.4.20", "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.20.tgz", "integrity": "sha512-j3lYzGC3P+B5Yfy/pfKNgVEg4+UtcIJcVRt2cDjIOmhLourAqPqf8P7acgxeiSgUB7E3p2P8/3gNIgDLpwzs4g==", - "dev": true, "license": "MIT", "dependencies": { "esbuild": "^0.21.3", @@ -9888,16 +10552,16 @@ "license": "MIT" }, "node_modules/vue": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.21.tgz", - "integrity": "sha512-xxf9rum9KtOdwdRkiApWL+9hZEMWE90FHh8yS1+KJAiWYh+iGWV1FquPjoO9VUHQ+VIhsCXNNyZ5Sf4++RVZBA==", + "version": "3.5.22", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.22.tgz", + "integrity": "sha512-toaZjQ3a/G/mYaLSbV+QsQhIdMo9x5rrqIpYRObsJ6T/J+RyCSFwN2LHNVH9v8uIcljDNa3QzPVdv3Y6b9hAJQ==", "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.5.21", - "@vue/compiler-sfc": "3.5.21", - "@vue/runtime-dom": "3.5.21", - "@vue/server-renderer": "3.5.21", - "@vue/shared": "3.5.21" + "@vue/compiler-dom": "3.5.22", + "@vue/compiler-sfc": "3.5.22", + "@vue/runtime-dom": "3.5.22", + "@vue/server-renderer": "3.5.22", + "@vue/shared": "3.5.22" }, "peerDependencies": { "typescript": "*" diff --git a/package.json b/package.json index 7e84ab58..67a634da 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mavedb-ui", - "version": "2025.5.2", + "version": "2026.1.0", "private": true, "type": "module", "scripts": { @@ -15,6 +15,8 @@ "@fortawesome/free-regular-svg-icons": "^7.0.0", "@fortawesome/free-solid-svg-icons": "^7.0.0", "@fortawesome/vue-fontawesome": "^3.1.1", + "@primevue/themes": "^4.4.1", + "@tailwindcss/vite": "^4.1.16", "@unhead/vue": "^2.0.17", "axios": "^1.11.0", "chart.js": "^4.4.1", @@ -41,6 +43,8 @@ "jsonpath-plus": "^10.3.0", "jsonwebtoken": "^9.0.2", "jszip": "^3.10.1", + "linkify-html": "^4.3.2", + "linkifyjs": "^4.3.2", "lodash": "^4.17.21", "marked": "^11.1.0", "moment": "^2.29.4", @@ -52,12 +56,13 @@ "pluralize": "^8.0.0", "primeflex": "^3.3.1", "primeicons": "^6.0.1", - "primevue": "3.52.0", + "primevue": "^4.4.1", "rest-client-vue": "^1.2.0-b2", + "tailwindcss": "^4.1.16", "universal-base64url": "~1.1.0", "uuid": "^9.0.1", "vee-validate": "^4.12.2", - "vue": "^3.3.11", + "vue": "^3.4.0", "vue-debounce": "^4.0.1", "vue-router": "^4.2.5", "vuex": "^4.1.0", diff --git a/public/docs/mavedb/.buildinfo b/public/docs/mavedb/.buildinfo index 4c8cb171..2613b7c5 100644 --- a/public/docs/mavedb/.buildinfo +++ b/public/docs/mavedb/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: fe61ab4a9503c0d35fa0eb1b91172649 +config: ad4296d0777365c695d333cc4f10b8f1 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/public/docs/mavedb/_images/bard1_base_histogram.png b/public/docs/mavedb/_images/bard1_base_histogram.png new file mode 100644 index 00000000..8d695b3e Binary files /dev/null and b/public/docs/mavedb/_images/bard1_base_histogram.png differ diff --git a/public/docs/mavedb/_images/bard1_clinical_histogram.png b/public/docs/mavedb/_images/bard1_clinical_histogram.png new file mode 100644 index 00000000..88106134 Binary files /dev/null and b/public/docs/mavedb/_images/bard1_clinical_histogram.png differ diff --git a/public/docs/mavedb/_images/bard1_custom_histogram.png b/public/docs/mavedb/_images/bard1_custom_histogram.png new file mode 100644 index 00000000..5a4b4f2e Binary files /dev/null and b/public/docs/mavedb/_images/bard1_custom_histogram.png differ diff --git a/public/docs/mavedb/_images/bard1_protein_effect_histogram.png b/public/docs/mavedb/_images/bard1_protein_effect_histogram.png new file mode 100644 index 00000000..63ecaab8 Binary files /dev/null and b/public/docs/mavedb/_images/bard1_protein_effect_histogram.png differ diff --git a/public/docs/mavedb/_images/brca1_assay_facts_example.png b/public/docs/mavedb/_images/brca1_assay_facts_example.png new file mode 100644 index 00000000..323a3d2d Binary files /dev/null and b/public/docs/mavedb/_images/brca1_assay_facts_example.png differ diff --git a/public/docs/mavedb/_images/msh2_heatmap.png b/public/docs/mavedb/_images/msh2_heatmap.png new file mode 100644 index 00000000..542452a0 Binary files /dev/null and b/public/docs/mavedb/_images/msh2_heatmap.png differ diff --git a/public/docs/mavedb/_images/msh2_protein_structure.png b/public/docs/mavedb/_images/msh2_protein_structure.png new file mode 100644 index 00000000..b96b6c64 Binary files /dev/null and b/public/docs/mavedb/_images/msh2_protein_structure.png differ diff --git a/public/docs/mavedb/_sources/accession_numbers.rst.txt b/public/docs/mavedb/_sources/accession_numbers.rst.txt index 2663f41d..93e6f80a 100644 --- a/public/docs/mavedb/_sources/accession_numbers.rst.txt +++ b/public/docs/mavedb/_sources/accession_numbers.rst.txt @@ -1,12 +1,15 @@ MaveDB accession numbers ============================ +.. _accession-numbers-intro: + MaveDB accession numbers use the `URN (Uniform Resource Name) format `_. The accession numbers have a hierarchical structure that reflects the relationship between -experiment sets, experiments, score sets, and individual variants in MaveDB. +experiment sets, experiments, score sets, and individual variants in MaveDB. URNs are also used to uniquely identify +other resources in MaveDB, such as calibrations and collections. -All public accession numbers start with the string `urn:mavedb:` followed by the experiment set number -(eight digits, zero-padded). +URNs within the experiment set/experiment/score set/variant hierarchy start with the string `urn:mavedb:` +followed by the experiment set number (eight digits, zero-padded). Experiments are indexed by letter within the experiment set. If necessary, ``aa``, ``ab``, etc. will follow ``z``. Score sets are indexed by number within the experiment. @@ -28,9 +31,13 @@ Score sets are indexed by number within the experiment. * - ``tmp:446191af-c1f8-4891-9f67-de152e9d328b`` - temporary accession number +.. _end-accession-numbers-intro: + Meta-analysis accession numbers #################################### +.. _meta-analysis-accession-numbers: + Meta-analysis score sets use the special ``0`` experiment instead of a letter. Meta-analysis score sets that include data from a single experiment set will use that experiment set's number. @@ -38,10 +45,28 @@ For meta-analyses that use data from multiple experiment sets, a new experiment set number will be assigned for all meta-analyses that include data from the same experiment sets. These meta-analysis-only experiment sets will only contain the ``0`` experiment. +.. _end-meta-analysis-accession-numbers: + Temporary accession numbers ################################### +.. _temporary-accession-numbers: + When first uploaded, records are given a temporary accession number starting with ``tmp:``. These temporary accessions are not structured according to the record type. MaveDB URNs are created when the temporary records are made publicly viewable by publishing a score set. + +.. _end-temporary-accession-numbers: + +URNs for other resources +################################### + +.. _other-resources-urns: + +Other resources in MaveDB that exists outside of the data set hierarchy, such as calibrations and collections, also use URNs starting with ``urn:mavedb:``. +This is followed by a resource type identifier (e.g., ``calibration``, ``collection``) and a unique +resource identifier. For example, the URN for a calibration resource might be +``urn:mavedb:calibration-11111111-2222-3333-aaaa-bbbbccccdddd``. + +.. _end-other-resources-urns: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/accounts.rst.txt b/public/docs/mavedb/_sources/accounts.rst.txt index 7bafc213..f2d00b91 100644 --- a/public/docs/mavedb/_sources/accounts.rst.txt +++ b/public/docs/mavedb/_sources/accounts.rst.txt @@ -1,28 +1,40 @@ User account management ================================== +.. _user-accounts-intro: + User account authentication in MaveDB is handled through `ORCID iD `_. If you do not have an `ORCID iD `_, you can register a new one for free using their service. Your MaveDB account will be created once you log in for the first time. +You must have logged in at least once to MaveDB using your ORCID iD in order to be added as a :ref:`contributor` to a dataset. + +.. _end-user-accounts-intro: + Setting an email address ################################### +.. _setting-email-address: + MaveDB can only view public email addresses associated with your `ORCID iD `_. If you do not have one of these set and would like to receive emails from MaveDB, you can provide an email address using the `Profile settings page `_ -(requires login). +(requires login). To upload datasets, you must provide an email address. -MaveDB will send automatic emails when upload tasks complete or when your dataset permissions are changed. -MaveDB maintainers will also use this email address to notify you of important updates that affect the usability of -your datasets. +.. _end-setting-email-address: API access tokens ################################### -Users can generate an API access token to access :ref:`private datasets` via API -using the `Profile settings page `_ (requires login). +.. _api-access-tokens: + +Users may generate an API access token to authenticate with the `MaveDB API `_. This token +will allow you to perform actions such as uploading and modifying datasets programmatically, fetching :ref:`private data sets`, +or managing your account. You can generate and revoke API access tokens using the +`Profile settings page `_ (requires login). Only one API access token can be active for a given account. -Generating a new token will invalidate the old one. \ No newline at end of file +Generating a new token will invalidate the old one. + +.. _end-api-access-tokens: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/api/index.rst.txt b/public/docs/mavedb/_sources/api/index.rst.txt new file mode 100644 index 00000000..18c70a33 --- /dev/null +++ b/public/docs/mavedb/_sources/api/index.rst.txt @@ -0,0 +1,10 @@ +MaveDB API +================================== + +.. _mavedb-api-intro: + +The MaveDB API provides programmatic access to MaveDB data and functionality. + +You can explore the API documentation at the following link: `MaveDB API Documentation `_. + +.. _end-mavedb-api-intro: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/assay_facts.rst.txt b/public/docs/mavedb/_sources/assay_facts.rst.txt new file mode 100644 index 00000000..ffc643e5 --- /dev/null +++ b/public/docs/mavedb/_sources/assay_facts.rst.txt @@ -0,0 +1,60 @@ +Assay facts +=================================== + +.. _assay-facts-intro: + +MaveDB captures key facts about the experimental assay used to generate variant effect measurements +from controlled keywords based on a :ref:`controlled vocabulary`. This information is then used +to generate a concise summary of assay facts that is displayed on the score set page. + +.. figure:: images/brca1_assay_facts_example.png + :name: assay-facts-example + :alt: Assay facts section from a MaveDB score set page + :align: left + + Example of the assay facts section from a score set + + This figure shows the assay facts section from + `urn:mavedb:00000097-0-2 `_, + which describes saturation genome editing of *BRCA1*. + +.. _end-assay-facts-intro: + +Assay fact sheet properties +------------------------------------ + +.. _assay-fact-sheet-properties: + +**Gene Symbol** + The HGNC gene symbol for the target gene being assayed. + +**Assay type** + The type of functional assay used to measure variant effects. This corresponds to the :ref:`phenotypic assay method` controlled vocabulary term. + +**Molecular mechanism** + The molecular mechanism by which the assay measures variant effects. This corresponds to the :ref:`molecular mechanism` controlled vocabulary term. + +**Variant consequences detected** + The types of variant consequences that the assay is capable of detecting. This corresponds to the :ref:`phenotypic assay mechanism` controlled vocabulary term. + +**Model system** + The biological system in which the assay was performed. This corresponds to the :ref:`model system` controlled vocabulary term. + +**Detects splicing variants** + Whether the assay is capable of detecting splicing variants. Based on assay design, and inferred based on a combination of the :ref:`variant library creation method` and + other terms. + +**Detects nonsense-mediated decay (NMD) variants** + Whether the assay is capable of detecting NMD variants. Based on assay design, and inferred based on a combination of the :ref:`variant library creation method` and + other terms. + +**OddsPaths** + The Odds of Pathogenicity score calculated for abnormal and normal functional readouts, if applicable. These OddsPaths are based on the framework described in `Brnich et al., 2019 `_. + + .. note:: + OddsPath calculations are provided when available. + + For some assays, MaveDB maintainers may have selected OddsPaths other than those submitted by the data contributor, + based on updated calibrations or reanalyses of the data. In these cases, the source of the OddsPath scores will be indicated on the score set page. + +.. _end-assay-fact-sheet-properties: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/bulk_downloads.rst.txt b/public/docs/mavedb/_sources/bulk_downloads.rst.txt new file mode 100644 index 00000000..f193d493 --- /dev/null +++ b/public/docs/mavedb/_sources/bulk_downloads.rst.txt @@ -0,0 +1,32 @@ +Bulk downloads +================================== + +.. _bulk-downloads: + +A complete set of MaveDB data and metadata is available as a bulk download +hosted on `Zenodo `_. + +.. note:: + The associated DOI for the most recent version of the archive is + `10.5281/zenodo.11201736 `_. + + The archive will be updated twice yearly in May and November. + +The archive contains a single JSON document called ``main.json`` that provides +the structured metadata for every :ref:`experiment set`, +:ref:`experiment`, and :ref:`score set`. +Score set data is provided in ``.csv`` format, +with separate score and count files for each record as appropriate. +Each file is named using the :ref:`score set urn`. + +Users who are interested in downloading a large number of MaveDB datasets are +strongly encouraged to use and cite these archival releases, +particularly for machine learning or AI-based studies where the associated data +needs to be clearly identified for reproducibility. + +Datasets released using the `CC0 `_ +public domain license are included in the archive, and this is the license +applied to the archive itself. +Datasets provided by MaveDB under other licenses are not currently included. + +.. _end-bulk-downloads: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/citation.rst.txt b/public/docs/mavedb/_sources/citation.rst.txt index cfc359ec..caa8b2b9 100644 --- a/public/docs/mavedb/_sources/citation.rst.txt +++ b/public/docs/mavedb/_sources/citation.rst.txt @@ -1,7 +1,21 @@ Citing MaveDB ================================== -When citing MaveDB, please refer to: +.. _citing-mavedb: + +When citing MaveDB, please refer to the most recent publication: + +Rubin AF, Stone J, Bianchi AH, Capodanno BJ, Da EY, Dias M, Esposito D, +Frazer J, Fu Y, Grindstaff SB, Harrington MR, Li I, McEwen AE, Min JK, Moore N, +Moscatelli OG, Ong J, Polunina PV, Rollins JE, Rollins NJ, Snyder AE, +Tam A, Wakefield MJ, Ye SS, Starita LM, Bryant VL, Marks DS, Fowler DM. +MaveDB 2024: a curated community database with over seven million variant effects from multiplexed functional assays. +*Genome Biol.* 2025 Jan 21;26(1):13. +doi: `10.1186/s13059-025-03476-y `_. +PMID: `39838450 `_; +PMCID: `PMC11753097 `_. + +The previous citation is: Esposito D, Weile J, Shendure J, Starita LM, Papenfuss AT, Roth FP, Fowler DM, Rubin AF. MaveDB: an open-source platform to distribute and interpret data from multiplexed assays of variant effect. @@ -13,3 +27,5 @@ PMCID: `PMC6827219 `_. When citing data downloaded from MaveDB, please refer to the MaveDB publication (above) as well as the original publications where the datasets were reported. These citations are usually available on the associated experiment and score set pages. + +.. _end-citing-mavedb: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/clinical_view.rst.txt b/public/docs/mavedb/_sources/clinical_view.rst.txt new file mode 100644 index 00000000..e69de29b diff --git a/public/docs/mavedb/_sources/collections.rst.txt b/public/docs/mavedb/_sources/collections.rst.txt new file mode 100644 index 00000000..cf824a0b --- /dev/null +++ b/public/docs/mavedb/_sources/collections.rst.txt @@ -0,0 +1,106 @@ +Data set collections +============================================ + +.. _data-collections-intro: + +To make it easier to share, organize, and find related data sets that might not be part of the same experiment or study, +MaveDB supports the concept of "collections". A collection is a group of related :ref:`experiments` +and :ref:`score sets` that can be browsed and shared together. Collections can be created for any +purpose, such as grouping data sets from a specific publication, project, or research group. + +Collections which you are an owner or member of will show up on data set pages when the data set is a member of the collection. + +.. _end-data-collections-intro: + +Creating Collections +-------------------------------------------- + +.. _creating-collections: + +To create a new collection, click on the dropdown menu under your user profile in the top-right corner of the MaveDB interface and select "Collections". +From there, you can click the "Add an empty collection" button. You will be prompted to provide a name and description for your collection, +set its privacy level, and add any users you wish to share it with. + +Alternatively, when viewing an :ref:`experiment` or :ref:`score set`, you can add it to a new or existing collection by clicking the "Save to a collection" button +that appears under the assay facts sheet. + +.. _end-creating-collections: + +Collection Privacy +-------------------------------------------- + +.. _collection-privacy: + +When creating a collection, you can choose to make it either public or private. Public collections can be viewed by anyone visiting MaveDB, while private collections can only be accessed by you +and the users you explicitly share them with. + +.. note:: + Even if a collection is private, the individual :ref:`experiments` and :ref:`score sets` within it will still be subject to their own privacy settings. + For example, if a private collection contains a public score set, that score set will still be accessible to anyone with its accession number, even if they cannot view the collection itself. + +.. _end-collection-privacy: + +Collection Permissions +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _collection-permissions: + +When creating or managing a collection, you can specify which users have access to it. You can add other MaveDB users by their ORCiD. There are three levels of permissions you can assign to users for a collection: + +* **Viewer**: Users can view the collection and its contents but cannot make any changes. +* **Editor**: Users can add or remove items from the collection and modify its metadata, but cannot change its permissions or privacy settings. +* **Admin**: Users have full control over the collection, including managing permissions for other users and updating its privacy settings. + +.. note:: + As a collection owner, you will always have admin permissions and cannot be removed from the collection. As the owner of the record, you are + also the only user who may delete the collection. + +.. _end-collection-permissions: + +Managing collections +-------------------------------------------- + +.. _managing-collections: + +To edit or manage an existing collection, navigate to the collection page via the "Collections" link in the user profile dropdown menu. +From there, you can update the collection's name and description, change its privacy settings, manage user permissions, +and add or remove experiments and score sets from the collection. + +.. _end-managing-collections: + +Adding and removing items from collections +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _modifying-collections: +.. _add-to-collection: + +To add an :ref:`experiment` or :ref:`score set` to a collection, navigate to the item's page and click the "Save to a collection" button located under the assay facts sheet. +You can then select an existing collection or create a new one to add the item to. Alternatively, you can add items directly from the collection page by clicking the "Add items" button and pasting +the :ref:`accessions` for the desired experiments or score sets. You must have the requisite permissions on the item to add it to a collection. + +.. _end-add-to-collection: +.. _remove-from-collection: + +To remove items from a collection, navigate to the collection page, click the edit icon next to the score set or experiment list, select the items you wish to remove, and click the "Remove" button. +Changes are not saved until you click the "Save" button at the bottom of the dialog box. + +.. _end-remove-from-collection: +.. _sharing-collections: + +If your collection is private, you can allow other MaveDB users to access it by :ref:`adding their users as viewers`. If your collection +is public, anyone can view it without needing to be added explicitly. Simply share the URL of the collection page with others to give them access. + +.. _end-sharing-collections: +.. _end-modifying-collections: + +Official Collections +-------------------------------------------- + +.. _official-collections: + +Some collections in MaveDB are designated as "official" collections. These collections are curated by the MaveDB team and contain high-quality, well-annotated data sets that are of particular interest to the community. + +You can identify official collections by a special badge on their collection page, and they are often highlighted in MaveDB communications and promotions. These collections are also linked +from any data set page that is included in the official collection. + +.. _end-official-collections: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/controlled-keywords.rst.txt b/public/docs/mavedb/_sources/controlled-keywords.rst.txt new file mode 100644 index 00000000..e69de29b diff --git a/public/docs/mavedb/_sources/controlled_vocabulary.rst.txt b/public/docs/mavedb/_sources/controlled_vocabulary.rst.txt new file mode 100644 index 00000000..398b750e --- /dev/null +++ b/public/docs/mavedb/_sources/controlled_vocabulary.rst.txt @@ -0,0 +1,215 @@ +MAVE controlled vocabulary +=================================== + +.. _controlled-vocabulary-intro: + +Experiments may be tagged with a controlled set of terms. These keywords offer a structured vocabulary +for describing key aspects of the experiment, such as the type of assay performed, the biological system used, +or the specific techniques employed. + +Although such information may also be included in the free-text methods or abstract fields, +using controlled keywords ensures consistency across experiments and facilitates more effective searches +and visualizations for end users. + +For the information you submit to MaveDB to be maximally useful to others, +we strongly encourage you to provide controlled keywords in the following four categories that describe key aspects of the assay: + +(1) The method and characteristics of genetic perturbation +(2) Details of the phenotypic assay used to assess variant effects +(3) Information about the cellular and environmental contexts of the assays +(4) The sequencing strategy for associating variants with effects. + +.. seealso:: + For more information on how these controlled keywords are used in MaveDB, see the :ref:`Assay facts` section. + +.. _end-controlled-vocabulary-intro: + +Available controlled vocabulary terms +*************************************** + +.. _controlled-vocabulary-terms: + +Variant library creation methods +####################################### + +.. _variant-library-creation-methods: + +This category describes the method used to generate the variant library for the MAVE experiment. + +* Endogenous locus library method +* In vitro construct library method +* N/A (for meta-analyses or other experiments without a variant library) +* Other (include a brief description) + +After selecting a method, you should also include both the method system and mechanism used to create the variant library. + +.. _end-variant-library-creation-methods: + +Delivery method +####################################### + +.. _delivery-method: + +The delivery method describes how the variant induction machinery and/or the construct was delivered +to the model system. Possible options include: + +* Electroporation +* Nucleofection +* Chemical-based transfection +* Adeno-associated virus transduction +* Lentivirus transduction +* Chemical or heat shock transformation +* Other (include a brief description) + +.. _end-delivery-method: + +Phenotypic assay dimensionality +####################################### + +.. _phenotypic-assay-dimensionality: + +This category describes the dimensionality of the functional readouts of the assay. + +Possible types: + +* Single-dimensional data (e.g., single fluorescence measurement) +* High-dimensional data (e.g., ML/AI-enabled imaging/classification) +* Combined functional data (multiple assays combined) +* Other (include a brief description) + +.. _end-phenotypic-assay-dimensionality: + +Phenotypic assay method +####################################### + +.. _phenotypic-assay-method: + +Assay method defining the molecular properties interrogated. Terms are aligned to OBI (root OBI_0000070: “assay”). + +Possible types: + +* Promoter activity detection by reporter gene assay +* Bulk RNA-sequencing +* Single-cell RNA sequencing assay +* Fluorescence in-situ hybridization (FISH) assay +* Flow cytometry assay +* Imaging mass cytometry assay +* Systematic evolution of ligands by exponential enrichment assay +* Single cell imaging +* Multiplexed fluorescent antibody imaging +* Binding assay +* Cell proliferation assay +* Survival assessment assay +* Other (include a brief description) + +.. _end-phenotypic-assay-method: + +Phenotypic assay mechanism +####################################### + +.. _phenotypic-assay-mechanism: + +The biological mechanism by which the assay detects variant effects. Terms are aligned to `gene ontology `_ biological process terms. + +Possible types: + +* Dominant-negative effect +* Gain of function +* Loss of function +* Gain or loss of function +* Loss of function or dominant-negative effect +* Other (include a brief description) + +.. _end-phenotypic-assay-mechanism: + +Phenotypic assay model system +####################################### + +.. _phenotypic-assay-model-system: + +Context influencing phenotype expression. + +Possible types: + +* Immortalized human cells +* Murine primary cells +* Induced pluripotent stem cells from human male +* Induced pluripotent stem cells from human female +* Patient derived primary cells +* Yeast +* Bacteria +* Bacteriophage +* Molecular display +* Other (include a brief description) + +Optionally provide codings for specific cell lines (e.g., Cell Line Ontology) and taxonomy identifiers where applicable. + +.. _end-phenotypic-assay-model-system: + +Phenotypic assay profiling strategy +####################################### + +.. _phenotypic-assay-profiling-strategy: + +Variant profiling strategy used to capture variant frequency vs. assay outcome. Required. + +Possible types: + +* Direct sequencing +* Shotgun sequencing +* Barcode sequencing + +.. _end-phenotypic-assay-profiling-strategy: + +Phenotypic assay sequencing read type +####################################### + +.. _phenotypic-assay-sequencing-read-type: + +Sequencing read type used in the assay. Required. + +Possible types: + +* Single-segment (short read) +* Single-segment (long read) +* Multi-segment + +.. _end-phenotypic-assay-sequencing-read-type: + +Molecular mechanism assessed +####################################### + +.. _molecular-mechanism-assessed: + +Molecular mechanism by which the assay measures variant effects. + +Possible types: + +* Catalytic and Cysteine synthase activity +* Catalytic and Hydroxymethylbilane synthase activity +* Catalytic and Lipid phosphatase activity +* Catalytic and Thiamine diphosphokinase activity +* Cellular response to cisplatin, DNA repair and Double-strand break repair via homologous recombination +* DNA damage response, signal transduction by p53 class mediator and MDM2/MDM4 family protein binding +* DNA repair and Double-strand break repair via homologous recombination +* Double-strand break repair, damage response, signal transduction by p53 class mediator and Response to etoposide +* Molecular function +* Monoatomic ion transport and Potassium channel activity +* Sodium channel activity +* Calcium-mediated signaling +* Catalytic and Gluconokinase activity +* Catalytic activity and Ornithine carbamoyltransferase activity +* Core promoter sequence-specific DNA binding +* DNA damage checkpoint signaling +* DNA and Mismatch repair +* Molecular condensate scaffold activity +* Monoatomic ion transport and Sodium ion transport +* Oxidative phosphorylation +* Protein carboxylation +* Protein glycosylation +* Protein localization to plasma membrane +* Regulation of protein stability +* Response to misfolded protein + +.. _end-molecular-mechanism-assessed: +.. _end-controlled-vocabulary-terms: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/data_formats.rst.txt b/public/docs/mavedb/_sources/data_formats.rst.txt index 7dd70ea2..ccf23ba6 100644 --- a/public/docs/mavedb/_sources/data_formats.rst.txt +++ b/public/docs/mavedb/_sources/data_formats.rst.txt @@ -1,21 +1,30 @@ Data table formats ============================ +.. _data-table-formats-intro: + MaveDB accepts and provides data tables in CSV format. Each row of the data table describes a single variant, and variants are described using `MAVE-HGVS`_ format. All other columns are expected to be floating point values. +.. _end-data-table-formats-intro: + Variant columns ############################ +.. _variant-columns: + For both score and count data tables, there are three variant columns: -* ``hgvs_nt`` describes variants with respect to the nucleotide :ref:`target sequence` -* ``hgvs_tx`` describes variants with respect to a transcript model -* ``hgvs_pro`` describes variants with respect to the amino acid :ref:`target sequence` +* ``hgvs_nt`` describes variants with respect to the nucleotide :ref:`target sequence` +* ``hgvs_splice`` describes variants with respect to a transcript model +* ``hgvs_pro`` describes variants with respect to the amino acid :ref:`target sequence` + +``hgvs_nt`` and ``hgvs_pro`` variants are required to be described in relation to the score set :ref:`target`. -``hgvs_nt`` and ``hgvs_pro`` variants are required to be described in relation to the score set target sequence, -rather than to an external reference sequence. +All variants must be described in `MAVE-HGVS`_ format, which is a subset of the `HGVS `_ format. +This includes using the appropriate prefix (``c.`` for coding DNA, ``n.`` for non-coding DNA, ``p.`` for protein) and +using brackets for complex variants that affect multiple positions (e.g. ``c.[123A>G;125_T>C]``). If ``hgvs_nt`` is present, it will be used as the primary key for distinguishing variants and must be unique. Otherwise, ``hgvs_pro`` will be used as the primary key. @@ -26,14 +35,47 @@ Otherwise, ``hgvs_pro`` will be used as the primary key. `standard amino acid translation table `_ for validation. -The ``hgvs_tx`` variants are not validated against a transcript model or target sequence. -This is a convenience feature for datasets that contain splice variants; most datasets will not use ``hgvs_tx``. -Datasets that use ``hgvs_tx`` must also have ``hgvs_nt``, which is used as the primary key, +The ``hgvs_splice`` variants are not validated against a transcript model or target sequence. +This is a convenience feature for datasets that contain splice variants; most datasets will not use ``hgvs_splice``. +Datasets that use ``hgvs_splice`` must also have ``hgvs_nt``, which is used as the primary key, and the ``hgvs_nt`` variants must use the ``'g.'`` prefix. +.. _end-variant-columns: + +Fully-qualified variants +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _fully-qualified-variants: + +'Fully-qualified variants' refer to variants which are submitted with complete information about their transcript or relative sequence. +For accession based targets, this means variants are submitted with respect to a specific RefSeq or Ensembl transcript (e.g: ``NM_000546.5:c.215C>G``). +When submitting accession based targets, MaveDB requires fully-qualified variants to ensure unambiguous mapping to the target sequence. + +For sequence-based targets, fully-qualified variants include the full sequence context of the variant. When you are submitting variants +with respect to a single sequence-based target, your variants need not be fully-qualified. However, if you are submitting variants +with respect to multiple sequence-based targets, MaveDB requires fully-qualified variants to ensure unambiguous mapping to the correct target sequence. +You should use the target label as the prefix for the variant (e.g: ``target1:c.215C>G``). + +For more information on targets, see the :ref:`targets` section. + +.. _end-fully-qualified-variants: + +Base editor data +~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _base-editor-data: + +If you are submitting data from a base editor experiment, you must also include a column ``guide_sequence`` in your score and/or count data table. +This column should contain the guide RNA sequence used to generate each variant. This column is required for base editor datasets, and replaces the +``hgvs_nt`` column as the primary key for variants. As such, it must be unique. + +.. _end-base-editor-data: + Score table columns ############################ +.. _score-table-columns: + All score tables must have a column named ``score`` that describes the score of that variant in the assay. Score tables may have any number of additional numeric columns. @@ -41,6 +83,9 @@ Suggested numeric columns include a standard deviation or variance, or some other measure of uncertainty for the score such as a 95% confidence interval (represented as two columns, e.g. ``ci_lower`` and ``ci_upper``). +.. warning:: + Do not submit patient data or anything which could be used to identify individuals to MaveDB. + Score sets that describe experiments with multiple replicates often include the score and standard deviation for each replicate as additional columns. @@ -49,13 +94,17 @@ we recommend encoding the categories as integers and describing the mapping betw :ref:`free text methods`. Support for additional data columns with string data will be added in a future version to support this use case. +.. _end-score-table-columns: + Score table examples ---------------------------------- +.. _score-table-examples: + Here is a short excerpt from the score table for `urn:mavedb:00000003-a-1 `_. -That this dataset uses ``hgvs_nt`` as the primary variant key. +This dataset uses ``hgvs_nt`` as the primary variant key. It has several additional data columns with the scores and error estimates for multiple biological replicates. Note that some variants do not have a score. @@ -78,11 +127,34 @@ such as a score in an individual replicate or some counts. c.[1G>T;97_99delinsGGG],NA,p.[Asp1Tyr;Pro33Gly],NA,NA,NA,0.159,-0.177,0.445,-0.583,0.500,-0.323,0.537,-0.470,NA,NA,0.284,0.188 c.476G>T,NA,p.Gly159Val,-1.192,0.100,0.000,0.141,-1.050,0.079,-1.557,0.030,-0.969,0.114,-1.030,0.126,-1.264,0.168,-1.303 +.. _end-score-table-examples: + Count table columns ################################## +.. _count-table-columns: + Count data are optional for MaveDB score sets, but are recommended. There are no required columns for count data, but uploaders should decide on an intuitive naming convention for the column names and describe it in the :ref:`free text methods`. + +.. _end-count-table-columns: + +Metadata files +################################## + +.. _metadata-files: + +Users may also upload metadata files in JSON format to provide additional structured metadata about the columns in the score and count tables. +These files should be named ``score_columns_metadata.json`` and ``count_columns_metadata.json`` respectively. These files are +optional, but recommended. + +The metadata files should contain a JSON object where each key is a column name from the corresponding data table, +and the value is another JSON object with additional metadata about that column. The additional JSON object may contain the following fields: + +* ``description``: A string describing the column. +* ``details``: A string with additional details about the contents of the column (optional). + +.. _end-metadata-files: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/data_set_search.rst.txt b/public/docs/mavedb/_sources/data_set_search.rst.txt new file mode 100644 index 00000000..4a7bf6f7 --- /dev/null +++ b/public/docs/mavedb/_sources/data_set_search.rst.txt @@ -0,0 +1,40 @@ +Data Set Search +=================================== + +.. _data-set-search-intro: + +MaveDB provides a search interface to help users find relevant data sets. +You can access the search page by clicking on the "Search" link in the top navigation bar. + +.. _end-data-set-search-intro: + +Search interface +----------------------------------- + +.. _data-set-search-interface: + +The search interface allows users to filter data sets based on various criteria. + +In the target tab, users can filter data sets based on the following fields pulled from user-submitted target metadata: + +* **Target name**: The name of the target associated with the data set (usually a gene or protein). +* **Target type**: The type of target (e.g., protein-coding gene, non-coding RNA, regulatory element). +* **Organism**: The organism from which the target is derived. +* **Target accession**: The accession number or identifier for the target (e.g. Ensembl ID, RefSeq ID, etc.). + +In the publication tab, users can filter data sets based on the following publication-related fields: + +* **Author**: The author of any publication associated with a data set. +* **Database**: The database of any publication associated with a dataset (e.g., PubMed, CrossRef, etc.). +* **Journal**: The journal in which any publication associated with a data set was published. + +Users may also enter keywords into the search bar to perform a full-text search across all data set metadata fields, including target metadata, publication metadata, assay facts, and score set metadata. +Note that search filters are additive; data sets must meet all specified criteria to be included in the search results. + +Results are grouped by experiment, with all matching score sets listed under each experiment. + +.. note:: + Search results are updated in real-time as users modify their search criteria but limited to the first 100 results for performance reasons. + If your search returns more than 100 results, consider refining your search criteria further. + +.. _end-data-set-search-interface: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/data_set_types/experiment_sets.rst.txt b/public/docs/mavedb/_sources/data_set_types/experiment_sets.rst.txt new file mode 100644 index 00000000..972d5137 --- /dev/null +++ b/public/docs/mavedb/_sources/data_set_types/experiment_sets.rst.txt @@ -0,0 +1,11 @@ +Experiment sets +################################### + +Experiment sets do not have their own data or metadata and are used to group related experiments, +such as when different functional assays are performed on the same target and described in the same publication +(`example experiment set `_). + +In general, an experiment set should contain data for a single target. +It is not necessary to include all data from a single publication or research project under one experiment set. + +Experiment sets are automatically created when the first associated experiment is saved. \ No newline at end of file diff --git a/public/docs/mavedb/_sources/data_set_types/experiments.rst.txt b/public/docs/mavedb/_sources/data_set_types/experiments.rst.txt new file mode 100644 index 00000000..9714d595 --- /dev/null +++ b/public/docs/mavedb/_sources/data_set_types/experiments.rst.txt @@ -0,0 +1,21 @@ +Experiments +============================================ + +Experiments describe the data generated from performing a MAVE on a target. +This includes all steps of the experimental procedure up to and including high-throughput sequencing. +Library construction, assay design, and sequencing strategy are all described in the experiment +(`example experiment `_). + +.. seealso:: + Data analysis steps including read filtering, read counting, and score calculation are described in a + :ref:`score set`. + +Publications that perform more than one functional assay should be represented as multiple experiments organized under +a single experiment set, and each functional assay should be described in its own experiment record. +This still applies to experimental designs where the differences between assays were relatively minor, +such as varying the temperature or the concentration of a small molecule. + +To assign a new experiment to an existing experiment set, use the 'Add an experiment' button on the experiment set page. + +Replicate assays should not be reported as separate experiments, +instead the number and nature of the replicates should be clearly stated in the experiment's methods section. \ No newline at end of file diff --git a/public/docs/mavedb/_sources/data_set_types/index.rst.txt b/public/docs/mavedb/_sources/data_set_types/index.rst.txt new file mode 100644 index 00000000..7ae56e62 --- /dev/null +++ b/public/docs/mavedb/_sources/data_set_types/index.rst.txt @@ -0,0 +1,32 @@ +Data set types +================================== + +MaveDB has three kinds of records: experiment set, experiment, and score set. +These records are organized hierarchically. +Each experiment set can contain multiple experiments and each experiment can contain multiple score sets. +MaveDB also supports meta-analysis score sets, which are based on one or more existing score sets. +Each of these record types are described in more detail below. + +.. figure:: ../images/brca1_mavedb_cartoon.svg + :name: experiment-set-cartoon + :alt: cartoon schematic of an experiment set with multiple experiments and score sets in MaveDB + :align: left + + Schematic of an experiment set. + + This cartoon shows the experiment set for + `urn:mavedb:00000003 `_, + which describes two distinct assays performed on a single *BRCA1* variant library, + each with two associated score sets. + This nested structure is typical of a MaveDB record describing a complex study with multiple elements. + Note that each assay (symbolized by the yeast and bacteriophage and their associated sequencing instruments) + is described in its own experiment record, + and that each experiment has its own score set records that describe the analysis and results + (symbolized by the computer and data table). + +.. toctree:: + :maxdepth: 2 + + experiment_sets + experiments + score_sets \ No newline at end of file diff --git a/public/docs/mavedb/_sources/data_set_types/score_sets.rst.txt b/public/docs/mavedb/_sources/data_set_types/score_sets.rst.txt new file mode 100644 index 00000000..6eb46e74 --- /dev/null +++ b/public/docs/mavedb/_sources/data_set_types/score_sets.rst.txt @@ -0,0 +1,24 @@ +Score sets +============================================ + +Score sets are records that describe the scores generated from the raw data described in their associated experiment. +This includes all steps following the high-throughput sequencing step, including read filtering, read counting, and +score calculations (`example score set `_). + +Multiple score sets should be used when distinct methods were used to calculate scores for raw data described by the +experiment. +The most common use case for multiple score sets is when scores are calculated at nucleotide resolution and amino +acid resolution for deep mutational scanning data. + +To assign a new score set to an existing experiment, use the dropdown at the top of the score set form. + +When uploading results based on imputation or complex normalization, +it's recommended to upload a more raw form of the scores (e.g. enrichment ratios) as a normal score set, +and then use :ref:`meta-analysis score sets` to describe the imputed or normalized results. + +Meta-analysis score sets +----------------------------------- + +Meta-analysis score sets have all the same attributes as a regular score set, +but they are linked to existing score sets rather than an existing experiment +(`example meta-analysis score set `_). \ No newline at end of file diff --git a/public/docs/mavedb/_sources/dataset_search.rst.txt b/public/docs/mavedb/_sources/dataset_search.rst.txt new file mode 100644 index 00000000..e69de29b diff --git a/public/docs/mavedb/_sources/external_integrations.rst.txt b/public/docs/mavedb/_sources/external_integrations.rst.txt new file mode 100644 index 00000000..df8c51fc --- /dev/null +++ b/public/docs/mavedb/_sources/external_integrations.rst.txt @@ -0,0 +1,57 @@ +External integrations +=========================================== + +.. _external-integrations-intro: + +MaveDB integrates with several external resources to enrich hosted data sets and facilitate data sharing and interpretation. + +Many of these integrations rely on :ref:`variant mapping` to link MAVE variants to genomic coordinates and transcripts. + +.. _end-external-integrations-intro: + +ClinGen +------------------------------------------- + +.. _clingen-integration: + +After mapping, MaveDB submits variant data to the `ClinGen Allele Registry `_ to obtain ClinGen Allele IDs (CAIDs) for each variant. +CAIDs provide a stable and unique identifier for genetic variants, enabling consistent referencing across databases and publications. + +When a data set is published, MaveDB automatically submits the mapped variants to the ClinGen Linked Data Hub. This submission includes relevant metadata about the variants and their associated scores. +This allows ClinGen to display information about the functional data from MaveDB directly on their platform, enhancing the visibility and utility of MAVE data for the clinical genomics community. + +.. _end-clingen-integration: + + +ClinVar +------------------------------------------- + +.. _clinvar-integration: + +Using the ClinGen Allele IDs obtained during the mapping process, MaveDB cross-references variants with the `ClinVar database `_ to identify any existing annotations. +These annotations power visualizations in MaveDB intended to show the segretation ability of an assay with respect to known pathogenic and benign variants. MaveDB displays ClinVar significance classifications +and 'star' status alongside variant effect scores, allowing users to assess how well the MAVE data aligns with established clinical interpretations and links to ClinVar entries for further information. + +.. note:: + A future version of this software will allow users to submit variant interpretations back to ClinVar directly from MaveDB, streamlining the process of sharing functional evidence with the clinical genomics community. + +.. _end-clinvar-integration: + + +gnomAD +------------------------------------------- + +.. _gnomad-integration: + +Mapped variants in MaveDB are also cross-referenced with the `gnomAD database `_ to retrieve population frequency data. This integration provides users with important context about the prevalence of variants in diverse human populations. + +.. _end-gnomad-integration: + +VEP +------------------------------------------- + +.. _vep-integration: + +MaveDB utilizes the `Ensembl Variant Effect Predictor (VEP) `_ to annotate mapped variants with predicted functional consequences. VEP provides insights into how variants may impact gene function, including effects on protein coding sequences, splicing, and regulatory regions. + +.. _end-vep-integration: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/faqs.rst.txt b/public/docs/mavedb/_sources/faqs.rst.txt new file mode 100644 index 00000000..5e83361e --- /dev/null +++ b/public/docs/mavedb/_sources/faqs.rst.txt @@ -0,0 +1,17 @@ +Frequently Asked Questions +=================================== + +.. _faqs: + +Where can I find help or contact support for MaveDB? +----------------------------------------------------- + +.. _contact-support: + +The :ref:`MaveDB documentation` provides detailed information on various topics related to MaveDB. +If you have specific questions, can't find what you're looking for or need further assistance, you can contact the MaveDB support team by messaging us on +Zulip at `MaveDB Zulip `_. + +If you have specific feature requests or bug reports, you can also create an issue on the `MaveDB issue tracker `_. + +.. _end-contact-support: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/getting_started.rst.txt b/public/docs/mavedb/_sources/getting_started.rst.txt new file mode 100644 index 00000000..9d1fa2f6 --- /dev/null +++ b/public/docs/mavedb/_sources/getting_started.rst.txt @@ -0,0 +1,56 @@ +Getting started with MaveDB +================================== + +.. _getting-started-intro: + +This documentation provides an overview of MaveDB and instructions for uploading, publishing, accessing and exploring datasets in addition +to detailed descriptions of other MaveDB features. + +.. _end-getting-started-intro: + +What is MaveDB? +----------------------------------- + +.. _what-is-mavedb: + +.. _end-what-is-mavedb: + +Uploading data +################################### + +.. _getting-started-with-uploading-data: + +.. _end-getting-started-with-uploading-data: + +Publishing data +################################### + +.. _getting-started-with-publishing-data: + +.. _end-getting-started-with-publishing-data: + +Accessing data +################################### + +.. _getting-started-with-accessing-data: + +.. _end-getting-started-with-accessing-data: + + +Exploring data +################################### + +.. _getting-started-with-exploring-data: + +.. _end-getting-started-with-exploring-data: + +Additional resources +################################### + +.. _getting-started-with-additional-resources: + +.. include:: ./mavemd/index.rst + :start-after: .. _mavemd-index: + :end-before: .. _end-mavemd-index + +.. _end-getting-started-with-additional-resources: diff --git a/public/docs/mavedb/_sources/heatmap.rst.txt b/public/docs/mavedb/_sources/heatmap.rst.txt new file mode 100644 index 00000000..e69de29b diff --git a/public/docs/mavedb/_sources/histogram.rst.txt b/public/docs/mavedb/_sources/histogram.rst.txt new file mode 100644 index 00000000..e69de29b diff --git a/public/docs/mavedb/_sources/index.rst.txt b/public/docs/mavedb/_sources/index.rst.txt index a9544163..b1f44c28 100644 --- a/public/docs/mavedb/_sources/index.rst.txt +++ b/public/docs/mavedb/_sources/index.rst.txt @@ -8,15 +8,32 @@ Source code is available from the `MaveDB GitHub`_ under the `AGPLv3 license `_. To report issues or request new features, please use the `MaveDB issue tracker`_. +.. _index: + .. toctree:: :maxdepth: 2 + .. getting_started + accounts + record_types/index + targets + score_calibrations + data_formats + controlled_vocabulary + variant_mapping upload_guide publishing - record_types - data_formats - target_sequences + data_set_search + bulk_downloads + output_formats + collections + assay_facts + visualizations + api/index + external_integrations accession_numbers - data_licensing + faqs citation + +.. _end-index: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/mapped_variants.rst.txt b/public/docs/mavedb/_sources/mapped_variants.rst.txt new file mode 100644 index 00000000..e69de29b diff --git a/public/docs/mavedb/_sources/mavemd.rst.txt b/public/docs/mavedb/_sources/mavemd.rst.txt new file mode 100644 index 00000000..e69de29b diff --git a/public/docs/mavedb/_sources/mavemd/clinical_view.rst.txt b/public/docs/mavedb/_sources/mavemd/clinical_view.rst.txt new file mode 100644 index 00000000..cb3fab09 --- /dev/null +++ b/public/docs/mavedb/_sources/mavemd/clinical_view.rst.txt @@ -0,0 +1,8 @@ +Variant Clinical View +=================================== + +.. _clinical-view-intro: + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed euismod, urna eu tincidunt consectetur, nisi nisl aliquam eros, a facilisis enim leo nec urna. Mauris non tempor quam, et lacinia sapien. Mauris accumsan eros eget libero posuere vulputate. + +.. _end-clinical-view-intro: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/mavemd/curation.rst.txt b/public/docs/mavedb/_sources/mavemd/curation.rst.txt new file mode 100644 index 00000000..799b8745 --- /dev/null +++ b/public/docs/mavedb/_sources/mavemd/curation.rst.txt @@ -0,0 +1,8 @@ +Data Set Curation +=================================== + +.. _data-set-curation-intro: + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed euismod, urna eu tincidunt consectetur, nisi nisl aliquam eros, a facilisis enim leo ac sapien. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. + +.. _end-data-set-curation-intro: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/mavemd/evaluating_functional_assays.rst.txt b/public/docs/mavedb/_sources/mavemd/evaluating_functional_assays.rst.txt new file mode 100644 index 00000000..11f17d8f --- /dev/null +++ b/public/docs/mavedb/_sources/mavemd/evaluating_functional_assays.rst.txt @@ -0,0 +1,15 @@ +Evaluating functional assays +=================================== + +.. _evaluating-functional-assays-intro: + +When evaluating functional assays for their suitability in variant effect mapping studies, +consideration should be given to several key factors that can influence the quality and interpretability of the +results. These factors include the dimensionality of the assay, the method used, the biological mechanism +assessed, and the model system employed. + +MaveDB uses a :ref:`controlled vocabulary` to capture these key aspects of functional assays +and generate concise summaries of :ref:`assay facts` for each score set. These summaries can +help users quickly assess the relevance and reliability of the data for their specific research questions. + +.. _end-evaluating-functional-assays-intro: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/mavemd/index.rst.txt b/public/docs/mavedb/_sources/mavemd/index.rst.txt new file mode 100644 index 00000000..35998804 --- /dev/null +++ b/public/docs/mavedb/_sources/mavemd/index.rst.txt @@ -0,0 +1,17 @@ +MaveMD +================================== + +MaveMD refers to a suite of tools and features associated with MaveDB that facillitate the clinical interpretation +of variants based on variant effect measurements from MAVE assays. + +.. _mavemd-index: + +.. toctree:: + :maxdepth: 2 + + ../mavemd/variant_search + ../mavemd/curation + ../mavemd/clinical_view + ../mavemd/evaluating_functional_assays + +.. _end-mavemd-index: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/mavemd/variant_search.rst.txt b/public/docs/mavedb/_sources/mavemd/variant_search.rst.txt new file mode 100644 index 00000000..ac87e35e --- /dev/null +++ b/public/docs/mavedb/_sources/mavemd/variant_search.rst.txt @@ -0,0 +1,8 @@ +Variant Search +=================================== + +.. _variant-search-intro: + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed euismod, urna eu tincidunt consectetur, nisi nisl aliquam eros, a facilisis enim leo nec urna. Mauris non tempor quam, et lacinia sapien. Mauris accumsan eros eget libero posuere vulputate. + +.. _end-variant-search-intro: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/output_formats.rst.txt b/public/docs/mavedb/_sources/output_formats.rst.txt new file mode 100644 index 00000000..77411cba --- /dev/null +++ b/public/docs/mavedb/_sources/output_formats.rst.txt @@ -0,0 +1,75 @@ +Output formats +================================== + +.. _output-formats-intro: + +MaveDB supports multiple output formats for downloading variant effect score data. These formats are designed to accommodate different user needs and facilitate integration with various analysis tools and pipelines. The primary output formats available in MaveDB include: + +* **Score and count data**: Downloadable as CSV or TSV files, these files contain the raw and processed variant effect scores along with associated count data. +* **Mapped variants**: Available in `GA4GH VRS `_ format, this output provides standardized representations of variants mapped to genomic coordinates. +* **Annotated variants**: Provided in `VA-Spec `_ format, this output includes additional annotations for each variant, such as functional classifications and evidence strengths. + +.. _end-output-formats-intro: + +Score and count data +----------------------------------- + +.. _score-data-output-formats: + +MaveDB allows users to download variant effect score data along with associated count data in common tabular formats such as CSV (Comma-Separated Values) and TSV (Tab-Separated Values). This is the same data that users upload, but with an additional column for variant URNs that uniquely identify each variant in MaveDB. +Users may also choose to include other MaveDB generated columns in this output, such as mapped variant HGVS strings and VRS identifiers, if available. + +.. note:: + Score and count columns are non-prescriptive and may vary between datasets, see: :ref:`data table formats`. + + Columns may mean different things between data sets, so users should refer to the dataset documentation for details on the specific columns included in each download. + +.. _end-score-data-output-formats: + + +Mapped variants +----------------------------------- + +.. _mapped-variants-output-formats: + +MaveDB stores :ref:`mapped variants` using the `GA4GH VRS `_ standard for representing genetic variants. Mapped variants may be downloaded in VRS JSON format, which provides a structured representation of each variant +including genomic coordinates, alleles, and reference sequences. For data sets which have been mapped, users may download this JSON file containing all mapped variants associated with the score set. + +.. _end-mapped-variants-output-formats: + + +Annotated variants +----------------------------------- + +.. _annotated-variants-output-formats: + +MaveDB provides annotated variant data in the `VA-Spec `_ format, which builds upon the VRS standard to include additional annotations relevant to variant interpretation. This output includes functional classifications, evidence strengths, and other metadata associated with each variant. There are three types of VA-Spec objects that MaveDB provides, which are described below. +Variants may not have all three types of VA-Spec objects associated with them; the availability of each object type depends on the data provided in the score set and its calibrations. + +Functional Impact Study Result +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _annotated-variants-functional-impact-study-result: + +This object represents the results of a functional impact study for a specific variant. It includes the variant identifier, its mapping result, the observed effect score, and metadata about the study itself. This object is useful for capturing the direct results of MAVE experiments, and +is intended to be used as evidence in variant interpretation frameworks. It forms the basis for other exported VA-Spec objects in MaveDB. + +.. _end-annotated-variants-functional-impact-study-result: + +Functional Impact Statement +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _annotated-variants-functional-impact-statement: + +This object summarizes the functional impact of a variant based on the results of a functional impact study. It builds on the Functional Impact Study Result to additionally provide an overall classification (e.g., "Normal", "Abnormal") of variant effect based on provided :ref:`score calibrations `. + +.. _end-annotated-variants-output-formats: + +Pathogenicity Evidence Line +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _annotated-variants-pathogenicity-evidence-line: + +This object represents a line of evidence for variant pathogenicity based on functional impact data. It incorporates the Functional Impact Statement and includes evidence strengths (e.g., "Strong", "Moderate") that indicate the level of confidence in the functional classification. This object is designed to be integrated into broader variant interpretation frameworks, such as those used in clinical genomics. + +.. _end-annotated-variants-pathogenicity-evidence-line: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/publishing.rst.txt b/public/docs/mavedb/_sources/publishing.rst.txt index db97b953..5655da1a 100644 --- a/public/docs/mavedb/_sources/publishing.rst.txt +++ b/public/docs/mavedb/_sources/publishing.rst.txt @@ -1,21 +1,45 @@ Making your data public ================================== +.. _publishing-data: + When first created, records are given a :ref:`temporary accession number` beginning with ``tmp:`` instead of ``urn:mavedb:``. -Temporary records are only visible to the uploader. -If you want to access these datasets via API, you can create an API key on your user profile page. +Temporary records are only visible to the uploader and to any :ref:`contributors` that +have been added to the record. +If you want to access these datasets via API, you can create an API key on your user profile page to enable authentication. When the record is ready to be made public, you can click on the padlock icon to "publish" the record. -Note that when the data is published, several fields (including the target sequence, scores, and counts) -will become un-editable. -Most free-text metadata can still be revised after the dataset becomes public, + +.. warning:: + Once a record is published, it cannot be unpublished. If you need to fix errors in a dataset after publication, + see: :ref:`deprecating score sets`. + +Once the data is published, several fields (including the :ref:`target`, scores, and counts) +will become un-editable. However, most free-text metadata can still be revised after the dataset becomes public, and changes to these fields are tracked. +.. note:: + Score sets are the only record type that can be published. When the first score set associated with an experiment + is published, the associated experiment and experiment set will also become public. + +.. _end-publishing-data: + +Data licensing +------------------------------------ + +.. include:: ./record_types/metadata_guide.rst + :start-after: .. _data-licensing: + :end-before: .. _end-data-licensing: + Deprecating score sets -################################### +------------------------------------ + +.. _deprecating-data: If you need to fix an error after a dataset becomes public and is no longer editable, MaveDB supports the deprecation of score sets. When creating a new score set, the user can specify an existing score set to replace. + +.. _end-deprecating-data: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/record_types/experiment_sets.rst.txt b/public/docs/mavedb/_sources/record_types/experiment_sets.rst.txt new file mode 100644 index 00000000..ccad0ecc --- /dev/null +++ b/public/docs/mavedb/_sources/record_types/experiment_sets.rst.txt @@ -0,0 +1,16 @@ +Experiment sets +################################### + +.. _experiment-sets-intro: + +Experiment sets do not have their own data or metadata and are used to group related experiments, +such as when different functional assays are performed on the same target and described in the same publication +(`example experiment set `_). + +In general, an experiment set should contain data for a single target. +It is not necessary to include all data from a single publication or research project under one experiment set. + +Experiment sets are automatically created when the first associated experiment is saved. To subsequently add +an experiment to the experiment set, use the 'Add an experiment' button on the experiment set page. + +.. _end-experiment-sets-intro: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/record_types/experiments.rst.txt b/public/docs/mavedb/_sources/record_types/experiments.rst.txt new file mode 100644 index 00000000..9708ae3a --- /dev/null +++ b/public/docs/mavedb/_sources/record_types/experiments.rst.txt @@ -0,0 +1,92 @@ +Experiments +============================================ + +.. _experiment-intro: + +Experiments describe the data generated from performing a MAVE on a target. +This includes all steps of the experimental procedure up to and including high-throughput sequencing. +Library construction, assay design, and sequencing strategy are all described in the experiment record +(`example experiment `_). + +.. seealso:: + Data analysis steps including read filtering, read counting, and score calculation are described in a + :ref:`score set`. + +Publications that perform more than one functional assay should be represented as multiple experiments organized under +a single :ref:`experiment set`, and each functional assay should be described in its own experiment record. +This still applies to experimental designs where the differences between assays were relatively minor, +such as varying the temperature or the concentration of a small molecule. + +Replicate assays should not be reported as separate experiments, +instead the number and nature of the replicates should be clearly stated in the experiment's methods section. + +.. _end-experiment-intro: + +To assign a new experiment to an existing experiment set, use the 'Add an experiment' button on the experiment set page. + +Experiment contributors +----------------------------------- + +.. include:: ./metadata_guide.rst + :start-after: .. _data-set-contributors: + :end-before: .. _end-data-set-contributors: + +Experiment metadata +------------------------------------ + +.. _experiment-metadata: + +**Title** + The title of the experiment, to be displayed at the top of the experiment record page. + +**Short description** + A brief summary of the experiment. This should be one or two sentences that summarize the experiment and are displayed + in search results to give users an overview of the experiment. + +**Abstract** + A longer description of the experiment, including the motivation for performing it and a summary of the approach taken. + The focus should be on describing the MAVE experiment rather than the full study. + This field supports `Markdown `_ formatting. + + .. note:: + It is common for experiments and score sets from the same study to share the same abstract text. + +**Methods** + A detailed description of the experimental methods used to generate the data, starting from raw sequence data. + This field should include information on: + * Variant library construction methods + * Description of the functional assay, including model system and selection type + * Sequencing strategy and sequencing technology + * Structure of biological or technical replicates (if applicable) + +**DOIs** + A list of `Digital Object Identifiers (DOIs) `_ for any digital resources associated with the experiment. + + .. warning:: + DOIs for publications should not be provided here; instead, they should be included in the publication identifiers section. + +**Contributors** + A list of the people who contributed to the experiment. + Each contributor should be identified by their ORCID iD. + +**Publication identifiers** + A list of identifiers for publications associated with the experiment. These may be DOIs, PubMed IDs, bioRxiv IDs, or + medRxiv IDs. If you are providing multiple identifiers, you may select one identifier as the primary identifier for the experiment. + This publication should be the main publication describing the experiment. + +**Raw read identifiers** + A list of accession numbers for the raw sequencing data generated from the experiment. + These should link to entries in public repositories such as the `Sequence Read Archive (SRA) `__ + or `Array Express `__. + If multiple sequencing runs were performed as part of the experiment, all relevant accession numbers should be provided. + +**Extra metadata** + A JSON object containing any additional metadata relevant to the experiment that does not fit into the standard fields. + This may include information such as experimental conditions, protocols, or other details specific to the experiment. + +**Controlled Keywords** + A list of keywords relevant to the experiment. + These keywords will be used to improve searchability of the experiment within MaveDB. For additional guidance on selecting controlled keywords, + see the :ref:`Controlled Keywords` section. + +.. _end-experiment-metadata: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/record_types/index.rst.txt b/public/docs/mavedb/_sources/record_types/index.rst.txt new file mode 100644 index 00000000..530748d3 --- /dev/null +++ b/public/docs/mavedb/_sources/record_types/index.rst.txt @@ -0,0 +1,41 @@ +Record types +================================== + +.. _record-types: + +MaveDB has three kinds of records: :ref:`experiment sets`, :ref:`experiments`, and :ref:`score sets`. +These records are organized hierarchically. +Each experiment set can contain multiple experiments and each experiment can contain multiple score sets. +MaveDB also supports meta-analysis score sets, which are based on one or more existing score sets. +Each of these record types are described in more detail below. + +.. _end-record-types: + +.. figure:: ../images/brca1_mavedb_cartoon.svg + :name: experiment-set-cartoon + :alt: cartoon schematic of an experiment set with multiple experiments and score sets in MaveDB + :align: left + + Schematic of an experiment set. + + This cartoon shows the experiment set for + `urn:mavedb:00000003 `_, + which describes two distinct assays performed on a single *BRCA1* variant library, + each with two associated score sets. + This nested structure is typical of a MaveDB record describing a complex study with multiple elements. + Note that each assay (symbolized by the yeast and bacteriophage and their associated sequencing instruments) + is described in its own experiment record, + and that each experiment has its own score set records that describe the analysis and results + (symbolized by the computer and data table). + +.. _record-types-index: + +.. toctree:: + :maxdepth: 2 + + ../record_types/experiment_sets + ../record_types/experiments + ../record_types/score_sets + ../record_types/metadata_guide + +.. _end-record-types-index: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/record_types/metadata_guide.rst.txt b/public/docs/mavedb/_sources/record_types/metadata_guide.rst.txt new file mode 100644 index 00000000..9bcd9bfb --- /dev/null +++ b/public/docs/mavedb/_sources/record_types/metadata_guide.rst.txt @@ -0,0 +1,310 @@ +Data set metadata and properties +----------------------------------- + +.. _data-set-metadata-intro: + +MaveDB experiment and score set records include required and optional metadata fields +to describe the data being deposited. +These metadata fields are described in detail below, along with formatting guidelines and a checklist of required information. + +.. _end-data-set-metadata-intro: +.. _shared-metadata: + +Free text metadata +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. _free-text-metadata: + +Experiments and score sets both have descriptive free text fields. +These are the title, short description, abstract, and methods. + +.. note:: + These four fields are required when uploading an experiment or score set. + +While the title and short description are plain text, the abstract and methods support +`Markdown `_ formatting with embedded equations using +`MathML `_, converted using `Pandoc `_. + +Title + The title of the experiment or score set, to be displayed at the top of the record page. +Short description + The short description is displayed in the search results table. It should summarize the entry at a high level in one + or two sentences. +Abstract + The abstract should describe the motivation and approach for the dataset. + Some MaveDB abstracts include a summary of the results of the related publications but many do not. + The entry describes the MAVE data rather than a full study so the submitter should use their judgement when deciding + what details are most relevant. + + .. note:: + It is common that experiments and score sets share the same abstract text if they are from the same study. + +Methods + The methods section should describe the approach in a condensed form, + suitable for a specialist audience of MAVE researchers. The methods section for experiments and score sets + have different recommended content, as described below. + + For an experiment, the methods section should include: + + * Variant library construction methods + * Description of the functional assay, including model system and selection type + * Sequencing strategy and sequencing technology + * Structure of biological or technical replicates (if applicable) + + For a score set, the methods section should include: + + * Sequence read filtering approach + * Description of the statistical model for converting counts to scores, including normalization + * Description of additional data columns included in the score or count tables, including column naming conventions + * Details of how replicates were combined (if applicable) + + For a meta-analysis score set, the methods section should include: + + * Description of the statistical model for converting the linked scores or counts into the scores presented + * Description of additional data columns included in the score or count tables, including column naming conventions + +.. _end-free-text-metadata: + +Digital Object Identifiers (DOIs) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. _digital-object-identifiers: + +You may include a list of `DOIs `_ for any digital resources associated with the experiment or score set. +You might use this field to link to datasets stored in other repositories, code repositories containing analysis pipelines, etc. + +.. warning:: + DOIs for publications should not be provided here; instead, they should be included in the publication identifiers section. + +.. _end-digital-object-identifiers: + +Publication details +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. _publication-details: + +Publications can be included by entering their `PubMed ID `_, `bioRxiv ID `_, +`medRxiv ID `_, or `DOI `_ and they will appear as formatted references. + +You will also have the option to indicate a primary publication for the experiment or score set. This publication will be more prominently displayed +and should describe the research contribution to which this experiment or score set is most closely related. + +.. note:: + Publications included in an experiment will be automatically linked to score sets associated with that experiment. + +.. _end-publication-details: + +Contributors +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. _data-set-contributors: + +When a record in MaveDB is created and assigned a temporary accession number, +it is only accessible to the "owner" user. + +The owner can add additional users to the record by editing the record and +specifying that user's `ORCID iD `_ in the Contributors field. +The prospective contributor must have logged into MaveDB at least once. + +.. note:: + Contributors added to a dataset will not automatically be added as contributors to associated records. + You will need to add them separately in each record form. + + For instance, contributors added to an experiment will not automatically be added as contributors to associated score sets, nor will + contributors added to a score set be added to the associated experiment. You will need to add them separately in each record form. + +Contributors have the same permissions on the dataset as the owner, with the exception that +users added to a record as contributors will not be able to delete the record. This permission is reserved +for the record owner and MaveDB administrators only. + +.. _end-data-set-contributors: + +Optional structured metadata +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. _optional-structured-metadata: + +Data sets also support the inclusion of optional `JSON `_-formatted metadata. +This can be used to describe features like genomic coordinates for a target sequence or score cutoff ranges that the +uploader would like to be more easily machine-readable than if this information was included in free text. + +If optional metadata is included, the uploader should describe it in the score set methods. + +.. _end-optional-structured-metadata: +.. _end-shared-metadata: + +Experiment specific metadata +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. _experiment-specific-metadata: + +In addition to the shared metadata fields described above, experiments also support the following specific metadata fields: + +Raw data accessions +################################## + +.. _raw-data-accessions: + +Experimenters are encouraged to deposit their raw sequence data in a public repository and link it to the relevant +experiment record(s). + +MaveDB currently supports accession numbers for: + +* `ArrayExpress `_ +* `BioProject `_ +* `Gene Expression Omnibus `_ +* `Sequence Read Archive `_ + +Raw data that is stored elsewhere may be included via the DOI field. + +.. _end-raw-data-accessions: + +Keywords +################################## + +.. _controlled-keywords: + +Experiments may be tagged with optional, :ref:`controlled keywords`. + +These keywords improve searchability of the records within MaveDB and facilitate the generation of +:ref:`assay facts` summaries. + +.. note:: + While keywords are optional, we strongly encourage you to include them when uploading an experiment or score set + given the contextual benefits they provide. + + In a future release, providing a minimal set of controlled keywords may become a requirement for uploading new records. + +.. _end-controlled-keywords: +.. _end-experiment-metadata: + +Score set specific metadata +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. _score-set-specific-metadata: + +In addition to the shared metadata fields described above, score sets also support the following specific metadata fields: + +Licenses +################################### + +.. _data-licensing: + +When uploading score set information to the database, the user can choose one of three licenses: + +* `CC0 (Public domain) `_ +* `CC BY 4.0 (Attribution) license `_ +* `CC BY-SA 4.0 (Attribution-ShareAlike) `_ + +.. note:: + Only datasets licensed under CC0 will be included as part of the :ref:`bulk download archive`. + +By default, new score sets will have the CC0 license. +The license can be changed after publication, but previously downloaded copies of the dataset will retain the license +they were downloaded under. +The license is listed in the header of downloaded CSV files and also in the API. + +Users also have the option of adding a free-text data usage policy to a score set, such as terms that dictate use of +pre-publication data. +For example, data producers may wish to assert their right to publish the results of certain analyses first. +The data usage policy will be added to the header of any downloaded data files if one is present. + +.. _end-data-licensing: + +Score set targets +################################### + +.. include:: ../targets.rst + :start-after: .. _targets-intro: + :end-before: .. _end-targets-intro: + + +Calibrations +################################### + +.. include:: ../score_calibrations.rst + :start-after: .. _score-calibrations-intro: + + +Variant tables +################################### + +You must upload at least one variant score CSV file when creating a new score set. +Optionally, you may also upload a variant count CSV file. + +.. include:: ../data_formats.rst + :start-after: .. _variant-columns: + :end-before: .. _end-variant-columns: + +.. seealso:: + Base editor data follows a slightly different format; see the :ref:`base editor data` section for details. + +Score table +~~~~~~~~~~~~~~~ +.. include:: ../data_formats.rst + :start-after: .. _score-table-columns: + :end-before: .. _end-score-table-columns: + +Counts table +~~~~~~~~~~~~~~~ +.. include:: ../data_formats.rst + :start-after: .. _count-table-columns: + :end-before: .. _end-count-table-columns: + +Score/count metadata files +################################ + +.. include:: ../data_formats.rst + :start-after: .. _metadata-files: + :end-before: .. _end-metadata-files: + +.. _end-score-set-metadata: + +Metadata checklist +------------------------------------- + +.. metadata-checklist: + +.. _data-set-required-metadata: + +For each experiment and score set, you are required to provide the following metadata: + +* `Free text metadata`_, including a title, short description, abstract, and methods. + +.. _end-data-set-required-metadata: +.. _data-set-optional-metadata: + +You are not required to provide all optional metadata fields, but we strongly encourage you to do so +to maximize the usability of your data: + +* `Digital Object Identifiers (DOIs)`_ for any digital resources associated with the data set. +* `Publication details`_ for the study reference(s) and any related publications. + +.. _end-data-set-optional-metadata: +.. _experiment-optional-metadata: + +For experiments, you are not required but strongly encouraged to provide: + +* `Raw data accessions`_ for any raw sequencing data associated with the experiment. +* `Keywords`_ to improve searchability and facilitate generation of :ref:`assay facts` summaries. + +.. _end-experiment-optional-metadata: +.. _score-set-required-metadata: + +For score sets, you are additionally required to provide: + +* :ref:`Targets` associated with the score set, including their sequences or accessions and any related metadata. +* `Licenses`_ and data usage guidelines (if needed) for the score set. +* `Score table`_ containing the variant scores. + +.. _end-score-set-required-metadata: +.. _score-set-optional-metadata: + +You are encouraged to also provide: + +* `Calibrations`_ to provide additional context for interpreting the scores. +* `Counts table`_ containing the variant counts (if available). +* `Metadata files`_ containing additional information about the score set. + +.. _end-score-set-optional-metadata: +.. _end-metadata-checklist: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/record_types/score_sets.rst.txt b/public/docs/mavedb/_sources/record_types/score_sets.rst.txt new file mode 100644 index 00000000..59645c60 --- /dev/null +++ b/public/docs/mavedb/_sources/record_types/score_sets.rst.txt @@ -0,0 +1,120 @@ +Score sets +============================================ + +.. _score-set-intro: + +Score sets are records that describe the scores generated from the raw data described in their associated experiment +and the principal way that users will interact with the data deposited into MaveDB. +This includes all steps following the high-throughput sequencing step, including read filtering, read counting, and +score calculations (`example score set `_). All score sets +must be associated with an existing experiment. + +Multiple score sets should be used when distinct methods were used to calculate scores for raw data described by the +experiment. +The most common use case for multiple score sets is when scores are calculated at nucleotide resolution and amino +acid resolution for deep mutational scanning data. + +When uploading results based on imputation or complex normalization, +it's recommended to upload a more raw form of the scores (e.g. enrichment ratios) as a normal score set, +and then use :ref:`meta-analysis score sets` to describe the imputed or normalized results. + +.. _end-score-set-intro: + +To assign a new score set to an existing experiment, use the dropdown at the top of the score set form. + +Meta-analysis score sets +----------------------------------- + +.. _meta-analysis-score-sets: + +Meta-analysis score sets have all the same attributes as a regular score set, +but they are linked to existing score sets rather than an existing experiment +(`example meta-analysis score set `_). + +.. _end-meta-analysis-score-sets: + +Score set contributors +----------------------------------- + +.. include:: ./metadata_guide.rst + :start-after: .. _data-set-contributors: + :end-before: .. _end-data-set-contributors: + +Deprecating data +----------------------------------- +.. include:: ../publishing.rst + :start-after: .. _deprecating-data: + :end-before: .. _end-deprecating-data: + +Score set metadata +----------------------------------- + +.. _score-set-metadata: + +**Title** + The title of the score set, to be displayed at the top of the score set record page. + +**Short description** + A brief summary of the score set. This should be one or two sentences that summarize the score set and are displayed + in search results to give users an overview of the score set. + +**Abstract** + A longer description of the score set, including the motivation for performing the analysis and a summary of the approach taken. + The focus should be on describing the score set rather than the full study. + This field supports `Markdown `_ formatting. + + .. note:: + It is common for experiments and score sets from the same study to share the same abstract text. + +**Methods** + A detailed description of the data analysis methods used to generate the scores from the raw sequence data. + This field should include information on: + + * Sequence read filtering approach + * Description of the statistical model for converting counts to scores, including normalization + * Description of additional data columns included in the score or count tables, including column naming conventions + * Details of how replicates were combined (if applicable) + +**License and Data usage guidelines** + The license under which the score set data is made available and any additional data usage guidelines. + + .. seealso:: + See the :ref:`licenses section ` for more information on available licenses. + +**Contributors** + A list of the people who contributed to the score set. + Each contributor should be identified by their ORCID iD. + +**DOIs** + A list of `Digital Object Identifiers (DOIs) `_ for any digital resources associated with the score set. + + .. warning:: + DOIs for publications should not be provided here; instead, they should be included in the publication identifiers section. + +**Publication identifiers** + A list of identifiers for publications associated with the score set. These may be DOIs, PubMed IDs, bioRxiv IDs, or medRxiv IDs. + + You will also have the option to indicate a primary publication for the score set. This publication will be more prominently displayed + and should describe the research contribution to which this score set is most closely related. + +**Extra metadata** + An optional JSON object containing additional metadata about the score set. This may include information such as analysis parameters, + software versions, or other details specific to the score set. If you are providing additional metadata,, + it should be clearly described in the methods section. + +**Targets** + One or more :ref:`targets` associated with this score set. + Each score set must be associated with at least one target. + For experiments that describe variants relative to two or more distinct sequences, + such as protein-protein interaction assays that measure the effects of variants in both interacting proteins, + multiple targets may be associated with a single score set. + +**Score calibrations** + An optional list of score calibrations that provide additional context for interpreting the scores in this score set. + For more information, see the :ref:`Score calibrations` section. + +**Variant scores and counts** + The variant scores and optional counts data tables associated with this score set. + For more information on the expected data formats, see the :ref:`Data table formats` section. + +.. _end-score-set-metadata: diff --git a/public/docs/mavedb/_sources/score_calibrations.rst.txt b/public/docs/mavedb/_sources/score_calibrations.rst.txt new file mode 100644 index 00000000..6c972234 --- /dev/null +++ b/public/docs/mavedb/_sources/score_calibrations.rst.txt @@ -0,0 +1,119 @@ +Score calibrations +=================================== + +.. _score-calibrations-intro: + +Score calibrations in MaveDB provide a way to give additional context to variant effect scores by mapping them to known reference points. +This helps users interpret the scores in a biologically meaningful way. A score calibration consists of four parts: a baseline score, +a set of classifications, a set of evidence strength and a calibration metadata. + +.. _end-score-calibrations-intro: + +Baseline score +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _score-calibrations-baseline-score: + +The baseline score represents the expected score for a variant that has no effect on the phenotype being measured. This score serves as a reference point for interpreting other variant effect scores in the dataset. +The baseline score is typically derived from known neutral variants or from the distribution of scores in the dataset, and may also be described as the "wild-type" or "reference" score. + +The baseline score should be provided as a numeric value along with a description of how it was determined. For example, if the baseline score is derived from the average score of known synonymous variants, this should be noted in the description. +MaveDB will use the baseline score in the heatmap in order to set the color scale, and it will be displayed along with the calibration information in the score set details. + +.. _end-score-calibrations-baseline-score: + +Functional classifications +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _score-calibrations-functional-classifications: + +Functional classifications provide a way to categorize variants based on their effect scores. These classifications help users understand the biological significance of the scores and facilitate comparisons between different variants. +MaveDB supports a controlled vocabulary for functional classifications, which includes the following terms: + +* **Normal**: Indicates that the variant has no significant effect on the phenotype. +* **Abnormal**: Indicates that the variant has a significant effect on the phenotype. +* **Not specified**: Indicates that the effect of the variant is unknown or has not been determined. + +There are two ways to assign functional classifications to variants in MaveDB: + +1. **Threshold-based classification**: Users can define score thresholds that determine the functional classification of variants. For example, variants with scores above a certain threshold may be classified as "Normal", while those below the threshold are classified as "Abnormal". +2. **Direct assignment**: Users can directly assign functional classifications to individual variants based on experimental evidence or prior knowledge. You can do this by uploading a file that includes the variant identifiers and their corresponding classifications. + +.. _end-score-calibrations-functional-classifications: + +Evidence strengths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _score-calibrations-evidence-strengths: + +Evidence strengths provide a way of indicating the evidence level that may be used for variant interpretation. MaveDB supports a controlled vocabulary for evidence strengths, which includes the following terms based on ACMG/AMP guidelines: + +* **Very Strong** +* **Strong** +* **Moderate** +* **Supporting** + +You may assign a particular evidence strength to each each functional classification. Note that for "abnormal" classifications, you must provide a pathogenic evidence strength, while for "normal" classifications, you must provide a benign evidence strength. +For "not specified" classifications, evidence strengths may not be submitted. + +You may also include odds of pathogenicity ("OddsPath") values for each classification. These values provide a quantitative measure of the strength of evidence associated with each classification, and may be used in variant interpretation. For more information +on how OddsPath values relate to evidence strengths and recommendations for their application, see the guidelines provided by `Brnich et al., 2019 `_. + +.. _end-score-calibrations-evidence-strengths: + +Calibration metadata +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _score-calibrations-calibration-metadata: + +Calibration metadata provides additional context about the score calibration, including information about how the calibration was performed and any relevant references or notes. +This metadata may include: + +* A title for the calibration +* A description of the methods used to determine the baseline score and functional classifications. +* Any additional notes or comments that may be useful for users interpreting the calibration, especially with regard to the baseline score and functional classifications. +* Whether the calibration should be marked as **research use only**, indicating that it is not intended for clinical or diagnostic purposes. + +In addition, users may provide three types of optional references to support the calibration: + +* **Threshold sources**: A publication reference (e.g., a DOI, PubMed ID, or bioRxiv/medRxiv ID) that describes the method by which classification thresholds or classes were determined. +* **Classification methods**: A publication reference (e.g., a DOI, PubMed ID, or bioRxiv/medRxiv ID) that describes the method by which evidence strengths were determined. +* **Classification sources**: A publication reference (e.g., a DOI, PubMed ID, or bioRxiv/medRxiv ID) that describes where the evidence strengths determined by the 'classification methods' are described. + +.. _end-score-calibrations-calibration-metadata: + +Calibration privacy +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _score-calibrations-calibration-privacy: + +By default, score calibrations are not visible to all MaveDB users. However, you may choose to publish a calibration after it has been uploaded. Private calibrations are only visible to the user who uploaded them and any users marked as contributors on the associated score set. +Published calibrations are visible to all MaveDB users and may be used in visualizations and interpretations of the associated score set. + +.. warning:: + Once a calibration has been published, it cannot be made private again nor may it be edited. Please ensure that you are comfortable with making the calibration public before publishing it. + +Primary calibrations +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _score-calibrations-primary-calibrations: + +A primary calibration is the main score calibration associated with a score set. Each score set in MaveDB may have at most one primary calibration. The primary calibration is used by default when displaying the score set in visualizations and when interpreting variant effect +scores. + +After uploading a score calibration to MaveDB, you may choose to designate it as the primary calibration for the associated score set. If a score set already has a primary calibration, you must demote the existing primary calibration before designating a new one. +A calibration must be publicly visible to be marked as the primary calibration, and research use only calibrations may not be designated as primary calibrations. + +.. note:: + MaveDB maintainers may review primary calibrations to ensure that they meet quality standards and are appropriate for use in visualizations and interpretations, and retain + the right to remove primary calibration status from any calibration that does not meet these standards. + +.. _end-score-calibrations-primary-calibrations: + +Investigator provided calibrations +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _score-calibrations-investigator-provided-calibrations: + +When there is no primary calibration associated with a score set, investigator provided calibrations are given priority viewing over other non-primary calibrations. Investigator provided calibrations +are any calibrations which have been uploaded by the samem user who uploaded the score set or a user marked as a contributor on the score set. \ No newline at end of file diff --git a/public/docs/mavedb/_sources/targets.rst.txt b/public/docs/mavedb/_sources/targets.rst.txt new file mode 100644 index 00000000..971ee746 --- /dev/null +++ b/public/docs/mavedb/_sources/targets.rst.txt @@ -0,0 +1,177 @@ +Targets +================================== + +.. _targets-intro: + +All variants in a MaveDB :ref:`score set` are described relative to a target. This target +should describe the sequence that was mutagenized to create the variant library. MaveDB supports two types +of targets: :ref:`sequence-based targets` and :ref:`accession-based targets`. + +Each score set in MaveDB must be associated with at least one target. Certain experiments may +describe variants relative to two or more distinct sequences, such as protein-protein interaction assays +that measure the effects of variants in both interacting proteins. In these cases, multiple targets may be +associated with a single score set. + +.. _end-targets-intro: + +Sequence-based targets +----------------------------------- + +.. _sequence-based-targets: + +Sequence-based targets in MaveDB are based on the full sequence that was mutagenized to create the variant library, +which may or may not correspond to a known sequence in an external database. + +You should use this type of target when the exact sequence used in the experiment is not available in an external database, +or when important differences exist between the sequence used in the experiment and the corresponding sequence in an +external database. Common examples include codon-optimized sequences, non-reference backgrounds, or synthetic sequences. + +For datasets that target a single functional domain, only that part of the gene should be included as the target. +If multiple discontinuous functional domains were included in a single experiment, +the target sequence should be given with the intervening sequence so that coordinates can be mapped back to a +full-length reference. + +When uploading a sequence-based target to MaveDB, it is required that the uploader provide the target sequence. +If the target is protein coding and variants are only described by their protein changes, +the target sequence may be an amino acid sequence. +If variants describing nucleotide changes are present, the target sequence must be a DNA sequence. + +Targets can also be linked to accession numbers in other databases, including `UniProt `__, +`RefSeq `__, and `Ensembl `__. +If the target sequence provided to MaveDB starts partway through the linked sequence +(such as an assay targeting a single functional domain), the target should have an "offset" term. +The offset is the integer value that should be added to the MaveDB coordinates +(which are relative to the target sequence) in order to match the coordinates in the linked sequence. + +For example, the target sequence for `urn:mavedb:00000002-a-1 `__ +is a codon optimized version of the WW domain of YAP1. +This corresponds to UniProt identifier `P46937 `__ with offset 169, +meaning that position 1 in the MaveDB score set is position 170 in the UniProt sequence. + +.. note:: + If you choose to link a sequence-based target to an external accession, you should consider whether using an accession-based + target (described below) is more appropriate. + + +Sequence based target metadata +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _sequence-based-target-metadata: + +**Target name** + The name of the target sequence. This name will be displayed on the score set page and across the site when referring to this target. + Most users will expect this to be a gene name or a protein name. + +**Functional category** + The functional category of the target sequence. This should be one of the following controlled vocabulary terms: + + * protein coding + * regulatory + * other noncoding + +**UniProt ID and offset** (optional) + The `UniProt `__ identifier corresponding to the target sequence, if applicable. + +**Ensembl ID and offset** (optional) + The `Ensembl `__ identifier corresponding to the target sequence, if applicable. + +**RefSeq ID and offset** (optional) + The `RefSeq `__ identifier corresponding to the target sequence, if applicable. + +**Taxonomy** + The organism that the target sequence is derived from, if applicable. MaveDB uses the + `NCBI Taxonomy `__ controlled vocabulary for organism names. + +**Sequence type** + The type of sequence provided for the target. This should be one of the following controlled vocabulary terms: + + * DNA + * amino acid + +**Sequence** + The full sequence of the target used in the experiment. This should be provided as a plain text string + containing only valid characters for the specified sequence type (DNA or amino acid). + + +.. _end-sequence-based-target-metadata: +.. _end-sequence-based-targets: + +Accession-based targets +------------------------------------ + +.. _accession-based-targets: + +Accession-based targets in MaveDB are based on sequences that are fully described in an external database. If your +variants were generated by editing the genome directly (e.g. using saturation genome editing) or by mutagenizing +a known reference sequence without any other changes, this target type is appropriate. + +.. note:: + When you use an accession-based target, all variants in the associated score set must be described relative to the + accession identifier you provide, regardless of whether there is only a single target for the assay. + + For instance, while you might describe a variant as ``c.79A>T`` in a sequence-based target, the same variant would + need to be described as ``NM__000546.6:c.79A>T`` if the target is accession-based using the RefSeq ID ``NM__000546.6``. + + This requirement allows users to better understand the context of the variants in your score set. + +When uploading an accession-based target to MaveDB, you may supply either a `RefSeq `__ +or `Ensembl `__ identifier. MaveDB will automatically retrieve the corresponding sequence and metadata +from the appropriate external database. These identifiers may refer to either full chromosomes or to individual transcripts/genes. + +MaveDB uses both `CDOT `__ and `SeqRepo `__ to retrieve and cache sequences and metadata for +accession-based targets. For more information about how we use these services, see the :ref:`external integrations` section. + +.. seealso:: + :ref:`Base editor score sets` use the same accession-based target format as other score sets. However, even though you will be providing an + ``hgvs_nt`` column for your variants, a special ``guide_sequence`` column in your uploaded scores and counts files that indicates the guide sequence used for each variant + will be the index column and should be unique. + +Accession based target metadata +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _accession-based-target-metadata: + +**Target name** + The name of the target sequence. This name will be displayed on the score set page and across the site when referring to this target. + Most users will expect this to be a gene name or a protein name. + +**Gene name or Assembly name** + The gene name (for transcript or gene accessions) or assembly name (for chromosome accessions) corresponding to the target sequence. + +**Accession identifier** + The `RefSeq `__ or `Ensembl `__ identifier that describes the target sequence. + +**Functional category** + The functional category of the target sequence. This should be one of the following controlled vocabulary terms: + + * protein coding + * regulatory + * other noncoding + +.. _end-accession-based-target-metadata: +.. _end-accession-based-targets: + +Multi-target score sets +------------------------------------ + +.. _multi-target-score-sets: + +Some experiments may describe variants relative to two or more distinct sequences, such as protein-protein interaction assays +that measure the effects of variants in both interacting proteins. In these cases, multiple targets may be +associated with a single score set. + +Each target should be described using either the sequence-based or accession-based +target format described above. A single score set may not mix sequence-based and accession-based targets; all targets +associated with a given score set must use the same target format. + +When describing variants in a multi-target score set, each variant must indicate which target it is relative to. This is done +by including a label for each target (e.g., "Target 1", "Target 2") and including this label in the variant notation as if it +were a prefix to the variant. + +For example, if a score set includes two targets labeled "TP53" and "MDM2", a variant +affecting TP53 might be described as "TP53:p.R175H", while a variant affecting MDM2 might be described as "MDM2:p.G58S". + +While optional in single-target score sets, this label is a required field in multi-target score sets to ensure that each variant can be unambiguously +mapped to the correct target. + +.. _end-multi-target-score-sets: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/upload_guide.rst.txt b/public/docs/mavedb/_sources/upload_guide.rst.txt index 7865e3bb..75ee307e 100644 --- a/public/docs/mavedb/_sources/upload_guide.rst.txt +++ b/public/docs/mavedb/_sources/upload_guide.rst.txt @@ -1,151 +1,96 @@ Depositing your data into MaveDB ======================================= +.. _uploading-data-intro: + Creating a complete entry in MaveDB requires several pieces of data and metadata. -This document includes a checklist of what is required to deposit a study and a description of the required metadata. +This document includes a checklist of what is required to deposit a study and a description of the required metadata. +It also includes details about the optional metadata that we recommend be included to maximize the usability of your data. For more information on how a dataset in MaveDB is structured, including descriptions of experiment sets, experiments, and score sets, -please see :ref:`Record types`. - -Metadata formatting -################################### +please see :ref:`record types`. -Experiment and score set records contain several different types of required and optional metadata, -either free text or accession numbers for other databases. -These elements are described in this section. +.. _end-uploading-data-intro: -Free text metadata +Data upload wizard ----------------------------------- -Experiments and score sets both have descriptive free text fields. -These are the title, short description, abstract, and methods. +.. _data-upload-wizard: -The title and short description are plain text. -The abstract and methods support `Markdown `_ -formatting with embedded equations using `MathML `_, -converted using `Pandoc `_. +MaveDB provides a step-by-step data upload wizard to guide you through the process of depositing your data. +To begin the upload process, log in to MaveDB and select either the "New experiment" or "New score set" option +in the toolbar at the top of the page. -The title is displayed at the top of the record page, and should be quite brief. +.. _end-data-upload-wizard: -The short description is displayed in the search results table and should summarize the entry at a high level in one -or two sentences. +Uploading an experiment +----------------------------------------- -The abstract should describe the motivation and approach for the dataset. -Some MaveDB abstracts include a summary of the results of the related publications but many do not. -The entry describes the MAVE data rather than a full study so the submitter should use their judgement when deciding -what details are most relevant. -It is common that experiments and score sets share the same abstract text if they are from the same study. +.. _uploading-an-experiment: -The methods section should describe the approach in a condensed form, -suitable for a specialist audience of MAVE researchers. +What is an experiment? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -For an experiment the methods section should include: +.. include:: ./record_types/experiments.rst + :start-after: .. _experiment-intro: + :end-before: .. _end-experiment-intro: -* Variant library construction methods -* Description of the functional assay, including model system and selection type -* Sequencing strategy and sequencing technology -* Structure of biological or technical replicates (if applicable) +What is required to upload an experiment? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -For a score set the methods section should include: +.. _experiment-upload-requirements: -* Sequence read filtering approach -* Description of the statistical model for converting counts to scores, including normalization -* Description of additional data columns included in the score or count tables, including column naming conventions -* Details of how replicates were combined (if applicable) +.. include:: ./record_types/metadata_guide.rst + :start-after: .. _data-set-required-metadata: + :end-before: .. _end-data-set-required-metadata: -For a meta-analysis score set the methods section should include: +.. include:: ./record_types/metadata_guide.rst + :start-after: .. _data-set-optional-metadata: + :end-before: .. _end-data-set-optional-metadata: -* Description of the statistical model for converting the linked scores or counts into the scores presented -* Description of additional data columns included in the score or count tables, including column naming conventions +.. include:: ./record_types/metadata_guide.rst + :start-after: .. _experiment-optional-metadata: + :end-before: .. _end-experiment-optional-metadata: -Score sets can also include an optional free-text data usage policy intended for unpublished data. -For example, data producers may wish to assert their right to publish the results of certain analyses first. +.. _end-experiment-upload-requirements: -Publication details ------------------------------------ +.. _end-uploading-an-experiment: -Publications can be included by entering their `PubMed ID `_ and they will appear -as formatted references. -Publications included in an experiment will also be displayed on their associated score set pages. +Uploading a score set +----------------------------------------- -Preprints or publications that are not indexed by PubMed can be included via the DOI field. -Improved support for preprints (including displaying them as formatted references) is planned for a future release. - -Raw data accessions ------------------------------------ +.. _uploading-a-score-set: -Experimenters are encouraged to deposit their raw sequence data in a public repository and link it to the relevant -experiment record(s). +What is a score set? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -MaveDB currently supports accession numbers for: - -* `ArrayExpress `_ -* `BioProject `_ -* `Gene Expression Omnibus `_ -* `Sequence Read Archive `_ - -Raw data that is stored elsewhere can be included via the DOI field. - -Keywords ------------------------------------ +.. include:: ./record_types/score_sets.rst + :start-after: .. _score-set-intro: + :end-before: .. _end-score-set-intro: -Experiments and score sets can be tagged with optional, user-specified keywords. +What is required to upload a score set? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -In a future release, the keyword vocabulary will become restricted and keyword selection will be mandatory. -This will improve the ability for data modellers to select appropriate MAVE datasets for their studies, -and also facilitate more sophisticated tracking of the kind of data being generated by researchers. +.. _score-set-upload-requirements: -Data formatting -################################### +.. include:: ./record_types/metadata_guide.rst + :start-after: .. _data-set-required-metadata: + :end-before: .. _end-data-set-required-metadata: -Score sets require detailed information about the target sequence, including the sequence, -as well as a CSV-formatted file containing the variant scores -(and optionally a second CSV-formatted file containing the variant counts). +.. include:: ./record_types/metadata_guide.rst + :start-after: .. _score-set-required-metadata: + :end-before: .. _end-score-set-required-metadata: -For more information including how to prepare your data for submission, -see :ref:`Target sequence information` and :ref:`Data table formats`. +.. include:: ./record_types/metadata_guide.rst + :start-after: .. _score-set-optional-metadata: + :end-before: .. _end-score-set-optional-metadata: -Score set data must be given a license chosen from those listed on the :ref:`Data licensing` page. +.. _end-uploading-a-score-set: -Optional structured metadata +Publishing your data ----------------------------------- -Score sets also support the inclusion of optional `JSON `_-formatted metadata. -This can be used to describe features like genomic coordinates for a target sequence or score cutoff ranges that the -uploader would like to be more easily machine-readable than if this information was included in free text. - -If optional metadata is included, the uploader should describe it in the score set methods. - -Required information checklist -################################### - -For each experiment and score set: - -* `Free text metadata`_ - * Title - * Short description (1-3 brief sentences) - * Abstract - * Methods -* `Keywords`_ -* `PubMed IDs `_ for the study reference(s) or `DOIs `_ - for references not listed in PubMed (such as on `bioRxiv `_) - -For each experiment you will also want: - -* `Raw data accessions`_ - -For each score set you will also want: - -* Target information - * Nucleotide sequence for the target - * The sequence type (coding, regulatory, other non-coding) - * Organism the sequence is derived from (if applicable) - * `UniProt ID `_ (if applicable) - * `RefSeq ID `_ (if applicable) - * `Ensembl ID `_ (if applicable) - -* Variant score table -* Variant count table (if available) -* Choice of data license (see :ref:`Data licensing`) -* Data usage policy text (if needed) +.. include:: ./publishing.rst + :start-after: .. _publishing-data: + :end-before: .. _end-publishing-data: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/variant_mapping.rst.txt b/public/docs/mavedb/_sources/variant_mapping.rst.txt new file mode 100644 index 00000000..c14d24aa --- /dev/null +++ b/public/docs/mavedb/_sources/variant_mapping.rst.txt @@ -0,0 +1,70 @@ +Variant Mapping +=================================== + +.. _variant-mapping-intro: + +MaveDB uses the variant descriptions provided in the score and count data tables +to map variants to genomic coordinates. This mapping allows MaveDB to integrate with +external resources such as :ref:`clingen`, :ref:`clinvar`, and :ref:`gnomad`. + +.. note:: + Variant mapping is only performed for datasets with a human target sequence. + +This process was made possible by a novel method for mapping MAVE data written by +`Arbesfeld et al. (2025) `_. The method +is described in detail in the linked publication, and summarized briefly below. + +.. _end-variant-mapping-intro: + +Mapping process +----------------------------------- + +.. _mapping-process: + +Variants are mapped to genomic coordinates upon upload of a score set. The mapping process involves the following steps: + +1. **Target sequence alignment**: The target sequence provided with the score set is aligned to the reference genome using + `BLAT `_. This step determines the genomic location of the target sequence and + identifies the corresponding transcript(s). +2. **Transcript selection**: If multiple candidate transcripts are identified in the alignment step, the most appropriate transcript + is selected. Where possible, we prioritize MANE Select transcripts, followed by RefSeq Select transcripts, and then the longest + matching transcript. +3. **Variant translation**: Each variant in the score and count data tables is converted from MAVE-HGVS format to standard HGVS format + and translated with respect to the selected transcript. This step accounts for any offset between the target sequence and the transcript. +4. **VRS translation**: The HGVS variant descriptions are then converted to `GA4GH VRS `_ format + using the `VRS-Python `_ library. This standardized representation facilitates interoperability + with other genomic databases and tools, as well as standardizing all output variant representations for future mapped variation. + +.. note:: + In some cases, variants may not be successfully mapped due to issues such as ambiguous target sequences, + complex variant types, or discrepancies between the target and reference genome. MaveDB logs these instances + and provides feedback to data contributors to help resolve mapping issues. + + Although some mapping failures + represent true limitations of the data, others can be addressed by correcting errors in the submitted variants + or target sequences. + + **It is highly recommended that data contributors review the mapping results after uploading a score set + to ensure that variants have been accurately mapped.** Contributors can view mapping results on the score set page and download a report of mapped and unmapped variants. + + Mapping failures do not prevent datasets from being published in MaveDB, but mapped variants + are required for certain features such as :ref:`variant search`, linkages with + certain :ref:`external resources`, and inclusion in :ref:`mavemd`. + +.. _end-mapping-process: + +Mapping integrations +----------------------------------- + +.. _mapping-integrations: + +Mapped variants are integral to MaveDB's integration with :ref:`external data sources`. Whereas variants prior to mapping +are only described with respect to the target sequence, mapped variants can be linked to +genomic coordinates and transcripts, enabling connections to resources such as ClinVar, gnomAD, +and ClinGen. Mapped variants also enable MaveDB to provide +`GA4GH VRS `_ representations of variants for download and programmatic access via the MaveDB API. + +This mapping and the integrations they facilitate enhance the utility of MaveDB and power MaveMD by enabling features +like :ref:`variant search` and :ref:`score calibrations`. + +.. _end-mapping-integrations: \ No newline at end of file diff --git a/public/docs/mavedb/_sources/variant_search.rst.txt b/public/docs/mavedb/_sources/variant_search.rst.txt new file mode 100644 index 00000000..e69de29b diff --git a/public/docs/mavedb/_sources/visualizations.rst.txt b/public/docs/mavedb/_sources/visualizations.rst.txt new file mode 100644 index 00000000..9e047b11 --- /dev/null +++ b/public/docs/mavedb/_sources/visualizations.rst.txt @@ -0,0 +1,104 @@ +Visualizations +============================================= + +.. _visualizations-intro: + +MaveDB offers several built-in visualizations to help users explore and interpret variant effect data. These visualizations are automatically generated for published score sets and displayed +prominently on the score set details page. Users can also download the underlying data used to create these visualizations for further analysis, or download the visualizations themselves +as image files for use in presentations or publications. + +.. _end-visualizations-intro: + + +Histogram +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. _histogram-viz: + +The histogram visualization displays the distribution of variant effect scores within a score set. This visualization helps users quickly assess the overall distribution of scores within a dataset. + +Hovering over a bin in the histogram reveals the number of variants that fall within that score range for each series and shows which classification ranges +the bin overlaps when a score calibration is selected. When a variant is selected, the corresponding bin in the histogram is highlighted to show where the variant's score falls within the overall distribution +and the tooltip provides additional information about the selected variant. + +.. figure:: images/bard1_base_histogram.png + :name: base-histogram-example + :alt: Default histogram visualization from a MaveDB score set page + :align: left + +In the example above, we show the base histogram visualization from `urn:mavedb:00001250-a-1 `_, which describes saturation genome editing of *BARD1*. + +When a score set has been linked to :ref:`ClinVar annotations `, the histogram will have a 'clinical view' available. This view overlays the distribution of scores for variants classified as 'Pathogenic' and 'Benign' in ClinVar, allowing users to assess how well the assay segregates known clinical variants. + +.. figure:: images/bard1_clinical_histogram.png + :name: clinical-histogram-example + :alt: Clinical view of the histogram visualization from a MaveDB score set page + :align: left + +In the example above, we show the clinical view of the histogram visualization from `urn:mavedb:00001250-a-1 `_, which describes saturation genome editing of *BARD1*. + +When a score set includes :ref:`variant effect predictions `, users may also view a 'protein effect' version of the histogram. This view overlays the distribution of scores for variants predicted to have different effects on the protein, such as 'missense', 'nonsense', and 'synonymous' variants. + +.. figure:: images/bard1_protein_effect_histogram.png + :name: protein-effect-histogram-example + :alt: Protein effect view of the histogram visualization from a MaveDB score set page + :align: left + +In the example above, we show the protein effect view of the histogram visualization from `urn:mavedb:00001250-a-1 `_, which describes saturation genome editing of *BARD1*. + +To give users more control over the histogram visualization, we also provide a 'custom view' that allows users to adjust the version of ClinVar data used, the 'gold stars' threshold for variant inclusion, include other ClinVar significance categories such as 'Likely pathogenic' and 'Uncertain significance', +limit the series to only variants with specific protien effects, and/or include other series for different protein effects. +When a score set has :ref:`score calibrations `, users may also overlay functional classifications on the histogram to get a sense of where different classes of variants fall within the score distribution. + +.. figure:: images/bard1_custom_histogram.png + :name: custom-histogram-example + :alt: Custom view of the histogram visualization from a MaveDB score set page + :align: left + + +In the example above, we show a custom view of the histogram visualization from `urn:mavedb:00001250-a-1 `_, with overlaid score calibrations, variants of unknown significance (via ClinVar) shown in gray, and a series for scores of variants with a predicted 'nonsense' protein effect. + +.. _end-histogram-viz: + + +Heatmap +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. _heatmap-viz: + +The heatmap visualization provides a two-dimensional representation of variant effect scores across the target sequence. This visualization is particularly useful for identifying patterns of variant effects at specific positions within the gene or protein. +When variants are provided at the nucleotide level, users may toggle between viewing the heatmap at the nucleotide or amino acid level. Amino acids are ordered based +on their hydrophobicity values using the `Kyte-Doolittle scale `_ and are grouped by chemical class based on values from `Enrich2 `_. + +Each cell in the heatmap represents a specific variant at a given position, with the color intensity indicating the variant effect score with wild type variants shown in yellow. Hovering over a cell reveals detailed information about the variant, including its score, classification (if applicable), and the HGVS strings of the variant. Selecting a cell highlights the corresponding variant in other visualizations on the page, such as the histogram. + +When a baseline score is available from a :ref:`score calibration `, the heatmap color scale centers the 'normal' color (purple) at the baseline score to provide better visual contrast for variants with scores deviating from the baseline. + +.. figure:: images/msh2_heatmap.png + :name: heatmap-example + :alt: Heatmap visualization from a MaveDB score set page + :align: left + +In the example above, we show the heatmap visualization with a selected variant from `urn:mavedb:00000050-a-1 `_, which describes deep mutational scanning of *MSH2*. + +.. _end-heatmap-viz: + +Protein structure viewer +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. _protein-structure-viz: + +When a score set is able to be associated with a UniProt accession, MaveDB provides an interactive 3D protein structure viewer using `Mol* `_ to help users visualize variant effect scores in the context of the protein's structure. + +Opening the protein structure viewer displays a side-by-side view of a heatmap and the protein structure for the associated UniProt accession with a color gradient applied based on the mean variant effect score at each position. Users can interact with the 3D structure by rotating, zooming, and selecting specific residues to view their associated variant effect scores and details. +Users may also click and drag on the heatmap to select multiple residues, which will highlight the corresponding regions on the protein structure. Other controls are available in the settings menu on the right side of the viewer, including an option to export the current view as a PNG image. + + +.. figure:: images/msh2_protein_structure.png + :name: protein-structure-example + :alt: Protein structure visualization from a MaveDB score set page + :align: left + +In the example above, we show the protein structure viewer from `urn:mavedb:00000050-a-1 `_. + +.. _end-protein-structure-viz: \ No newline at end of file diff --git a/public/docs/mavedb/_static/documentation_options.js b/public/docs/mavedb/_static/documentation_options.js index 53f87e65..e40c3088 100644 --- a/public/docs/mavedb/_static/documentation_options.js +++ b/public/docs/mavedb/_static/documentation_options.js @@ -1,5 +1,5 @@ const DOCUMENTATION_OPTIONS = { - VERSION: '2023.2.0', + VERSION: '2025.5.2', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/public/docs/mavedb/accession_numbers.html b/public/docs/mavedb/accession_numbers.html index b859e17a..ffd4248d 100644 --- a/public/docs/mavedb/accession_numbers.html +++ b/public/docs/mavedb/accession_numbers.html @@ -5,18 +5,18 @@ - MaveDB accession numbers — MaveDB 2023.2.0 documentation + MaveDB accession numbers — MaveDB 2025.5.2 documentation - + - - + + + + + + + +
+
+
+
+ +
+

MaveDB API

+

The MaveDB API provides programmatic access to MaveDB data and functionality.

+

You can explore the API documentation at the following link: MaveDB API Documentation.

+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/public/docs/mavedb/assay_facts.html b/public/docs/mavedb/assay_facts.html new file mode 100644 index 00000000..75f76e39 --- /dev/null +++ b/public/docs/mavedb/assay_facts.html @@ -0,0 +1,166 @@ + + + + + + + + Assay facts — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Assay facts

+

MaveDB captures key facts about the experimental assay used to generate variant effect measurements +from controlled keywords based on a controlled vocabulary. This information is then used +to generate a concise summary of assay facts that is displayed on the score set page.

+
+Assay facts section from a MaveDB score set page +
+

Fig. 2 Example of the assay facts section from a score set

+
+

This figure shows the assay facts section from +urn:mavedb:00000097-0-2, +which describes saturation genome editing of BRCA1.

+
+
+
+
+

Assay fact sheet properties

+
+
Gene Symbol

The HGNC gene symbol for the target gene being assayed.

+
+
Assay type

The type of functional assay used to measure variant effects. This corresponds to the phenotypic assay method controlled vocabulary term.

+
+
Molecular mechanism

The molecular mechanism by which the assay measures variant effects. This corresponds to the molecular mechanism controlled vocabulary term.

+
+
Variant consequences detected

The types of variant consequences that the assay is capable of detecting. This corresponds to the phenotypic assay mechanism controlled vocabulary term.

+
+
Model system

The biological system in which the assay was performed. This corresponds to the model system controlled vocabulary term.

+
+
Detects splicing variants

Whether the assay is capable of detecting splicing variants. Based on assay design, and inferred based on a combination of the variant library creation method and +other terms.

+
+
Detects nonsense-mediated decay (NMD) variants

Whether the assay is capable of detecting NMD variants. Based on assay design, and inferred based on a combination of the variant library creation method and +other terms.

+
+
OddsPaths

The Odds of Pathogenicity score calculated for abnormal and normal functional readouts, if applicable. These OddsPaths are based on the framework described in Brnich et al., 2019.

+
+

Note

+

OddsPath calculations are provided when available.

+

For some assays, MaveDB maintainers may have selected OddsPaths other than those submitted by the data contributor, +based on updated calibrations or reanalyses of the data. In these cases, the source of the OddsPath scores will be indicated on the score set page.

+
+
+
+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/public/docs/mavedb/bulk_downloads.html b/public/docs/mavedb/bulk_downloads.html new file mode 100644 index 00000000..32ffde84 --- /dev/null +++ b/public/docs/mavedb/bulk_downloads.html @@ -0,0 +1,135 @@ + + + + + + + + Bulk downloads — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Bulk downloads

+

A complete set of MaveDB data and metadata is available as a bulk download +hosted on Zenodo.

+
+

Note

+

The associated DOI for the most recent version of the archive is +10.5281/zenodo.11201736.

+

The archive will be updated twice yearly in May and November.

+
+

The archive contains a single JSON document called main.json that provides +the structured metadata for every experiment set, +experiment, and score set. +Score set data is provided in .csv format, +with separate score and count files for each record as appropriate. +Each file is named using the score set urn.

+

Users who are interested in downloading a large number of MaveDB datasets are +strongly encouraged to use and cite these archival releases, +particularly for machine learning or AI-based studies where the associated data +needs to be clearly identified for reproducibility.

+

Datasets released using the CC0 +public domain license are included in the archive, and this is the license +applied to the archive itself. +Datasets provided by MaveDB under other licenses are not currently included.

+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/public/docs/mavedb/citation.html b/public/docs/mavedb/citation.html index a255a745..d880df83 100644 --- a/public/docs/mavedb/citation.html +++ b/public/docs/mavedb/citation.html @@ -5,17 +5,17 @@ - Citing MaveDB — MaveDB 2023.2.0 documentation + Citing MaveDB — MaveDB 2025.5.2 documentation - + - + + + + + + +
+
+
+
+ + + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/public/docs/mavedb/collections.html b/public/docs/mavedb/collections.html new file mode 100644 index 00000000..f9592c42 --- /dev/null +++ b/public/docs/mavedb/collections.html @@ -0,0 +1,191 @@ + + + + + + + + Data set collections — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Data set collections

+

To make it easier to share, organize, and find related data sets that might not be part of the same experiment or study, +MaveDB supports the concept of “collections”. A collection is a group of related experiments +and score sets that can be browsed and shared together. Collections can be created for any +purpose, such as grouping data sets from a specific publication, project, or research group.

+

Collections which you are an owner or member of will show up on data set pages when the data set is a member of the collection.

+
+

Creating Collections

+

To create a new collection, click on the dropdown menu under your user profile in the top-right corner of the MaveDB interface and select “Collections”. +From there, you can click the “Add an empty collection” button. You will be prompted to provide a name and description for your collection, +set its privacy level, and add any users you wish to share it with.

+

Alternatively, when viewing an experiment or score set, you can add it to a new or existing collection by clicking the “Save to a collection” button +that appears under the assay facts sheet.

+
+
+

Collection Privacy

+

When creating a collection, you can choose to make it either public or private. Public collections can be viewed by anyone visiting MaveDB, while private collections can only be accessed by you +and the users you explicitly share them with.

+
+

Note

+

Even if a collection is private, the individual experiments and score sets within it will still be subject to their own privacy settings. +For example, if a private collection contains a public score set, that score set will still be accessible to anyone with its accession number, even if they cannot view the collection itself.

+
+
+

Collection Permissions

+

When creating or managing a collection, you can specify which users have access to it. You can add other MaveDB users by their ORCiD. There are three levels of permissions you can assign to users for a collection:

+
    +
  • Viewer: Users can view the collection and its contents but cannot make any changes.

  • +
  • Editor: Users can add or remove items from the collection and modify its metadata, but cannot change its permissions or privacy settings.

  • +
  • Admin: Users have full control over the collection, including managing permissions for other users and updating its privacy settings.

  • +
+
+

Note

+

As a collection owner, you will always have admin permissions and cannot be removed from the collection. As the owner of the record, you are +also the only user who may delete the collection.

+
+
+
+
+

Managing collections

+

To edit or manage an existing collection, navigate to the collection page via the “Collections” link in the user profile dropdown menu. +From there, you can update the collection’s name and description, change its privacy settings, manage user permissions, +and add or remove experiments and score sets from the collection.

+
+

Adding and removing items from collections

+

To add an experiment or score set to a collection, navigate to the item’s page and click the “Save to a collection” button located under the assay facts sheet. +You can then select an existing collection or create a new one to add the item to. Alternatively, you can add items directly from the collection page by clicking the “Add items” button and pasting +the accessions for the desired experiments or score sets. You must have the requisite permissions on the item to add it to a collection.

+

To remove items from a collection, navigate to the collection page, click the edit icon next to the score set or experiment list, select the items you wish to remove, and click the “Remove” button. +Changes are not saved until you click the “Save” button at the bottom of the dialog box.

+

If your collection is private, you can allow other MaveDB users to access it by adding their users as viewers. If your collection +is public, anyone can view it without needing to be added explicitly. Simply share the URL of the collection page with others to give them access.

+
+
+
+

Official Collections

+

Some collections in MaveDB are designated as “official” collections. These collections are curated by the MaveDB team and contain high-quality, well-annotated data sets that are of particular interest to the community.

+

You can identify official collections by a special badge on their collection page, and they are often highlighted in MaveDB communications and promotions. These collections are also linked +from any data set page that is included in the official collection.

+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/public/docs/mavedb/controlled-keywords.html b/public/docs/mavedb/controlled-keywords.html new file mode 100644 index 00000000..0408a5c5 --- /dev/null +++ b/public/docs/mavedb/controlled-keywords.html @@ -0,0 +1,86 @@ + + + + + + + + <no title> — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/public/docs/mavedb/controlled_vocabulary.html b/public/docs/mavedb/controlled_vocabulary.html new file mode 100644 index 00000000..24161b9a --- /dev/null +++ b/public/docs/mavedb/controlled_vocabulary.html @@ -0,0 +1,294 @@ + + + + + + + + MAVE controlled vocabulary — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

MAVE controlled vocabulary

+

Experiments may be tagged with a controlled set of terms. These keywords offer a structured vocabulary +for describing key aspects of the experiment, such as the type of assay performed, the biological system used, +or the specific techniques employed.

+

Although such information may also be included in the free-text methods or abstract fields, +using controlled keywords ensures consistency across experiments and facilitates more effective searches +and visualizations for end users.

+

For the information you submit to MaveDB to be maximally useful to others, +we strongly encourage you to provide controlled keywords in the following four categories that describe key aspects of the assay:

+
    +
  1. The method and characteristics of genetic perturbation

  2. +
  3. Details of the phenotypic assay used to assess variant effects

  4. +
  5. Information about the cellular and environmental contexts of the assays

  6. +
  7. The sequencing strategy for associating variants with effects.

  8. +
+
+

See also

+

For more information on how these controlled keywords are used in MaveDB, see the Assay facts section.

+
+
+

Available controlled vocabulary terms

+
+

Variant library creation methods

+

This category describes the method used to generate the variant library for the MAVE experiment.

+
    +
  • Endogenous locus library method

  • +
  • In vitro construct library method

  • +
  • N/A (for meta-analyses or other experiments without a variant library)

  • +
  • Other (include a brief description)

  • +
+

After selecting a method, you should also include both the method system and mechanism used to create the variant library.

+
+
+

Delivery method

+

The delivery method describes how the variant induction machinery and/or the construct was delivered +to the model system. Possible options include:

+
    +
  • Electroporation

  • +
  • Nucleofection

  • +
  • Chemical-based transfection

  • +
  • Adeno-associated virus transduction

  • +
  • Lentivirus transduction

  • +
  • Chemical or heat shock transformation

  • +
  • Other (include a brief description)

  • +
+
+
+

Phenotypic assay dimensionality

+

This category describes the dimensionality of the functional readouts of the assay.

+

Possible types:

+
    +
  • Single-dimensional data (e.g., single fluorescence measurement)

  • +
  • High-dimensional data (e.g., ML/AI-enabled imaging/classification)

  • +
  • Combined functional data (multiple assays combined)

  • +
  • Other (include a brief description)

  • +
+
+
+

Phenotypic assay method

+

Assay method defining the molecular properties interrogated. Terms are aligned to OBI (root OBI_0000070: “assay”).

+

Possible types:

+
    +
  • Promoter activity detection by reporter gene assay

  • +
  • Bulk RNA-sequencing

  • +
  • Single-cell RNA sequencing assay

  • +
  • Fluorescence in-situ hybridization (FISH) assay

  • +
  • Flow cytometry assay

  • +
  • Imaging mass cytometry assay

  • +
  • Systematic evolution of ligands by exponential enrichment assay

  • +
  • Single cell imaging

  • +
  • Multiplexed fluorescent antibody imaging

  • +
  • Binding assay

  • +
  • Cell proliferation assay

  • +
  • Survival assessment assay

  • +
  • Other (include a brief description)

  • +
+
+
+

Phenotypic assay mechanism

+

The biological mechanism by which the assay detects variant effects. Terms are aligned to gene ontology biological process terms.

+

Possible types:

+
    +
  • Dominant-negative effect

  • +
  • Gain of function

  • +
  • Loss of function

  • +
  • Gain or loss of function

  • +
  • Loss of function or dominant-negative effect

  • +
  • Other (include a brief description)

  • +
+
+
+

Phenotypic assay model system

+

Context influencing phenotype expression.

+

Possible types:

+
    +
  • Immortalized human cells

  • +
  • Murine primary cells

  • +
  • Induced pluripotent stem cells from human male

  • +
  • Induced pluripotent stem cells from human female

  • +
  • Patient derived primary cells

  • +
  • Yeast

  • +
  • Bacteria

  • +
  • Bacteriophage

  • +
  • Molecular display

  • +
  • Other (include a brief description)

  • +
+

Optionally provide codings for specific cell lines (e.g., Cell Line Ontology) and taxonomy identifiers where applicable.

+
+
+

Phenotypic assay profiling strategy

+

Variant profiling strategy used to capture variant frequency vs. assay outcome. Required.

+

Possible types:

+
    +
  • Direct sequencing

  • +
  • Shotgun sequencing

  • +
  • Barcode sequencing

  • +
+
+
+

Phenotypic assay sequencing read type

+

Sequencing read type used in the assay. Required.

+

Possible types:

+
    +
  • Single-segment (short read)

  • +
  • Single-segment (long read)

  • +
  • Multi-segment

  • +
+
+
+

Molecular mechanism assessed

+

Molecular mechanism by which the assay measures variant effects.

+

Possible types:

+
    +
  • Catalytic and Cysteine synthase activity

  • +
  • Catalytic and Hydroxymethylbilane synthase activity

  • +
  • Catalytic and Lipid phosphatase activity

  • +
  • Catalytic and Thiamine diphosphokinase activity

  • +
  • Cellular response to cisplatin, DNA repair and Double-strand break repair via homologous recombination

  • +
  • DNA damage response, signal transduction by p53 class mediator and MDM2/MDM4 family protein binding

  • +
  • DNA repair and Double-strand break repair via homologous recombination

  • +
  • Double-strand break repair, damage response, signal transduction by p53 class mediator and Response to etoposide

  • +
  • Molecular function

  • +
  • Monoatomic ion transport and Potassium channel activity

  • +
  • Sodium channel activity

  • +
  • Calcium-mediated signaling

  • +
  • Catalytic and Gluconokinase activity

  • +
  • Catalytic activity and Ornithine carbamoyltransferase activity

  • +
  • Core promoter sequence-specific DNA binding

  • +
  • DNA damage checkpoint signaling

  • +
  • DNA and Mismatch repair

  • +
  • Molecular condensate scaffold activity

  • +
  • Monoatomic ion transport and Sodium ion transport

  • +
  • Oxidative phosphorylation

  • +
  • Protein carboxylation

  • +
  • Protein glycosylation

  • +
  • Protein localization to plasma membrane

  • +
  • Regulation of protein stability

  • +
  • Response to misfolded protein

  • +
+
+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/public/docs/mavedb/data_formats.html b/public/docs/mavedb/data_formats.html index 083c09f3..36da47ab 100644 --- a/public/docs/mavedb/data_formats.html +++ b/public/docs/mavedb/data_formats.html @@ -5,18 +5,18 @@ - Data table formats — MaveDB 2023.2.0 documentation + Data table formats — MaveDB 2025.5.2 documentation - + - - + + + + + + + +
+
+
+
+ + + + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/public/docs/mavedb/data_set_types/experiment_sets.html b/public/docs/mavedb/data_set_types/experiment_sets.html new file mode 100644 index 00000000..202e4378 --- /dev/null +++ b/public/docs/mavedb/data_set_types/experiment_sets.html @@ -0,0 +1,121 @@ + + + + + + + + Experiment sets — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Experiment sets

+

Experiment sets do not have their own data or metadata and are used to group related experiments, +such as when different functional assays are performed on the same target and described in the same publication +(example experiment set).

+

In general, an experiment set should contain data for a single target. +It is not necessary to include all data from a single publication or research project under one experiment set.

+

Experiment sets are automatically created when the first associated experiment is saved.

+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/public/docs/mavedb/data_set_types/experiments.html b/public/docs/mavedb/data_set_types/experiments.html new file mode 100644 index 00000000..fa1d69bd --- /dev/null +++ b/public/docs/mavedb/data_set_types/experiments.html @@ -0,0 +1,131 @@ + + + + + + + + Experiments — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Experiments

+

Experiments describe the data generated from performing a MAVE on a target. +This includes all steps of the experimental procedure up to and including high-throughput sequencing. +Library construction, assay design, and sequencing strategy are all described in the experiment +(example experiment).

+
+

See also

+

Data analysis steps including read filtering, read counting, and score calculation are described in a +score set.

+
+

Publications that perform more than one functional assay should be represented as multiple experiments organized under +a single experiment set, and each functional assay should be described in its own experiment record. +This still applies to experimental designs where the differences between assays were relatively minor, +such as varying the temperature or the concentration of a small molecule.

+

To assign a new experiment to an existing experiment set, use the ‘Add an experiment’ button on the experiment set page.

+

Replicate assays should not be reported as separate experiments, +instead the number and nature of the replicates should be clearly stated in the experiment’s methods section.

+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/public/docs/mavedb/data_set_types/index.html b/public/docs/mavedb/data_set_types/index.html new file mode 100644 index 00000000..cffac6a4 --- /dev/null +++ b/public/docs/mavedb/data_set_types/index.html @@ -0,0 +1,144 @@ + + + + + + + + Data set types — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Data set types

+

MaveDB has three kinds of records: experiment set, experiment, and score set. +These records are organized hierarchically. +Each experiment set can contain multiple experiments and each experiment can contain multiple score sets. +MaveDB also supports meta-analysis score sets, which are based on one or more existing score sets. +Each of these record types are described in more detail below.

+
+cartoon schematic of an experiment set with multiple experiments and score sets in MaveDB
+

Fig. 1 Schematic of an experiment set.

+
+

This cartoon shows the experiment set for +urn:mavedb:00000003, +which describes two distinct assays performed on a single BRCA1 variant library, +each with two associated score sets. +This nested structure is typical of a MaveDB record describing a complex study with multiple elements. +Note that each assay (symbolized by the yeast and bacteriophage and their associated sequencing instruments) +is described in its own experiment record, +and that each experiment has its own score set records that describe the analysis and results +(symbolized by the computer and data table).

+
+
+
+ +
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/public/docs/mavedb/data_set_types/score_sets.html b/public/docs/mavedb/data_set_types/score_sets.html new file mode 100644 index 00000000..123d6b0d --- /dev/null +++ b/public/docs/mavedb/data_set_types/score_sets.html @@ -0,0 +1,142 @@ + + + + + + + + Score sets — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Score sets

+

Score sets are records that describe the scores generated from the raw data described in their associated experiment. +This includes all steps following the high-throughput sequencing step, including read filtering, read counting, and +score calculations (example score set).

+

Multiple score sets should be used when distinct methods were used to calculate scores for raw data described by the +experiment. +The most common use case for multiple score sets is when scores are calculated at nucleotide resolution and amino +acid resolution for deep mutational scanning data.

+

To assign a new score set to an existing experiment, use the dropdown at the top of the score set form.

+

When uploading results based on imputation or complex normalization, +it’s recommended to upload a more raw form of the scores (e.g. enrichment ratios) as a normal score set, +and then use meta-analysis score sets to describe the imputed or normalized results.

+
+

Meta-analysis score sets

+

Meta-analysis score sets have all the same attributes as a regular score set, +but they are linked to existing score sets rather than an existing experiment +(example meta-analysis score set).

+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/public/docs/mavedb/dataset_search.html b/public/docs/mavedb/dataset_search.html new file mode 100644 index 00000000..3308945b --- /dev/null +++ b/public/docs/mavedb/dataset_search.html @@ -0,0 +1,86 @@ + + + + + + + + <no title> — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + +
+
+
+
+ + + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/public/docs/mavedb/external_integrations.html b/public/docs/mavedb/external_integrations.html new file mode 100644 index 00000000..96083e79 --- /dev/null +++ b/public/docs/mavedb/external_integrations.html @@ -0,0 +1,153 @@ + + + + + + + + External integrations — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

External integrations

+

MaveDB integrates with several external resources to enrich hosted data sets and facilitate data sharing and interpretation.

+

Many of these integrations rely on variant mapping to link MAVE variants to genomic coordinates and transcripts.

+
+

ClinGen

+

After mapping, MaveDB submits variant data to the ClinGen Allele Registry to obtain ClinGen Allele IDs (CAIDs) for each variant. +CAIDs provide a stable and unique identifier for genetic variants, enabling consistent referencing across databases and publications.

+

When a data set is published, MaveDB automatically submits the mapped variants to the ClinGen Linked Data Hub. This submission includes relevant metadata about the variants and their associated scores. +This allows ClinGen to display information about the functional data from MaveDB directly on their platform, enhancing the visibility and utility of MAVE data for the clinical genomics community.

+
+
+

ClinVar

+

Using the ClinGen Allele IDs obtained during the mapping process, MaveDB cross-references variants with the ClinVar database to identify any existing annotations. +These annotations power visualizations in MaveDB intended to show the segretation ability of an assay with respect to known pathogenic and benign variants. MaveDB displays ClinVar significance classifications +and ‘star’ status alongside variant effect scores, allowing users to assess how well the MAVE data aligns with established clinical interpretations and links to ClinVar entries for further information.

+
+

Note

+

A future version of this software will allow users to submit variant interpretations back to ClinVar directly from MaveDB, streamlining the process of sharing functional evidence with the clinical genomics community.

+
+
+
+

gnomAD

+

Mapped variants in MaveDB are also cross-referenced with the gnomAD database to retrieve population frequency data. This integration provides users with important context about the prevalence of variants in diverse human populations.

+
+
+

VEP

+

MaveDB utilizes the Ensembl Variant Effect Predictor (VEP) to annotate mapped variants with predicted functional consequences. VEP provides insights into how variants may impact gene function, including effects on protein coding sequences, splicing, and regulatory regions.

+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/public/docs/mavedb/faqs.html b/public/docs/mavedb/faqs.html new file mode 100644 index 00000000..fa16ac7a --- /dev/null +++ b/public/docs/mavedb/faqs.html @@ -0,0 +1,130 @@ + + + + + + + + Frequently Asked Questions — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Frequently Asked Questions

+
+

Where can I find help or contact support for MaveDB?

+

The MaveDB documentation provides detailed information on various topics related to MaveDB. +If you have specific questions, can’t find what you’re looking for or need further assistance, you can contact the MaveDB support team by messaging us on +Zulip at MaveDB Zulip.

+

If you have specific feature requests or bug reports, you can also create an issue on the MaveDB issue tracker.

+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/public/docs/mavedb/genindex.html b/public/docs/mavedb/genindex.html index 25284af3..8707b141 100644 --- a/public/docs/mavedb/genindex.html +++ b/public/docs/mavedb/genindex.html @@ -4,12 +4,12 @@ - Index — MaveDB 2023.2.0 documentation + Index — MaveDB 2025.5.2 documentation - + @@ -28,7 +28,7 @@

Navigation

  • index
  • - + @@ -72,12 +72,12 @@

    Navigation

  • index
  • - + diff --git a/public/docs/mavedb/getting_started.html b/public/docs/mavedb/getting_started.html new file mode 100644 index 00000000..248135fa --- /dev/null +++ b/public/docs/mavedb/getting_started.html @@ -0,0 +1,134 @@ + + + + + + + + Getting started with MaveDB — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +

    Getting started with MaveDB

    +

    This documentation provides an overview of MaveDB and instructions for uploading, publishing, accessing and exploring datasets in addition +to detailed descriptions of other MaveDB features.

    +
    +

    What is MaveDB?

    +
    +

    Uploading data

    +
    +
    +

    Publishing data

    +
    +
    +

    Accessing data

    +
    +
    +

    Exploring data

    +
    +
    +

    Additional resources

    + +
    +
    +
    + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/docs/mavedb/heatmap.html b/public/docs/mavedb/heatmap.html new file mode 100644 index 00000000..2582ea58 --- /dev/null +++ b/public/docs/mavedb/heatmap.html @@ -0,0 +1,86 @@ + + + + + + + + <no title> — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/docs/mavedb/histogram.html b/public/docs/mavedb/histogram.html new file mode 100644 index 00000000..e1089c95 --- /dev/null +++ b/public/docs/mavedb/histogram.html @@ -0,0 +1,86 @@ + + + + + + + + <no title> — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/docs/mavedb/index.html b/public/docs/mavedb/index.html index fcf37acf..2f2093ee 100644 --- a/public/docs/mavedb/index.html +++ b/public/docs/mavedb/index.html @@ -5,12 +5,12 @@ - MaveDB documentation — MaveDB 2023.2.0 documentation + MaveDB documentation — MaveDB 2025.5.2 documentation - + @@ -33,7 +33,7 @@

    Navigation

  • next |
  • - + @@ -47,45 +47,114 @@

    Navigation

    MaveDB documentation

    MaveDB is a biological database for Multiplex Assays of Variant Effect (MAVE) datasets, such as those generated by Deep Mutational Scanning (DMS) or Massively Parallel Reporter Assays (MPRA).

    -

    Source code is available from the MaveDB GitHub under the +

    Source code is available from the MaveDB GitHub under the AGPLv3 license. -To report issues or request new features, please use the MaveDB issue tracker.

    -
    +To report issues or request new features, please use the MaveDB issue tracker.

    +
    @@ -133,12 +202,12 @@

    Navigation

  • next |
  • - +
    diff --git a/public/docs/mavedb/mapped_variants.html b/public/docs/mavedb/mapped_variants.html new file mode 100644 index 00000000..270ea562 --- /dev/null +++ b/public/docs/mavedb/mapped_variants.html @@ -0,0 +1,86 @@ + + + + + + + + <no title> — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/docs/mavedb/mavemd.html b/public/docs/mavedb/mavemd.html new file mode 100644 index 00000000..d717251c --- /dev/null +++ b/public/docs/mavedb/mavemd.html @@ -0,0 +1,86 @@ + + + + + + + + <no title> — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/docs/mavedb/mavemd/clinical_view.html b/public/docs/mavedb/mavemd/clinical_view.html new file mode 100644 index 00000000..7163d4dc --- /dev/null +++ b/public/docs/mavedb/mavemd/clinical_view.html @@ -0,0 +1,90 @@ + + + + + + + + Variant Clinical View — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +

    Variant Clinical View

    +

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed euismod, urna eu tincidunt consectetur, nisi nisl aliquam eros, a facilisis enim leo nec urna. Mauris non tempor quam, et lacinia sapien. Mauris accumsan eros eget libero posuere vulputate.

    +
    + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/docs/mavedb/mavemd/curation.html b/public/docs/mavedb/mavemd/curation.html new file mode 100644 index 00000000..6be4cc85 --- /dev/null +++ b/public/docs/mavedb/mavemd/curation.html @@ -0,0 +1,90 @@ + + + + + + + + Data Set Curation — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +

    Data Set Curation

    +

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed euismod, urna eu tincidunt consectetur, nisi nisl aliquam eros, a facilisis enim leo ac sapien. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam.

    +
    + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/docs/mavedb/mavemd/evaluating_functional_assays.html b/public/docs/mavedb/mavemd/evaluating_functional_assays.html new file mode 100644 index 00000000..c5283c64 --- /dev/null +++ b/public/docs/mavedb/mavemd/evaluating_functional_assays.html @@ -0,0 +1,96 @@ + + + + + + + + Evaluating functional assays — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +

    Evaluating functional assays

    +

    When evaluating functional assays for their suitability in variant effect mapping studies, +consideration should be given to several key factors that can influence the quality and interpretability of the +results. These factors include the dimensionality of the assay, the method used, the biological mechanism +assessed, and the model system employed.

    +

    MaveDB uses a controlled vocabulary to capture these key aspects of functional assays +and generate concise summaries of assay facts for each score set. These summaries can +help users quickly assess the relevance and reliability of the data for their specific research questions.

    +
    + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/docs/mavedb/mavemd/index.html b/public/docs/mavedb/mavemd/index.html new file mode 100644 index 00000000..2e790d2e --- /dev/null +++ b/public/docs/mavedb/mavemd/index.html @@ -0,0 +1,99 @@ + + + + + + + + MaveMD — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +

    MaveMD

    +

    MaveMD refers to a suite of tools and features associated with MaveDB that facillitate the clinical interpretation +of variants based on variant effect measurements from MAVE assays.

    + +
    + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/docs/mavedb/mavemd/variant_search.html b/public/docs/mavedb/mavemd/variant_search.html new file mode 100644 index 00000000..92225d05 --- /dev/null +++ b/public/docs/mavedb/mavemd/variant_search.html @@ -0,0 +1,90 @@ + + + + + + + + Variant Search — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/docs/mavedb/objects.inv b/public/docs/mavedb/objects.inv index 5be4e343..782be729 100644 Binary files a/public/docs/mavedb/objects.inv and b/public/docs/mavedb/objects.inv differ diff --git a/public/docs/mavedb/output_formats.html b/public/docs/mavedb/output_formats.html new file mode 100644 index 00000000..cb17ded7 --- /dev/null +++ b/public/docs/mavedb/output_formats.html @@ -0,0 +1,169 @@ + + + + + + + + Output formats — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +

    Output formats

    +

    MaveDB supports multiple output formats for downloading variant effect score data. These formats are designed to accommodate different user needs and facilitate integration with various analysis tools and pipelines. The primary output formats available in MaveDB include:

    +
      +
    • Score and count data: Downloadable as CSV or TSV files, these files contain the raw and processed variant effect scores along with associated count data.

    • +
    • Mapped variants: Available in GA4GH VRS format, this output provides standardized representations of variants mapped to genomic coordinates.

    • +
    • Annotated variants: Provided in VA-Spec format, this output includes additional annotations for each variant, such as functional classifications and evidence strengths.

    • +
    +
    +

    Score and count data

    +

    MaveDB allows users to download variant effect score data along with associated count data in common tabular formats such as CSV (Comma-Separated Values) and TSV (Tab-Separated Values). This is the same data that users upload, but with an additional column for variant URNs that uniquely identify each variant in MaveDB. +Users may also choose to include other MaveDB generated columns in this output, such as mapped variant HGVS strings and VRS identifiers, if available.

    +
    +

    Note

    +

    Score and count columns are non-prescriptive and may vary between datasets, see: Data table formats.

    +

    Columns may mean different things between data sets, so users should refer to the dataset documentation for details on the specific columns included in each download.

    +
    +
    +
    +

    Mapped variants

    +

    MaveDB stores mapped variants using the GA4GH VRS standard for representing genetic variants. Mapped variants may be downloaded in VRS JSON format, which provides a structured representation of each variant +including genomic coordinates, alleles, and reference sequences. For data sets which have been mapped, users may download this JSON file containing all mapped variants associated with the score set.

    +
    +
    +

    Annotated variants

    +

    MaveDB provides annotated variant data in the VA-Spec format, which builds upon the VRS standard to include additional annotations relevant to variant interpretation. This output includes functional classifications, evidence strengths, and other metadata associated with each variant. There are three types of VA-Spec objects that MaveDB provides, which are described below. +Variants may not have all three types of VA-Spec objects associated with them; the availability of each object type depends on the data provided in the score set and its calibrations.

    +
    +

    Functional Impact Study Result

    +

    This object represents the results of a functional impact study for a specific variant. It includes the variant identifier, its mapping result, the observed effect score, and metadata about the study itself. This object is useful for capturing the direct results of MAVE experiments, and +is intended to be used as evidence in variant interpretation frameworks. It forms the basis for other exported VA-Spec objects in MaveDB.

    +
    +
    +

    Functional Impact Statement

    +

    This object summarizes the functional impact of a variant based on the results of a functional impact study. It builds on the Functional Impact Study Result to additionally provide an overall classification (e.g., “Normal”, “Abnormal”) of variant effect based on provided score calibrations.

    +
    +
    +

    Pathogenicity Evidence Line

    +

    This object represents a line of evidence for variant pathogenicity based on functional impact data. It incorporates the Functional Impact Statement and includes evidence strengths (e.g., “Strong”, “Moderate”) that indicate the level of confidence in the functional classification. This object is designed to be integrated into broader variant interpretation frameworks, such as those used in clinical genomics.

    +
    +
    +
    + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/docs/mavedb/publishing.html b/public/docs/mavedb/publishing.html index 64c7e396..4d6b6a5b 100644 --- a/public/docs/mavedb/publishing.html +++ b/public/docs/mavedb/publishing.html @@ -5,17 +5,17 @@ - Making your data public — MaveDB 2023.2.0 documentation + Making your data public — MaveDB 2025.5.2 documentation - + - + @@ -32,12 +32,12 @@

    Navigation

    index
  • - next |
  • previous |
  • - + @@ -49,18 +49,49 @@

    Navigation

    Making your data public

    -

    When first created, records are given a temporary accession number +

    When first created, records are given a temporary accession number beginning with tmp: instead of urn:mavedb:.

    -

    Temporary records are only visible to the uploader. -If you want to access these datasets via API, you can create an API key on your user profile page.

    -

    When the record is ready to be made public, you can click on the padlock icon to “publish” the record. -Note that when the data is published, several fields (including the target sequence, scores, and counts) -will become un-editable. -Most free-text metadata can still be revised after the dataset becomes public, +

    Temporary records are only visible to the uploader and to any contributors that +have been added to the record. +If you want to access these datasets via API, you can create an API key on your user profile page to enable authentication.

    +

    When the record is ready to be made public, you can click on the padlock icon to “publish” the record.

    +
    +

    Warning

    +

    Once a record is published, it cannot be unpublished. If you need to fix errors in a dataset after publication, +see: Deprecating score sets.

    +
    +

    Once the data is published, several fields (including the target, scores, and counts) +will become un-editable. However, most free-text metadata can still be revised after the dataset becomes public, and changes to these fields are tracked.

    +
    +

    Note

    +

    Score sets are the only record type that can be published. When the first score set associated with an experiment +is published, the associated experiment and experiment set will also become public.

    +
    +
    +

    Data licensing

    +

    When uploading score set information to the database, the user can choose one of three licenses:

    + +
    +

    Note

    +

    Only datasets licensed under CC0 will be included as part of the bulk download archive.

    +
    +

    By default, new score sets will have the CC0 license. +The license can be changed after publication, but previously downloaded copies of the dataset will retain the license +they were downloaded under. +The license is listed in the header of downloaded CSV files and also in the API.

    +

    Users also have the option of adding a free-text data usage policy to a score set, such as terms that dictate use of +pre-publication data. +For example, data producers may wish to assert their right to publish the results of certain analyses first. +The data usage policy will be added to the header of any downloaded data files if one is present.

    +

    Deprecating score sets

    -

    If you need to fix an error after a dataset becomes public and is no longer editable, +

    If you need to fix an error after a dataset becomes public and is no longer editable, MaveDB supports the deprecation of score sets. When creating a new score set, the user can specify an existing score set to replace.

    @@ -77,6 +108,7 @@

    Deprecating score setsTable of Contents

    diff --git a/public/docs/mavedb/record_types/experiment_sets.html b/public/docs/mavedb/record_types/experiment_sets.html new file mode 100644 index 00000000..c38def1a --- /dev/null +++ b/public/docs/mavedb/record_types/experiment_sets.html @@ -0,0 +1,122 @@ + + + + + + + + Experiment sets — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +

    Experiment sets

    +

    Experiment sets do not have their own data or metadata and are used to group related experiments, +such as when different functional assays are performed on the same target and described in the same publication +(example experiment set).

    +

    In general, an experiment set should contain data for a single target. +It is not necessary to include all data from a single publication or research project under one experiment set.

    +

    Experiment sets are automatically created when the first associated experiment is saved. To subsequently add +an experiment to the experiment set, use the ‘Add an experiment’ button on the experiment set page.

    +
    + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/docs/mavedb/record_types/experiments.html b/public/docs/mavedb/record_types/experiments.html new file mode 100644 index 00000000..63bcaaa0 --- /dev/null +++ b/public/docs/mavedb/record_types/experiments.html @@ -0,0 +1,210 @@ + + + + + + + + Experiments — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +

    Experiments

    +

    Experiments describe the data generated from performing a MAVE on a target. +This includes all steps of the experimental procedure up to and including high-throughput sequencing. +Library construction, assay design, and sequencing strategy are all described in the experiment record +(example experiment).

    +
    +

    See also

    +

    Data analysis steps including read filtering, read counting, and score calculation are described in a +score set.

    +
    +

    Publications that perform more than one functional assay should be represented as multiple experiments organized under +a single experiment set, and each functional assay should be described in its own experiment record. +This still applies to experimental designs where the differences between assays were relatively minor, +such as varying the temperature or the concentration of a small molecule.

    +

    Replicate assays should not be reported as separate experiments, +instead the number and nature of the replicates should be clearly stated in the experiment’s methods section.

    +

    To assign a new experiment to an existing experiment set, use the ‘Add an experiment’ button on the experiment set page.

    +
    +

    Experiment contributors

    +

    When a record in MaveDB is created and assigned a temporary accession number, +it is only accessible to the “owner” user.

    +

    The owner can add additional users to the record by editing the record and +specifying that user’s ORCID iD in the Contributors field. +The prospective contributor must have logged into MaveDB at least once.

    +
    +

    Note

    +

    Contributors added to a dataset will not automatically be added as contributors to associated records. +You will need to add them separately in each record form.

    +

    For instance, contributors added to an experiment will not automatically be added as contributors to associated score sets, nor will +contributors added to a score set be added to the associated experiment. You will need to add them separately in each record form.

    +
    +

    Contributors have the same permissions on the dataset as the owner, with the exception that +users added to a record as contributors will not be able to delete the record. This permission is reserved +for the record owner and MaveDB administrators only.

    +
    +
    +

    Experiment metadata

    +
    +
    Title

    The title of the experiment, to be displayed at the top of the experiment record page.

    +
    +
    Short description

    A brief summary of the experiment. This should be one or two sentences that summarize the experiment and are displayed +in search results to give users an overview of the experiment.

    +
    +
    Abstract

    A longer description of the experiment, including the motivation for performing it and a summary of the approach taken. +The focus should be on describing the MAVE experiment rather than the full study. +This field supports Markdown formatting.

    +
    +

    Note

    +

    It is common for experiments and score sets from the same study to share the same abstract text.

    +
    +
    +
    Methods

    A detailed description of the experimental methods used to generate the data, starting from raw sequence data. +This field should include information on: +* Variant library construction methods +* Description of the functional assay, including model system and selection type +* Sequencing strategy and sequencing technology +* Structure of biological or technical replicates (if applicable)

    +
    +
    DOIs

    A list of Digital Object Identifiers (DOIs) for any digital resources associated with the experiment.

    +
    +

    Warning

    +

    DOIs for publications should not be provided here; instead, they should be included in the publication identifiers section.

    +
    +
    +
    Contributors

    A list of the people who contributed to the experiment. +Each contributor should be identified by their ORCID iD.

    +
    +
    Publication identifiers

    A list of identifiers for publications associated with the experiment. These may be DOIs, PubMed IDs, bioRxiv IDs, or +medRxiv IDs. If you are providing multiple identifiers, you may select one identifier as the primary identifier for the experiment. +This publication should be the main publication describing the experiment.

    +
    +
    Raw read identifiers

    A list of accession numbers for the raw sequencing data generated from the experiment. +These should link to entries in public repositories such as the Sequence Read Archive (SRA) +or Array Express. +If multiple sequencing runs were performed as part of the experiment, all relevant accession numbers should be provided.

    +
    +
    Extra metadata

    A JSON object containing any additional metadata relevant to the experiment that does not fit into the standard fields. +This may include information such as experimental conditions, protocols, or other details specific to the experiment.

    +
    +
    Controlled Keywords

    A list of keywords relevant to the experiment. +These keywords will be used to improve searchability of the experiment within MaveDB. For additional guidance on selecting controlled keywords, +see the Controlled Keywords section.

    +
    +
    +
    +
    + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/docs/mavedb/record_types/index.html b/public/docs/mavedb/record_types/index.html new file mode 100644 index 00000000..a791e58e --- /dev/null +++ b/public/docs/mavedb/record_types/index.html @@ -0,0 +1,162 @@ + + + + + + + + Record types — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +

    Record types

    +

    MaveDB has three kinds of records: experiment sets, experiments, and score sets. +These records are organized hierarchically. +Each experiment set can contain multiple experiments and each experiment can contain multiple score sets. +MaveDB also supports meta-analysis score sets, which are based on one or more existing score sets. +Each of these record types are described in more detail below.

    +
    +cartoon schematic of an experiment set with multiple experiments and score sets in MaveDB
    +

    Fig. 1 Schematic of an experiment set.

    +
    +

    This cartoon shows the experiment set for +urn:mavedb:00000003, +which describes two distinct assays performed on a single BRCA1 variant library, +each with two associated score sets. +This nested structure is typical of a MaveDB record describing a complex study with multiple elements. +Note that each assay (symbolized by the yeast and bacteriophage and their associated sequencing instruments) +is described in its own experiment record, +and that each experiment has its own score set records that describe the analysis and results +(symbolized by the computer and data table).

    +
    +
    +
    + +
    + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/docs/mavedb/record_types/metadata_guide.html b/public/docs/mavedb/record_types/metadata_guide.html new file mode 100644 index 00000000..28e80928 --- /dev/null +++ b/public/docs/mavedb/record_types/metadata_guide.html @@ -0,0 +1,502 @@ + + + + + + + + Data set metadata and properties — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +

    Data set metadata and properties

    +

    MaveDB experiment and score set records include required and optional metadata fields +to describe the data being deposited. +These metadata fields are described in detail below, along with formatting guidelines and a checklist of required information.

    +
    +

    Free text metadata

    +

    Experiments and score sets both have descriptive free text fields. +These are the title, short description, abstract, and methods.

    +
    +

    Note

    +

    These four fields are required when uploading an experiment or score set.

    +
    +

    While the title and short description are plain text, the abstract and methods support +Markdown formatting with embedded equations using +MathML, converted using Pandoc.

    +
    +
    Title

    The title of the experiment or score set, to be displayed at the top of the record page.

    +
    +
    Short description

    The short description is displayed in the search results table. It should summarize the entry at a high level in one +or two sentences.

    +
    +
    Abstract

    The abstract should describe the motivation and approach for the dataset. +Some MaveDB abstracts include a summary of the results of the related publications but many do not. +The entry describes the MAVE data rather than a full study so the submitter should use their judgement when deciding +what details are most relevant.

    +
    +

    Note

    +

    It is common that experiments and score sets share the same abstract text if they are from the same study.

    +
    +
    +
    Methods

    The methods section should describe the approach in a condensed form, +suitable for a specialist audience of MAVE researchers. The methods section for experiments and score sets +have different recommended content, as described below.

    +

    For an experiment, the methods section should include:

    +
      +
    • Variant library construction methods

    • +
    • Description of the functional assay, including model system and selection type

    • +
    • Sequencing strategy and sequencing technology

    • +
    • Structure of biological or technical replicates (if applicable)

    • +
    +

    For a score set, the methods section should include:

    +
      +
    • Sequence read filtering approach

    • +
    • Description of the statistical model for converting counts to scores, including normalization

    • +
    • Description of additional data columns included in the score or count tables, including column naming conventions

    • +
    • Details of how replicates were combined (if applicable)

    • +
    +

    For a meta-analysis score set, the methods section should include:

    +
      +
    • Description of the statistical model for converting the linked scores or counts into the scores presented

    • +
    • Description of additional data columns included in the score or count tables, including column naming conventions

    • +
    +
    +
    +
    +
    +

    Digital Object Identifiers (DOIs)

    +

    You may include a list of DOIs for any digital resources associated with the experiment or score set. +You might use this field to link to datasets stored in other repositories, code repositories containing analysis pipelines, etc.

    +
    +

    Warning

    +

    DOIs for publications should not be provided here; instead, they should be included in the publication identifiers section.

    +
    +
    +
    +

    Publication details

    +

    Publications can be included by entering their PubMed ID, bioRxiv ID, +medRxiv ID, or DOI and they will appear as formatted references.

    +

    You will also have the option to indicate a primary publication for the experiment or score set. This publication will be more prominently displayed +and should describe the research contribution to which this experiment or score set is most closely related.

    +
    +

    Note

    +

    Publications included in an experiment will be automatically linked to score sets associated with that experiment.

    +
    +
    +
    +

    Contributors

    +

    When a record in MaveDB is created and assigned a temporary accession number, +it is only accessible to the “owner” user.

    +

    The owner can add additional users to the record by editing the record and +specifying that user’s ORCID iD in the Contributors field. +The prospective contributor must have logged into MaveDB at least once.

    +
    +

    Note

    +

    Contributors added to a dataset will not automatically be added as contributors to associated records. +You will need to add them separately in each record form.

    +

    For instance, contributors added to an experiment will not automatically be added as contributors to associated score sets, nor will +contributors added to a score set be added to the associated experiment. You will need to add them separately in each record form.

    +
    +

    Contributors have the same permissions on the dataset as the owner, with the exception that +users added to a record as contributors will not be able to delete the record. This permission is reserved +for the record owner and MaveDB administrators only.

    +
    +
    +

    Optional structured metadata

    +

    Data sets also support the inclusion of optional JSON-formatted metadata. +This can be used to describe features like genomic coordinates for a target sequence or score cutoff ranges that the +uploader would like to be more easily machine-readable than if this information was included in free text.

    +

    If optional metadata is included, the uploader should describe it in the score set methods.

    +
    +
    +

    Experiment specific metadata

    +

    In addition to the shared metadata fields described above, experiments also support the following specific metadata fields:

    +
    +

    Raw data accessions

    +

    Experimenters are encouraged to deposit their raw sequence data in a public repository and link it to the relevant +experiment record(s).

    +

    MaveDB currently supports accession numbers for:

    + +

    Raw data that is stored elsewhere may be included via the DOI field.

    +
    +
    +

    Keywords

    +

    Experiments may be tagged with optional, controlled keywords.

    +

    These keywords improve searchability of the records within MaveDB and facilitate the generation of +assay facts summaries.

    +
    +

    Note

    +

    While keywords are optional, we strongly encourage you to include them when uploading an experiment or score set +given the contextual benefits they provide.

    +

    In a future release, providing a minimal set of controlled keywords may become a requirement for uploading new records.

    +
    +
    +
    +
    +

    Score set specific metadata

    +

    In addition to the shared metadata fields described above, score sets also support the following specific metadata fields:

    +
    +

    Licenses

    +

    When uploading score set information to the database, the user can choose one of three licenses:

    + +
    +

    Note

    +

    Only datasets licensed under CC0 will be included as part of the bulk download archive.

    +
    +

    By default, new score sets will have the CC0 license. +The license can be changed after publication, but previously downloaded copies of the dataset will retain the license +they were downloaded under. +The license is listed in the header of downloaded CSV files and also in the API.

    +

    Users also have the option of adding a free-text data usage policy to a score set, such as terms that dictate use of +pre-publication data. +For example, data producers may wish to assert their right to publish the results of certain analyses first. +The data usage policy will be added to the header of any downloaded data files if one is present.

    +
    +
    +

    Score set targets

    +

    All variants in a MaveDB score set are described relative to a target. This target +should describe the sequence that was mutagenized to create the variant library. MaveDB supports two types +of targets: sequence-based targets and accession-based targets.

    +

    Each score set in MaveDB must be associated with at least one target. Certain experiments may +describe variants relative to two or more distinct sequences, such as protein-protein interaction assays +that measure the effects of variants in both interacting proteins. In these cases, multiple targets may be +associated with a single score set.

    +
    +
    +

    Calibrations

    +

    Score calibrations in MaveDB provide a way to give additional context to variant effect scores by mapping them to known reference points. +This helps users interpret the scores in a biologically meaningful way. A score calibration consists of four parts: a baseline score, +a set of classifications, a set of evidence strength and a calibration metadata.

    +
    +

    Baseline score

    +

    The baseline score represents the expected score for a variant that has no effect on the phenotype being measured. This score serves as a reference point for interpreting other variant effect scores in the dataset. +The baseline score is typically derived from known neutral variants or from the distribution of scores in the dataset, and may also be described as the “wild-type” or “reference” score.

    +

    The baseline score should be provided as a numeric value along with a description of how it was determined. For example, if the baseline score is derived from the average score of known synonymous variants, this should be noted in the description. +MaveDB will use the baseline score in the heatmap in order to set the color scale, and it will be displayed along with the calibration information in the score set details.

    +
    +
    +

    Functional classifications

    +

    Functional classifications provide a way to categorize variants based on their effect scores. These classifications help users understand the biological significance of the scores and facilitate comparisons between different variants. +MaveDB supports a controlled vocabulary for functional classifications, which includes the following terms:

    +
      +
    • Normal: Indicates that the variant has no significant effect on the phenotype.

    • +
    • Abnormal: Indicates that the variant has a significant effect on the phenotype.

    • +
    • Not specified: Indicates that the effect of the variant is unknown or has not been determined.

    • +
    +

    There are two ways to assign functional classifications to variants in MaveDB:

    +
      +
    1. Threshold-based classification: Users can define score thresholds that determine the functional classification of variants. For example, variants with scores above a certain threshold may be classified as “Normal”, while those below the threshold are classified as “Abnormal”.

    2. +
    3. Direct assignment: Users can directly assign functional classifications to individual variants based on experimental evidence or prior knowledge. You can do this by uploading a file that includes the variant identifiers and their corresponding classifications.

    4. +
    +
    +
    +

    Evidence strengths

    +

    Evidence strengths provide a way of indicating the evidence level that may be used for variant interpretation. MaveDB supports a controlled vocabulary for evidence strengths, which includes the following terms based on ACMG/AMP guidelines:

    +
      +
    • Very Strong

    • +
    • Strong

    • +
    • Moderate

    • +
    • Supporting

    • +
    +

    You may assign a particular evidence strength to each each functional classification. Note that for “abnormal” classifications, you must provide a pathogenic evidence strength, while for “normal” classifications, you must provide a benign evidence strength. +For “not specified” classifications, evidence strengths may not be submitted.

    +

    You may also include odds of pathogenicity (“OddsPath”) values for each classification. These values provide a quantitative measure of the strength of evidence associated with each classification, and may be used in variant interpretation. For more information +on how OddsPath values relate to evidence strengths and recommendations for their application, see the guidelines provided by Brnich et al., 2019.

    +
    +
    +

    Calibration metadata

    +

    Calibration metadata provides additional context about the score calibration, including information about how the calibration was performed and any relevant references or notes. +This metadata may include:

    +
      +
    • A title for the calibration

    • +
    • A description of the methods used to determine the baseline score and functional classifications.

    • +
    • Any additional notes or comments that may be useful for users interpreting the calibration, especially with regard to the baseline score and functional classifications.

    • +
    • Whether the calibration should be marked as research use only, indicating that it is not intended for clinical or diagnostic purposes.

    • +
    +

    In addition, users may provide three types of optional references to support the calibration:

    +
      +
    • Threshold sources: A publication reference (e.g., a DOI, PubMed ID, or bioRxiv/medRxiv ID) that describes the method by which classification thresholds or classes were determined.

    • +
    • Classification methods: A publication reference (e.g., a DOI, PubMed ID, or bioRxiv/medRxiv ID) that describes the method by which evidence strengths were determined.

    • +
    • Classification sources: A publication reference (e.g., a DOI, PubMed ID, or bioRxiv/medRxiv ID) that describes where the evidence strengths determined by the ‘classification methods’ are described.

    • +
    +
    +
    +

    Calibration privacy

    +

    By default, score calibrations are not visible to all MaveDB users. However, you may choose to publish a calibration after it has been uploaded. Private calibrations are only visible to the user who uploaded them and any users marked as contributors on the associated score set. +Published calibrations are visible to all MaveDB users and may be used in visualizations and interpretations of the associated score set.

    +
    +

    Warning

    +

    Once a calibration has been published, it cannot be made private again nor may it be edited. Please ensure that you are comfortable with making the calibration public before publishing it.

    +
    +
    +
    +

    Primary calibrations

    +

    A primary calibration is the main score calibration associated with a score set. Each score set in MaveDB may have at most one primary calibration. The primary calibration is used by default when displaying the score set in visualizations and when interpreting variant effect +scores.

    +

    After uploading a score calibration to MaveDB, you may choose to designate it as the primary calibration for the associated score set. If a score set already has a primary calibration, you must demote the existing primary calibration before designating a new one. +A calibration must be publicly visible to be marked as the primary calibration, and research use only calibrations may not be designated as primary calibrations.

    +
    +

    Note

    +

    MaveDB maintainers may review primary calibrations to ensure that they meet quality standards and are appropriate for use in visualizations and interpretations, and retain +the right to remove primary calibration status from any calibration that does not meet these standards.

    +
    +
    +
    +

    Investigator provided calibrations

    +

    When there is no primary calibration associated with a score set, investigator provided calibrations are given priority viewing over other non-primary calibrations. Investigator provided calibrations +are any calibrations which have been uploaded by the samem user who uploaded the score set or a user marked as a contributor on the score set.

    +
    +
    +
    +

    Variant tables

    +

    You must upload at least one variant score CSV file when creating a new score set. +Optionally, you may also upload a variant count CSV file.

    +

    For both score and count data tables, there are three variant columns:

    +
      +
    • hgvs_nt describes variants with respect to the nucleotide target sequence

    • +
    • hgvs_splice describes variants with respect to a transcript model

    • +
    • hgvs_pro describes variants with respect to the amino acid target sequence

    • +
    +

    hgvs_nt and hgvs_pro variants are required to be described in relation to the score set target.

    +

    All variants must be described in MAVE-HGVS format, which is a subset of the HGVS format. +This includes using the appropriate prefix (c. for coding DNA, n. for non-coding DNA, p. for protein) and +using brackets for complex variants that affect multiple positions (e.g. c.[123A>G;125_T>C]).

    +

    If hgvs_nt is present, it will be used as the primary key for distinguishing variants and must be unique. +Otherwise, hgvs_pro will be used as the primary key.

    +
    +

    Note

    +

    Datasets with only hgvs_pro variants can specify nucleotide target sequences. +The target sequence will be translated using the +standard amino acid translation table for validation.

    +
    +

    The hgvs_splice variants are not validated against a transcript model or target sequence. +This is a convenience feature for datasets that contain splice variants; most datasets will not use hgvs_splice. +Datasets that use hgvs_splice must also have hgvs_nt, which is used as the primary key, +and the hgvs_nt variants must use the 'g.' prefix.

    +
    +

    See also

    +

    Base editor data follows a slightly different format; see the base editor data section for details.

    +
    +
    +

    Score table

    +

    All score tables must have a column named score that describes the score of that variant in the assay. +Score tables may have any number of additional numeric columns.

    +

    Suggested numeric columns include a standard deviation or variance, +or some other measure of uncertainty for the score such as a 95% confidence interval +(represented as two columns, e.g. ci_lower and ci_upper).

    +
    +

    Warning

    +

    Do not submit patient data or anything which could be used to identify individuals to MaveDB.

    +
    +

    Score sets that describe experiments with multiple replicates often include the score and standard deviation for each +replicate as additional columns.

    +

    For datasets with categorical data, +we recommend encoding the categories as integers and describing the mapping between integers and categories in the +free text methods. +Support for additional data columns with string data will be added in a future version to support this use case.

    +
    +
    +

    Counts table

    +

    Count data are optional for MaveDB score sets, but are recommended.

    +

    There are no required columns for count data, +but uploaders should decide on an intuitive naming convention for the column names and describe it in the +free text methods.

    +
    +
    +
    +

    Score/count metadata files

    +

    Users may also upload metadata files in JSON format to provide additional structured metadata about the columns in the score and count tables. +These files should be named score_columns_metadata.json and count_columns_metadata.json respectively. These files are +optional, but recommended.

    +

    The metadata files should contain a JSON object where each key is a column name from the corresponding data table, +and the value is another JSON object with additional metadata about that column. The additional JSON object may contain the following fields:

    +
      +
    • description: A string describing the column.

    • +
    • details: A string with additional details about the contents of the column (optional).

    • +
    +
    +
    +
    +
    +

    Metadata checklist

    +

    For each experiment and score set, you are required to provide the following metadata:

    + +

    You are not required to provide all optional metadata fields, but we strongly encourage you to do so +to maximize the usability of your data:

    + +

    For experiments, you are not required but strongly encouraged to provide:

    + +

    For score sets, you are additionally required to provide:

    +
      +
    • Targets associated with the score set, including their sequences or accessions and any related metadata.

    • +
    • Licenses and data usage guidelines (if needed) for the score set.

    • +
    • Score table containing the variant scores.

    • +
    +

    You are encouraged to also provide:

    +
      +
    • Calibrations to provide additional context for interpreting the scores.

    • +
    • Counts table containing the variant counts (if available).

    • +
    • `Metadata files`_ containing additional information about the score set.

    • +
    +
    + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/docs/mavedb/record_types/score_sets.html b/public/docs/mavedb/record_types/score_sets.html new file mode 100644 index 00000000..39a0d056 --- /dev/null +++ b/public/docs/mavedb/record_types/score_sets.html @@ -0,0 +1,235 @@ + + + + + + + + Score sets — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +

    Score sets

    +

    Score sets are records that describe the scores generated from the raw data described in their associated experiment +and the principal way that users will interact with the data deposited into MaveDB. +This includes all steps following the high-throughput sequencing step, including read filtering, read counting, and +score calculations (example score set). All score sets +must be associated with an existing experiment.

    +

    Multiple score sets should be used when distinct methods were used to calculate scores for raw data described by the +experiment. +The most common use case for multiple score sets is when scores are calculated at nucleotide resolution and amino +acid resolution for deep mutational scanning data.

    +

    When uploading results based on imputation or complex normalization, +it’s recommended to upload a more raw form of the scores (e.g. enrichment ratios) as a normal score set, +and then use meta-analysis score sets to describe the imputed or normalized results.

    +

    To assign a new score set to an existing experiment, use the dropdown at the top of the score set form.

    +
    +

    Meta-analysis score sets

    +

    Meta-analysis score sets have all the same attributes as a regular score set, +but they are linked to existing score sets rather than an existing experiment +(example meta-analysis score set).

    +
    +
    +

    Score set contributors

    +

    When a record in MaveDB is created and assigned a temporary accession number, +it is only accessible to the “owner” user.

    +

    The owner can add additional users to the record by editing the record and +specifying that user’s ORCID iD in the Contributors field. +The prospective contributor must have logged into MaveDB at least once.

    +
    +

    Note

    +

    Contributors added to a dataset will not automatically be added as contributors to associated records. +You will need to add them separately in each record form.

    +

    For instance, contributors added to an experiment will not automatically be added as contributors to associated score sets, nor will +contributors added to a score set be added to the associated experiment. You will need to add them separately in each record form.

    +
    +

    Contributors have the same permissions on the dataset as the owner, with the exception that +users added to a record as contributors will not be able to delete the record. This permission is reserved +for the record owner and MaveDB administrators only.

    +
    +
    +

    Deprecating data

    +

    If you need to fix an error after a dataset becomes public and is no longer editable, +MaveDB supports the deprecation of score sets. +When creating a new score set, the user can specify an existing score set to replace.

    +
    +
    +

    Score set metadata

    +
    +
    Title

    The title of the score set, to be displayed at the top of the score set record page.

    +
    +
    Short description

    A brief summary of the score set. This should be one or two sentences that summarize the score set and are displayed +in search results to give users an overview of the score set.

    +
    +
    Abstract

    A longer description of the score set, including the motivation for performing the analysis and a summary of the approach taken. +The focus should be on describing the score set rather than the full study. +This field supports Markdown formatting.

    +
    +
    +

    Note

    +

    It is common for experiments and score sets from the same study to share the same abstract text.

    +
    +
    +
    +
    Methods

    A detailed description of the data analysis methods used to generate the scores from the raw sequence data. +This field should include information on:

    +
      +
    • Sequence read filtering approach

    • +
    • Description of the statistical model for converting counts to scores, including normalization

    • +
    • Description of additional data columns included in the score or count tables, including column naming conventions

    • +
    • Details of how replicates were combined (if applicable)

    • +
    +
    +
    License and Data usage guidelines

    The license under which the score set data is made available and any additional data usage guidelines.

    +
    +

    See also

    +

    See the licenses section for more information on available licenses.

    +
    +
    +
    Contributors

    A list of the people who contributed to the score set. +Each contributor should be identified by their ORCID iD.

    +
    +
    DOIs

    A list of Digital Object Identifiers (DOIs) for any digital resources associated with the score set.

    +
    +

    Warning

    +

    DOIs for publications should not be provided here; instead, they should be included in the publication identifiers section.

    +
    +
    +
    Publication identifiers

    A list of identifiers for publications associated with the score set. These may be DOIs, PubMed IDs, bioRxiv IDs, or medRxiv IDs.

    +

    You will also have the option to indicate a primary publication for the score set. This publication will be more prominently displayed +and should describe the research contribution to which this score set is most closely related.

    +
    +
    Extra metadata

    An optional JSON object containing additional metadata about the score set. This may include information such as analysis parameters, +software versions, or other details specific to the score set. If you are providing additional metadata,, +it should be clearly described in the methods section.

    +
    +
    Targets

    One or more targets associated with this score set. +Each score set must be associated with at least one target. +For experiments that describe variants relative to two or more distinct sequences, +such as protein-protein interaction assays that measure the effects of variants in both interacting proteins, +multiple targets may be associated with a single score set.

    +
    +
    Score calibrations

    An optional list of score calibrations that provide additional context for interpreting the scores in this score set. +For more information, see the Score calibrations section.

    +
    +
    Variant scores and counts

    The variant scores and optional counts data tables associated with this score set. +For more information on the expected data formats, see the Data table formats section.

    +
    +
    +
    +
    + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/docs/mavedb/score_calibrations.html b/public/docs/mavedb/score_calibrations.html new file mode 100644 index 00000000..2692e54a --- /dev/null +++ b/public/docs/mavedb/score_calibrations.html @@ -0,0 +1,211 @@ + + + + + + + + Score calibrations — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +

    Score calibrations

    +

    Score calibrations in MaveDB provide a way to give additional context to variant effect scores by mapping them to known reference points. +This helps users interpret the scores in a biologically meaningful way. A score calibration consists of four parts: a baseline score, +a set of classifications, a set of evidence strength and a calibration metadata.

    +
    +

    Baseline score

    +

    The baseline score represents the expected score for a variant that has no effect on the phenotype being measured. This score serves as a reference point for interpreting other variant effect scores in the dataset. +The baseline score is typically derived from known neutral variants or from the distribution of scores in the dataset, and may also be described as the “wild-type” or “reference” score.

    +

    The baseline score should be provided as a numeric value along with a description of how it was determined. For example, if the baseline score is derived from the average score of known synonymous variants, this should be noted in the description. +MaveDB will use the baseline score in the heatmap in order to set the color scale, and it will be displayed along with the calibration information in the score set details.

    +
    +
    +

    Functional classifications

    +

    Functional classifications provide a way to categorize variants based on their effect scores. These classifications help users understand the biological significance of the scores and facilitate comparisons between different variants. +MaveDB supports a controlled vocabulary for functional classifications, which includes the following terms:

    +
      +
    • Normal: Indicates that the variant has no significant effect on the phenotype.

    • +
    • Abnormal: Indicates that the variant has a significant effect on the phenotype.

    • +
    • Not specified: Indicates that the effect of the variant is unknown or has not been determined.

    • +
    +

    There are two ways to assign functional classifications to variants in MaveDB:

    +
      +
    1. Threshold-based classification: Users can define score thresholds that determine the functional classification of variants. For example, variants with scores above a certain threshold may be classified as “Normal”, while those below the threshold are classified as “Abnormal”.

    2. +
    3. Direct assignment: Users can directly assign functional classifications to individual variants based on experimental evidence or prior knowledge. You can do this by uploading a file that includes the variant identifiers and their corresponding classifications.

    4. +
    +
    +
    +

    Evidence strengths

    +

    Evidence strengths provide a way of indicating the evidence level that may be used for variant interpretation. MaveDB supports a controlled vocabulary for evidence strengths, which includes the following terms based on ACMG/AMP guidelines:

    +
      +
    • Very Strong

    • +
    • Strong

    • +
    • Moderate

    • +
    • Supporting

    • +
    +

    You may assign a particular evidence strength to each each functional classification. Note that for “abnormal” classifications, you must provide a pathogenic evidence strength, while for “normal” classifications, you must provide a benign evidence strength. +For “not specified” classifications, evidence strengths may not be submitted.

    +

    You may also include odds of pathogenicity (“OddsPath”) values for each classification. These values provide a quantitative measure of the strength of evidence associated with each classification, and may be used in variant interpretation. For more information +on how OddsPath values relate to evidence strengths and recommendations for their application, see the guidelines provided by Brnich et al., 2019.

    +
    +
    +

    Calibration metadata

    +

    Calibration metadata provides additional context about the score calibration, including information about how the calibration was performed and any relevant references or notes. +This metadata may include:

    +
      +
    • A title for the calibration

    • +
    • A description of the methods used to determine the baseline score and functional classifications.

    • +
    • Any additional notes or comments that may be useful for users interpreting the calibration, especially with regard to the baseline score and functional classifications.

    • +
    • Whether the calibration should be marked as research use only, indicating that it is not intended for clinical or diagnostic purposes.

    • +
    +

    In addition, users may provide three types of optional references to support the calibration:

    +
      +
    • Threshold sources: A publication reference (e.g., a DOI, PubMed ID, or bioRxiv/medRxiv ID) that describes the method by which classification thresholds or classes were determined.

    • +
    • Classification methods: A publication reference (e.g., a DOI, PubMed ID, or bioRxiv/medRxiv ID) that describes the method by which evidence strengths were determined.

    • +
    • Classification sources: A publication reference (e.g., a DOI, PubMed ID, or bioRxiv/medRxiv ID) that describes where the evidence strengths determined by the ‘classification methods’ are described.

    • +
    +
    +
    +

    Calibration privacy

    +

    By default, score calibrations are not visible to all MaveDB users. However, you may choose to publish a calibration after it has been uploaded. Private calibrations are only visible to the user who uploaded them and any users marked as contributors on the associated score set. +Published calibrations are visible to all MaveDB users and may be used in visualizations and interpretations of the associated score set.

    +
    +

    Warning

    +

    Once a calibration has been published, it cannot be made private again nor may it be edited. Please ensure that you are comfortable with making the calibration public before publishing it.

    +
    +
    +
    +

    Primary calibrations

    +

    A primary calibration is the main score calibration associated with a score set. Each score set in MaveDB may have at most one primary calibration. The primary calibration is used by default when displaying the score set in visualizations and when interpreting variant effect +scores.

    +

    After uploading a score calibration to MaveDB, you may choose to designate it as the primary calibration for the associated score set. If a score set already has a primary calibration, you must demote the existing primary calibration before designating a new one. +A calibration must be publicly visible to be marked as the primary calibration, and research use only calibrations may not be designated as primary calibrations.

    +
    +

    Note

    +

    MaveDB maintainers may review primary calibrations to ensure that they meet quality standards and are appropriate for use in visualizations and interpretations, and retain +the right to remove primary calibration status from any calibration that does not meet these standards.

    +
    +
    +
    +

    Investigator provided calibrations

    +

    When there is no primary calibration associated with a score set, investigator provided calibrations are given priority viewing over other non-primary calibrations. Investigator provided calibrations +are any calibrations which have been uploaded by the samem user who uploaded the score set or a user marked as a contributor on the score set.

    +
    +
    + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/docs/mavedb/search.html b/public/docs/mavedb/search.html index 31df697e..785a8dcf 100644 --- a/public/docs/mavedb/search.html +++ b/public/docs/mavedb/search.html @@ -4,13 +4,13 @@ - Search — MaveDB 2023.2.0 documentation + Search — MaveDB 2025.5.2 documentation - + @@ -34,7 +34,7 @@

    Navigation

  • index
  • - + @@ -91,12 +91,12 @@

    Navigation

  • index
  • - + diff --git a/public/docs/mavedb/searchindex.js b/public/docs/mavedb/searchindex.js index 7bf1f7a4..eb3fad20 100644 --- a/public/docs/mavedb/searchindex.js +++ b/public/docs/mavedb/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["accession_numbers", "accounts", "citation", "data_formats", "data_licensing", "index", "publishing", "record_types", "target_sequences", "upload_guide"], "filenames": ["accession_numbers.rst", "accounts.rst", "citation.rst", "data_formats.rst", "data_licensing.rst", "index.rst", "publishing.rst", "record_types.rst", "target_sequences.rst", "upload_guide.rst"], "titles": ["MaveDB accession numbers", "User account management", "Citing MaveDB", "Data table formats", "Data licensing", "MaveDB documentation", "Making your data public", "Record types", "Target sequence information", "Depositing your data into MaveDB"], "terms": {"us": [0, 1, 3, 4, 5, 7, 8, 9], "urn": [0, 3, 6, 7, 8], "uniform": 0, "resourc": 0, "name": [0, 3, 8, 9], "format": [0, 5], "The": [0, 3, 4, 7, 8, 9], "have": [0, 1, 3, 4, 7, 8, 9], "hierarch": [0, 7], "structur": [0, 7], "reflect": 0, "relationship": 0, "between": [0, 3, 7], "experi": [0, 2, 3, 5, 8, 9], "set": [0, 2, 3, 4, 5, 8, 9], "score": [0, 2, 4, 5, 8, 9], "individu": [0, 3], "variant": [0, 2, 5, 7, 8, 9], "all": [0, 3, 7, 8], "public": [0, 1, 2, 4, 5, 7], "start": [0, 8], "string": [0, 3], "follow": [0, 7], "eight": 0, "digit": 0, "zero": 0, "pad": 0, "ar": [0, 1, 2, 3, 6, 7, 8, 9], "index": [0, 9], "letter": 0, "within": 0, "If": [0, 1, 3, 6, 8, 9], "necessari": [0, 7], "aa": 0, "ab": 0, "etc": 0, "z": 0, "descript": [0, 9], "00000055": 0, "1": [0, 2, 3, 8, 9], "0": [0, 3, 4], "onli": [0, 1, 3, 6, 8], "data": [0, 2, 5, 7], "from": [0, 1, 2, 3, 5, 7, 9], "tmp": [0, 6], "8vfrpipdrjq1teor": [], "special": 0, "instead": [0, 6, 7], "includ": [0, 3, 6, 7, 8, 9], "singl": [0, 3, 7, 8], "": [0, 7, 9], "For": [0, 3, 4, 8, 9], "analys": [0, 4, 9], "multipl": [0, 3, 7, 8], "new": [0, 1, 4, 5, 6, 7, 8], "assign": [0, 7], "same": [0, 7, 8, 9], "These": [0, 2, 7, 9], "contain": [0, 3, 7, 9], "when": [0, 1, 2, 4, 6, 7, 8, 9], "first": [0, 1, 4, 6, 7, 9], "upload": [0, 1, 3, 4, 6, 7, 8, 9], "record": [0, 5, 6, 9], "given": [0, 1, 6, 8, 9], "accord": 0, "type": [0, 5, 9], "creat": [0, 1, 6, 7, 8, 9], "made": [0, 6], "publicli": 0, "viewabl": 0, "publish": [0, 4, 6, 9], "authent": 1, "mavedb": [1, 3, 6, 7, 8], "i": [1, 3, 4, 5, 6, 7, 8, 9], "handl": 1, "through": [1, 8], "orcid": 1, "id": [1, 9], "you": [1, 6, 9], "do": [1, 3, 7, 9], "can": [1, 3, 4, 6, 7, 8, 9], "regist": 1, "one": [1, 4, 7, 9], "free": [1, 3, 4, 6], "servic": 1, "your": [1, 5], "onc": 1, "log": 1, "time": 1, "thi": [1, 3, 7, 8, 9], "step": 7, "requir": [1, 3, 5, 8], "befor": [], "ad": [3, 4, 8], "contributor": [], "ani": [3, 4, 8], "view": 1, "associ": [1, 2, 7, 9], "would": [1, 9], "like": [1, 9], "receiv": 1, "provid": [1, 3, 8], "profil": [1, 6], "page": [1, 2, 6, 7, 9], "login": 1, "send": 1, "automat": [1, 7], "task": 1, "complet": [1, 9], "dataset": [1, 2, 3, 4, 5, 6, 8, 9], "permiss": 1, "chang": [1, 4, 6, 8], "maintain": 1, "also": [1, 3, 4, 7, 8, 9], "notifi": 1, "import": [1, 8], "updat": 1, "affect": 1, "usabl": 1, "gener": [1, 5, 7, 9], "privat": 1, "via": [1, 6, 9], "activ": 1, "invalid": 1, "old": 1, "pleas": [2, 5, 9], "refer": [2, 3, 8, 9], "esposito": 2, "d": 2, "weil": 2, "j": 2, "shendur": 2, "starita": 2, "lm": 2, "papenfuss": 2, "AT": 2, "roth": 2, "fp": 2, "fowler": 2, "dm": [2, 5], "rubin": 2, "af": 2, "an": [2, 3, 5, 6, 7, 8, 9], "open": 2, "sourc": [2, 5], "platform": 2, "distribut": 2, "interpret": 2, "multiplex": [2, 5], "assai": [2, 3, 5, 7, 8, 9], "effect": [2, 5], "genom": [2, 9], "biol": 2, "2019": 2, "nov": 2, "4": [2, 3, 4], "20": 2, "223": 2, "doi": [2, 9], "10": 2, "1186": 2, "s13059": 2, "019": 2, "1845": 2, "6": [2, 3], "pmid": 2, "31679514": 2, "pmcid": 2, "pmc6827219": 2, "download": [2, 4], "abov": 2, "well": [2, 9], "origin": 2, "where": [2, 7], "were": [2, 4, 7, 8, 9], "report": [2, 5, 7], "citat": 2, "usual": 2, "avail": [2, 5, 9], "support": [3, 6, 7, 9], "three": [3, 4, 7], "differ": [7, 8, 9], "each": [3, 7, 9], "administr": [], "editor": [], "viewer": [], "list": [4, 9], "similarli": [], "regardless": [], "modifi": [], "metadata": [5, 6, 7], "add": 7, "remov": [], "creator": [], "everi": [], "alwai": [], "least": [], "other": [3, 8, 9], "must": [3, 8, 9], "account": 5, "thei": [4, 7, 8, 9], "intend": 9, "collabor": [], "research": [7, 9], "who": [], "edit": 6, "after": [4, 6], "should": [3, 7, 8, 9], "need": [6, 9], "make": 5, "accept": 3, "csv": [3, 4, 9], "row": 3, "describ": [3, 7, 8, 9], "mave": [3, 5, 7, 9], "hgv": 3, "expect": 3, "float": 3, "point": 3, "valu": [3, 8], "both": [3, 9], "hgvs_nt": 3, "respect": 3, "nucleotid": [3, 7, 8, 9], "target": [3, 5, 6, 7, 9], "sequenc": [3, 5, 6, 7, 9], "hgvs_tx": 3, "transcript": 3, "model": [3, 9], "hgvs_pro": 3, "amino": [3, 7, 8], "acid": [3, 7, 8], "relat": [3, 7, 9], "rather": [3, 7, 9], "than": [3, 7, 9], "extern": 3, "present": [3, 4, 8, 9], "primari": 3, "kei": [3, 6], "distinguish": 3, "uniqu": 3, "otherwis": 3, "specifi": [3, 6, 8, 9], "In": [7, 9], "case": [3, 7], "translat": 3, "standard": 3, "valid": 3, "against": 3, "conveni": 3, "featur": [3, 5, 9], "splice": 3, "most": [3, 6, 7, 9], "which": [3, 7, 8], "g": [3, 7], "prefix": 3, "mai": [3, 4, 8, 9], "number": [3, 5, 6, 7, 8, 9], "addit": [3, 9], "numer": 3, "suggest": 3, "deviat": 3, "varianc": 3, "some": [3, 8, 9], "measur": 3, "uncertainti": 3, "95": 3, "confid": 3, "interv": 3, "repres": [3, 7], "two": [3, 7, 9], "e": [3, 7], "ci_low": 3, "ci_upp": 3, "replic": [3, 7, 9], "often": 3, "categor": 3, "we": 3, "recommend": [3, 7], "encod": 3, "categori": 3, "integ": [3, 8], "map": [3, 8], "text": [3, 4, 6], "method": [3, 7, 9], "futur": [3, 9], "version": [3, 8], "here": 3, "short": [3, 9], "excerpt": 3, "00000003": [3, 7], "That": 3, "It": [3, 7, 9], "ha": [3, 7], "sever": [3, 6, 9], "error": [3, 6], "estim": 3, "biolog": [3, 5, 9], "note": [3, 6, 7], "permit": 3, "encourag": [3, 9], "long": 3, "hgvs_splice": 3, "se": 3, "epsilon": 3, "se_pluse2newrep3": 3, "score_pluse2newrep3": 3, "se_pluse2newrep4": 3, "score_pluse2newrep4": 3, "se_pluse2newrep5": 3, "score_pluse2newrep5": 3, "se_pluse2rep3": 3, "score_pluse2rep3": 3, "se_pluse2rep4": 3, "score_pluse2rep4": 3, "se_pluse2rep5": 3, "score_pluse2rep5": 3, "c": 3, "38t": 3, "na": 3, "p": 3, "val13ala": 3, "128": 3, "115": 3, "000": 3, "148": 3, "283": 3, "162": 3, "456": 3, "075": 3, "186": 3, "167": 3, "165": 3, "289": 3, "073": 3, "388": 3, "184": 3, "186a": 3, "t": 3, "leu62ph": 3, "132": 3, "396": 3, "3": [3, 9], "752": 3, "433": 3, "166": 3, "549": 3, "341": 3, "499": 3, "079": 3, "204": 3, "309": 3, "164a": 3, "lys55il": 3, "655": 3, "112": 3, "100": 3, "592": 3, "121": 3, "929": 3, "086": 3, "254": 3, "143": 3, "695": 3, "039": 3, "950": 3, "080": 3, "514": 3, "439c": 3, "A": 3, "441g": 3, "842c": 3, "gln147ly": 3, "ser281ter": 3, "668": 3, "612": 3, "464": 3, "273": 3, "22_23delinscc": 3, "glu8pro": 3, "375": 3, "280": 3, "158": 3, "421": 3, "240": 3, "265": 3, "200": 3, "796": 3, "192": 3, "022": 3, "311": 3, "232": 3, "091": 3, "476": 3, "598g": 3, "asp200asn": 3, "271": 3, "170": [3, 8], "103": 3, "337": 3, "094": 3, "830": 3, "092": 3, "408": 3, "163": 3, "051": 3, "243": 3, "278": 3, "172": 3, "382": 3, "285c": 3, "asp95glu": 3, "401": 3, "993": 3, "150": 3, "380": 3, "452": 3, "221": 3, "228": 3, "973": 3, "277": 3, "774": 3, "64g": 3, "142c": 3, "glu22gln": 3, "869t": 3, "leu290ter": 3, "231": 3, "245": 3, "117": 3, "285": 3, "792": 3, "424": 3, "084": 3, "909": 3, "325": 3, "093": 3, "735": 3, "200t": 3, "ile67arg": 3, "255": 3, "600": 3, "152": 3, "399": 3, "171": 3, "097": 3, "361": 3, "764": 3, "1g": 3, "97_99delinsggg": 3, "asp1tyr": 3, "pro33gli": 3, "159": 3, "177": 3, "445": 3, "583": 3, "500": 3, "323": 3, "537": 3, "470": 3, "284": 3, "188": 3, "476g": 3, "gly159val": 3, "141": 3, "050": 3, "557": 3, "030": 3, "969": 3, "114": 3, "126": 3, "264": 3, "168": 3, "303": 3, "option": [3, 4, 8], "There": 3, "decid": [3, 9], "intuit": 3, "convent": [3, 9], "inform": [4, 5], "databas": [4, 5, 8, 9], "user": [4, 5, 6, 8, 9], "choos": 4, "cc": 4, "BY": 4, "nc": 4, "sa": 4, "attribut": [4, 7], "noncommerci": 4, "sharealik": 4, "cc0": 4, "domain": [4, 8], "By": 4, "default": 4, "non": [4, 8, 9], "commerci": 4, "previous": 4, "copi": 4, "retain": 4, "under": [4, 5, 7], "header": 4, "file": [4, 9], "api": [4, 5, 6], "usag": [4, 9], "polici": [4, 9], "term": [4, 8], "dictat": 4, "pre": 4, "exampl": [4, 7, 8, 9], "produc": [4, 9], "wish": [4, 9], "assert": [4, 9], "right": [4, 9], "result": [4, 7, 9], "certain": [4, 9], "those": [5, 8, 9], "deep": [5, 7], "mutat": [5, 7], "scan": [5, 7], "massiv": 5, "parallel": 5, "mpra": 5, "code": [5, 8, 9], "github": 5, "agplv3": 5, "licens": [5, 9], "To": [5, 7], "issu": 5, "request": 5, "tracker": 5, "manag": 5, "email": 5, "address": 5, "access": [5, 6, 8], "token": 5, "deposit": 5, "checklist": 5, "deprec": 5, "tabl": [5, 7, 9], "column": [5, 9], "count": [5, 6, 7, 9], "meta": [5, 9], "analysi": [5, 9], "temporari": [5, 6], "role": [], "cite": 5, "begin": 6, "visibl": 6, "been": [], "them": 9, "click": 6, "icon": 6, "dashboard": [], "want": [6, 8, 9], "readi": 6, "padlock": 6, "field": [6, 9], "becom": [6, 9], "un": 6, "still": [6, 7], "revis": 6, "track": [6, 9], "fix": 6, "longer": 6, "exist": [6, 7, 8], "replac": 6, "directli": [], "show": 7, "up": 7, "search": 9, "ensur": [], "previou": [], "reproduc": [], "offer": [], "current": 9, "correct": [], "kind": [7, 9], "organ": [7, 9], "base": 7, "more": [7, 9], "detail": 7, "below": 7, "schemat": 7, "cartoon": 7, "distinct": 7, "perform": 7, "brca1": 7, "librari": [7, 8, 9], "nest": 7, "typic": [7, 8], "complex": 7, "studi": [7, 9], "element": [7, 9], "symbol": 7, "yeast": 7, "bacteriophag": 7, "instrument": 7, "its": 7, "own": 7, "comput": 7, "group": 7, "function": [7, 8, 9], "project": 7, "save": 7, "experiment": [7, 9], "procedur": 7, "high": [7, 9], "throughput": 7, "construct": [7, 9], "design": [7, 8], "strategi": [7, 9], "read": [7, 9], "filter": [7, 9], "calcul": 7, "appli": 7, "rel": [7, 8], "minor": 7, "vari": 7, "temperatur": 7, "concentr": 7, "small": 7, "molecul": 7, "dropdown": 7, "top": [7, 9], "form": [7, 9], "separ": 7, "natur": 7, "clearli": 7, "state": 7, "section": [7, 9], "raw": 7, "common": [7, 9], "resolut": 7, "imput": 7, "normal": [7, 9], "enrich": 7, "ratio": 7, "regular": 7, "link": [7, 8, 9], "wa": [8, 9], "mutagen": 8, "part": 8, "gene": [8, 9], "discontinu": 8, "interven": 8, "so": [8, 9], "coordin": [8, 9], "back": 8, "full": [8, 9], "length": 8, "while": 8, "match": 8, "appear": [8, 9], "codon": 8, "optim": 8, "background": 8, "synthet": 8, "protein": 8, "dna": 8, "enter": [8, 9], "themselv": 8, "even": 8, "altern": 8, "uniprot": [8, 9], "refseq": [8, 9], "ensembl": [8, 9], "partwai": 8, "offset": 8, "order": 8, "00000002": 8, "ww": 8, "yap1": 8, "correspond": 8, "identifi": 8, "p46937": 8, "169": 8, "mean": 8, "posit": 8, "entri": 9, "piec": 9, "document": 9, "what": 9, "how": 9, "see": 9, "either": 9, "titl": 9, "abstract": 9, "plain": 9, "markdown": 9, "embed": 9, "equat": 9, "mathml": 9, "convert": 9, "pandoc": 9, "displai": 9, "quit": 9, "brief": 9, "summar": 9, "level": 9, "sentenc": 9, "motiv": 9, "approach": 9, "summari": 9, "mani": 9, "submitt": 9, "judgement": 9, "relev": 9, "share": 9, "condens": 9, "suitabl": 9, "specialist": 9, "audienc": 9, "system": 9, "select": 9, "technologi": 9, "technic": 9, "applic": 9, "statist": 9, "combin": 9, "unpublish": 9, "pubm": 9, "preprint": 9, "improv": 9, "plan": 9, "releas": 9, "repositori": 9, "arrayexpress": 9, "bioproject": 9, "express": 9, "omnibu": 9, "archiv": 9, "store": 9, "elsewher": 9, "tag": 9, "vocabulari": 9, "restrict": 9, "mandatori": 9, "abil": 9, "appropri": 9, "facilit": 9, "sophist": 9, "being": 9, "about": 9, "second": 9, "prepar": 9, "submiss": 9, "chosen": 9, "inclus": 9, "json": 9, "cutoff": 9, "rang": 9, "easili": 9, "machin": 9, "readabl": 9, "peopl": [], "biorxiv": 9, "regulatori": 9, "deriv": 9, "choic": 9, "446191af": 0, "c1f8": 0, "4891": 0, "9f67": 0, "de152e9d328b": 0, "button": 7}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"mavedb": [0, 2, 5, 9], "access": [0, 1, 9], "number": 0, "exampl": [0, 3], "meta": [0, 7], "analysi": [0, 7], "temporari": 0, "user": 1, "account": 1, "manag": 1, "set": [1, 6, 7], "an": 1, "email": 1, "address": 1, "api": 1, "token": 1, "cite": 2, "contributor": [], "role": [], "data": [3, 4, 6, 9], "tabl": 3, "format": [3, 9], "variant": 3, "column": 3, "score": [3, 6, 7], "count": 3, "licens": 4, "document": 5, "make": 6, "your": [6, 9], "public": [6, 9], "deprec": 6, "record": 7, "type": 7, "experi": 7, "target": 8, "sequenc": 8, "inform": [8, 9], "deposit": 9, "metadata": 9, "free": 9, "text": 9, "detail": 9, "raw": 9, "keyword": 9, "option": 9, "structur": 9, "requir": 9, "checklist": 9}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"MaveDB accession numbers": [[0, "mavedb-accession-numbers"]], "Example accession numbers": [[0, "table-of-example-accession-numbers"]], "Meta-analysis accession numbers": [[0, "meta-analysis-accession-numbers"]], "Temporary accession numbers": [[0, "temporary-accession-numbers"]], "User account management": [[1, "user-account-management"]], "Setting an email address": [[1, "setting-an-email-address"]], "API access tokens": [[1, "api-access-tokens"]], "Citing MaveDB": [[2, "citing-mavedb"]], "Data table formats": [[3, "data-table-formats"]], "Variant columns": [[3, "variant-columns"]], "Score table columns": [[3, "score-table-columns"]], "Score table examples": [[3, "score-table-examples"]], "Example Score Data": [[3, "id1"]], "Count table columns": [[3, "count-table-columns"]], "Data licensing": [[4, "data-licensing"]], "MaveDB documentation": [[5, "mavedb-documentation"]], "Making your data public": [[6, "making-your-data-public"]], "Deprecating score sets": [[6, "deprecating-score-sets"]], "Record types": [[7, "record-types"]], "Experiment sets": [[7, "experiment-sets"]], "Experiments": [[7, "experiments"]], "Score sets": [[7, "score-sets"]], "Meta-analysis score sets": [[7, "meta-analysis-score-sets"]], "Target sequence information": [[8, "target-sequence-information"]], "Depositing your data into MaveDB": [[9, "depositing-your-data-into-mavedb"]], "Metadata formatting": [[9, "metadata-formatting"]], "Free text metadata": [[9, "free-text-metadata"]], "Publication details": [[9, "publication-details"]], "Raw data accessions": [[9, "raw-data-accessions"]], "Keywords": [[9, "keywords"]], "Data formatting": [[9, "data-formatting"]], "Optional structured metadata": [[9, "optional-structured-metadata"]], "Required information checklist": [[9, "required-information-checklist"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["accession_numbers", "accounts", "api/index", "assay_facts", "bulk_downloads", "citation", "collections", "controlled_vocabulary", "data_formats", "data_set_search", "external_integrations", "faqs", "getting_started", "index", "mavemd/clinical_view", "mavemd/curation", "mavemd/evaluating_functional_assays", "mavemd/index", "mavemd/variant_search", "output_formats", "publishing", "record_types/experiment_sets", "record_types/experiments", "record_types/index", "record_types/metadata_guide", "record_types/score_sets", "score_calibrations", "targets", "upload_guide", "variant_mapping", "visualizations"], "filenames": ["accession_numbers.rst", "accounts.rst", "api/index.rst", "assay_facts.rst", "bulk_downloads.rst", "citation.rst", "collections.rst", "controlled_vocabulary.rst", "data_formats.rst", "data_set_search.rst", "external_integrations.rst", "faqs.rst", "getting_started.rst", "index.rst", "mavemd/clinical_view.rst", "mavemd/curation.rst", "mavemd/evaluating_functional_assays.rst", "mavemd/index.rst", "mavemd/variant_search.rst", "output_formats.rst", "publishing.rst", "record_types/experiment_sets.rst", "record_types/experiments.rst", "record_types/index.rst", "record_types/metadata_guide.rst", "record_types/score_sets.rst", "score_calibrations.rst", "targets.rst", "upload_guide.rst", "variant_mapping.rst", "visualizations.rst"], "titles": ["MaveDB accession numbers", "User account management", "MaveDB API", "Assay facts", "Bulk downloads", "Citing MaveDB", "Data set collections", "MAVE controlled vocabulary", "Data table formats", "Data Set Search", "External integrations", "Frequently Asked Questions", "Getting started with MaveDB", "MaveDB documentation", "Variant Clinical View", "Data Set Curation", "Evaluating functional assays", "MaveMD", "Variant Search", "Output formats", "Making your data public", "Experiment sets", "Experiments", "Record types", "Data set metadata and properties", "Score sets", "Score calibrations", "Targets", "Depositing your data into MaveDB", "Variant Mapping", "Visualizations"], "terms": {"us": [0, 1, 3, 4, 7, 8, 10, 13, 16, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30], "urn": [3, 4, 8, 13, 19, 20, 23, 27, 28, 30], "uniform": 0, "resourc": [10, 13, 22, 24, 25, 28, 29], "name": [0, 4, 6, 8, 9, 24, 25, 27], "format": [0, 4, 13, 22, 24, 25, 27, 29], "The": [0, 2, 3, 4, 5, 7, 8, 9, 11, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30], "have": [0, 1, 3, 6, 8, 11, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30], "hierarch": [0, 23], "structur": [0, 4, 7, 8, 13, 19, 22, 23, 28], "reflect": 0, "relationship": 0, "between": [0, 8, 19, 22, 24, 26, 27, 28, 29, 30], "experi": [0, 4, 5, 6, 7, 8, 9, 13, 19, 20, 23, 25, 27], "set": [0, 3, 4, 5, 7, 8, 10, 12, 13, 16, 17, 19, 22, 23, 26, 29, 30], "score": [0, 3, 4, 5, 6, 9, 10, 13, 16, 22, 23, 29, 30], "individu": [0, 6, 8, 24, 26, 27], "variant": [0, 3, 5, 10, 12, 13, 16, 17, 22, 23, 25, 26, 27, 28, 30], "all": [0, 8, 9, 19, 21, 22, 24, 25, 26, 27, 28, 29], "public": [1, 4, 5, 6, 9, 10, 13, 21, 22, 23, 25, 26, 28, 29, 30], "start": [0, 22, 27], "string": [0, 8, 19, 24, 27, 30], "follow": [0, 2, 7, 8, 9, 24, 25, 26, 27, 28, 29], "eight": 0, "digit": [0, 22, 23, 25, 28], "zero": 0, "pad": 0, "ar": [0, 3, 4, 5, 6, 7, 8, 9, 10, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "index": [0, 27], "letter": 0, "within": [0, 6, 22, 24, 30], "If": [0, 1, 6, 8, 9, 11, 20, 22, 24, 25, 26, 27, 28, 29], "necessari": [0, 21], "aa": 0, "ab": 0, "etc": [0, 9, 24], "z": 0, "descript": [0, 6, 7, 8, 12, 22, 24, 25, 26, 28, 29], "00000055": 0, "1": [0, 5, 8, 27, 30], "0": [0, 3, 8, 20, 24], "onli": [0, 1, 6, 8, 20, 22, 24, 25, 26, 27, 28, 29, 30], "data": [0, 1, 2, 3, 4, 5, 7, 10, 13, 16, 17, 21, 22, 23, 29, 30], "from": [0, 1, 3, 5, 7, 8, 9, 10, 13, 17, 21, 22, 24, 25, 26, 27, 28, 29, 30], "tmp": [0, 20, 28], "8vfrpipdrjq1teor": [], "special": [0, 6, 27], "instead": [0, 20, 22, 24, 25, 28], "includ": [0, 4, 6, 7, 8, 9, 10, 16, 19, 20, 21, 22, 24, 25, 26, 27, 28, 30], "singl": [0, 4, 7, 8, 21, 22, 23, 24, 25, 27, 28], "": [0, 6, 22, 24, 25, 28, 29, 30], "For": [0, 3, 6, 7, 8, 19, 20, 22, 24, 25, 26, 27, 28], "analys": [0, 7, 20, 24], "multipl": [0, 7, 8, 19, 22, 23, 24, 25, 27, 28, 29, 30], "new": [0, 1, 6, 13, 20, 22, 24, 25, 26, 28], "assign": [0, 6, 22, 24, 25, 26], "same": [0, 6, 19, 21, 22, 24, 25, 27], "These": [0, 3, 5, 6, 7, 8, 10, 16, 19, 22, 23, 24, 25, 26, 27, 30], "contain": [0, 4, 6, 8, 19, 21, 22, 23, 24, 25, 27, 28], "when": [0, 3, 5, 6, 8, 10, 16, 20, 21, 22, 24, 25, 26, 27, 28, 30], "first": [0, 1, 9, 20, 21, 24, 28], "upload": [0, 1, 8, 13, 19, 20, 24, 25, 26, 27, 29], "record": [0, 4, 6, 13, 20, 22, 24, 25, 28], "given": [0, 1, 16, 20, 24, 26, 27, 28, 30], "accord": 0, "type": [0, 3, 9, 13, 19, 20, 22, 24, 26, 27, 28, 29, 30], "creat": [0, 1, 7, 11, 13, 20, 21, 22, 24, 25, 27, 28, 30], "made": [0, 20, 24, 25, 26, 28, 29], "publicli": [0, 24, 26], "viewabl": 0, "publish": [0, 9, 10, 13, 20, 24, 26, 29, 30], "authent": [1, 20, 28], "mavedb": [1, 3, 4, 6, 7, 8, 9, 10, 16, 17, 19, 20, 22, 23, 24, 25, 26, 27, 29, 30], "i": [0, 1, 3, 4, 5, 6, 8, 9, 10, 13, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30], "handl": 1, "through": [1, 27, 28], "orcid": [1, 6, 22, 24, 25], "id": [1, 9, 10, 22, 24, 25, 26, 27], "you": [1, 2, 6, 7, 8, 9, 11, 20, 22, 24, 25, 26, 27, 28], "do": [1, 8, 21, 24, 26, 28, 29], "can": [1, 2, 6, 8, 9, 13, 16, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30], "regist": 1, "one": [1, 6, 20, 21, 22, 23, 24, 25, 26, 27, 28], "free": [1, 7, 8, 20, 23, 28], "servic": [1, 27], "your": [1, 6, 8, 9, 13, 24, 27], "onc": [1, 20, 22, 24, 25, 26, 28], "log": [1, 22, 24, 25, 28, 29], "time": [1, 9], "thi": [0, 1, 3, 4, 7, 8, 10, 12, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30], "step": [22, 25, 28, 29], "requir": [1, 7, 8, 24, 27, 29], "befor": [24, 26], "ad": [1, 8, 20, 22, 24, 25, 27, 28], "contributor": [1, 3, 20, 23, 26, 28, 29], "ani": [6, 8, 9, 10, 20, 22, 24, 25, 26, 27, 28, 29], "view": [1, 6, 12, 17, 24, 26, 29, 30], "associ": [1, 4, 5, 7, 9, 10, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30], "would": [1, 24, 27], "like": [1, 24, 29, 30], "receiv": 1, "provid": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 19, 22, 25, 27, 28, 29, 30], "profil": [1, 6, 20, 28], "page": [1, 3, 5, 6, 9, 20, 21, 22, 24, 25, 27, 28, 29, 30], "login": 1, "send": [], "automat": [10, 21, 22, 24, 25, 27, 30], "task": [], "complet": [4, 8, 28], "dataset": [1, 4, 5, 8, 9, 12, 13, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30], "permiss": [22, 24, 25], "chang": [6, 20, 24, 27, 28], "maintain": [3, 24, 26], "also": [0, 6, 7, 8, 9, 10, 11, 19, 20, 23, 24, 25, 26, 27, 28, 29, 30], "notifi": [], "import": [10, 27], "updat": [3, 4, 6, 9], "affect": [8, 24, 27], "usabl": [24, 28], "gener": [1, 3, 7, 8, 13, 16, 19, 21, 22, 24, 25, 27, 28, 30], "privat": [1, 6, 24, 26], "via": [6, 7, 20, 24, 28, 29, 30], "activ": [1, 7], "invalid": 1, "old": 1, "pleas": [5, 13, 24, 26, 28], "refer": [5, 8, 10, 17, 19, 24, 26, 27, 28, 29], "esposito": 5, "d": 5, "weil": 5, "j": 5, "shendur": 5, "starita": 5, "lm": 5, "papenfuss": 5, "AT": 5, "roth": 5, "fp": 5, "fowler": 5, "dm": [5, 13], "rubin": 5, "af": 5, "an": [5, 6, 8, 10, 11, 12, 13, 19, 20, 21, 22, 23, 24, 25, 27, 30], "open": [5, 30], "sourc": [3, 5, 13, 24, 26, 29], "platform": [5, 10], "distribut": [5, 24, 26, 30], "interpret": [5, 10, 16, 17, 19, 24, 25, 26, 28, 30], "multiplex": [5, 7, 13], "assai": [5, 6, 8, 9, 10, 12, 13, 17, 21, 22, 23, 24, 25, 27, 28, 30], "effect": [3, 5, 7, 10, 13, 16, 17, 19, 24, 25, 26, 27, 30], "genom": [3, 5, 10, 19, 24, 27, 29, 30], "biol": 5, "2019": [3, 5, 24, 26], "nov": 5, "4": [5, 8, 20, 24], "20": 5, "223": 5, "doi": [4, 5, 22, 23, 25, 26, 28], "10": [4, 5], "1186": 5, "s13059": 5, "019": 5, "1845": 5, "6": [5, 8, 27], "pmid": 5, "31679514": 5, "pmcid": 5, "pmc6827219": 5, "download": [5, 13, 19, 20, 24, 29, 30], "abov": [5, 24, 26, 27, 30], "well": [5, 6, 10, 29, 30], "origin": 5, "where": [4, 5, 7, 8, 13, 22, 24, 26, 28, 29, 30], "were": [5, 20, 22, 24, 25, 26, 27, 28], "report": [5, 7, 11, 13, 22, 28, 29], "citat": 5, "usual": [5, 9], "avail": [3, 4, 5, 13, 19, 24, 25, 27, 28, 30], "support": [6, 8, 13, 19, 20, 22, 23, 24, 25, 26, 27], "three": [6, 8, 19, 20, 23, 24, 26], "differ": [19, 21, 22, 24, 26, 27, 28, 30], "each": [4, 8, 9, 10, 16, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30], "administr": [22, 24, 25], "editor": [6, 24, 27], "viewer": [6, 13], "list": [6, 9, 20, 22, 24, 25], "similarli": [], "regardless": 27, "modifi": [1, 6, 9], "metadata": [4, 6, 9, 10, 13, 19, 20, 21, 23, 28], "add": [6, 21, 22, 24, 25], "remov": [24, 26], "creator": [], "everi": 4, "alwai": 6, "least": [1, 22, 24, 25, 27], "other": [3, 4, 6, 7, 8, 12, 13, 19, 22, 24, 25, 26, 27, 29, 30], "must": [1, 6, 8, 9, 22, 24, 25, 26, 27, 28], "account": [13, 29], "thei": [6, 20, 22, 24, 25, 26, 29], "intend": [10, 19, 24, 26], "collabor": [], "research": [6, 16, 21, 24, 25, 26], "who": [4, 6, 22, 24, 25, 26], "edit": [3, 6, 20, 22, 24, 25, 26, 27, 28, 30], "after": [7, 10, 20, 24, 25, 26, 28, 29], "should": [7, 8, 16, 19, 21, 22, 24, 25, 26, 27, 28], "need": [4, 6, 8, 11, 19, 20, 22, 24, 25, 27, 28], "make": [6, 13, 24, 26], "accept": 8, "csv": [4, 8, 19, 20, 24], "row": 8, "describ": [3, 7, 8, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "mave": [8, 10, 13, 17, 19, 22, 24, 28, 29], "hgv": [8, 19, 24, 29, 30], "expect": [8, 24, 25, 26, 27], "float": 8, "point": [8, 24, 26], "valu": [8, 19, 24, 26, 27, 30], "both": [7, 8, 24, 25, 27], "hgvs_nt": [8, 24, 27], "respect": [8, 10, 24, 29], "nucleotid": [8, 24, 25, 27, 28, 30], "target": [3, 8, 9, 13, 20, 21, 22, 25, 28, 29, 30], "sequenc": [8, 10, 13, 19, 22, 23, 24, 25, 28, 29, 30], "hgvs_tx": [], "transcript": [8, 10, 24, 27, 29], "model": [3, 8, 16, 22, 24, 25], "hgvs_pro": [8, 24], "amino": [8, 24, 25, 27, 28, 30], "acid": [8, 24, 25, 27, 28, 30], "relat": [6, 8, 9, 11, 21, 24, 25, 26, 28], "rather": [22, 24, 25], "than": [3, 9, 22, 24, 25, 28], "extern": [13, 27, 29], "present": [8, 20, 24, 27, 30], "primari": [7, 8, 13, 19, 22, 25], "kei": [3, 7, 8, 16, 20, 24, 28], "distinguish": [8, 24], "uniqu": [0, 8, 10, 19, 24, 27], "otherwis": [8, 24], "specifi": [6, 8, 9, 20, 22, 24, 25, 26, 27], "In": [3, 7, 9, 21, 24, 26, 27, 29, 30], "case": [3, 8, 24, 25, 27, 28, 29], "translat": [8, 24, 29], "standard": [8, 19, 22, 24, 26, 29], "valid": [8, 24, 27], "against": [8, 24], "conveni": [8, 24], "featur": [8, 11, 12, 13, 17, 24, 29], "splice": [3, 8, 10, 24], "most": [4, 5, 8, 20, 24, 25, 26, 27, 28, 29], "which": [3, 6, 7, 8, 9, 19, 23, 24, 25, 26, 27, 30], "g": [0, 7, 8, 9, 19, 24, 25, 26, 27, 28], "prefix": [8, 24, 27], "mai": [1, 3, 4, 6, 7, 8, 9, 10, 19, 20, 22, 24, 25, 26, 27, 29, 30], "number": [4, 6, 8, 9, 13, 20, 22, 24, 25, 27, 28, 30], "addit": [8, 9, 19, 22, 24, 25, 26, 28, 30], "numer": [8, 24, 26], "suggest": [8, 24], "deviat": [8, 24, 30], "varianc": [8, 24], "some": [3, 6, 8, 24, 27, 29], "measur": [3, 7, 8, 17, 24, 25, 26, 27], "uncertainti": [8, 24], "95": [8, 24], "confid": [8, 19, 24], "interv": [8, 24], "repres": [8, 19, 22, 24, 26, 28, 29, 30], "two": [8, 22, 23, 24, 25, 26, 27, 30], "e": [0, 7, 8, 9, 19, 24, 25, 26, 27, 28], "ci_low": [8, 24], "ci_upp": [8, 24], "replic": [8, 22, 24, 25, 28], "often": [6, 8, 24], "categor": [8, 24, 26], "we": [7, 8, 24, 27, 28, 29, 30], "recommend": [8, 24, 25, 26, 28, 29], "encod": [8, 24], "categori": [7, 8, 24, 27, 30], "integ": [8, 15, 24, 27], "map": [8, 10, 13, 16, 24, 26, 27], "text": [7, 8, 9, 20, 22, 23, 25, 27, 28], "method": [3, 8, 16, 22, 24, 25, 26, 28, 29], "futur": [8, 10, 24, 29], "version": [4, 8, 10, 24, 25, 27, 30], "here": [8, 22, 24, 25], "short": [7, 8, 22, 24, 25, 28], "excerpt": 8, "00000003": [8, 23], "That": [], "It": [8, 19, 21, 22, 24, 25, 28, 29], "ha": [8, 23, 24, 26, 30], "sever": [8, 10, 16, 20, 28, 30], "error": [8, 20, 25, 28, 29], "estim": 8, "biolog": [3, 7, 8, 13, 16, 22, 24, 26], "note": [8, 9, 23, 24, 26], "permit": 8, "encourag": [4, 7, 8, 24, 28], "long": [7, 8], "hgvs_splice": [8, 24], "se": 8, "epsilon": 8, "se_pluse2newrep3": 8, "score_pluse2newrep3": 8, "se_pluse2newrep4": 8, "score_pluse2newrep4": 8, "se_pluse2newrep5": 8, "score_pluse2newrep5": 8, "se_pluse2rep3": 8, "score_pluse2rep3": 8, "se_pluse2rep4": 8, "score_pluse2rep4": 8, "se_pluse2rep5": 8, "score_pluse2rep5": 8, "c": [8, 24, 27], "38t": 8, "na": 8, "p": [8, 24, 27], "val13ala": 8, "128": 8, "115": 8, "000": 8, "148": 8, "283": 8, "162": 8, "456": 8, "075": 8, "186": 8, "167": 8, "165": 8, "289": 8, "073": 8, "388": 8, "184": 8, "186a": 8, "t": [8, 11, 27], "leu62ph": 8, "132": 8, "396": 8, "3": 8, "752": 8, "433": 8, "166": 8, "549": 8, "341": 8, "499": 8, "079": 8, "204": 8, "309": 8, "164a": 8, "lys55il": 8, "655": 8, "112": 8, "100": [8, 9], "592": 8, "121": 8, "929": 8, "086": 8, "254": 8, "143": 8, "695": 8, "039": 8, "950": 8, "080": 8, "514": 8, "439c": 8, "A": [4, 5, 6, 7, 8, 10, 22, 24, 25, 26, 27], "441g": 8, "842c": 8, "gln147ly": 8, "ser281ter": 8, "668": 8, "612": 8, "464": 8, "273": 8, "22_23delinscc": 8, "glu8pro": 8, "375": 8, "280": 8, "158": 8, "421": 8, "240": 8, "265": 8, "200": 8, "796": 8, "192": 8, "022": 8, "311": 8, "232": 8, "091": 8, "476": 8, "598g": 8, "asp200asn": 8, "271": 8, "170": [8, 27], "103": 8, "337": 8, "094": 8, "830": 8, "092": 8, "408": 8, "163": 8, "051": 8, "243": 8, "278": 8, "172": 8, "382": 8, "285c": 8, "asp95glu": 8, "401": 8, "993": 8, "150": 8, "380": 8, "452": 8, "221": 8, "228": 8, "973": 8, "277": 8, "774": 8, "64g": 8, "142c": 8, "glu22gln": 8, "869t": 8, "leu290ter": 8, "231": 8, "245": 8, "117": 8, "285": 8, "792": 8, "424": 8, "084": 8, "909": 8, "325": 8, "093": 8, "735": 8, "200t": 8, "ile67arg": 8, "255": 8, "600": 8, "152": 8, "399": 8, "171": 8, "097": 8, "361": 8, "764": 8, "1g": 8, "97_99delinsggg": 8, "asp1tyr": 8, "pro33gli": 8, "159": 8, "177": 8, "445": 8, "583": 8, "500": 8, "323": 8, "537": 8, "470": 8, "284": 8, "188": 8, "476g": 8, "gly159val": 8, "141": 8, "050": 8, "557": 8, "030": 8, "969": 8, "114": 8, "126": 8, "264": 8, "168": 8, "303": 8, "option": [7, 8, 20, 23, 25, 26, 27, 28, 30], "There": [6, 8, 19, 24, 26], "decid": [8, 24], "intuit": [8, 24], "convent": [8, 24, 25], "inform": [3, 7, 8, 10, 11, 20, 22, 24, 25, 26, 27, 28, 30], "databas": [5, 9, 10, 13, 20, 24, 27, 29], "user": [4, 6, 7, 8, 9, 10, 13, 16, 19, 20, 22, 24, 25, 26, 27, 28, 30], "choos": [6, 19, 20, 24, 26, 27], "cc": [20, 24], "BY": [20, 24], "nc": [], "sa": [20, 24], "attribut": [20, 24, 25], "noncommerci": [], "sharealik": [20, 24], "cc0": [4, 20, 24], "domain": [4, 20, 24, 27], "By": [20, 24, 26], "default": [20, 24, 26], "non": [8, 9, 14, 18, 19, 24, 26, 27], "commerci": [], "previous": [20, 24], "copi": [20, 24], "retain": [20, 24, 26], "under": [4, 6, 9, 13, 20, 21, 22, 24, 25, 28], "header": [20, 24], "file": [4, 13, 19, 20, 26, 27, 28, 30], "api": [13, 20, 24, 28, 29], "usag": [20, 24, 25, 28], "polici": [20, 24], "term": [3, 13, 20, 24, 26, 27], "dictat": [20, 24], "pre": [20, 24], "exampl": [3, 6, 20, 21, 22, 24, 25, 26, 27, 28, 30], "produc": [20, 24], "wish": [6, 20, 24], "assert": [20, 24], "right": [6, 20, 24, 26, 30], "result": [9, 16, 20, 22, 23, 24, 25, 28, 29], "certain": [20, 24, 26, 27, 29], "those": [3, 13, 19, 24, 26], "deep": [13, 25, 28, 30], "mutat": [13, 25, 28, 30], "scan": [13, 25, 28, 30], "massiv": 13, "parallel": 13, "mpra": 13, "code": [7, 8, 9, 10, 13, 24, 27], "github": 13, "agplv3": 13, "licens": [4, 13, 25, 28], "To": [1, 6, 13, 21, 22, 25, 28, 30], "issu": [11, 13, 29], "request": [11, 13], "tracker": [11, 13], "manag": 13, "email": 13, "address": [13, 29], "access": [2, 6, 8, 9, 13, 20, 22, 25, 28, 29, 30], "token": 13, "deposit": [13, 24, 25], "checklist": [13, 23, 28], "deprec": [13, 23, 28], "tabl": [13, 19, 23, 25, 28, 29], "column": [13, 19, 24, 25, 27], "count": [4, 13, 20, 22, 25, 27, 28, 29], "meta": [7, 13, 23, 24, 28], "analysi": [13, 19, 22, 23, 24, 28, 30], "temporari": [13, 20, 22, 24, 25, 28], "role": [], "cite": [4, 13], "begin": [20, 28], "visibl": [10, 20, 24, 26, 28], "been": [19, 20, 24, 26, 28, 29, 30], "them": [6, 19, 22, 24, 25, 26], "click": [6, 9, 20, 28, 30], "icon": [6, 20, 28], "dashboard": [], "want": [20, 28], "readi": [20, 28], "padlock": [20, 28], "field": [7, 8, 9, 20, 22, 24, 25, 27, 28], "becom": [20, 24, 25, 28], "un": [20, 28], "still": [6, 20, 22, 28], "revis": [20, 28], "track": [20, 28], "fix": [20, 25, 28], "longer": [20, 22, 25], "exist": [0, 6, 10, 20, 22, 23, 24, 25, 26, 27, 28], "replac": [8, 20, 25], "directli": [6, 10, 24, 26, 27], "show": [3, 6, 10, 23, 30], "up": [6, 22, 28], "search": [7, 12, 13, 17, 22, 24, 25, 29], "ensur": [7, 8, 24, 26, 27, 29], "previou": 5, "reproduc": 4, "offer": [7, 30], "current": [4, 24, 30], "correct": [8, 27, 29], "kind": 23, "organ": [6, 9, 22, 23, 27, 28], "base": [3, 4, 7, 9, 13, 17, 19, 23, 24, 25, 26, 28, 30], "more": [7, 8, 9, 22, 23, 24, 25, 26, 27, 28, 30], "detail": [7, 8, 11, 12, 19, 22, 23, 25, 26, 28, 29, 30], "below": [19, 23, 24, 26, 27, 29], "schemat": 23, "cartoon": 23, "distinct": [23, 24, 25, 27, 28], "perform": [1, 3, 7, 9, 21, 22, 23, 24, 25, 26, 28, 29], "brca1": [3, 23], "librari": [3, 22, 23, 24, 27, 28, 29], "nest": 23, "typic": [23, 24, 26], "complex": [8, 23, 24, 25, 28, 29], "studi": [4, 6, 16, 22, 23, 24, 25, 28], "element": [9, 23], "symbol": [3, 23], "yeast": [7, 23], "bacteriophag": [7, 23], "instrument": 23, "its": [6, 19, 22, 23, 28, 30], "own": [6, 21, 22, 23, 28], "comput": 23, "group": [6, 9, 21, 30], "function": [2, 3, 5, 7, 10, 12, 13, 17, 21, 22, 27, 28, 30], "project": [6, 21], "save": [6, 21], "experiment": [3, 22, 24, 26, 28], "procedur": [22, 28], "high": [6, 7, 22, 24, 25, 28], "throughput": [22, 25, 28], "construct": [7, 22, 24, 28], "design": [3, 6, 19, 22, 24, 26, 28], "strategi": [22, 24, 28], "read": [22, 24, 25, 28], "filter": [9, 22, 24, 25, 28], "calcul": [3, 22, 25, 28], "appli": [4, 22, 28, 30], "rel": [8, 22, 24, 25, 27, 28], "minor": [22, 28], "vari": [19, 22, 28], "temperatur": [22, 28], "concentr": [22, 28], "small": [22, 28], "molecul": [22, 28], "dropdown": [6, 25], "top": [6, 9, 22, 24, 25, 28], "form": [19, 22, 24, 25, 28], "separ": [4, 19, 22, 24, 25, 28], "natur": [22, 28], "clearli": [4, 22, 25, 28], "state": [22, 28], "section": [3, 7, 8, 22, 24, 25, 27, 28], "raw": [19, 22, 25, 28], "common": [19, 22, 24, 25, 27, 28], "resolut": [25, 28], "imput": [25, 28], "normal": [3, 19, 24, 25, 26, 28, 30], "enrich": [7, 10, 25, 28], "ratio": [25, 28], "regular": 25, "link": [2, 6, 9, 10, 22, 24, 25, 27, 29, 30], "wa": [3, 7, 9, 24, 26, 27, 29], "mutagen": [24, 27], "part": [6, 20, 22, 24, 26, 27], "gene": [3, 7, 9, 10, 24, 27, 30], "discontinu": 27, "interven": 27, "so": [19, 24, 27, 28], "coordin": [10, 19, 24, 27, 29], "back": [10, 27], "full": [6, 8, 9, 22, 24, 25, 27], "length": 27, "while": [6, 24, 26, 27], "match": [9, 27, 29], "appear": [6, 24], "codon": 27, "optim": 27, "background": 27, "synthet": 27, "protein": [7, 8, 9, 10, 13, 24, 25, 27], "dna": [7, 8, 24, 27], "enter": [9, 24], "themselv": 30, "even": [6, 27], "altern": 6, "uniprot": [27, 30], "refseq": [8, 9, 27, 29], "ensembl": [8, 9, 10, 27], "partwai": 27, "offset": [27, 29], "order": [1, 24, 26, 27, 30], "00000002": 27, "ww": 27, "yap1": 27, "correspond": [3, 8, 24, 26, 27, 29, 30], "identifi": [0, 4, 6, 7, 8, 9, 10, 19, 22, 23, 25, 26, 27, 28, 29, 30], "p46937": 27, "169": 27, "mean": [8, 19, 27, 30], "posit": [8, 24, 27, 30], "entri": [10, 22, 24, 28], "piec": 28, "document": [2, 4, 11, 12, 19, 28], "what": [11, 24], "how": [7, 10, 24, 25, 26, 27, 28, 30], "see": [7, 8, 19, 20, 22, 24, 25, 26, 27, 28], "either": [6, 27, 28], "titl": [22, 24, 25, 26, 28], "abstract": [7, 22, 24, 25, 28], "plain": [24, 27], "markdown": [22, 24, 25], "embed": 24, "equat": 24, "mathml": 24, "convert": [24, 25, 29], "pandoc": 24, "displai": [3, 7, 10, 22, 24, 25, 26, 27, 30], "quit": [], "brief": [7, 22, 25], "summar": [19, 22, 24, 25, 29], "level": [6, 19, 24, 26, 30], "sentenc": [22, 24, 25], "motiv": [22, 24, 25], "approach": [22, 24, 25], "summari": [3, 16, 22, 24, 25, 28], "mani": [10, 24], "submitt": 24, "judgement": 24, "relev": [9, 10, 16, 19, 22, 24, 26], "share": [6, 10, 22, 24, 25], "condens": [7, 24], "suitabl": [16, 24], "specialist": 24, "audienc": 24, "system": [3, 16, 22, 24], "select": [3, 6, 7, 22, 24, 28, 29, 30], "technologi": [22, 24], "technic": [22, 24], "applic": [3, 7, 22, 24, 25, 26, 27, 30], "statist": [24, 25], "combin": [3, 7, 24, 25], "unpublish": [20, 28], "pubm": [9, 22, 24, 25, 26], "preprint": [], "improv": [22, 24, 28], "plan": [], "releas": [4, 24], "repositori": [22, 24], "arrayexpress": 24, "bioproject": 24, "express": [7, 22, 24], "omnibu": 24, "archiv": [4, 20, 22, 24], "store": [19, 24], "elsewher": 24, "tag": [7, 24], "vocabulari": [3, 13, 16, 24, 26, 27], "restrict": [], "mandatori": [], "abil": 10, "appropri": [4, 8, 24, 26, 27, 29], "facilit": [7, 10, 19, 24, 26, 28, 29], "sophist": [], "being": [3, 24, 26, 29], "about": [3, 7, 8, 10, 19, 24, 25, 26, 27, 28, 30], "second": [], "prepar": [], "submiss": 10, "chosen": [], "inclus": [24, 29, 30], "json": [4, 8, 19, 22, 24, 25], "cutoff": 24, "rang": [24, 30], "easili": 24, "machin": [4, 24], "readabl": 24, "peopl": [22, 25], "biorxiv": [22, 24, 25, 26], "regulatori": [9, 10, 27], "deriv": [7, 9, 24, 26, 27], "choic": [], "446191af": 0, "c1f8": 0, "4891": 0, "9f67": 0, "de152e9d328b": 0, "button": [6, 21, 22], "calibr": [0, 3, 13, 19, 25, 28, 29, 30], "collect": [0, 13], "hierarchi": 0, "outsid": 0, "might": [0, 6, 24, 27], "11111111": 0, "2222": 0, "3333": 0, "aaaa": 0, "bbbbccccdddd": 0, "allow": [1, 6, 9, 10, 19, 27, 29, 30], "action": 1, "programmat": [1, 2, 29], "fetch": 1, "revok": 1, "our": [], "recent": [4, 5], "f": [], "stone": 5, "bianchi": 5, "h": [], "et": [3, 14, 15, 18, 24, 26, 29], "al": [3, 24, 26, 29], "2024": 5, "curat": [5, 6, 12, 17], "commun": [5, 6, 10], "over": [5, 6, 24, 26, 30], "seven": 5, "million": 5, "26": 5, "13": 5, "2025": [5, 29], "http": [], "org": [], "025": 5, "03476": 5, "y": 5, "overview": [12, 22, 25], "instruct": 12, "get": 30, "mavemd": 29, "multi": [7, 13], "interact": [24, 25, 27, 28, 30], "known": [10, 24, 26, 27, 30], "exact": 27, "consid": [9, 27], "whether": [3, 24, 26, 27], "across": [7, 9, 10, 27, 30], "site": 27, "control": [3, 6, 13, 16, 22, 24, 26, 27, 30], "noncod": 27, "taxonomi": [7, 27], "ncbi": 27, "charact": 27, "fulli": 27, "satur": [3, 27, 30], "without": [6, 7, 27], "instanc": [22, 24, 25, 27, 29], "79a": 27, "nm__000546": 27, "better": [27, 30], "understand": [24, 26, 27], "context": [7, 8, 10, 24, 25, 26, 27, 28, 30], "suppli": 27, "retriev": [10, 27], "chromosom": 27, "cdot": 27, "seqrepo": 27, "cach": 27, "integr": [13, 19, 27], "assembli": 27, "howev": [8, 20, 24, 26, 27, 28], "guide_sequ": [8, 27], "indic": [3, 19, 24, 25, 26, 27, 30], "guid": [8, 27, 28], "mix": 27, "done": 27, "label": [8, 27], "2": [3, 27], "notat": 27, "tp53": 27, "mdm2": [7, 27], "r175h": 27, "g58": 27, "unambigu": [8, 27], "maxim": [7, 24, 28], "explor": [2, 30], "captur": [3, 7, 16, 19], "keyword": [3, 7, 9, 22, 28], "concis": [3, 16], "figur": 3, "00000097": 3, "hgnc": 3, "phenotyp": [3, 24, 26], "molecular": 3, "mechan": [3, 16], "consequ": [3, 10], "detect": [3, 7], "capabl": 3, "infer": 3, "creation": 3, "nonsens": [3, 30], "mediat": [3, 7], "decai": 3, "nmd": 3, "oddspath": [3, 24, 26], "odd": [3, 24, 26], "pathogen": [3, 10, 24, 26, 30], "abnorm": [3, 19, 24, 26], "readout": [3, 7], "framework": [3, 19], "brnich": [3, 24, 26], "submit": [3, 7, 8, 9, 10, 24, 26, 29], "reanalys": 3, "host": [4, 10], "zenodo": 4, "5281": 4, "11201736": 4, "twice": 4, "yearli": 4, "novemb": 4, "call": 4, "main": [4, 22, 24, 26], "interest": [4, 6], "larg": 4, "strongli": [4, 7, 24, 28], "particularli": [4, 30], "learn": 4, "ai": [4, 7], "itself": [4, 6, 19], "ah": 5, "capodanno": 5, "bj": 5, "da": 5, "ei": 5, "dia": 5, "m": 5, "frazer": 5, "fu": 5, "grindstaff": 5, "sb": 5, "harrington": 5, "mr": 5, "li": 5, "mcewen": 5, "ae": 5, "min": 5, "jk": 5, "moor": 5, "n": [5, 7, 8, 24], "moscatelli": 5, "og": 5, "ong": 5, "polunina": 5, "pv": 5, "rollin": 5, "je": 5, "nj": 5, "snyder": 5, "tam": 5, "wakefield": 5, "mj": 5, "ye": 5, "ss": 5, "bryant": 5, "vl": 5, "mark": [5, 24, 26], "jan": 5, "21": 5, "39838450": 5, "pmc11753097": 5, "easier": 6, "find": [6, 9, 13], "concept": 6, "brows": 6, "togeth": 6, "purpos": [6, 24, 26], "specif": [6, 7, 8, 11, 16, 19, 22, 23, 25, 30], "owner": [6, 22, 24, 25], "member": 6, "menu": [6, 30], "corner": 6, "interfac": [6, 13], "empti": 6, "prompt": 6, "fact": [6, 7, 9, 13, 16, 24, 28], "sheet": [6, 13], "anyon": 6, "visit": 6, "explicitli": 6, "subject": 6, "cannot": [6, 20, 24, 26, 28], "content": [6, 8, 24], "admin": 6, "As": [6, 8], "delet": [6, 22, 24, 25], "navig": [6, 9], "locat": [6, 29], "past": 6, "desir": 6, "requisit": 6, "next": 6, "until": 6, "bottom": 6, "dialog": 6, "box": 6, "simpli": 6, "url": 6, "give": [6, 22, 24, 25, 26, 30], "team": [6, 11], "qualiti": [6, 16, 24, 26], "annot": [6, 10, 13, 30], "particular": [6, 24, 26], "badg": 6, "highlight": [6, 30], "promot": [6, 7], "aspect": [7, 16], "techniqu": 7, "emploi": [7, 16], "although": [7, 29], "consist": [7, 10, 24, 26], "visual": [7, 10, 13, 24, 26], "end": 7, "four": [7, 24, 26], "characterist": 7, "genet": [7, 10, 19], "perturb": 7, "cellular": 7, "environment": 7, "endogen": 7, "locu": 7, "vitro": 7, "induct": 7, "machineri": 7, "deliv": 7, "possibl": [7, 29], "electropor": 7, "nucleofect": 7, "chemic": [7, 30], "transfect": 7, "adeno": 7, "viru": 7, "transduct": 7, "lentiviru": 7, "heat": 7, "shock": 7, "transform": 7, "fluoresc": 7, "ml": 7, "enabl": [7, 10, 20, 28, 29], "imag": [7, 30], "classif": [7, 10, 13, 19, 30], "defin": [7, 24, 26], "properti": [7, 13, 23], "interrog": 7, "align": [7, 10, 29], "obi": 7, "root": 7, "obi_0000070": 7, "bulk": [7, 13, 20, 24], "rna": [7, 8, 9], "cell": [7, 30], "situ": 7, "hybrid": 7, "fish": 7, "flow": 7, "cytometri": 7, "mass": 7, "systemat": 7, "evolut": 7, "ligand": 7, "exponenti": 7, "antibodi": 7, "bind": 7, "prolifer": 7, "surviv": 7, "ontologi": 7, "process": [7, 10, 13, 19, 28], "domin": 7, "neg": 7, "gain": 7, "loss": 7, "influenc": [7, 16], "immort": 7, "human": [7, 10, 29], "murin": 7, "induc": 7, "pluripot": 7, "stem": 7, "male": 7, "femal": 7, "patient": [7, 8, 24], "bacteria": 7, "line": 7, "frequenc": [7, 10], "v": 7, "outcom": 7, "direct": [7, 19, 24, 26], "shotgun": 7, "barcod": 7, "segment": 7, "catalyt": 7, "cystein": 7, "synthas": 7, "hydroxymethylbilan": 7, "lipid": 7, "phosphatas": 7, "thiamin": 7, "diphosphokinas": 7, "respons": 7, "cisplatin": 7, "repair": 7, "doubl": 7, "strand": 7, "break": 7, "homolog": 7, "recombin": 7, "damag": 7, "signal": 7, "p53": 7, "class": [7, 24, 26, 30], "mdm4": 7, "famili": 7, "etoposid": 7, "monoatom": 7, "ion": 7, "transport": 7, "potassium": 7, "channel": 7, "sodium": 7, "calcium": 7, "gluconokinas": 7, "ornithin": 7, "carbamoyltransferas": 7, "core": 7, "checkpoint": 7, "mismatch": 7, "scaffold": 7, "oxid": 7, "phosphoryl": 7, "carboxyl": 7, "glycosyl": 7, "local": 7, "plasma": 7, "membran": 7, "regul": 7, "stabil": 7, "misfold": 7, "subset": [8, 24], "bracket": [8, 24], "123a": [8, 24], "125_t": [8, 24], "nm_000546": 8, "5": 8, "215c": 8, "target1": 8, "anyth": [8, 24], "could": [8, 24], "score_columns_metadata": [8, 24], "count_columns_metadata": [8, 24], "object": [8, 19, 22, 23, 25, 28], "anoth": [8, 24], "help": [9, 13, 16, 24, 26, 29, 30], "bar": 9, "enhanc": [10, 29], "interoper": 29, "variou": [9, 11, 19], "topic": 11, "re": 11, "look": 11, "further": [9, 10, 11, 30], "assist": 11, "messag": 11, "u": 11, "zulip": 11, "bug": 11, "wizard": 13, "privaci": 13, "offici": 13, "clinic": [10, 12, 17, 19, 24, 26, 30], "evalu": [12, 17], "clingen": [13, 29], "clinvar": [13, 29, 30], "gnomad": [13, 29], "ga4gh": [19, 29], "vr": [19, 29], "frequent": 13, "ask": 13, "question": [13, 16], "contact": 13, "lorem": [14, 15, 18], "ipsum": [14, 15, 18], "dolor": [14, 15, 18], "sit": [14, 15, 18], "amet": [14, 15, 18], "consectetur": [14, 15, 18], "adipisc": [14, 15, 18], "elit": [14, 15, 18], "sed": [14, 15, 18], "euismod": [14, 15, 18], "urna": [14, 15, 18], "eu": [14, 15, 18], "tincidunt": [14, 15, 18], "nisi": [14, 15, 18], "nisl": [14, 15, 18], "aliquam": [14, 15, 18], "ero": [14, 15, 18], "facilisi": [14, 15, 18], "enim": [14, 15, 18], "leo": [14, 15, 18], "nec": [14, 15, 18], "mauri": [14, 18], "tempor": [14, 18], "quam": [14, 18], "lacinia": [14, 18], "sapien": [14, 15, 18], "accumsan": [14, 18], "eget": [14, 18], "libero": [14, 15, 18], "posuer": [14, 18], "vulput": [14, 18], "ac": 15, "pellentesqu": 15, "habit": 15, "morbi": 15, "tristiqu": 15, "senectu": 15, "netu": 15, "malesuada": 15, "fame": 15, "turpi": 15, "egesta": 15, "odio": 15, "praesent": 15, "cursu": 15, "ant": 15, "dapibu": 15, "diam": 15, "consider": 16, "factor": 16, "dimension": [16, 30], "assess": [10, 16, 30], "quickli": [16, 30], "reliabl": 16, "suit": 17, "tool": [17, 19, 29], "facillit": 17, "subsequ": 21, "prospect": [22, 24, 25], "nor": [22, 24, 25, 26], "except": [22, 24, 25], "abl": [22, 24, 25, 30], "reserv": [22, 24, 25], "taken": [22, 25], "focu": [22, 25], "contribut": [22, 24, 25], "medrxiv": [22, 24, 25, 26], "sra": 22, "arrai": 22, "run": 22, "extra": [22, 25], "doe": [22, 24, 26], "fit": 22, "condit": 22, "protocol": 22, "searchabl": [22, 24, 28], "guidanc": 22, "along": [19, 24, 26], "guidelin": [24, 25, 26, 28], "pipelin": [19, 24], "promin": [24, 25, 30], "close": [24, 25], "contextu": 24, "benefit": 24, "minim": 24, "slightli": 24, "addition": [19, 24, 28], "princip": [25, 28], "wai": [24, 25, 26, 28], "paramet": 25, "softwar": [10, 25], "One": 25, "though": 27, "toolbar": 28, "_": [24, 28], "novel": 29, "written": 29, "arbesfeld": 29, "briefli": 29, "upon": [19, 29], "involv": 29, "blat": 29, "determin": [24, 26, 29], "candid": 29, "priorit": 29, "mane": 29, "longest": 29, "python": 29, "represent": [19, 29, 30], "output": [13, 29], "variat": 29, "successfulli": 29, "due": 29, "ambigu": 29, "discrep": 29, "feedback": 29, "resolv": 29, "failur": 29, "true": 29, "limit": [9, 29, 30], "highli": 29, "review": [24, 26, 29], "accur": 29, "unmap": 29, "prevent": 29, "linkag": 29, "wherea": 29, "prior": [24, 26, 29], "connect": 29, "util": [10, 29], "power": [10, 29], "vestibulum": [], "risu": [], "congu": [], "justo": [], "hendrerit": [], "variu": [], "nibh": [], "imperdiet": [], "interdum": [], "orci": [], "vel": [], "mi": [], "erat": [], "feugiat": [], "augu": [], "curabitur": [], "qui": [], "arcu": [], "dignissim": [], "ut": [], "iaculi": [], "phasellu": [], "luctu": [], "faucibu": [], "quisqu": [], "vita": [], "lectu": [], "nunc": [], "magna": [], "sollicitudin": [], "sagitti": [], "matplotlib": [], "pyplot": [], "plt": [], "b": [], "color": [24, 26, 30], "4c78a8": [], "sampl": [], "xlabel": [], "ylabel": [], "tight_layout": [], "baselin": [13, 30], "evid": [10, 13], "strength": [13, 19], "investig": 13, "meaning": [24, 26], "serv": [24, 26], "neutral": [24, 26], "wild": [24, 26, 30], "averag": [24, 26], "synonym": [24, 26, 30], "heatmap": [13, 24, 26], "scale": [24, 26, 30], "signific": [10, 24, 26, 30], "comparison": [24, 26], "Not": [24, 26], "unknown": [24, 26, 30], "threshold": [24, 26, 30], "classifi": [24, 26, 30], "knowledg": [24, 26], "acmg": [24, 26], "amp": [24, 26], "veri": [24, 26], "strong": [19, 24, 26], "moder": [19, 24, 26], "benign": [10, 24, 26, 30], "quantit": [24, 26], "comment": [24, 26], "especi": [24, 26], "regard": [24, 26], "diagnost": [24, 26], "again": [24, 26], "comfort": [24, 26], "alreadi": [24, 26], "demot": [24, 26], "meet": [9, 24, 26], "statu": [10, 24, 26], "prioriti": [24, 26], "samem": [24, 26], "criteria": 9, "tab": [9, 19], "pull": 9, "author": 9, "crossref": 9, "journal": 9, "real": 9, "reason": 9, "return": 9, "refin": 9, "reli": 10, "allel": [10, 19], "registri": 10, "obtain": 10, "caid": 10, "stabl": 10, "referenc": 10, "hub": 10, "dure": 10, "cross": 10, "segret": 10, "star": [10, 30], "alongsid": 10, "establish": 10, "streamlin": 10, "popul": 10, "preval": 10, "divers": 10, "accommod": 19, "tsv": 19, "va": 19, "spec": 19, "tabular": 19, "comma": 19, "prescript": 19, "thing": 19, "build": 19, "depend": 19, "observ": 19, "basi": 19, "export": [19, 30], "overal": [19, 30], "incorpor": 19, "broader": 19, "histogram": 13, "built": 30, "underli": 30, "00001250": 30, "bard1": 30, "overlai": 30, "segreg": 30, "custom": 30, "adjust": 30, "gold": 30, "uncertain": 30, "sens": 30, "fall": 30, "predictor": 10, "predict": [10, 30], "insight": 10, "impact": 10, "region": [10, 30], "vep": 13, "hover": 30, "bin": 30, "reveal": 30, "seri": 30, "overlap": 30, "tooltip": 30, "missens": 30, "protien": 30, "pattern": 30, "toggl": 30, "hydrophob": 30, "kyte": 30, "doolittl": 30, "enrich2": 30, "intens": 30, "shown": 30, "yellow": 30, "center": 30, "purpl": 30, "contrast": 30, "00000050": 30, "msh2": 30, "3d": 30, "mol": 30, "side": 30, "gradient": 30, "rotat": 30, "zoom": 30, "residu": 30, "drag": 30, "png": 30, "overlaid": 30, "grai": 30}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"mavedb": [0, 2, 5, 11, 12, 13, 28], "access": [0, 1, 12, 24, 27], "number": 0, "exampl": [0, 8], "meta": [0, 25], "analysi": [0, 25], "temporari": 0, "user": 1, "account": 1, "manag": [1, 6], "set": [1, 6, 9, 15, 20, 21, 24, 25, 27, 28], "an": [1, 28], "email": 1, "address": 1, "api": [1, 2], "token": 1, "cite": 5, "contributor": [22, 24, 25], "role": [], "data": [6, 8, 9, 12, 15, 19, 20, 24, 25, 28], "tabl": [8, 24], "format": [8, 19], "variant": [7, 8, 14, 18, 19, 24, 29], "column": 8, "score": [8, 19, 20, 24, 25, 26, 27, 28], "count": [8, 19, 24], "licens": [20, 24], "document": 13, "make": 20, "your": [20, 28], "public": [20, 24], "deprec": [20, 25], "record": 23, "type": [7, 23], "experi": [21, 22, 24, 28], "target": [24, 27], "sequenc": [7, 27], "inform": [], "deposit": 28, "metadata": [8, 22, 24, 25, 26, 27], "free": 24, "text": 24, "detail": 24, "raw": 24, "keyword": 24, "option": 24, "structur": [24, 30], "requir": 28, "checklist": 24, "urn": 0, "other": 0, "resourc": [0, 12], "extern": 10, "integr": [10, 29], "get": 12, "start": 12, "what": [12, 28], "i": [11, 12, 28], "upload": [12, 28], "publish": [12, 28], "explor": 12, "addit": 12, "mavemd": 17, "base": [8, 27], "multi": 27, "assai": [3, 7, 16], "fact": 3, "sheet": 3, "properti": [3, 24], "bulk": 4, "download": 4, "collect": 6, "creat": 6, "privaci": [6, 24, 26], "permiss": 6, "ad": 6, "remov": 6, "item": 6, "from": 6, "offici": 6, "mave": 7, "control": 7, "vocabulari": 7, "avail": 7, "term": 7, "librari": 7, "creation": 7, "method": 7, "deliveri": 7, "phenotyp": 7, "dimension": 7, "mechan": 7, "model": 7, "system": 7, "profil": 7, "strategi": 7, "read": 7, "molecular": 7, "assess": 7, "fulli": 8, "qualifi": 8, "editor": 8, "file": [8, 24], "search": [9, 18], "clingen": 10, "clinvar": 10, "gnomad": 10, "ga4gh": [], "vr": [], "frequent": 11, "ask": 11, "question": 11, "where": 11, "can": 11, "find": 11, "help": 11, "contact": 11, "support": 11, "clinic": 14, "view": 14, "curat": 15, "evalu": 16, "function": [16, 19, 24, 26], "digit": 24, "object": 24, "identifi": 24, "doi": 24, "specif": 24, "calibr": [24, 26], "wizard": 28, "map": [19, 29], "process": 29, "visual": 30, "heatmap": 30, "histogram": 30, "protein": 30, "viewer": 30, "baselin": [24, 26], "classif": [24, 26], "evid": [19, 24, 26], "strength": [24, 26], "primari": [24, 26], "investig": [24, 26], "provid": [24, 26], "interfac": 9, "output": 19, "annot": 19, "impact": 19, "studi": 19, "result": 19, "statement": 19, "pathogen": 19, "line": 19, "vep": 10}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"MaveDB accession numbers": [[0, "mavedb-accession-numbers"]], "Example accession numbers": [[0, "table-of-example-accession-numbers"]], "Meta-analysis accession numbers": [[0, "meta-analysis-accession-numbers"]], "Temporary accession numbers": [[0, "temporary-accession-numbers"]], "URNs for other resources": [[0, "urns-for-other-resources"]], "User account management": [[1, "user-account-management"]], "Setting an email address": [[1, "setting-an-email-address"]], "API access tokens": [[1, "api-access-tokens"]], "MaveDB API": [[2, "mavedb-api"]], "Assay facts": [[3, "assay-facts"]], "Assay fact sheet properties": [[3, "assay-fact-sheet-properties"]], "Bulk downloads": [[4, "bulk-downloads"]], "Citing MaveDB": [[5, "citing-mavedb"]], "Data set collections": [[6, "data-set-collections"]], "Creating Collections": [[6, "creating-collections"]], "Collection Privacy": [[6, "collection-privacy"]], "Collection Permissions": [[6, "collection-permissions"]], "Managing collections": [[6, "managing-collections"]], "Adding and removing items from collections": [[6, "adding-and-removing-items-from-collections"]], "Official Collections": [[6, "official-collections"]], "MAVE controlled vocabulary": [[7, "mave-controlled-vocabulary"]], "Available controlled vocabulary terms": [[7, "available-controlled-vocabulary-terms"]], "Variant library creation methods": [[7, "variant-library-creation-methods"]], "Delivery method": [[7, "delivery-method"]], "Phenotypic assay dimensionality": [[7, "phenotypic-assay-dimensionality"]], "Phenotypic assay method": [[7, "phenotypic-assay-method"]], "Phenotypic assay mechanism": [[7, "phenotypic-assay-mechanism"]], "Phenotypic assay model system": [[7, "phenotypic-assay-model-system"]], "Phenotypic assay profiling strategy": [[7, "phenotypic-assay-profiling-strategy"]], "Phenotypic assay sequencing read type": [[7, "phenotypic-assay-sequencing-read-type"]], "Molecular mechanism assessed": [[7, "molecular-mechanism-assessed"]], "Data Set Search": [[9, "data-set-search"]], "Search interface": [[9, "search-interface"]], "External integrations": [[10, "external-integrations"]], "ClinGen": [[10, "clingen"]], "ClinVar": [[10, "clinvar"]], "gnomAD": [[10, "gnomad"]], "VEP": [[10, "vep"]], "Frequently Asked Questions": [[11, "frequently-asked-questions"]], "Where can I find help or contact support for MaveDB?": [[11, "where-can-i-find-help-or-contact-support-for-mavedb"]], "Variant Clinical View": [[14, "variant-clinical-view"]], "Data Set Curation": [[15, "data-set-curation"]], "Evaluating functional assays": [[16, "evaluating-functional-assays"]], "Variant Search": [[18, "variant-search"]], "Output formats": [[19, "output-formats"]], "Score and count data": [[19, "score-and-count-data"]], "Mapped variants": [[19, "mapped-variants"]], "Annotated variants": [[19, "annotated-variants"]], "Functional Impact Study Result": [[19, "functional-impact-study-result"]], "Functional Impact Statement": [[19, "functional-impact-statement"]], "Pathogenicity Evidence Line": [[19, "pathogenicity-evidence-line"]], "Experiment sets": [[21, "experiment-sets"]], "Baseline score": [[26, "baseline-score"], [24, "baseline-score"]], "Functional classifications": [[26, "functional-classifications"], [24, "functional-classifications"]], "Evidence strengths": [[26, "evidence-strengths"], [24, "evidence-strengths"]], "Calibration metadata": [[26, "calibration-metadata"], [24, "calibration-metadata"]], "Calibration privacy": [[26, "calibration-privacy"], [24, "calibration-privacy"]], "Primary calibrations": [[26, "primary-calibrations"], [24, "primary-calibrations"]], "Investigator provided calibrations": [[26, "investigator-provided-calibrations"], [24, "investigator-provided-calibrations"]], "Score calibrations": [[26, "score-calibrations"]], "Targets": [[27, "targets"]], "Sequence-based targets": [[27, "sequence-based-targets"]], "Sequence based target metadata": [[27, "sequence-based-target-metadata"]], "Accession-based targets": [[27, "accession-based-targets"]], "Accession based target metadata": [[27, "accession-based-target-metadata"]], "Multi-target score sets": [[27, "multi-target-score-sets"]], "Variant Mapping": [[29, "variant-mapping"]], "Mapping process": [[29, "mapping-process"]], "Mapping integrations": [[29, "mapping-integrations"]], "Visualizations": [[30, "visualizations"]], "Histogram": [[30, "histogram"]], "Heatmap": [[30, "heatmap"]], "Protein structure viewer": [[30, "protein-structure-viewer"]], "Data table formats": [[8, "data-table-formats"]], "Variant columns": [[8, "variant-columns"]], "Fully-qualified variants": [[8, "fully-qualified-variants"]], "Base editor data": [[8, "base-editor-data"]], "Score table columns": [[8, "score-table-columns"]], "Example Score Data": [[8, "id7"]], "Count table columns": [[8, "count-table-columns"]], "Metadata files": [[8, "metadata-files"]], "Making your data public": [[20, "making-your-data-public"]], "Data licensing": [[20, "data-licensing"]], "Deprecating score sets": [[20, "deprecating-score-sets"]], "Experiments": [[22, "experiments"]], "Experiment contributors": [[22, "experiment-contributors"]], "Experiment metadata": [[22, "experiment-metadata"]], "Data set metadata and properties": [[24, "data-set-metadata-and-properties"]], "Free text metadata": [[24, "free-text-metadata"]], "Digital Object Identifiers (DOIs)": [[24, "digital-object-identifiers-dois"]], "Publication details": [[24, "publication-details"]], "Contributors": [[24, "contributors"]], "Optional structured metadata": [[24, "optional-structured-metadata"]], "Experiment specific metadata": [[24, "experiment-specific-metadata"]], "Raw data accessions": [[24, "raw-data-accessions"]], "Keywords": [[24, "keywords"]], "Score set specific metadata": [[24, "score-set-specific-metadata"]], "Licenses": [[24, "licenses"]], "Score set targets": [[24, "score-set-targets"]], "Calibrations": [[24, "calibrations"]], "Variant tables": [[24, "variant-tables"]], "Score table": [[24, "score-table"]], "Counts table": [[24, "counts-table"]], "Score/count metadata files": [[24, "score-count-metadata-files"]], "Metadata checklist": [[24, "metadata-checklist"]], "Score sets": [[25, "score-sets"]], "Meta-analysis score sets": [[25, "meta-analysis-score-sets"]], "Score set contributors": [[25, "score-set-contributors"]], "Deprecating data": [[25, "deprecating-data"]], "Score set metadata": [[25, "score-set-metadata"]], "Depositing your data into MaveDB": [[28, "depositing-your-data-into-mavedb"]], "Data upload wizard": [[28, "data-upload-wizard"]], "Uploading an experiment": [[28, "uploading-an-experiment"]], "What is an experiment?": [[28, "what-is-an-experiment"]], "What is required to upload an experiment?": [[28, "what-is-required-to-upload-an-experiment"]], "Uploading a score set": [[28, "uploading-a-score-set"]], "What is a score set?": [[28, "what-is-a-score-set"]], "What is required to upload a score set?": [[28, "what-is-required-to-upload-a-score-set"]], "Publishing your data": [[28, "publishing-your-data"]], "Getting started with MaveDB": [[12, "getting-started-with-mavedb"]], "What is MaveDB?": [[12, "what-is-mavedb"]], "Uploading data": [[12, "uploading-data"]], "Publishing data": [[12, "publishing-data"]], "Accessing data": [[12, "accessing-data"]], "Exploring data": [[12, "exploring-data"]], "Additional resources": [[12, "additional-resources"]], "MaveMD": [[17, "mavemd"]], "Record types": [[23, "record-types"]], "MaveDB documentation": [[13, "mavedb-documentation"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/public/docs/mavedb/targets.html b/public/docs/mavedb/targets.html new file mode 100644 index 00000000..f1122dfe --- /dev/null +++ b/public/docs/mavedb/targets.html @@ -0,0 +1,262 @@ + + + + + + + + Targets — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +

    Targets

    +

    All variants in a MaveDB score set are described relative to a target. This target +should describe the sequence that was mutagenized to create the variant library. MaveDB supports two types +of targets: sequence-based targets and accession-based targets.

    +

    Each score set in MaveDB must be associated with at least one target. Certain experiments may +describe variants relative to two or more distinct sequences, such as protein-protein interaction assays +that measure the effects of variants in both interacting proteins. In these cases, multiple targets may be +associated with a single score set.

    +
    +

    Sequence-based targets

    +

    Sequence-based targets in MaveDB are based on the full sequence that was mutagenized to create the variant library, +which may or may not correspond to a known sequence in an external database.

    +

    You should use this type of target when the exact sequence used in the experiment is not available in an external database, +or when important differences exist between the sequence used in the experiment and the corresponding sequence in an +external database. Common examples include codon-optimized sequences, non-reference backgrounds, or synthetic sequences.

    +

    For datasets that target a single functional domain, only that part of the gene should be included as the target. +If multiple discontinuous functional domains were included in a single experiment, +the target sequence should be given with the intervening sequence so that coordinates can be mapped back to a +full-length reference.

    +

    When uploading a sequence-based target to MaveDB, it is required that the uploader provide the target sequence. +If the target is protein coding and variants are only described by their protein changes, +the target sequence may be an amino acid sequence. +If variants describing nucleotide changes are present, the target sequence must be a DNA sequence.

    +

    Targets can also be linked to accession numbers in other databases, including UniProt, +RefSeq, and Ensembl. +If the target sequence provided to MaveDB starts partway through the linked sequence +(such as an assay targeting a single functional domain), the target should have an “offset” term. +The offset is the integer value that should be added to the MaveDB coordinates +(which are relative to the target sequence) in order to match the coordinates in the linked sequence.

    +

    For example, the target sequence for urn:mavedb:00000002-a-1 +is a codon optimized version of the WW domain of YAP1. +This corresponds to UniProt identifier P46937 with offset 169, +meaning that position 1 in the MaveDB score set is position 170 in the UniProt sequence.

    +
    +

    Note

    +

    If you choose to link a sequence-based target to an external accession, you should consider whether using an accession-based +target (described below) is more appropriate.

    +
    +
    +

    Sequence based target metadata

    +
    +
    Target name

    The name of the target sequence. This name will be displayed on the score set page and across the site when referring to this target. +Most users will expect this to be a gene name or a protein name.

    +
    +
    Functional category

    The functional category of the target sequence. This should be one of the following controlled vocabulary terms:

    +
      +
    • protein coding

    • +
    • regulatory

    • +
    • other noncoding

    • +
    +
    +
    UniProt ID and offset (optional)

    The UniProt identifier corresponding to the target sequence, if applicable.

    +
    +
    Ensembl ID and offset (optional)

    The Ensembl identifier corresponding to the target sequence, if applicable.

    +
    +
    RefSeq ID and offset (optional)

    The RefSeq identifier corresponding to the target sequence, if applicable.

    +
    +
    Taxonomy

    The organism that the target sequence is derived from, if applicable. MaveDB uses the +NCBI Taxonomy controlled vocabulary for organism names.

    +
    +
    Sequence type

    The type of sequence provided for the target. This should be one of the following controlled vocabulary terms:

    +
      +
    • DNA

    • +
    • amino acid

    • +
    +
    +
    Sequence

    The full sequence of the target used in the experiment. This should be provided as a plain text string +containing only valid characters for the specified sequence type (DNA or amino acid).

    +
    +
    +
    +
    +
    +

    Accession-based targets

    +

    Accession-based targets in MaveDB are based on sequences that are fully described in an external database. If your +variants were generated by editing the genome directly (e.g. using saturation genome editing) or by mutagenizing +a known reference sequence without any other changes, this target type is appropriate.

    +
    +

    Note

    +

    When you use an accession-based target, all variants in the associated score set must be described relative to the +accession identifier you provide, regardless of whether there is only a single target for the assay.

    +

    For instance, while you might describe a variant as c.79A>T in a sequence-based target, the same variant would +need to be described as NM__000546.6:c.79A>T if the target is accession-based using the RefSeq ID NM__000546.6.

    +

    This requirement allows users to better understand the context of the variants in your score set.

    +
    +

    When uploading an accession-based target to MaveDB, you may supply either a RefSeq +or Ensembl identifier. MaveDB will automatically retrieve the corresponding sequence and metadata +from the appropriate external database. These identifiers may refer to either full chromosomes or to individual transcripts/genes.

    +

    MaveDB uses both CDOT and SeqRepo to retrieve and cache sequences and metadata for +accession-based targets. For more information about how we use these services, see the external integrations section.

    +
    +

    See also

    +

    Base editor score sets use the same accession-based target format as other score sets. However, even though you will be providing an +hgvs_nt column for your variants, a special guide_sequence column in your uploaded scores and counts files that indicates the guide sequence used for each variant +will be the index column and should be unique.

    +
    +
    +

    Accession based target metadata

    +
    +
    Target name

    The name of the target sequence. This name will be displayed on the score set page and across the site when referring to this target. +Most users will expect this to be a gene name or a protein name.

    +
    +
    Gene name or Assembly name

    The gene name (for transcript or gene accessions) or assembly name (for chromosome accessions) corresponding to the target sequence.

    +
    +
    Accession identifier

    The RefSeq or Ensembl identifier that describes the target sequence.

    +
    +
    Functional category

    The functional category of the target sequence. This should be one of the following controlled vocabulary terms:

    +
      +
    • protein coding

    • +
    • regulatory

    • +
    • other noncoding

    • +
    +
    +
    +
    +
    +
    +

    Multi-target score sets

    +

    Some experiments may describe variants relative to two or more distinct sequences, such as protein-protein interaction assays +that measure the effects of variants in both interacting proteins. In these cases, multiple targets may be +associated with a single score set.

    +

    Each target should be described using either the sequence-based or accession-based +target format described above. A single score set may not mix sequence-based and accession-based targets; all targets +associated with a given score set must use the same target format.

    +

    When describing variants in a multi-target score set, each variant must indicate which target it is relative to. This is done +by including a label for each target (e.g., “Target 1”, “Target 2”) and including this label in the variant notation as if it +were a prefix to the variant.

    +

    For example, if a score set includes two targets labeled “TP53” and “MDM2”, a variant +affecting TP53 might be described as “TP53:p.R175H”, while a variant affecting MDM2 might be described as “MDM2:p.G58S”.

    +

    While optional in single-target score sets, this label is a required field in multi-target score sets to ensure that each variant can be unambiguously +mapped to the correct target.

    +
    +
    + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/docs/mavedb/upload_guide.html b/public/docs/mavedb/upload_guide.html index a3772dbf..842229d6 100644 --- a/public/docs/mavedb/upload_guide.html +++ b/public/docs/mavedb/upload_guide.html @@ -5,18 +5,18 @@ - Depositing your data into MaveDB — MaveDB 2023.2.0 documentation + Depositing your data into MaveDB — MaveDB 2025.5.2 documentation - + - + + + + + + +
    +
    +
    +
    + +
    +

    Variant Mapping

    +

    MaveDB uses the variant descriptions provided in the score and count data tables +to map variants to genomic coordinates. This mapping allows MaveDB to integrate with +external resources such as ClinGen, ClinVar, and gnomAD.

    +
    +

    Note

    +

    Variant mapping is only performed for datasets with a human target sequence.

    +
    +

    This process was made possible by a novel method for mapping MAVE data written by +Arbesfeld et al. (2025). The method +is described in detail in the linked publication, and summarized briefly below.

    +
    +

    Mapping process

    +

    Variants are mapped to genomic coordinates upon upload of a score set. The mapping process involves the following steps:

    +
      +
    1. Target sequence alignment: The target sequence provided with the score set is aligned to the reference genome using +BLAT. This step determines the genomic location of the target sequence and +identifies the corresponding transcript(s).

    2. +
    3. Transcript selection: If multiple candidate transcripts are identified in the alignment step, the most appropriate transcript +is selected. Where possible, we prioritize MANE Select transcripts, followed by RefSeq Select transcripts, and then the longest +matching transcript.

    4. +
    5. Variant translation: Each variant in the score and count data tables is converted from MAVE-HGVS format to standard HGVS format +and translated with respect to the selected transcript. This step accounts for any offset between the target sequence and the transcript.

    6. +
    7. VRS translation: The HGVS variant descriptions are then converted to GA4GH VRS format +using the VRS-Python library. This standardized representation facilitates interoperability +with other genomic databases and tools, as well as standardizing all output variant representations for future mapped variation.

    8. +
    +
    +

    Note

    +

    In some cases, variants may not be successfully mapped due to issues such as ambiguous target sequences, +complex variant types, or discrepancies between the target and reference genome. MaveDB logs these instances +and provides feedback to data contributors to help resolve mapping issues.

    +

    Although some mapping failures +represent true limitations of the data, others can be addressed by correcting errors in the submitted variants +or target sequences.

    +

    It is highly recommended that data contributors review the mapping results after uploading a score set +to ensure that variants have been accurately mapped. Contributors can view mapping results on the score set page and download a report of mapped and unmapped variants.

    +

    Mapping failures do not prevent datasets from being published in MaveDB, but mapped variants +are required for certain features such as variant search, linkages with +certain external resources, and inclusion in MaveMD.

    +
    +
    +
    +

    Mapping integrations

    +

    Mapped variants are integral to MaveDB’s integration with external data sources. Whereas variants prior to mapping +are only described with respect to the target sequence, mapped variants can be linked to +genomic coordinates and transcripts, enabling connections to resources such as ClinVar, gnomAD, +and ClinGen. Mapped variants also enable MaveDB to provide +GA4GH VRS representations of variants for download and programmatic access via the MaveDB API.

    +

    This mapping and the integrations they facilitate enhance the utility of MaveDB and power MaveMD by enabling features +like variant search and score calibrations.

    +
    +
    + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/docs/mavedb/variant_search.html b/public/docs/mavedb/variant_search.html new file mode 100644 index 00000000..1652f893 --- /dev/null +++ b/public/docs/mavedb/variant_search.html @@ -0,0 +1,86 @@ + + + + + + + + <no title> — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/docs/mavedb/visualizations.html b/public/docs/mavedb/visualizations.html new file mode 100644 index 00000000..da9cf06b --- /dev/null +++ b/public/docs/mavedb/visualizations.html @@ -0,0 +1,178 @@ + + + + + + + + Visualizations — MaveDB 2025.5.2 documentation + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +

    Visualizations

    +

    MaveDB offers several built-in visualizations to help users explore and interpret variant effect data. These visualizations are automatically generated for published score sets and displayed +prominently on the score set details page. Users can also download the underlying data used to create these visualizations for further analysis, or download the visualizations themselves +as image files for use in presentations or publications.

    +
    +

    Histogram

    +

    The histogram visualization displays the distribution of variant effect scores within a score set. This visualization helps users quickly assess the overall distribution of scores within a dataset.

    +

    Hovering over a bin in the histogram reveals the number of variants that fall within that score range for each series and shows which classification ranges +the bin overlaps when a score calibration is selected. When a variant is selected, the corresponding bin in the histogram is highlighted to show where the variant’s score falls within the overall distribution +and the tooltip provides additional information about the selected variant.

    +
    +Default histogram visualization from a MaveDB score set page +
    +

    In the example above, we show the base histogram visualization from urn:mavedb:00001250-a-1, which describes saturation genome editing of BARD1.

    +

    When a score set has been linked to ClinVar annotations, the histogram will have a ‘clinical view’ available. This view overlays the distribution of scores for variants classified as ‘Pathogenic’ and ‘Benign’ in ClinVar, allowing users to assess how well the assay segregates known clinical variants.

    +
    +Clinical view of the histogram visualization from a MaveDB score set page +
    +

    In the example above, we show the clinical view of the histogram visualization from urn:mavedb:00001250-a-1, which describes saturation genome editing of BARD1.

    +

    When a score set includes variant effect predictions, users may also view a ‘protein effect’ version of the histogram. This view overlays the distribution of scores for variants predicted to have different effects on the protein, such as ‘missense’, ‘nonsense’, and ‘synonymous’ variants.

    +
    +Protein effect view of the histogram visualization from a MaveDB score set page +
    +

    In the example above, we show the protein effect view of the histogram visualization from urn:mavedb:00001250-a-1, which describes saturation genome editing of BARD1.

    +

    To give users more control over the histogram visualization, we also provide a ‘custom view’ that allows users to adjust the version of ClinVar data used, the ‘gold stars’ threshold for variant inclusion, include other ClinVar significance categories such as ‘Likely pathogenic’ and ‘Uncertain significance’, +limit the series to only variants with specific protien effects, and/or include other series for different protein effects. +When a score set has score calibrations, users may also overlay functional classifications on the histogram to get a sense of where different classes of variants fall within the score distribution.

    +
    +Custom view of the histogram visualization from a MaveDB score set page +
    +

    In the example above, we show a custom view of the histogram visualization from urn:mavedb:00001250-a-1, with overlaid score calibrations, variants of unknown significance (via ClinVar) shown in gray, and a series for scores of variants with a predicted ‘nonsense’ protein effect.

    +
    +
    +

    Heatmap

    +

    The heatmap visualization provides a two-dimensional representation of variant effect scores across the target sequence. This visualization is particularly useful for identifying patterns of variant effects at specific positions within the gene or protein. +When variants are provided at the nucleotide level, users may toggle between viewing the heatmap at the nucleotide or amino acid level. Amino acids are ordered based +on their hydrophobicity values using the Kyte-Doolittle scale and are grouped by chemical class based on values from Enrich2.

    +

    Each cell in the heatmap represents a specific variant at a given position, with the color intensity indicating the variant effect score with wild type variants shown in yellow. Hovering over a cell reveals detailed information about the variant, including its score, classification (if applicable), and the HGVS strings of the variant. Selecting a cell highlights the corresponding variant in other visualizations on the page, such as the histogram.

    +

    When a baseline score is available from a score calibration, the heatmap color scale centers the ‘normal’ color (purple) at the baseline score to provide better visual contrast for variants with scores deviating from the baseline.

    +
    +Heatmap visualization from a MaveDB score set page +
    +

    In the example above, we show the heatmap visualization with a selected variant from urn:mavedb:00000050-a-1, which describes deep mutational scanning of MSH2.

    +
    +
    +

    Protein structure viewer

    +

    When a score set is able to be associated with a UniProt accession, MaveDB provides an interactive 3D protein structure viewer using Mol* to help users visualize variant effect scores in the context of the protein’s structure.

    +

    Opening the protein structure viewer displays a side-by-side view of a heatmap and the protein structure for the associated UniProt accession with a color gradient applied based on the mean variant effect score at each position. Users can interact with the 3D structure by rotating, zooming, and selecting specific residues to view their associated variant effect scores and details. +Users may also click and drag on the heatmap to select multiple residues, which will highlight the corresponding regions on the protein structure. Other controls are available in the settings menu on the right side of the viewer, including an option to export the current view as a PNG image.

    +
    +Protein structure visualization from a MaveDB score set page +
    +

    In the example above, we show the protein structure viewer from urn:mavedb:00000050-a-1.

    +
    +
    + + +
    +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/public/theme.css b/public/theme.css deleted file mode 100644 index 3a0e20d7..00000000 --- a/public/theme.css +++ /dev/null @@ -1,6067 +0,0 @@ -@charset "UTF-8"; -:root { - --surface-a:#ffffff; - --surface-b:#fafafa; - --surface-c:rgba(0,0,0,.04); - --surface-d:rgba(0,0,0,.12); - --surface-e:#ffffff; - --surface-f:#ffffff; - --text-color:rgba(0, 0, 0, 0.87); - --text-color-secondary:textSecondaryColor; - --primary-color:#3F51B5; - --primary-color-text:#ffffff; - --font-family:Roboto, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; - --surface-0: #ffffff; - --surface-50: #FAFAFA; - --surface-100: #F5F5F5; - --surface-200: #EEEEEE; - --surface-300: #E0E0E0; - --surface-400: #BDBDBD; - --surface-500: #9E9E9E; - --surface-600: #757575; - --surface-700: #616161; - --surface-800: #424242; - --surface-900: #212121; - --content-padding:1rem; - --inline-spacing:0.5rem; -} - -/* roboto-regular - latin-ext_latin */ -@font-face { - font-family: "Roboto"; - font-style: normal; - font-weight: 400; - src: local("Roboto"), local("Roboto-Regular"), url("./fonts/roboto-v20-latin-ext_latin-regular.woff2") format("woff2"), url("./fonts/roboto-v20-latin-ext_latin-regular.woff") format("woff"); - /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ -} -/* roboto-500 - latin-ext_latin */ -@font-face { - font-family: "Roboto"; - font-style: normal; - font-weight: 500; - src: local("Roboto Medium"), local("Roboto-Medium"), url("./fonts/roboto-v20-latin-ext_latin-500.woff2") format("woff2"), url("./fonts/roboto-v20-latin-ext_latin-500.woff") format("woff"); - /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ -} -/* roboto-700 - latin-ext_latin */ -@font-face { - font-family: "Roboto"; - font-style: normal; - font-weight: 700; - src: local("Roboto Bold"), local("Roboto-Bold"), url("./fonts/roboto-v20-latin-ext_latin-700.woff2") format("woff2"), url("./fonts/roboto-v20-latin-ext_latin-700.woff") format("woff"); - /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ -} -* { - box-sizing: border-box; -} - -.p-component { - font-family: Roboto, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; - font-size: 1rem; - font-weight: normal; -} - -.p-component-overlay { - background-color: rgba(0, 0, 0, 0.32); - transition-duration: 0.2s; -} - -.p-disabled, .p-component:disabled { - opacity: 0.38; -} - -.p-error { - color: #B00020; -} - -.p-text-secondary { - color: rgba(0, 0, 0, 0.6); -} - -.pi { - font-size: 1rem; -} - -.p-link { - font-size: 1rem; - font-family: Roboto, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; - border-radius: 4px; -} -.p-link:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} - -:root { - --blue-50:#f4fafe; - --blue-100:#cae6fc; - --blue-200:#a0d2fa; - --blue-300:#75bef8; - --blue-400:#4baaf5; - --blue-500:#2196f3; - --blue-600:#1c80cf; - --blue-700:#1769aa; - --blue-800:#125386; - --blue-900:#0d3c61; - --green-50:#f7faf5; - --green-100:#dbe8cf; - --green-200:#bed6a9; - --green-300:#a1c384; - --green-400:#85b15e; - --green-500:#689f38; - --green-600:#588730; - --green-700:#496f27; - --green-800:#39571f; - --green-900:#2a4016; - --yellow-50:#fffcf5; - --yellow-100:#fef0cd; - --yellow-200:#fde4a5; - --yellow-300:#fdd87d; - --yellow-400:#fccc55; - --yellow-500:#fbc02d; - --yellow-600:#d5a326; - --yellow-700:#b08620; - --yellow-800:#8a6a19; - --yellow-900:#644d12; - --cyan-50:#f2fcfd; - --cyan-100:#c2eff5; - --cyan-200:#91e2ed; - --cyan-300:#61d5e4; - --cyan-400:#30c9dc; - --cyan-500:#00bcd4; - --cyan-600:#00a0b4; - --cyan-700:#008494; - --cyan-800:#006775; - --cyan-900:#004b55; - --pink-50:#fef4f7; - --pink-100:#fac9da; - --pink-200:#f69ebc; - --pink-300:#f1749e; - --pink-400:#ed4981; - --pink-500:#e91e63; - --pink-600:#c61a54; - --pink-700:#a31545; - --pink-800:#801136; - --pink-900:#5d0c28; - --indigo-50:#f6f7fc; - --indigo-100:#d5d9ef; - --indigo-200:#b3bae2; - --indigo-300:#919cd5; - --indigo-400:#707dc8; - --indigo-500:#4e5fbb; - --indigo-600:#42519f; - --indigo-700:#374383; - --indigo-800:#2b3467; - --indigo-900:#1f264b; - --teal-50:#f2faf9; - --teal-100:#c2e6e2; - --teal-200:#91d2cc; - --teal-300:#61beb5; - --teal-400:#30aa9f; - --teal-500:#009688; - --teal-600:#008074; - --teal-700:#00695f; - --teal-800:#00534b; - --teal-900:#003c36; - --orange-50:#fffaf2; - --orange-100:#ffe6c2; - --orange-200:#ffd391; - --orange-300:#ffbf61; - --orange-400:#ffac30; - --orange-500:#ff9800; - --orange-600:#d98100; - --orange-700:#b36a00; - --orange-800:#8c5400; - --orange-900:#663d00; - --bluegray-50:#f7f9f9; - --bluegray-100:#d9e0e3; - --bluegray-200:#bbc7cd; - --bluegray-300:#9caeb7; - --bluegray-400:#7e96a1; - --bluegray-500:#607d8b; - --bluegray-600:#526a76; - --bluegray-700:#435861; - --bluegray-800:#35454c; - --bluegray-900:#263238; - --purple-50:#faf4fb; - --purple-100:#e7cbec; - --purple-200:#d4a2dd; - --purple-300:#c279ce; - --purple-400:#af50bf; - --purple-500:#9c27b0; - --purple-600:#852196; - --purple-700:#6d1b7b; - --purple-800:#561561; - --purple-900:#3e1046; -} - -.p-autocomplete .p-autocomplete-loader { - right: 0.75rem; -} -.p-autocomplete.p-autocomplete-dd .p-autocomplete-loader { - right: 3rem; -} -.p-autocomplete .p-autocomplete-multiple-container { - padding: 0.375rem 0.75rem; -} -.p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover { - border-color: rgba(0, 0, 0, 0.87); -} -.p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; - border-color: #3F51B5; -} -.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token { - padding: 0.375rem 0; -} -.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input { - font-family: Roboto, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; - font-size: 1rem; - color: rgba(0, 0, 0, 0.87); - padding: 0; - margin: 0; -} -.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token { - padding: 0.375rem 0.75rem; - margin-right: 0.5rem; - background: rgba(0, 0, 0, 0.12); - color: rgba(0, 0, 0, 0.87); - border-radius: 16px; -} -.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon { - margin-left: 0.5rem; -} -.p-autocomplete.p-invalid.p-component > .p-inputtext { - border-color: #B00020; -} - -.p-autocomplete-panel { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 0 none; - border-radius: 4px; - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); -} -.p-autocomplete-panel .p-autocomplete-items { - padding: 0; -} -.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item { - margin: 0; - padding: 0.75rem 0.75rem; - border: 0 none; - color: rgba(0, 0, 0, 0.87); - background: transparent; - transition: none; - border-radius: 0; -} -.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover { - color: rgba(0, 0, 0, 0.87); - background: rgba(0, 0, 0, 0.04); -} -.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight { - color: #3F51B5; - background: rgba(63, 81, 181, 0.12); -} -.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group { - margin: 0; - padding: 0.75rem; - color: rgba(0, 0, 0, 0.6); - background: #ffffff; - font-weight: 400; -} - -.p-calendar.p-invalid.p-component > .p-inputtext { - border-color: #B00020; -} - -.p-datepicker { - padding: 0.5rem; - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 1px solid #e5e5e5; - border-radius: 4px; -} -.p-datepicker:not(.p-datepicker-inline) { - background: #ffffff; - border: 0 none; - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); -} -.p-datepicker:not(.p-datepicker-inline) .p-datepicker-header { - background: #ffffff; -} -.p-datepicker .p-datepicker-header { - padding: 0.5rem; - color: rgba(0, 0, 0, 0.87); - background: #ffffff; - font-weight: 500; - margin: 0; - border-bottom: 1px solid rgba(0, 0, 0, 0.12); - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} -.p-datepicker .p-datepicker-header .p-datepicker-prev, -.p-datepicker .p-datepicker-header .p-datepicker-next { - width: 2rem; - height: 2rem; - color: rgba(0, 0, 0, 0.6); - border: 0 none; - background: transparent; - border-radius: 50%; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; -} -.p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover, -.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover { - color: rgba(0, 0, 0, 0.6); - border-color: transparent; - background: rgba(0, 0, 0, 0.04); -} -.p-datepicker .p-datepicker-header .p-datepicker-prev:focus, -.p-datepicker .p-datepicker-header .p-datepicker-next:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-datepicker .p-datepicker-header .p-datepicker-title { - line-height: 2rem; -} -.p-datepicker .p-datepicker-header .p-datepicker-title select { - transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); -} -.p-datepicker .p-datepicker-header .p-datepicker-title select:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; - border-color: #3F51B5; -} -.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { - margin-right: 0.5rem; -} -.p-datepicker table { - font-size: 1rem; - margin: 0.5rem 0; -} -.p-datepicker table th { - padding: 0.5rem; -} -.p-datepicker table th > span { - width: 2.25rem; - height: 2.25rem; -} -.p-datepicker table td { - padding: 0.5rem; -} -.p-datepicker table td > span { - width: 2.25rem; - height: 2.25rem; - border-radius: 50%; - transition: none; - border: 1px solid transparent; -} -.p-datepicker table td > span.p-highlight { - color: #3F51B5; - background: rgba(63, 81, 181, 0.12); -} -.p-datepicker table td > span:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-datepicker table td.p-datepicker-today > span { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border-color: black; -} -.p-datepicker table td.p-datepicker-today > span.p-highlight { - color: #3F51B5; - background: rgba(63, 81, 181, 0.12); -} -.p-datepicker .p-datepicker-buttonbar { - padding: 0.75rem 0; - border-top: 1px solid rgba(0, 0, 0, 0.12); -} -.p-datepicker .p-datepicker-buttonbar .p-button { - width: auto; -} -.p-datepicker .p-timepicker { - border-top: 1px solid rgba(0, 0, 0, 0.12); - padding: 0.5rem; -} -.p-datepicker .p-timepicker button { - width: 2rem; - height: 2rem; - color: rgba(0, 0, 0, 0.6); - border: 0 none; - background: transparent; - border-radius: 50%; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; -} -.p-datepicker .p-timepicker button:enabled:hover { - color: rgba(0, 0, 0, 0.6); - border-color: transparent; - background: rgba(0, 0, 0, 0.04); -} -.p-datepicker .p-timepicker button:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-datepicker .p-timepicker button:last-child { - margin-top: 0.2em; -} -.p-datepicker .p-timepicker span { - font-size: 1.25rem; -} -.p-datepicker .p-timepicker > div { - padding: 0 0.5rem; -} -.p-datepicker.p-datepicker-timeonly .p-timepicker { - border-top: 0 none; -} -.p-datepicker .p-monthpicker { - margin: 0.5rem 0; -} -.p-datepicker .p-monthpicker .p-monthpicker-month { - padding: 0.5rem; - transition: none; - border-radius: 4px; -} -.p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight { - color: #3F51B5; - background: rgba(63, 81, 181, 0.12); -} -.p-datepicker.p-datepicker-multiple-month .p-datepicker-group { - border-right: 1px solid rgba(0, 0, 0, 0.12); - padding-right: 0.5rem; - padding-left: 0.5rem; - padding-top: 0; - padding-bottom: 0; -} -.p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { - padding-left: 0; -} -.p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { - padding-right: 0; - border-right: 0 none; -} -.p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover { - background: rgba(0, 0, 0, 0.04); -} -.p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-highlight):not(.p-disabled):hover { - background: rgba(0, 0, 0, 0.04); -} -.p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-highlight):not(.p-disabled):focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} - -.p-datepicker-mask.p-component-overlay { - background: rgba(0, 0, 0, 0.32); -} - -@media screen and (max-width: 769px) { - .p-datepicker table th, .p-datepicker table td { - padding: 0; - } -} -.p-cascadeselect { - background: #ffffff; - border: 1px solid rgba(0, 0, 0, 0.38); - transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); - border-radius: 4px; -} -.p-cascadeselect:not(.p-disabled):hover { - border-color: rgba(0, 0, 0, 0.87); -} -.p-cascadeselect:not(.p-disabled).p-focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; - border-color: #3F51B5; -} -.p-cascadeselect .p-cascadeselect-label { - background: transparent; - border: 0 none; - padding: 0.75rem 0.75rem; -} -.p-cascadeselect .p-cascadeselect-label.p-placeholder { - color: rgba(0, 0, 0, 0.6); -} -.p-cascadeselect .p-cascadeselect-label:enabled:focus { - outline: 0 none; - box-shadow: none; -} -.p-cascadeselect .p-cascadeselect-trigger { - background: transparent; - color: rgba(0, 0, 0, 0.6); - width: 2.357rem; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} -.p-cascadeselect.p-invalid.p-component { - border-color: #B00020; -} - -.p-cascadeselect-panel { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 0 none; - border-radius: 4px; - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); -} -.p-cascadeselect-panel .p-cascadeselect-items { - padding: 0; -} -.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item { - margin: 0; - border: 0 none; - color: rgba(0, 0, 0, 0.87); - background: transparent; - transition: none; - border-radius: 0; -} -.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content { - padding: 0.75rem 0.75rem; -} -.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight { - color: #3F51B5; - background: rgba(63, 81, 181, 0.12); -} -.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover { - color: rgba(0, 0, 0, 0.87); - background: rgba(0, 0, 0, 0.04); -} -.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon { - font-size: 0.875rem; -} - -.p-input-filled .p-cascadeselect { - background: #f5f5f5; -} -.p-input-filled .p-cascadeselect:not(.p-disabled):hover { - background-color: #ececec; -} -.p-input-filled .p-cascadeselect:not(.p-disabled).p-focus { - background-color: #dcdcdc; -} - -.p-checkbox { - width: 18px; - height: 18px; -} -.p-checkbox .p-checkbox-box { - border: 2px solid #757575; - background: #ffffff; - width: 18px; - height: 18px; - color: rgba(0, 0, 0, 0.87); - border-radius: 4px; - transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); -} -.p-checkbox .p-checkbox-box .p-checkbox-icon { - transition-duration: 0.2s; - color: #ffffff; - font-size: 14px; -} -.p-checkbox .p-checkbox-box.p-highlight { - border-color: #3F51B5; - background: #3F51B5; -} -.p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { - border-color: rgba(0, 0, 0, 0.87); -} -.p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; - border-color: #3F51B5; -} -.p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { - border-color: #3F51B5; - background: #3F51B5; - color: #ffffff; -} -.p-checkbox.p-invalid > .p-checkbox-box { - border-color: #B00020; -} - -.p-input-filled .p-checkbox .p-checkbox-box { - background-color: #f5f5f5; -} -.p-input-filled .p-checkbox .p-checkbox-box.p-highlight { - background: #3F51B5; -} -.p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { - background-color: #ececec; -} -.p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { - background: #3F51B5; -} - -.p-chips .p-chips-multiple-container { - padding: 0.375rem 0.75rem; -} -.p-chips .p-chips-multiple-container:not(.p-disabled):hover { - border-color: rgba(0, 0, 0, 0.87); -} -.p-chips .p-chips-multiple-container:not(.p-disabled).p-focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; - border-color: #3F51B5; -} -.p-chips .p-chips-multiple-container .p-chips-token { - padding: 0.375rem 0.75rem; - margin-right: 0.5rem; - background: rgba(0, 0, 0, 0.12); - color: rgba(0, 0, 0, 0.87); - border-radius: 16px; -} -.p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon { - margin-left: 0.5rem; -} -.p-chips .p-chips-multiple-container .p-chips-input-token { - padding: 0.375rem 0; -} -.p-chips .p-chips-multiple-container .p-chips-input-token input { - font-family: Roboto, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; - font-size: 1rem; - color: rgba(0, 0, 0, 0.87); - padding: 0; - margin: 0; -} -.p-chips.p-invalid.p-component > .p-inputtext { - border-color: #B00020; -} - -.p-colorpicker-preview { - width: 2rem; - height: 2rem; -} - -.p-colorpicker-panel { - background: #323232; - border-color: #191919; -} -.p-colorpicker-panel .p-colorpicker-color-handle, -.p-colorpicker-panel .p-colorpicker-hue-handle { - border-color: #ffffff; -} - -.p-colorpicker-overlay-panel { - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); -} - -.p-dropdown { - background: #ffffff; - border: 1px solid rgba(0, 0, 0, 0.38); - transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); - border-radius: 4px; -} -.p-dropdown:not(.p-disabled):hover { - border-color: rgba(0, 0, 0, 0.87); -} -.p-dropdown:not(.p-disabled).p-focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; - border-color: #3F51B5; -} -.p-dropdown.p-dropdown-clearable .p-dropdown-label { - padding-right: 1.75rem; -} -.p-dropdown .p-dropdown-label { - background: transparent; - border: 0 none; -} -.p-dropdown .p-dropdown-label.p-placeholder { - color: rgba(0, 0, 0, 0.6); -} -.p-dropdown .p-dropdown-label:enabled:focus { - outline: 0 none; - box-shadow: none; -} -.p-dropdown .p-dropdown-trigger { - background: transparent; - color: rgba(0, 0, 0, 0.6); - width: 2.357rem; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} -.p-dropdown .p-dropdown-clear-icon { - color: rgba(0, 0, 0, 0.6); - right: 2.357rem; -} -.p-dropdown.p-invalid.p-component { - border-color: #B00020; -} - -.p-dropdown-panel { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 0 none; - border-radius: 4px; - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); -} -.p-dropdown-panel .p-dropdown-header { - padding: 0.75rem; - border-bottom: 1px solid rgba(0, 0, 0, 0.12); - color: rgba(0, 0, 0, 0.87); - background: #ffffff; - margin: 0; - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} -.p-dropdown-panel .p-dropdown-header .p-dropdown-filter { - padding-right: 1.75rem; -} -.p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon { - right: 0.75rem; - color: rgba(0, 0, 0, 0.6); -} -.p-dropdown-panel .p-dropdown-items { - padding: 0; -} -.p-dropdown-panel .p-dropdown-items .p-dropdown-item { - margin: 0; - padding: 0.75rem 0.75rem; - border: 0 none; - color: rgba(0, 0, 0, 0.87); - background: transparent; - transition: none; - border-radius: 0; -} -.p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight { - color: #3F51B5; - background: rgba(63, 81, 181, 0.12); -} -.p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover { - color: rgba(0, 0, 0, 0.87); - background: rgba(0, 0, 0, 0.04); -} -.p-dropdown-panel .p-dropdown-items .p-dropdown-item-group { - margin: 0; - padding: 0.75rem; - color: rgba(0, 0, 0, 0.6); - background: #ffffff; - font-weight: 400; -} -.p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message { - padding: 0.75rem 0.75rem; - color: rgba(0, 0, 0, 0.87); - background: transparent; -} - -.p-input-filled .p-dropdown { - background: #f5f5f5; -} -.p-input-filled .p-dropdown:not(.p-disabled):hover { - background-color: #ececec; -} -.p-input-filled .p-dropdown:not(.p-disabled).p-focus { - background-color: #dcdcdc; -} - -.p-editor-container .p-editor-toolbar { - background: #ffffff; - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} -.p-editor-container .p-editor-toolbar.ql-snow { - border: 1px solid #e0e0e0; -} -.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke { - stroke: rgba(0, 0, 0, 0.6); -} -.p-editor-container .p-editor-toolbar.ql-snow .ql-fill { - fill: rgba(0, 0, 0, 0.6); -} -.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label { - border: 0 none; - color: rgba(0, 0, 0, 0.6); -} -.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover { - color: rgba(0, 0, 0, 0.87); -} -.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke { - stroke: rgba(0, 0, 0, 0.87); -} -.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill { - fill: rgba(0, 0, 0, 0.87); -} -.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label { - color: rgba(0, 0, 0, 0.87); -} -.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke { - stroke: rgba(0, 0, 0, 0.87); -} -.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill { - fill: rgba(0, 0, 0, 0.87); -} -.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options { - background: #ffffff; - border: 0 none; - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); - border-radius: 4px; - padding: 0; -} -.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item { - color: rgba(0, 0, 0, 0.87); -} -.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover { - color: rgba(0, 0, 0, 0.87); - background: rgba(0, 0, 0, 0.04); -} -.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item { - padding: 0.75rem 0.75rem; -} -.p-editor-container .p-editor-content { - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -.p-editor-container .p-editor-content.ql-snow { - border: 1px solid #e0e0e0; -} -.p-editor-container .p-editor-content .ql-editor { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -.p-editor-container .ql-snow.ql-toolbar button:hover, -.p-editor-container .ql-snow.ql-toolbar button:focus { - color: rgba(0, 0, 0, 0.87); -} -.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke, -.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke { - stroke: rgba(0, 0, 0, 0.87); -} -.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill, -.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill { - fill: rgba(0, 0, 0, 0.87); -} -.p-editor-container .ql-snow.ql-toolbar button.ql-active, -.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active, -.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected { - color: #3F51B5; -} -.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke, -.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, -.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke { - stroke: #3F51B5; -} -.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill, -.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, -.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill { - fill: #3F51B5; -} -.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label, -.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label, -.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label { - color: #3F51B5; -} - -.p-inputgroup-addon { - background: #ffffff; - color: rgba(0, 0, 0, 0.6); - border-top: 1px solid rgba(0, 0, 0, 0.38); - border-left: 1px solid rgba(0, 0, 0, 0.38); - border-bottom: 1px solid rgba(0, 0, 0, 0.38); - padding: 0.75rem 0.75rem; - min-width: 2.357rem; -} -.p-inputgroup-addon:last-child { - border-right: 1px solid rgba(0, 0, 0, 0.38); -} - -.p-inputgroup > .p-component, -.p-inputgroup > .p-inputwrapper > .p-inputtext, -.p-inputgroup > .p-float-label > .p-component { - border-radius: 0; - margin: 0; -} -.p-inputgroup > .p-component + .p-inputgroup-addon, -.p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon, -.p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon { - border-left: 0 none; -} -.p-inputgroup > .p-component:focus, -.p-inputgroup > .p-inputwrapper > .p-inputtext:focus, -.p-inputgroup > .p-float-label > .p-component:focus { - z-index: 1; -} -.p-inputgroup > .p-component:focus ~ label, -.p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label, -.p-inputgroup > .p-float-label > .p-component:focus ~ label { - z-index: 1; -} - -.p-inputgroup-addon:first-child, -.p-inputgroup button:first-child, -.p-inputgroup input:first-child, -.p-inputgroup > .p-inputwrapper:first-child, -.p-inputgroup > .p-inputwrapper:first-child > .p-inputtext { - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} - -.p-inputgroup .p-float-label:first-child input { - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} - -.p-inputgroup-addon:last-child, -.p-inputgroup button:last-child, -.p-inputgroup input:last-child, -.p-inputgroup > .p-inputwrapper:last-child, -.p-inputgroup > .p-inputwrapper:last-child > .p-inputtext { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} - -.p-inputgroup .p-float-label:last-child input { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} - -.p-fluid .p-inputgroup .p-button { - width: auto; -} -.p-fluid .p-inputgroup .p-button.p-button-icon-only { - width: 2.25rem; -} - -.p-inputnumber.p-invalid.p-component > .p-inputtext { - border-color: #B00020; -} - -.p-inputswitch { - width: 2.75rem; - height: 1rem; -} -.p-inputswitch .p-inputswitch-slider { - background: rgba(0, 0, 0, 0.38); - transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); - border-radius: 0.5rem; -} -.p-inputswitch .p-inputswitch-slider:before { - background: #ffffff; - width: 1.5rem; - height: 1.5rem; - left: -1px; - margin-top: -0.75rem; - border-radius: 50%; - transition-duration: 0.2s; -} -.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { - transform: translateX(1.5rem); -} -.p-inputswitch.p-focus .p-inputswitch-slider { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider { - background: rgba(0, 0, 0, 0.38); -} -.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider { - background: rgba(63, 81, 181, 0.5); -} -.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { - background: #3F51B5; -} -.p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider { - background: rgba(63, 81, 181, 0.5); -} -.p-inputswitch.p-invalid { - border-color: #B00020; -} - -.p-inputtext { - font-family: Roboto, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; - font-size: 1rem; - color: rgba(0, 0, 0, 0.87); - background: #ffffff; - padding: 0.75rem 0.75rem; - border: 1px solid rgba(0, 0, 0, 0.38); - transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); - appearance: none; - border-radius: 4px; -} -.p-inputtext:enabled:hover { - border-color: rgba(0, 0, 0, 0.87); -} -.p-inputtext:enabled:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; - border-color: #3F51B5; -} -.p-inputtext.p-invalid.p-component { - border-color: #B00020; -} -.p-inputtext.p-inputtext-sm { - font-size: 0.875rem; - padding: 0.65625rem 0.65625rem; -} -.p-inputtext.p-inputtext-lg { - font-size: 1.25rem; - padding: 0.9375rem 0.9375rem; -} - -.p-float-label > label { - left: 0.75rem; - color: rgba(0, 0, 0, 0.6); - transition-duration: 0.2s; -} - -.p-input-icon-left > i:first-of-type { - left: 0.75rem; - color: rgba(0, 0, 0, 0.6); -} - -.p-input-icon-left > .p-inputtext { - padding-left: 2.5rem; -} - -.p-input-icon-left.p-float-label > label { - left: 2.5rem; -} - -.p-input-icon-right > i:last-of-type { - right: 0.75rem; - color: rgba(0, 0, 0, 0.6); -} - -.p-input-icon-right > .p-inputtext { - padding-right: 2.5rem; -} - -::-webkit-input-placeholder { - color: rgba(0, 0, 0, 0.6); -} - -:-moz-placeholder { - color: rgba(0, 0, 0, 0.6); -} - -::-moz-placeholder { - color: rgba(0, 0, 0, 0.6); -} - -:-ms-input-placeholder { - color: rgba(0, 0, 0, 0.6); -} - -.p-input-filled .p-inputtext { - background-color: #f5f5f5; -} -.p-input-filled .p-inputtext:enabled:hover { - background-color: #ececec; -} -.p-input-filled .p-inputtext:enabled:focus { - background-color: #dcdcdc; -} - -.p-inputtext-sm .p-inputtext { - font-size: 0.875rem; - padding: 0.65625rem 0.65625rem; -} - -.p-inputtext-lg .p-inputtext { - font-size: 1.25rem; - padding: 0.9375rem 0.9375rem; -} - -.p-listbox { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 1px solid #e5e5e5; - border-radius: 4px; -} -.p-listbox .p-listbox-header { - padding: 0.75rem; - border-bottom: 1px solid rgba(0, 0, 0, 0.12); - color: rgba(0, 0, 0, 0.87); - background: #ffffff; - margin: 0; - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} -.p-listbox .p-listbox-header .p-listbox-filter { - padding-right: 1.75rem; -} -.p-listbox .p-listbox-header .p-listbox-filter-icon { - right: 0.75rem; - color: rgba(0, 0, 0, 0.6); -} -.p-listbox .p-listbox-list { - padding: 0; -} -.p-listbox .p-listbox-list .p-listbox-item { - margin: 0; - padding: 0.75rem 0.75rem; - border: 0 none; - color: rgba(0, 0, 0, 0.87); - transition: none; - border-radius: 0; -} -.p-listbox .p-listbox-list .p-listbox-item.p-highlight { - color: #3F51B5; - background: rgba(63, 81, 181, 0.12); -} -.p-listbox .p-listbox-list .p-listbox-item:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-listbox .p-listbox-list .p-listbox-item-group { - margin: 0; - padding: 0.75rem; - color: rgba(0, 0, 0, 0.6); - background: #ffffff; - font-weight: 400; -} -.p-listbox .p-listbox-list .p-listbox-empty-message { - padding: 0.75rem 0.75rem; - color: rgba(0, 0, 0, 0.87); - background: transparent; -} -.p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover { - color: rgba(0, 0, 0, 0.87); - background: rgba(0, 0, 0, 0.04); -} -.p-listbox.p-invalid { - border-color: #B00020; -} - -.p-multiselect { - background: #ffffff; - border: 1px solid rgba(0, 0, 0, 0.38); - transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); - border-radius: 4px; -} -.p-multiselect:not(.p-disabled):hover { - border-color: rgba(0, 0, 0, 0.87); -} -.p-multiselect:not(.p-disabled).p-focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; - border-color: #3F51B5; -} -.p-multiselect .p-multiselect-label { - padding: 0.75rem 0.75rem; - transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); -} -.p-multiselect .p-multiselect-label.p-placeholder { - color: rgba(0, 0, 0, 0.6); -} -.p-multiselect.p-multiselect-chip .p-multiselect-token { - padding: 0.375rem 0.75rem; - margin-right: 0.5rem; - background: rgba(0, 0, 0, 0.12); - color: rgba(0, 0, 0, 0.87); - border-radius: 16px; -} -.p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon { - margin-left: 0.5rem; -} -.p-multiselect .p-multiselect-trigger { - background: transparent; - color: rgba(0, 0, 0, 0.6); - width: 2.357rem; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} -.p-multiselect.p-invalid.p-component { - border-color: #B00020; -} - -.p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label { - padding: 0.375rem 0.75rem; -} - -.p-multiselect-panel { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 0 none; - border-radius: 4px; - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); -} -.p-multiselect-panel .p-multiselect-header { - padding: 0.75rem; - border-bottom: 1px solid rgba(0, 0, 0, 0.12); - color: rgba(0, 0, 0, 0.87); - background: #ffffff; - margin: 0; - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} -.p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext { - padding-right: 1.75rem; -} -.p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon { - right: 0.75rem; - color: rgba(0, 0, 0, 0.6); -} -.p-multiselect-panel .p-multiselect-header .p-checkbox { - margin-right: 0.5rem; -} -.p-multiselect-panel .p-multiselect-header .p-multiselect-close { - margin-left: 0.5rem; - width: 2rem; - height: 2rem; - color: rgba(0, 0, 0, 0.6); - border: 0 none; - background: transparent; - border-radius: 50%; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; -} -.p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover { - color: rgba(0, 0, 0, 0.6); - border-color: transparent; - background: rgba(0, 0, 0, 0.04); -} -.p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-multiselect-panel .p-multiselect-items { - padding: 0; -} -.p-multiselect-panel .p-multiselect-items .p-multiselect-item { - margin: 0; - padding: 0.75rem 0.75rem; - border: 0 none; - color: rgba(0, 0, 0, 0.87); - background: transparent; - transition: none; - border-radius: 0; -} -.p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight { - color: #3F51B5; - background: rgba(63, 81, 181, 0.12); -} -.p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover { - color: rgba(0, 0, 0, 0.87); - background: rgba(0, 0, 0, 0.04); -} -.p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox { - margin-right: 0.5rem; -} -.p-multiselect-panel .p-multiselect-items .p-multiselect-item-group { - margin: 0; - padding: 0.75rem; - color: rgba(0, 0, 0, 0.6); - background: #ffffff; - font-weight: 400; -} -.p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message { - padding: 0.75rem 0.75rem; - color: rgba(0, 0, 0, 0.87); - background: transparent; -} - -.p-input-filled .p-multiselect { - background: #f5f5f5; -} -.p-input-filled .p-multiselect:not(.p-disabled):hover { - background-color: #ececec; -} -.p-input-filled .p-multiselect:not(.p-disabled).p-focus { - background-color: #dcdcdc; -} - -.p-password.p-invalid.p-component > .p-inputtext { - border-color: #B00020; -} - -.p-password-panel { - padding: 0.75rem; - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 0 none; - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); - border-radius: 4px; -} -.p-password-panel .p-password-meter { - margin-bottom: 0.5rem; - background: rgba(63, 81, 181, 0.32); -} -.p-password-panel .p-password-meter .p-password-strength.weak { - background: #D32F2F; -} -.p-password-panel .p-password-meter .p-password-strength.medium { - background: #FBC02D; -} -.p-password-panel .p-password-meter .p-password-strength.strong { - background: #689F38; -} - -.p-radiobutton { - width: 20px; - height: 20px; -} -.p-radiobutton .p-radiobutton-box { - border: 2px solid #757575; - background: #ffffff; - width: 20px; - height: 20px; - color: rgba(0, 0, 0, 0.87); - border-radius: 50%; - transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); -} -.p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover { - border-color: rgba(0, 0, 0, 0.87); -} -.p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; - border-color: #3F51B5; -} -.p-radiobutton .p-radiobutton-box .p-radiobutton-icon { - width: 10px; - height: 10px; - transition-duration: 0.2s; - background-color: #3F51B5; -} -.p-radiobutton .p-radiobutton-box.p-highlight { - border-color: #3F51B5; - background: #ffffff; -} -.p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { - border-color: #3F51B5; - background: #ffffff; - color: #3F51B5; -} -.p-radiobutton.p-invalid > .p-radiobutton-box { - border-color: #B00020; -} -.p-radiobutton:focus { - outline: 0 none; -} - -.p-input-filled .p-radiobutton .p-radiobutton-box { - background-color: #f5f5f5; -} -.p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover { - background-color: #ececec; -} -.p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight { - background: #ffffff; -} -.p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { - background: #ffffff; -} - -.p-rating .p-rating-icon { - color: #3F51B5; - margin-left: 0.5rem; - transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); - font-size: 1rem; -} -.p-rating .p-rating-icon.p-rating-cancel { - color: #B00020; -} -.p-rating .p-rating-icon:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-rating .p-rating-icon:first-child { - margin-left: 0; -} -.p-rating .p-rating-icon.pi-star { - color: #3F51B5; -} -.p-rating:not(.p-disabled):not(.p-readonly) .p-rating-icon:hover { - color: #3F51B5; -} -.p-rating:not(.p-disabled):not(.p-readonly) .p-rating-icon.p-rating-cancel:hover { - color: #B00020; -} - -.p-selectbutton .p-button { - background: #ffffff; - border: 1px solid rgba(0, 0, 0, 0.12); - color: rgba(0, 0, 0, 0.87); - transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); -} -.p-selectbutton .p-button .p-button-icon-left, -.p-selectbutton .p-button .p-button-icon-right { - color: rgba(0, 0, 0, 0.6); -} -.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { - background: #f6f6f6; - border-color: rgba(0, 0, 0, 0.12); - color: rgba(0, 0, 0, 0.87); -} -.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, -.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { - color: rgba(0, 0, 0, 0.6); -} -.p-selectbutton .p-button.p-highlight { - background: #e0e0e1; - border-color: #e0e0e1; - color: rgba(0, 0, 0, 0.87); -} -.p-selectbutton .p-button.p-highlight .p-button-icon-left, -.p-selectbutton .p-button.p-highlight .p-button-icon-right { - color: rgba(0, 0, 0, 0.6); -} -.p-selectbutton .p-button.p-highlight:hover { - background: #d9d8d9; - border-color: #d9d8d9; - color: rgba(0, 0, 0, 0.87); -} -.p-selectbutton .p-button.p-highlight:hover .p-button-icon-left, -.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right { - color: rgba(0, 0, 0, 0.6); -} -.p-selectbutton.p-invalid > .p-button { - border-color: #B00020; -} - -.p-slider { - background: #c1c1c1; - border: 0 none; - border-radius: 4px; -} -.p-slider.p-slider-horizontal { - height: 2px; -} -.p-slider.p-slider-horizontal .p-slider-handle { - margin-top: -10px; - margin-left: -10px; -} -.p-slider.p-slider-vertical { - width: 2px; -} -.p-slider.p-slider-vertical .p-slider-handle { - margin-left: -10px; - margin-bottom: -10px; -} -.p-slider .p-slider-handle { - height: 20px; - width: 20px; - background: #3F51B5; - border: 0 none; - border-radius: 50%; - transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); -} -.p-slider .p-slider-handle:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-slider .p-slider-range { - background: #3F51B5; -} -.p-slider:not(.p-disabled) .p-slider-handle:hover { - background: #3F51B5; - border-color: 0 none; -} - -.p-togglebutton.p-button { - background: #ffffff; - border: 1px solid rgba(0, 0, 0, 0.12); - color: rgba(0, 0, 0, 0.87); - transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); -} -.p-togglebutton.p-button .p-button-icon-left, -.p-togglebutton.p-button .p-button-icon-right { - color: rgba(0, 0, 0, 0.6); -} -.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover { - background: #f6f6f6; - border-color: rgba(0, 0, 0, 0.12); - color: rgba(0, 0, 0, 0.87); -} -.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, -.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { - color: rgba(0, 0, 0, 0.6); -} -.p-togglebutton.p-button.p-highlight { - background: #e0e0e1; - border-color: #e0e0e1; - color: rgba(0, 0, 0, 0.87); -} -.p-togglebutton.p-button.p-highlight .p-button-icon-left, -.p-togglebutton.p-button.p-highlight .p-button-icon-right { - color: rgba(0, 0, 0, 0.6); -} -.p-togglebutton.p-button.p-highlight:hover { - background: #d9d8d9; - border-color: #d9d8d9; - color: rgba(0, 0, 0, 0.87); -} -.p-togglebutton.p-button.p-highlight:hover .p-button-icon-left, -.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right { - color: rgba(0, 0, 0, 0.6); -} -.p-togglebutton.p-button.p-invalid > .p-button { - border-color: #B00020; -} - -.p-button { - color: #ffffff; - background: #3F51B5; - border: 0 none; - padding: 0.571rem 0.75rem; - font-size: 1rem; - transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); - border-radius: 4px; -} -.p-button:enabled:hover { - background: rgba(63, 81, 181, 0.92); - color: #ffffff; - border-color: transparent; -} -.p-button:enabled:active { - background: rgba(63, 81, 181, 0.68); - color: #ffffff; - border-color: transparent; -} -.p-button.p-button-outlined { - background-color: transparent; - color: #3F51B5; - border: 1px solid; -} -.p-button.p-button-outlined:enabled:hover { - background: rgba(63, 81, 181, 0.04); - color: #3F51B5; - border: 1px solid; -} -.p-button.p-button-outlined:enabled:active { - background: rgba(63, 81, 181, 0.16); - color: #3F51B5; - border: 1px solid; -} -.p-button.p-button-outlined.p-button-plain { - color: rgba(0, 0, 0, 0.6); - border-color: rgba(0, 0, 0, 0.6); -} -.p-button.p-button-outlined.p-button-plain:enabled:hover { - background: rgba(0, 0, 0, 0.04); - color: rgba(0, 0, 0, 0.6); -} -.p-button.p-button-outlined.p-button-plain:enabled:active { - background: rgba(0, 0, 0, 0.16); - color: rgba(0, 0, 0, 0.6); -} -.p-button.p-button-text { - background-color: transparent; - color: #3F51B5; - border-color: transparent; -} -.p-button.p-button-text:enabled:hover { - background: rgba(63, 81, 181, 0.04); - color: #3F51B5; - border-color: transparent; -} -.p-button.p-button-text:enabled:active { - background: rgba(63, 81, 181, 0.16); - color: #3F51B5; - border-color: transparent; -} -.p-button.p-button-text.p-button-plain { - color: rgba(0, 0, 0, 0.6); -} -.p-button.p-button-text.p-button-plain:enabled:hover { - background: rgba(0, 0, 0, 0.04); - color: rgba(0, 0, 0, 0.6); -} -.p-button.p-button-text.p-button-plain:enabled:active { - background: rgba(0, 0, 0, 0.16); - color: rgba(0, 0, 0, 0.6); -} -.p-button:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-button .p-button-icon-left { - margin-right: 0.5rem; -} -.p-button .p-button-icon-right { - margin-left: 0.5rem; -} -.p-button .p-button-icon-bottom { - margin-top: 0.5rem; -} -.p-button .p-button-icon-top { - margin-bottom: 0.5rem; -} -.p-button .p-badge { - margin-left: 0.5rem; - min-width: 1rem; - height: 1rem; - line-height: 1rem; - color: #3F51B5; - background-color: #ffffff; -} -.p-button.p-button-raised { - box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); -} -.p-button.p-button-rounded { - border-radius: 2rem; -} -.p-button.p-button-icon-only { - width: 2.25rem; - padding: 0.571rem; -} -.p-button.p-button-icon-only .p-button-icon-left, -.p-button.p-button-icon-only .p-button-icon-right { - margin: 0; -} -.p-button.p-button-icon-only.p-button-rounded { - border-radius: 50%; - height: 2.25rem; -} -.p-button.p-button-sm { - font-size: 0.875rem; - padding: 0.499625rem 0.65625rem; -} -.p-button.p-button-sm .p-button-icon { - font-size: 0.875rem; -} -.p-button.p-button-lg { - font-size: 1.25rem; - padding: 0.71375rem 0.9375rem; -} -.p-button.p-button-lg .p-button-icon { - font-size: 1.25rem; -} - -.p-fluid .p-button { - width: 100%; -} -.p-fluid .p-button-icon-only { - width: 2.25rem; -} -.p-fluid .p-buttonset { - display: flex; -} -.p-fluid .p-buttonset .p-button { - flex: 1; -} - -.p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button { - color: #ffffff; - background: #ff4081; - border: 0 none; -} -.p-button.p-button-secondary:enabled:hover, .p-buttonset.p-button-secondary > .p-button:enabled:hover, .p-splitbutton.p-button-secondary > .p-button:enabled:hover { - background: rgba(255, 64, 129, 0.92); - color: #ffffff; - border-color: transparent; -} -.p-button.p-button-secondary:enabled:focus, .p-buttonset.p-button-secondary > .p-button:enabled:focus, .p-splitbutton.p-button-secondary > .p-button:enabled:focus { - box-shadow: none; -} -.p-button.p-button-secondary:enabled:active, .p-buttonset.p-button-secondary > .p-button:enabled:active, .p-splitbutton.p-button-secondary > .p-button:enabled:active { - background: rgba(255, 64, 129, 0.68); - color: #ffffff; - border-color: transparent; -} -.p-button.p-button-secondary.p-button-outlined, .p-buttonset.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined { - background-color: transparent; - color: #ff4081; - border: 1px solid; -} -.p-button.p-button-secondary.p-button-outlined:enabled:hover, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:enabled:hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:enabled:hover { - background: rgba(255, 64, 129, 0.04); - color: #ff4081; - border: 1px solid; -} -.p-button.p-button-secondary.p-button-outlined:enabled:active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:enabled:active { - background: rgba(255, 64, 129, 0.16); - color: #ff4081; - border: 1px solid; -} -.p-button.p-button-secondary.p-button-text, .p-buttonset.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text { - background-color: transparent; - color: #ff4081; - border-color: transparent; -} -.p-button.p-button-secondary.p-button-text:enabled:hover, .p-buttonset.p-button-secondary > .p-button.p-button-text:enabled:hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:enabled:hover { - background: rgba(255, 64, 129, 0.04); - border-color: transparent; - color: #ff4081; -} -.p-button.p-button-secondary.p-button-text:enabled:active, .p-buttonset.p-button-secondary > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:enabled:active { - background: rgba(255, 64, 129, 0.16); - border-color: transparent; - color: #ff4081; -} - -.p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button { - color: #ffffff; - background: #2196F3; - border: 0 none; -} -.p-button.p-button-info:enabled:hover, .p-buttonset.p-button-info > .p-button:enabled:hover, .p-splitbutton.p-button-info > .p-button:enabled:hover { - background: rgba(33, 150, 243, 0.92); - color: #ffffff; - border-color: transparent; -} -.p-button.p-button-info:enabled:focus, .p-buttonset.p-button-info > .p-button:enabled:focus, .p-splitbutton.p-button-info > .p-button:enabled:focus { - box-shadow: none; -} -.p-button.p-button-info:enabled:active, .p-buttonset.p-button-info > .p-button:enabled:active, .p-splitbutton.p-button-info > .p-button:enabled:active { - background: rgba(33, 150, 243, 0.68); - color: #ffffff; - border-color: transparent; -} -.p-button.p-button-info.p-button-outlined, .p-buttonset.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined { - background-color: transparent; - color: #2196F3; - border: 1px solid; -} -.p-button.p-button-info.p-button-outlined:enabled:hover, .p-buttonset.p-button-info > .p-button.p-button-outlined:enabled:hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:enabled:hover { - background: rgba(33, 150, 243, 0.04); - color: #2196F3; - border: 1px solid; -} -.p-button.p-button-info.p-button-outlined:enabled:active, .p-buttonset.p-button-info > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:enabled:active { - background: rgba(33, 150, 243, 0.16); - color: #2196F3; - border: 1px solid; -} -.p-button.p-button-info.p-button-text, .p-buttonset.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text { - background-color: transparent; - color: #2196F3; - border-color: transparent; -} -.p-button.p-button-info.p-button-text:enabled:hover, .p-buttonset.p-button-info > .p-button.p-button-text:enabled:hover, .p-splitbutton.p-button-info > .p-button.p-button-text:enabled:hover { - background: rgba(33, 150, 243, 0.04); - border-color: transparent; - color: #2196F3; -} -.p-button.p-button-info.p-button-text:enabled:active, .p-buttonset.p-button-info > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-info > .p-button.p-button-text:enabled:active { - background: rgba(33, 150, 243, 0.16); - border-color: transparent; - color: #2196F3; -} - -.p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button { - color: #ffffff; - background: #689F38; - border: 0 none; -} -.p-button.p-button-success:enabled:hover, .p-buttonset.p-button-success > .p-button:enabled:hover, .p-splitbutton.p-button-success > .p-button:enabled:hover { - background: rgba(104, 159, 56, 0.92); - color: #ffffff; - border-color: transparent; -} -.p-button.p-button-success:enabled:focus, .p-buttonset.p-button-success > .p-button:enabled:focus, .p-splitbutton.p-button-success > .p-button:enabled:focus { - box-shadow: none; -} -.p-button.p-button-success:enabled:active, .p-buttonset.p-button-success > .p-button:enabled:active, .p-splitbutton.p-button-success > .p-button:enabled:active { - background: rgba(104, 159, 56, 0.68); - color: #ffffff; - border-color: transparent; -} -.p-button.p-button-success.p-button-outlined, .p-buttonset.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined { - background-color: transparent; - color: #689F38; - border: 1px solid; -} -.p-button.p-button-success.p-button-outlined:enabled:hover, .p-buttonset.p-button-success > .p-button.p-button-outlined:enabled:hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:enabled:hover { - background: rgba(104, 159, 56, 0.04); - color: #689F38; - border: 1px solid; -} -.p-button.p-button-success.p-button-outlined:enabled:active, .p-buttonset.p-button-success > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:enabled:active { - background: rgba(104, 159, 56, 0.16); - color: #689F38; - border: 1px solid; -} -.p-button.p-button-success.p-button-text, .p-buttonset.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text { - background-color: transparent; - color: #689F38; - border-color: transparent; -} -.p-button.p-button-success.p-button-text:enabled:hover, .p-buttonset.p-button-success > .p-button.p-button-text:enabled:hover, .p-splitbutton.p-button-success > .p-button.p-button-text:enabled:hover { - background: rgba(104, 159, 56, 0.04); - border-color: transparent; - color: #689F38; -} -.p-button.p-button-success.p-button-text:enabled:active, .p-buttonset.p-button-success > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-success > .p-button.p-button-text:enabled:active { - background: rgba(104, 159, 56, 0.16); - border-color: transparent; - color: #689F38; -} - -.p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button { - color: #212529; - background: #FBC02D; - border: 0 none; -} -.p-button.p-button-warning:enabled:hover, .p-buttonset.p-button-warning > .p-button:enabled:hover, .p-splitbutton.p-button-warning > .p-button:enabled:hover { - background: rgba(251, 192, 45, 0.92); - color: #212529; - border-color: transparent; -} -.p-button.p-button-warning:enabled:focus, .p-buttonset.p-button-warning > .p-button:enabled:focus, .p-splitbutton.p-button-warning > .p-button:enabled:focus { - box-shadow: none; -} -.p-button.p-button-warning:enabled:active, .p-buttonset.p-button-warning > .p-button:enabled:active, .p-splitbutton.p-button-warning > .p-button:enabled:active { - background: rgba(251, 192, 45, 0.68); - color: #212529; - border-color: transparent; -} -.p-button.p-button-warning.p-button-outlined, .p-buttonset.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined { - background-color: transparent; - color: #FBC02D; - border: 1px solid; -} -.p-button.p-button-warning.p-button-outlined:enabled:hover, .p-buttonset.p-button-warning > .p-button.p-button-outlined:enabled:hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:enabled:hover { - background: rgba(251, 192, 45, 0.04); - color: #FBC02D; - border: 1px solid; -} -.p-button.p-button-warning.p-button-outlined:enabled:active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:enabled:active { - background: rgba(251, 192, 45, 0.16); - color: #FBC02D; - border: 1px solid; -} -.p-button.p-button-warning.p-button-text, .p-buttonset.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text { - background-color: transparent; - color: #FBC02D; - border-color: transparent; -} -.p-button.p-button-warning.p-button-text:enabled:hover, .p-buttonset.p-button-warning > .p-button.p-button-text:enabled:hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:enabled:hover { - background: rgba(251, 192, 45, 0.04); - border-color: transparent; - color: #FBC02D; -} -.p-button.p-button-warning.p-button-text:enabled:active, .p-buttonset.p-button-warning > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-warning > .p-button.p-button-text:enabled:active { - background: rgba(251, 192, 45, 0.16); - border-color: transparent; - color: #FBC02D; -} - -.p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button { - color: #ffffff; - background: #9C27B0; - border: 0 none; -} -.p-button.p-button-help:enabled:hover, .p-buttonset.p-button-help > .p-button:enabled:hover, .p-splitbutton.p-button-help > .p-button:enabled:hover { - background: rgba(156, 39, 176, 0.92); - color: #ffffff; - border-color: transparent; -} -.p-button.p-button-help:enabled:focus, .p-buttonset.p-button-help > .p-button:enabled:focus, .p-splitbutton.p-button-help > .p-button:enabled:focus { - box-shadow: none; -} -.p-button.p-button-help:enabled:active, .p-buttonset.p-button-help > .p-button:enabled:active, .p-splitbutton.p-button-help > .p-button:enabled:active { - background: rgba(156, 39, 176, 0.68); - color: #ffffff; - border-color: transparent; -} -.p-button.p-button-help.p-button-outlined, .p-buttonset.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined { - background-color: transparent; - color: #9C27B0; - border: 1px solid; -} -.p-button.p-button-help.p-button-outlined:enabled:hover, .p-buttonset.p-button-help > .p-button.p-button-outlined:enabled:hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:enabled:hover { - background: rgba(156, 39, 176, 0.04); - color: #9C27B0; - border: 1px solid; -} -.p-button.p-button-help.p-button-outlined:enabled:active, .p-buttonset.p-button-help > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:enabled:active { - background: rgba(156, 39, 176, 0.16); - color: #9C27B0; - border: 1px solid; -} -.p-button.p-button-help.p-button-text, .p-buttonset.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text { - background-color: transparent; - color: #9C27B0; - border-color: transparent; -} -.p-button.p-button-help.p-button-text:enabled:hover, .p-buttonset.p-button-help > .p-button.p-button-text:enabled:hover, .p-splitbutton.p-button-help > .p-button.p-button-text:enabled:hover { - background: rgba(156, 39, 176, 0.04); - border-color: transparent; - color: #9C27B0; -} -.p-button.p-button-help.p-button-text:enabled:active, .p-buttonset.p-button-help > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-help > .p-button.p-button-text:enabled:active { - background: rgba(156, 39, 176, 0.16); - border-color: transparent; - color: #9C27B0; -} - -.p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button { - color: #ffffff; - background: #D32F2F; - border: 0 none; -} -.p-button.p-button-danger:enabled:hover, .p-buttonset.p-button-danger > .p-button:enabled:hover, .p-splitbutton.p-button-danger > .p-button:enabled:hover { - background: rgba(211, 47, 47, 0.92); - color: #ffffff; - border-color: transparent; -} -.p-button.p-button-danger:enabled:focus, .p-buttonset.p-button-danger > .p-button:enabled:focus, .p-splitbutton.p-button-danger > .p-button:enabled:focus { - box-shadow: none; -} -.p-button.p-button-danger:enabled:active, .p-buttonset.p-button-danger > .p-button:enabled:active, .p-splitbutton.p-button-danger > .p-button:enabled:active { - background: rgba(211, 47, 47, 0.68); - color: #ffffff; - border-color: transparent; -} -.p-button.p-button-danger.p-button-outlined, .p-buttonset.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined { - background-color: transparent; - color: #D32F2F; - border: 1px solid; -} -.p-button.p-button-danger.p-button-outlined:enabled:hover, .p-buttonset.p-button-danger > .p-button.p-button-outlined:enabled:hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:enabled:hover { - background: rgba(211, 47, 47, 0.04); - color: #D32F2F; - border: 1px solid; -} -.p-button.p-button-danger.p-button-outlined:enabled:active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:enabled:active { - background: rgba(211, 47, 47, 0.16); - color: #D32F2F; - border: 1px solid; -} -.p-button.p-button-danger.p-button-text, .p-buttonset.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text { - background-color: transparent; - color: #D32F2F; - border-color: transparent; -} -.p-button.p-button-danger.p-button-text:enabled:hover, .p-buttonset.p-button-danger > .p-button.p-button-text:enabled:hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:enabled:hover { - background: rgba(211, 47, 47, 0.04); - border-color: transparent; - color: #D32F2F; -} -.p-button.p-button-danger.p-button-text:enabled:active, .p-buttonset.p-button-danger > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-danger > .p-button.p-button-text:enabled:active { - background: rgba(211, 47, 47, 0.16); - border-color: transparent; - color: #D32F2F; -} - -.p-button.p-button-link { - color: #3F51B5; - background: transparent; - border: transparent; -} -.p-button.p-button-link:enabled:hover { - background: transparent; - color: #3F51B5; - border-color: transparent; -} -.p-button.p-button-link:enabled:hover .p-button-label { - text-decoration: underline; -} -.p-button.p-button-link:enabled:focus { - background: transparent; - box-shadow: none; - border-color: transparent; -} -.p-button.p-button-link:enabled:active { - background: transparent; - color: #3F51B5; - border-color: transparent; -} - -.p-carousel .p-carousel-content .p-carousel-prev, -.p-carousel .p-carousel-content .p-carousel-next { - width: 2rem; - height: 2rem; - color: rgba(0, 0, 0, 0.6); - border: 0 none; - background: transparent; - border-radius: 50%; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; - margin: 0.5rem; -} -.p-carousel .p-carousel-content .p-carousel-prev:enabled:hover, -.p-carousel .p-carousel-content .p-carousel-next:enabled:hover { - color: rgba(0, 0, 0, 0.6); - border-color: transparent; - background: rgba(0, 0, 0, 0.04); -} -.p-carousel .p-carousel-content .p-carousel-prev:focus, -.p-carousel .p-carousel-content .p-carousel-next:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-carousel .p-carousel-indicators { - padding: 1rem; -} -.p-carousel .p-carousel-indicators .p-carousel-indicator { - margin-right: 0.5rem; - margin-bottom: 0.5rem; -} -.p-carousel .p-carousel-indicators .p-carousel-indicator button { - background-color: #dcdcdc; - width: 2rem; - height: 0.5rem; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; - border-radius: 0; -} -.p-carousel .p-carousel-indicators .p-carousel-indicator button:hover { - background: #ececec; -} -.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { - background: rgba(63, 81, 181, 0.12); - color: #3F51B5; -} - -.p-datatable .p-paginator-top { - border-width: 0 0 1px 0; - border-radius: 0; -} -.p-datatable .p-paginator-bottom { - border-width: 0 0 1px 0; - border-radius: 0; -} -.p-datatable .p-datatable-header { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 1px solid #e4e4e4; - border-width: 0 0 1px 0; - padding: 0.75rem 0.75rem; - font-weight: 500; -} -.p-datatable .p-datatable-footer { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 1px solid #e4e4e4; - border-width: 0 0 1px 0; - padding: 0.75rem 0.75rem; - font-weight: 500; -} -.p-datatable .p-datatable-thead > tr > th { - text-align: left; - padding: 0.75rem 0.75rem; - border: 1px solid #e4e4e4; - border-width: 0 0 1px 0; - font-weight: 500; - color: rgba(0, 0, 0, 0.87); - background: #ffffff; - transition: none; -} -.p-datatable .p-datatable-tfoot > tr > td { - text-align: left; - padding: 0.75rem 0.75rem; - border: 1px solid #e4e4e4; - border-width: 0 0 1px 0; - font-weight: 500; - color: rgba(0, 0, 0, 0.87); - background: #ffffff; -} -.p-datatable .p-sortable-column .p-sortable-column-icon { - color: rgba(0, 0, 0, 0.6); - margin-left: 0.5rem; -} -.p-datatable .p-sortable-column .p-sortable-column-badge { - border-radius: 50%; - height: 1.143rem; - min-width: 1.143rem; - line-height: 1.143rem; - color: #3F51B5; - background: rgba(63, 81, 181, 0.12); - margin-left: 0.5rem; -} -.p-datatable .p-sortable-column:not(.p-highlight):hover { - background: rgba(0, 0, 0, 0.04); - color: rgba(0, 0, 0, 0.87); -} -.p-datatable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-datatable .p-sortable-column.p-highlight { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); -} -.p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon { - color: rgba(0, 0, 0, 0.87); -} -.p-datatable .p-sortable-column.p-highlight:hover { - background: rgba(0, 0, 0, 0.04); - color: rgba(0, 0, 0, 0.87); -} -.p-datatable .p-sortable-column.p-highlight:hover .p-sortable-column-icon { - color: rgba(0, 0, 0, 0.87); -} -.p-datatable .p-sortable-column:focus { - box-shadow: none; - outline: 0 none; -} -.p-datatable .p-datatable-tbody > tr { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - transition: none; - outline-color: transparent; -} -.p-datatable .p-datatable-tbody > tr > td { - text-align: left; - border: 1px solid #e4e4e4; - border-width: 0 0 1px 0; - padding: 0.75rem 0.75rem; -} -.p-datatable .p-datatable-tbody > tr > td .p-row-toggler, -.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init, -.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save, -.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel { - width: 2rem; - height: 2rem; - color: rgba(0, 0, 0, 0.6); - border: 0 none; - background: transparent; - border-radius: 50%; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; -} -.p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover, -.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover, -.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover, -.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover { - color: rgba(0, 0, 0, 0.6); - border-color: transparent; - background: rgba(0, 0, 0, 0.04); -} -.p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus, -.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus, -.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus, -.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save { - margin-right: 0.5rem; -} -.p-datatable .p-datatable-tbody > tr > td > .p-column-title { - font-weight: 500; -} -.p-datatable .p-datatable-tbody > tr.p-highlight { - background: rgba(63, 81, 181, 0.12); - color: #3F51B5; -} -.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { - box-shadow: inset 0 2px 0 0 rgba(63, 81, 181, 0.12); -} -.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { - box-shadow: inset 0 -2px 0 0 rgba(63, 81, 181, 0.12); -} -.p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):hover { - background: rgba(0, 0, 0, 0.04); - color: rgba(0, 0, 0, 0.87); -} -.p-datatable .p-column-resizer-helper { - background: #3F51B5; -} -.p-datatable .p-datatable-scrollable-header, -.p-datatable .p-datatable-scrollable-footer { - background: #ffffff; -} -.p-datatable .p-datatable-loading-icon { - font-size: 2rem; -} -.p-datatable.p-datatable-gridlines .p-datatable-header { - border-width: 1px 1px 0 1px; -} -.p-datatable.p-datatable-gridlines .p-datatable-footer { - border-width: 0 1px 1px 1px; -} -.p-datatable.p-datatable-gridlines .p-paginator-top { - border-width: 0 1px 0 1px; -} -.p-datatable.p-datatable-gridlines .p-paginator-bottom { - border-width: 0 1px 1px 1px; -} -.p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th { - border-width: 1px 1px 1px 1px; -} -.p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td { - border-width: 1px; -} -.p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td { - border-width: 1px; -} -.p-datatable.p-datatable-striped .p-datatable-tbody > tr:nth-child(even) { - background: rgba(0, 0, 0, 0.02); -} -.p-datatable.p-datatable-striped .p-datatable-tbody > tr:nth-child(even).p-highlight { - background: rgba(63, 81, 181, 0.12); - color: #3F51B5; -} -.p-datatable.p-datatable-striped .p-datatable-tbody > tr:nth-child(even).p-highlight .p-row-toggler { - color: #3F51B5; -} -.p-datatable.p-datatable-striped .p-datatable-tbody > tr:nth-child(even).p-highlight .p-row-toggler:hover { - color: #3F51B5; -} -.p-datatable.p-datatable-sm .p-datatable-header { - padding: 0.375rem 0.375rem; -} -.p-datatable.p-datatable-sm .p-datatable-thead > tr > th { - padding: 0.375rem 0.375rem; -} -.p-datatable.p-datatable-sm .p-datatable-tbody > tr > td { - padding: 0.375rem 0.375rem; -} -.p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td { - padding: 0.375rem 0.375rem; -} -.p-datatable.p-datatable-sm .p-datatable-footer { - padding: 0.375rem 0.375rem; -} -.p-datatable.p-datatable-lg .p-datatable-header { - padding: 0.9375rem 0.9375rem; -} -.p-datatable.p-datatable-lg .p-datatable-thead > tr > th { - padding: 0.9375rem 0.9375rem; -} -.p-datatable.p-datatable-lg .p-datatable-tbody > tr > td { - padding: 0.9375rem 0.9375rem; -} -.p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td { - padding: 0.9375rem 0.9375rem; -} -.p-datatable.p-datatable-lg .p-datatable-footer { - padding: 0.9375rem 0.9375rem; -} - -.p-dataview .p-paginator-top { - border-width: 0 0 1px 0; - border-radius: 0; -} -.p-dataview .p-paginator-bottom { - border-width: 0 0 1px 0; - border-radius: 0; -} -.p-dataview .p-dataview-header { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 1px solid #e4e4e4; - border-width: 0 0 1px 0; - padding: 0.75rem 0.75rem; - font-weight: 500; -} -.p-dataview .p-dataview-content { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 0 none; - padding: 0.75rem; -} -.p-dataview.p-dataview-list .p-dataview-content > .p-grid > div { - border: solid rgba(0, 0, 0, 0.12); - border-width: 0 0 1px 0; -} -.p-dataview .p-dataview-footer { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 1px solid #e4e4e4; - border-width: 0 0 1px 0; - padding: 0.75rem 0.75rem; - font-weight: 500; - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; -} - -.p-column-filter-row .p-column-filter-menu-button, -.p-column-filter-row .p-column-filter-clear-button { - margin-left: 0.5rem; -} - -.p-column-filter-menu-button { - width: 2rem; - height: 2rem; - color: rgba(0, 0, 0, 0.6); - border: 0 none; - background: transparent; - border-radius: 50%; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; -} -.p-column-filter-menu-button:hover { - color: rgba(0, 0, 0, 0.6); - border-color: transparent; - background: rgba(0, 0, 0, 0.04); -} -.p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover { - background: rgba(0, 0, 0, 0.04); - color: rgba(0, 0, 0, 0.6); -} -.p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover { - background: rgba(63, 81, 181, 0.12); - color: #3F51B5; -} -.p-column-filter-menu-button:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} - -.p-column-filter-clear-button { - width: 2rem; - height: 2rem; - color: rgba(0, 0, 0, 0.6); - border: 0 none; - background: transparent; - border-radius: 50%; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; -} -.p-column-filter-clear-button:hover { - color: rgba(0, 0, 0, 0.6); - border-color: transparent; - background: rgba(0, 0, 0, 0.04); -} -.p-column-filter-clear-button:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} - -.p-column-filter-overlay { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 0 none; - border-radius: 4px; - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); - min-width: 12.5rem; -} -.p-column-filter-overlay .p-column-filter-row-items { - padding: 0; -} -.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item { - margin: 0; - padding: 0.75rem 0.75rem; - border: 0 none; - color: rgba(0, 0, 0, 0.87); - background: transparent; - transition: none; - border-radius: 0; -} -.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight { - color: #3F51B5; - background: rgba(63, 81, 181, 0.12); -} -.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover { - color: rgba(0, 0, 0, 0.87); - background: rgba(0, 0, 0, 0.04); -} -.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator { - border-top: 1px solid rgba(0, 0, 0, 0.12); - margin: 0.5rem 0; -} - -.p-column-filter-overlay-menu .p-column-filter-operator { - padding: 0.75rem; - border-bottom: 1px solid rgba(0, 0, 0, 0.12); - color: rgba(0, 0, 0, 0.87); - background: #ffffff; - margin: 0; - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} -.p-column-filter-overlay-menu .p-column-filter-constraint { - padding: 0.75rem; - border-bottom: 1px solid rgba(0, 0, 0, 0.12); -} -.p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown { - margin-bottom: 0.5rem; -} -.p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button { - margin-top: 0.5rem; -} -.p-column-filter-overlay-menu .p-column-filter-constraint:last-child { - border-bottom: 0 none; -} -.p-column-filter-overlay-menu .p-column-filter-add-rule { - padding: 0.75rem 0.75rem; -} -.p-column-filter-overlay-menu .p-column-filter-buttonbar { - padding: 0.75rem; -} - -.fc .fc-view-harness th { - background: #ffffff; - border: 1px solid #e0e0e0; - color: rgba(0, 0, 0, 0.87); -} -.fc .fc-view-harness td { - background: #ffffff; - border: 1px solid #e0e0e0; - color: rgba(0, 0, 0, 0.87); - border-top-width: 0; - border-left-width: 0; -} -.fc .fc-view-harness .fc-daygrid-event-dot { - border-color: #3F51B5; -} -.fc .fc-view-harness .fc-row { - border-right: 1px solid #e0e0e0; - display: none !important; -} -.fc .fc-view-harness .fc-event, .fc .fc-view-harness .fc-event-main { - background: rgba(63, 81, 181, 0.12); - border: 1px solid rgba(63, 81, 181, 0.12); - color: #3F51B5; -} -.fc .fc-view-harness .fc-divider { - background: #ffffff; - border: 1px solid #e0e0e0; - display: none !important; -} -.fc .fc-view-harness .fc-scrollgrid { - border: 1px solid #e0e0e0; -} -.fc .fc-view-harness .fc-scrollgrid-section-header > *, -.fc .fc-view-harness .fc-scrollgrid-section-footer > * { - border-bottom-width: 0; -} -.fc .fc-toolbar .fc-button { - color: #ffffff; - background: #3F51B5; - border: 0 none; - font-size: 1rem; - transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); - border-radius: 4px; - display: flex; - align-items: center; -} -.fc .fc-toolbar .fc-button:enabled:hover { - background: rgba(63, 81, 181, 0.92); - color: #ffffff; - border-color: transparent; -} -.fc .fc-toolbar .fc-button:enabled:active { - background: rgba(63, 81, 181, 0.68); - color: #ffffff; - border-color: transparent; -} -.fc .fc-toolbar .fc-button:enabled:active:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.fc .fc-toolbar .fc-button .fc-icon-chevron-left { - font-family: "PrimeIcons" !important; - text-indent: 0; - font-size: 1rem; -} -.fc .fc-toolbar .fc-button .fc-icon-chevron-left:before { - content: ""; -} -.fc .fc-toolbar .fc-button .fc-icon-chevron-right { - font-family: "PrimeIcons" !important; - text-indent: 0; - font-size: 1rem; -} -.fc .fc-toolbar .fc-button .fc-icon-chevron-right:before { - content: ""; -} -.fc .fc-toolbar .fc-button:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.fc .fc-toolbar .fc-button.fc-dayGridMonth-button, .fc .fc-toolbar .fc-button.fc-timeGridWeek-button, .fc .fc-toolbar .fc-button.fc-timeGridDay-button { - background: #ffffff; - border: 1px solid rgba(0, 0, 0, 0.12); - color: rgba(0, 0, 0, 0.87); - transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); -} -.fc .fc-toolbar .fc-button.fc-dayGridMonth-button:hover, .fc .fc-toolbar .fc-button.fc-timeGridWeek-button:hover, .fc .fc-toolbar .fc-button.fc-timeGridDay-button:hover { - background: #f6f6f6; - border-color: rgba(0, 0, 0, 0.12); - color: rgba(0, 0, 0, 0.87); -} -.fc .fc-toolbar .fc-button.fc-dayGridMonth-button.fc-button-active, .fc .fc-toolbar .fc-button.fc-timeGridWeek-button.fc-button-active, .fc .fc-toolbar .fc-button.fc-timeGridDay-button.fc-button-active { - background: #e0e0e1; - border-color: #e0e0e1; - color: rgba(0, 0, 0, 0.87); -} -.fc .fc-toolbar .fc-button.fc-dayGridMonth-button.fc-button-active:hover, .fc .fc-toolbar .fc-button.fc-timeGridWeek-button.fc-button-active:hover, .fc .fc-toolbar .fc-button.fc-timeGridDay-button.fc-button-active:hover { - background: #d9d8d9; - border-color: #d9d8d9; - color: rgba(0, 0, 0, 0.87); -} -.fc .fc-toolbar .fc-button.fc-dayGridMonth-button:focus, .fc .fc-toolbar .fc-button.fc-timeGridWeek-button:focus, .fc .fc-toolbar .fc-button.fc-timeGridDay-button:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; - z-index: 1; -} -.fc .fc-toolbar .fc-button-group .fc-button { - border-radius: 0; -} -.fc .fc-toolbar .fc-button-group .fc-button:first-child { - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} -.fc .fc-toolbar .fc-button-group .fc-button:last-child { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} - -.p-orderlist .p-orderlist-controls { - padding: 0.75rem; -} -.p-orderlist .p-orderlist-controls .p-button { - margin-bottom: 0.5rem; -} -.p-orderlist .p-orderlist-header { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 1px solid #e0e0e0; - padding: 0.75rem; - font-weight: 500; - border-bottom: 0 none; - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} -.p-orderlist .p-orderlist-list { - border: 1px solid #e0e0e0; - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - padding: 0; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -.p-orderlist .p-orderlist-list .p-orderlist-item { - padding: 0.75rem 0.75rem; - margin: 0; - border: 0 none; - color: rgba(0, 0, 0, 0.87); - background: transparent; - transition: transform 0.2s, none; -} -.p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover { - background: rgba(0, 0, 0, 0.04); - color: rgba(0, 0, 0, 0.87); -} -.p-orderlist .p-orderlist-list .p-orderlist-item:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight { - color: #3F51B5; - background: rgba(63, 81, 181, 0.12); -} - -.p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover { - background: rgba(0, 0, 0, 0.04); - color: rgba(0, 0, 0, 0.87); -} -.p-organizationchart .p-organizationchart-node-content.p-highlight { - background: rgba(63, 81, 181, 0.12); - color: #3F51B5; -} -.p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i { - color: rgba(30, 39, 86, 0.12); -} -.p-organizationchart .p-organizationchart-line-down { - background: rgba(0, 0, 0, 0.12); -} -.p-organizationchart .p-organizationchart-line-left { - border-right: 1px solid #e0e0e0; - border-color: rgba(0, 0, 0, 0.12); -} -.p-organizationchart .p-organizationchart-line-top { - border-top: 1px solid #e0e0e0; - border-color: rgba(0, 0, 0, 0.12); -} -.p-organizationchart .p-organizationchart-node-content { - border: 1px solid #e0e0e0; - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - padding: 0.75rem; -} -.p-organizationchart .p-organizationchart-node-content .p-node-toggler { - background: inherit; - color: inherit; - border-radius: 50%; -} -.p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} - -.p-paginator { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: solid #e4e4e4; - border-width: 0; - padding: 0.375rem 0.75rem; - border-radius: 4px; -} -.p-paginator .p-paginator-first, -.p-paginator .p-paginator-prev, -.p-paginator .p-paginator-next, -.p-paginator .p-paginator-last { - background-color: transparent; - border: 0 none; - color: rgba(0, 0, 0, 0.6); - min-width: 3rem; - height: 3rem; - margin: 0.143rem; - transition: none; - border-radius: 50%; -} -.p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover, -.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover, -.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover, -.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover { - background: rgba(0, 0, 0, 0.04); - border-color: transparent; - color: rgba(0, 0, 0, 0.6); -} -.p-paginator .p-paginator-first { - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} -.p-paginator .p-paginator-last { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} -.p-paginator .p-dropdown { - margin-left: 0.5rem; - height: 3rem; -} -.p-paginator .p-dropdown .p-dropdown-label { - padding-right: 0; -} -.p-paginator .p-paginator-current { - background-color: transparent; - border: 0 none; - color: rgba(0, 0, 0, 0.6); - min-width: 3rem; - height: 3rem; - margin: 0.143rem; - padding: 0 0.5rem; -} -.p-paginator .p-paginator-pages .p-paginator-page { - background-color: transparent; - border: 0 none; - color: rgba(0, 0, 0, 0.6); - min-width: 3rem; - height: 3rem; - margin: 0.143rem; - transition: none; - border-radius: 50%; -} -.p-paginator .p-paginator-pages .p-paginator-page.p-highlight { - background: rgba(63, 81, 181, 0.12); - border-color: rgba(63, 81, 181, 0.12); - color: #3F51B5; -} -.p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover { - background: rgba(0, 0, 0, 0.04); - border-color: transparent; - color: rgba(0, 0, 0, 0.6); -} - -.p-picklist .p-picklist-buttons { - padding: 0.75rem; -} -.p-picklist .p-picklist-buttons .p-button { - margin-bottom: 0.5rem; -} -.p-picklist .p-picklist-header { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 1px solid #e0e0e0; - padding: 0.75rem; - font-weight: 500; - border-bottom: 0 none; - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} -.p-picklist .p-picklist-list { - border: 1px solid #e0e0e0; - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - padding: 0; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -.p-picklist .p-picklist-list .p-picklist-item { - padding: 0.75rem 0.75rem; - margin: 0; - border: 0 none; - color: rgba(0, 0, 0, 0.87); - background: transparent; - transition: transform 0.2s, none; -} -.p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover { - background: rgba(0, 0, 0, 0.04); - color: rgba(0, 0, 0, 0.87); -} -.p-picklist .p-picklist-list .p-picklist-item:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-picklist .p-picklist-list .p-picklist-item.p-highlight { - color: #3F51B5; - background: rgba(63, 81, 181, 0.12); -} - -.p-timeline .p-timeline-event-marker { - border: 0 none; - border-radius: 50%; - width: 1rem; - height: 1rem; - background-color: #bdbdbd; -} -.p-timeline .p-timeline-event-connector { - background-color: #bdbdbd; -} -.p-timeline.p-timeline-vertical .p-timeline-event-opposite, -.p-timeline.p-timeline-vertical .p-timeline-event-content { - padding: 0 1rem; -} -.p-timeline.p-timeline-vertical .p-timeline-event-connector { - width: 2px; -} -.p-timeline.p-timeline-horizontal .p-timeline-event-opposite, -.p-timeline.p-timeline-horizontal .p-timeline-event-content { - padding: 1rem 0; -} -.p-timeline.p-timeline-horizontal .p-timeline-event-connector { - height: 2px; -} - -.p-tree { - border: 1px solid #e0e0e0; - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - padding: 0.75rem; - border-radius: 4px; -} -.p-tree .p-tree-container .p-treenode { - padding: 0.25rem; -} -.p-tree .p-tree-container .p-treenode .p-treenode-content { - border-radius: 4px; - transition: none; - padding: 0.571rem; -} -.p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler { - margin-right: 0.5rem; - width: 2rem; - height: 2rem; - color: rgba(0, 0, 0, 0.6); - border: 0 none; - background: transparent; - border-radius: 50%; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; -} -.p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover { - color: rgba(0, 0, 0, 0.6); - border-color: transparent; - background: rgba(0, 0, 0, 0.04); -} -.p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon { - margin-right: 0.5rem; - color: rgba(0, 0, 0, 0.6); -} -.p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox { - margin-right: 0.5rem; -} -.p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon { - color: rgba(0, 0, 0, 0.87); -} -.p-tree .p-tree-container .p-treenode .p-treenode-content:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight { - background: rgba(63, 81, 181, 0.12); - color: #3F51B5; -} -.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler, -.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon { - color: #3F51B5; -} -.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover, -.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover { - color: #3F51B5; -} -.p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover { - background: rgba(0, 0, 0, 0.04); - color: rgba(0, 0, 0, 0.87); -} -.p-tree .p-tree-filter-container { - margin-bottom: 0.5rem; -} -.p-tree .p-tree-filter-container .p-tree-filter { - width: 100%; - padding-right: 1.75rem; -} -.p-tree .p-tree-filter-container .p-tree-filter-icon { - right: 0.75rem; - color: rgba(0, 0, 0, 0.6); -} -.p-tree .p-treenode-children { - padding: 0 0 0 1rem; -} -.p-tree .p-tree-loading-icon { - font-size: 2rem; -} - -.p-treetable .p-paginator-top { - border-width: 0 0 1px 0; - border-radius: 0; -} -.p-treetable .p-paginator-bottom { - border-width: 0 0 1px 0; - border-radius: 0; -} -.p-treetable .p-treetable-header { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 1px solid #e4e4e4; - border-width: 0 0 1px 0; - padding: 0.75rem 0.75rem; - font-weight: 500; -} -.p-treetable .p-treetable-footer { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 1px solid #e4e4e4; - border-width: 0 0 1px 0; - padding: 0.75rem 0.75rem; - font-weight: 500; -} -.p-treetable .p-treetable-thead > tr > th { - text-align: left; - padding: 0.75rem 0.75rem; - border: 1px solid #e4e4e4; - border-width: 0 0 1px 0; - font-weight: 500; - color: rgba(0, 0, 0, 0.87); - background: #ffffff; - transition: none; -} -.p-treetable .p-treetable-tfoot > tr > td { - text-align: left; - padding: 0.75rem 0.75rem; - border: 1px solid #e4e4e4; - border-width: 0 0 1px 0; - font-weight: 500; - color: rgba(0, 0, 0, 0.87); - background: #ffffff; -} -.p-treetable .p-sortable-column { - outline-color: transparent; -} -.p-treetable .p-sortable-column .p-sortable-column-icon { - color: rgba(0, 0, 0, 0.6); - margin-left: 0.5rem; -} -.p-treetable .p-sortable-column .p-sortable-column-badge { - border-radius: 50%; - height: 1.143rem; - min-width: 1.143rem; - line-height: 1.143rem; - color: #3F51B5; - background: rgba(63, 81, 181, 0.12); - margin-left: 0.5rem; -} -.p-treetable .p-sortable-column:not(.p-highlight):hover { - background: rgba(0, 0, 0, 0.04); - color: rgba(0, 0, 0, 0.87); -} -.p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-treetable .p-sortable-column.p-highlight { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); -} -.p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon { - color: rgba(0, 0, 0, 0.87); -} -.p-treetable .p-treetable-tbody > tr { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - transition: none; - outline-color: transparent; -} -.p-treetable .p-treetable-tbody > tr > td { - text-align: left; - border: 1px solid #e4e4e4; - border-width: 0 0 1px 0; - padding: 0.75rem 0.75rem; -} -.p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler { - width: 2rem; - height: 2rem; - color: rgba(0, 0, 0, 0.6); - border: 0 none; - background: transparent; - border-radius: 50%; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; - margin-right: 0.5rem; -} -.p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover { - color: rgba(0, 0, 0, 0.6); - border-color: transparent; - background: rgba(0, 0, 0, 0.04); -} -.p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox { - margin-right: 0.5rem; -} -.p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon { - color: rgba(0, 0, 0, 0.87); -} -.p-treetable .p-treetable-tbody > tr.p-highlight { - background: rgba(63, 81, 181, 0.12); - color: #3F51B5; -} -.p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler { - color: #3F51B5; -} -.p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover { - color: #3F51B5; -} -.p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover { - background: rgba(0, 0, 0, 0.04); - color: rgba(0, 0, 0, 0.87); -} -.p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler { - color: rgba(0, 0, 0, 0.87); -} -.p-treetable .p-column-resizer-helper { - background: #3F51B5; -} -.p-treetable .p-treetable-scrollable-header, -.p-treetable .p-treetable-scrollable-footer { - background: #ffffff; -} -.p-treetable .p-treetable-loading-icon { - font-size: 2rem; -} -.p-treetable.p-treetable-gridlines .p-datatable-header { - border-width: 1px 1px 0 1px; -} -.p-treetable.p-treetable-gridlines .p-treetable-footer { - border-width: 0 1px 1px 1px; -} -.p-treetable.p-treetable-gridlines .p-treetable-top { - border-width: 0 1px 0 1px; -} -.p-treetable.p-treetable-gridlines .p-treetable-bottom { - border-width: 0 1px 1px 1px; -} -.p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th { - border-width: 1px; -} -.p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td { - border-width: 1px; -} -.p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td { - border-width: 1px; -} -.p-treetable.p-treetable-sm .p-treetable-header { - padding: 0.65625rem 0.65625rem; -} -.p-treetable.p-treetable-sm .p-treetable-thead > tr > th { - padding: 0.375rem 0.375rem; -} -.p-treetable.p-treetable-sm .p-treetable-tbody > tr > td { - padding: 0.375rem 0.375rem; -} -.p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td { - padding: 0.375rem 0.375rem; -} -.p-treetable.p-treetable-sm .p-treetable-footer { - padding: 0.375rem 0.375rem; -} -.p-treetable.p-treetable-lg .p-treetable-header { - padding: 0.9375rem 0.9375rem; -} -.p-treetable.p-treetable-lg .p-treetable-thead > tr > th { - padding: 0.9375rem 0.9375rem; -} -.p-treetable.p-treetable-lg .p-treetable-tbody > tr > td { - padding: 0.9375rem 0.9375rem; -} -.p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td { - padding: 0.9375rem 0.9375rem; -} -.p-treetable.p-treetable-lg .p-treetable-footer { - padding: 0.9375rem 0.9375rem; -} - -.p-accordion .p-accordion-header .p-accordion-header-link { - padding: 1.25rem; - border: 0 none; - color: rgba(0, 0, 0, 0.87); - background: #ffffff; - font-weight: 400; - border-radius: 4px; - transition: none; -} -.p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon { - margin-right: 0.5rem; -} -.p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link { - background: #f6f6f6; - border-color: transparent; - color: rgba(0, 0, 0, 0.87); -} -.p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link { - background: #ffffff; - border-color: transparent; - color: rgba(0, 0, 0, 0.87); - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { - border-color: transparent; - background: #ffffff; - color: rgba(0, 0, 0, 0.87); -} -.p-accordion .p-accordion-content { - padding: 0.75rem 1.25rem; - border: 0 none; - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border-top: 0; - border-top-right-radius: 0; - border-top-left-radius: 0; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -.p-accordion .p-accordion-tab { - margin-bottom: 0; -} -.p-accordion .p-accordion-tab .p-accordion-header .p-accordion-header-link { - border-radius: 0; -} -.p-accordion .p-accordion-tab .p-accordion-content { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header .p-accordion-header-link { - border-top: 0 none; -} -.p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link, .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { - border-top: 0 none; -} -.p-accordion .p-accordion-tab:first-child .p-accordion-header .p-accordion-header-link { - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} -.p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-header-link { - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -.p-accordion .p-accordion-tab:last-child .p-accordion-content { - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} - -.p-card { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); - border-radius: 4px; -} -.p-card .p-card-body { - padding: 0.75rem; -} -.p-card .p-card-title { - font-size: 1.5rem; - font-weight: 700; - margin-bottom: 0.5rem; -} -.p-card .p-card-subtitle { - font-weight: 400; - margin-bottom: 0.5rem; - color: rgba(0, 0, 0, 0.6); -} -.p-card .p-card-content { - padding: 0.75rem 0; -} -.p-card .p-card-footer { - padding: 0.75rem 0 0 0; -} - -.p-fieldset { - border: 1px solid #e0e0e0; - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border-radius: 4px; -} -.p-fieldset .p-fieldset-legend { - padding: 0.75rem; - border: 1px solid #e0e0e0; - color: rgba(0, 0, 0, 0.87); - background: #ffffff; - font-weight: 500; - border-radius: 4px; -} -.p-fieldset.p-fieldset-toggleable .p-fieldset-legend { - padding: 0; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; -} -.p-fieldset.p-fieldset-toggleable .p-fieldset-legend a { - padding: 0.75rem; - color: rgba(0, 0, 0, 0.87); - border-radius: 4px; - transition: none; -} -.p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler { - margin-right: 0.5rem; -} -.p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover { - background: rgba(0, 0, 0, 0.04); - border-color: #e0e0e0; - color: rgba(0, 0, 0, 0.87); -} -.p-fieldset .p-fieldset-content { - padding: 0.75rem; -} - -.p-divider .p-divider-content { - background-color: #ffffff; -} -.p-divider.p-divider-horizontal { - margin: 1rem 0; - padding: 0 1rem; -} -.p-divider.p-divider-horizontal:before { - border-top: 1px rgba(0, 0, 0, 0.12); -} -.p-divider.p-divider-horizontal .p-divider-content { - padding: 0 0.5rem; -} -.p-divider.p-divider-vertical { - margin: 0 1rem; - padding: 1rem 0; -} -.p-divider.p-divider-vertical:before { - border-left: 1px rgba(0, 0, 0, 0.12); -} -.p-divider.p-divider-vertical .p-divider-content { - padding: 0.5rem 0; -} - -.p-panel .p-panel-header { - border: 1px solid #e0e0e0; - padding: 0.75rem; - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} -.p-panel .p-panel-header .p-panel-title { - font-weight: 500; -} -.p-panel .p-panel-header .p-panel-header-icon { - width: 2rem; - height: 2rem; - color: rgba(0, 0, 0, 0.6); - border: 0 none; - background: transparent; - border-radius: 50%; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; -} -.p-panel .p-panel-header .p-panel-header-icon:enabled:hover { - color: rgba(0, 0, 0, 0.6); - border-color: transparent; - background: rgba(0, 0, 0, 0.04); -} -.p-panel .p-panel-header .p-panel-header-icon:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-panel.p-panel-toggleable .p-panel-header { - padding: 0.5rem 1rem; -} -.p-panel .p-panel-content { - padding: 0.75rem; - border: 1px solid #e0e0e0; - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; - border-top: 0 none; -} -.p-panel .p-panel-footer { - padding: 0.75rem 0.75rem; - border: 1px solid #e0e0e0; - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border-top: 0 none; -} - -.p-scrollpanel .p-scrollpanel-bar { - background: rgba(0, 0, 0, 0.12); - border: 0 none; -} - -.p-splitter { - border: 1px solid #e0e0e0; - background: #ffffff; - border-radius: 4px; - color: rgba(0, 0, 0, 0.87); -} -.p-splitter .p-splitter-gutter { - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; - background: rgba(0, 0, 0, 0.04); -} -.p-splitter .p-splitter-gutter .p-splitter-gutter-handle { - background: rgba(0, 0, 0, 0.12); -} -.p-splitter .p-splitter-gutter-resizing { - background: rgba(0, 0, 0, 0.12); -} - -.p-tabview .p-tabview-nav { - background: #ffffff; - border: solid rgba(0, 0, 0, 0.12); - border-width: 0 0 1px 0; -} -.p-tabview .p-tabview-nav li { - margin-right: 0; -} -.p-tabview .p-tabview-nav li .p-tabview-nav-link { - border: none; - border-width: 0 0 0 0; - border-color: transparent transparent transparent transparent; - background: #ffffff; - color: rgba(0, 0, 0, 0.6); - padding: 0.75rem 1.25rem; - font-weight: 500; - border-top-right-radius: 4px; - border-top-left-radius: 4px; - transition: none; - margin: 0 0 0 0; -} -.p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link { - background: rgba(63, 81, 181, 0.04); - border-color: transparent; - color: rgba(0, 0, 0, 0.6); -} -.p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link { - background: #ffffff; - border-color: transparent; - color: #3F51B5; -} -.p-tabview .p-tabview-panels { - background: #ffffff; - padding: 0.75rem; - border: 0 none; - color: rgba(0, 0, 0, 0.87); - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} - -.p-toolbar { - background: #ffffff; - border: 1px solid #e0e0e0; - padding: 0.75rem; - border-radius: 4px; -} -.p-toolbar .p-toolbar-separator { - margin: 0 0.5rem; -} - -.p-confirm-popup { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 0 none; - border-radius: 4px; - box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12); -} -.p-confirm-popup .p-confirm-popup-content { - padding: 1.25rem; -} -.p-confirm-popup .p-confirm-popup-footer { - text-align: right; - padding: 0 1.25rem 0.75rem 1.25rem; -} -.p-confirm-popup .p-confirm-popup-footer button { - margin: 0 0.5rem 0 0; - width: auto; -} -.p-confirm-popup .p-confirm-popup-footer button:last-child { - margin: 0; -} -.p-confirm-popup:after { - border: solid transparent; - border-color: rgba(255, 255, 255, 0); - border-bottom-color: #ffffff; -} -.p-confirm-popup:before { - border: solid transparent; - border-color: rgba(255, 255, 255, 0); - border-bottom-color: #ffffff; -} -.p-confirm-popup.p-confirm-popup-flipped:after { - border-top-color: #ffffff; -} -.p-confirm-popup.p-confirm-popup-flipped:before { - border-top-color: #ffffff; -} -.p-confirm-popup .p-confirm-popup-icon { - font-size: 1.5rem; -} -.p-confirm-popup .p-confirm-popup-message { - margin-left: 1rem; -} - -.p-dialog { - border-radius: 4px; - box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12); - border: 0 none; -} -.p-dialog .p-dialog-header { - border-bottom: 0 none; - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - padding: 1.25rem; - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} -.p-dialog .p-dialog-header .p-dialog-title { - font-weight: 500; - font-size: 1.25rem; -} -.p-dialog .p-dialog-header .p-dialog-header-icon { - width: 2rem; - height: 2rem; - color: rgba(0, 0, 0, 0.6); - border: 0 none; - background: transparent; - border-radius: 50%; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; - margin-right: 0.5rem; -} -.p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover { - color: rgba(0, 0, 0, 0.6); - border-color: transparent; - background: rgba(0, 0, 0, 0.04); -} -.p-dialog .p-dialog-header .p-dialog-header-icon:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-dialog .p-dialog-header .p-dialog-header-icon:last-child { - margin-right: 0; -} -.p-dialog .p-dialog-content { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - padding: 0 1.25rem 1.25rem 1.25rem; -} -.p-dialog .p-dialog-footer { - border-top: 0 none; - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - padding: 0.75rem 1.25rem; - text-align: right; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -.p-dialog .p-dialog-footer button { - margin: 0 0.5rem 0 0; - width: auto; -} -.p-dialog.p-confirm-dialog .p-confirm-dialog-icon { - font-size: 2rem; -} -.p-dialog.p-confirm-dialog .p-confirm-dialog-message { - margin-left: 1rem; -} - -.p-dialog-mask.p-component-overlay { - background-color: rgba(0, 0, 0, 0.32); -} - -.p-overlaypanel { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 0 none; - border-radius: 4px; - box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12); -} -.p-overlaypanel .p-overlaypanel-content { - padding: 0.75rem; -} -.p-overlaypanel .p-overlaypanel-close { - background: #3F51B5; - color: #ffffff; - width: 2rem; - height: 2rem; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; - border-radius: 50%; - position: absolute; - top: -1rem; - right: -1rem; -} -.p-overlaypanel .p-overlaypanel-close:enabled:hover { - background: rgba(63, 81, 181, 0.92); - color: #ffffff; -} -.p-overlaypanel:after { - border: solid transparent; - border-color: rgba(255, 255, 255, 0); - border-bottom-color: #ffffff; -} -.p-overlaypanel:before { - border: solid transparent; - border-color: rgba(255, 255, 255, 0); - border-bottom-color: #ffffff; -} -.p-overlaypanel.p-overlaypanel-flipped:after { - border-top-color: #ffffff; -} -.p-overlaypanel.p-overlaypanel-flipped:before { - border-top-color: #ffffff; -} - -.p-sidebar { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - padding: 0.75rem; - border: 0 none; - box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12); -} -.p-sidebar .p-sidebar-close { - width: 2rem; - height: 2rem; - color: rgba(0, 0, 0, 0.6); - border: 0 none; - background: transparent; - border-radius: 50%; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; -} -.p-sidebar .p-sidebar-close:enabled:hover { - color: rgba(0, 0, 0, 0.6); - border-color: transparent; - background: rgba(0, 0, 0, 0.04); -} -.p-sidebar .p-sidebar-close:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} - -.p-sidebar-mask.p-component-overlay { - background: rgba(0, 0, 0, 0.32); -} - -.p-tooltip .p-tooltip-text { - background: rgba(97, 97, 97, 0.9); - color: #ffffff; - padding: 0.5rem; - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); - border-radius: 4px; -} -.p-tooltip.p-tooltip-right .p-tooltip-arrow { - border-right-color: rgba(97, 97, 97, 0.9); -} -.p-tooltip.p-tooltip-left .p-tooltip-arrow { - border-left-color: rgba(97, 97, 97, 0.9); -} -.p-tooltip.p-tooltip-top .p-tooltip-arrow { - border-top-color: rgba(97, 97, 97, 0.9); -} -.p-tooltip.p-tooltip-bottom .p-tooltip-arrow { - border-bottom-color: rgba(97, 97, 97, 0.9); -} - -.p-fileupload .p-fileupload-buttonbar { - background: #ffffff; - padding: 0.75rem; - border: 1px solid #e0e0e0; - color: rgba(0, 0, 0, 0.87); - border-bottom: 0 none; - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} -.p-fileupload .p-fileupload-buttonbar .p-button { - margin-right: 0.5rem; -} -.p-fileupload .p-fileupload-buttonbar .p-button.p-fileupload-choose.p-focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-fileupload .p-fileupload-content { - background: #ffffff; - padding: 2rem 1rem; - border: 1px solid #e0e0e0; - color: rgba(0, 0, 0, 0.87); - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -.p-fileupload .p-progressbar { - height: 4px; -} -.p-fileupload .p-fileupload-row > div { - padding: 0.75rem 0.75rem; -} -.p-fileupload.p-fileupload-advanced .p-message { - margin-top: 0; -} - -.p-fileupload-choose:not(.p-disabled):hover { - background: rgba(63, 81, 181, 0.92); - color: #ffffff; - border-color: transparent; -} -.p-fileupload-choose:not(.p-disabled):active { - background: rgba(63, 81, 181, 0.68); - color: #ffffff; - border-color: transparent; -} - -.p-breadcrumb { - background: #ffffff; - border: 1px solid #e5e5e5; - border-radius: 4px; - padding: 0.75rem; -} -.p-breadcrumb ul li .p-menuitem-link { - transition: none; - border-radius: 4px; -} -.p-breadcrumb ul li .p-menuitem-link:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-breadcrumb ul li .p-menuitem-link .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-breadcrumb ul li .p-menuitem-link .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-breadcrumb ul li.p-breadcrumb-chevron { - margin: 0 0.5rem 0 0.5rem; - color: rgba(0, 0, 0, 0.6); -} -.p-breadcrumb ul li:last-child .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-breadcrumb ul li:last-child .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); -} - -.p-contextmenu { - padding: 0.5rem 0; - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 0 none; - box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); - width: 12.5rem; -} -.p-contextmenu .p-menuitem-link { - padding: 0.75rem 0.75rem; - color: rgba(0, 0, 0, 0.87); - border-radius: 0; - transition: none; - user-select: none; -} -.p-contextmenu .p-menuitem-link .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-contextmenu .p-menuitem-link .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); - margin-right: 0.5rem; -} -.p-contextmenu .p-menuitem-link .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-contextmenu .p-menuitem-link:not(.p-disabled):hover { - background: rgba(0, 0, 0, 0.04); -} -.p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-contextmenu .p-menuitem-link:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-contextmenu .p-submenu-list { - padding: 0.5rem 0; - background: #ffffff; - border: 0 none; - box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); -} -.p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { - background: rgba(0, 0, 0, 0.04); -} -.p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-contextmenu .p-menu-separator { - border-top: 1px solid rgba(0, 0, 0, 0.12); - margin: 0.5rem 0; -} -.p-contextmenu .p-submenu-icon { - font-size: 0.875rem; -} - -.p-megamenu { - padding: 0.75rem; - background: transparent; - color: rgba(0, 0, 0, 0.87); - border: 1px solid #e5e5e5; - border-radius: 4px; -} -.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { - padding: 0.75rem; - color: rgba(0, 0, 0, 0.87); - border-radius: 4px; - transition: none; - user-select: none; -} -.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); - margin-right: 0.5rem; -} -.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); - margin-left: 0.5rem; -} -.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { - background: rgba(0, 0, 0, 0.04); -} -.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, -.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { - background: rgba(0, 0, 0, 0.04); -} -.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, -.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, -.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, -.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-megamenu .p-menuitem-link { - padding: 0.75rem 0.75rem; - color: rgba(0, 0, 0, 0.87); - border-radius: 0; - transition: none; - user-select: none; -} -.p-megamenu .p-menuitem-link .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-megamenu .p-menuitem-link .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); - margin-right: 0.5rem; -} -.p-megamenu .p-menuitem-link .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-megamenu .p-menuitem-link:not(.p-disabled):hover { - background: rgba(0, 0, 0, 0.04); -} -.p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-megamenu .p-menuitem-link:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-megamenu .p-megamenu-panel { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 0 none; - box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); -} -.p-megamenu .p-megamenu-submenu-header { - margin: 0; - padding: 0.75rem; - color: rgba(0, 0, 0, 0.6); - background: #ffffff; - font-weight: 400; - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} -.p-megamenu .p-megamenu-submenu { - padding: 0.5rem 0; - width: 12.5rem; -} -.p-megamenu .p-megamenu-submenu .p-menu-separator { - border-top: 1px solid rgba(0, 0, 0, 0.12); - margin: 0.5rem 0; -} -.p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link { - background: rgba(0, 0, 0, 0.04); -} -.p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-megamenu.p-megamenu-vertical { - width: 12.5rem; - padding: 0.5rem 0; -} - -.p-menu { - padding: 0.5rem 0; - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 1px solid #e5e5e5; - border-radius: 4px; - width: 12.5rem; -} -.p-menu .p-menuitem-link { - padding: 0.75rem 0.75rem; - color: rgba(0, 0, 0, 0.87); - border-radius: 0; - transition: none; - user-select: none; -} -.p-menu .p-menuitem-link .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-menu .p-menuitem-link .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); - margin-right: 0.5rem; -} -.p-menu .p-menuitem-link .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-menu .p-menuitem-link:not(.p-disabled):hover { - background: rgba(0, 0, 0, 0.04); -} -.p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-menu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-menu .p-menuitem-link:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-menu.p-menu-overlay { - background: #ffffff; - border: 0 none; - box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); -} -.p-menu .p-submenu-header { - margin: 0; - padding: 0.75rem; - color: rgba(0, 0, 0, 0.6); - background: #ffffff; - font-weight: 400; - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.p-menu .p-menu-separator { - border-top: 1px solid rgba(0, 0, 0, 0.12); - margin: 0.5rem 0; -} - -.p-menubar { - padding: 0.75rem; - background: transparent; - color: rgba(0, 0, 0, 0.87); - border: 1px solid #e5e5e5; - border-radius: 4px; -} -.p-menubar .p-menuitem-link { - padding: 0.75rem 0.75rem; - color: rgba(0, 0, 0, 0.87); - border-radius: 0; - transition: none; - user-select: none; -} -.p-menubar .p-menuitem-link .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-menubar .p-menuitem-link .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); - margin-right: 0.5rem; -} -.p-menubar .p-menuitem-link .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-menubar .p-menuitem-link:not(.p-disabled):hover { - background: rgba(0, 0, 0, 0.04); -} -.p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-menubar .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-menubar .p-menuitem-link:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { - padding: 0.75rem; - color: rgba(0, 0, 0, 0.87); - border-radius: 4px; - transition: none; - user-select: none; -} -.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); - margin-right: 0.5rem; -} -.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); - margin-left: 0.5rem; -} -.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { - background: rgba(0, 0, 0, 0.04); -} -.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, -.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { - background: rgba(0, 0, 0, 0.04); -} -.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, -.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, -.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, -.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-menubar .p-submenu-list { - padding: 0.5rem 0; - background: #ffffff; - border: 0 none; - box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); - width: 12.5rem; -} -.p-menubar .p-submenu-list .p-menu-separator { - border-top: 1px solid rgba(0, 0, 0, 0.12); - margin: 0.5rem 0; -} -.p-menubar .p-submenu-list .p-submenu-icon { - font-size: 0.875rem; -} -.p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link { - background: rgba(0, 0, 0, 0.04); -} -.p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); -} - -@media screen and (max-width: 960px) { - .p-menubar { - position: relative; - } - .p-menubar .p-menubar-button { - display: flex; - width: 2rem; - height: 2rem; - color: rgba(0, 0, 0, 0.6); - border-radius: 50%; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; - } - .p-menubar .p-menubar-button:hover { - color: rgba(0, 0, 0, 0.6); - background: rgba(0, 0, 0, 0.04); - } - .p-menubar .p-menubar-button:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; - } - .p-menubar .p-menubar-root-list { - position: absolute; - display: none; - padding: 0.5rem 0; - background: #ffffff; - border: 0 none; - box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); - width: 100%; - } - .p-menubar .p-menubar-root-list .p-menu-separator { - border-top: 1px solid rgba(0, 0, 0, 0.12); - margin: 0.5rem 0; - } - .p-menubar .p-menubar-root-list .p-submenu-icon { - font-size: 0.875rem; - } - .p-menubar .p-menubar-root-list > .p-menuitem { - width: 100%; - position: static; - } - .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { - padding: 0.75rem 0.75rem; - color: rgba(0, 0, 0, 0.87); - border-radius: 0; - transition: none; - user-select: none; - } - .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); - } - .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); - margin-right: 0.5rem; - } - .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); - } - .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { - background: rgba(0, 0, 0, 0.04); - } - .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); - } - .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); - } - .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); - } - .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; - } - .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { - margin-left: auto; - transition: transform 0.2s; - } - .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { - transform: rotate(-180deg); - } - .p-menubar .p-menubar-root-list .p-submenu-list { - width: 100%; - position: static; - box-shadow: none; - border: 0 none; - } - .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon { - transition: transform 0.2s; - transform: rotate(90deg); - } - .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { - transform: rotate(-90deg); - } - .p-menubar .p-menubar-root-list .p-menuitem { - width: 100%; - position: static; - } - .p-menubar .p-menubar-root-list ul li a { - padding-left: 2.25rem; - } - .p-menubar .p-menubar-root-list ul li ul li a { - padding-left: 3.75rem; - } - .p-menubar .p-menubar-root-list ul li ul li ul li a { - padding-left: 5.25rem; - } - .p-menubar .p-menubar-root-list ul li ul li ul li ul li a { - padding-left: 6.75rem; - } - .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a { - padding-left: 8.25rem; - } - .p-menubar.p-menubar-mobile-active .p-menubar-root-list { - display: flex; - flex-direction: column; - top: 100%; - left: 0; - z-index: 1; - } -} -.p-panelmenu .p-panelmenu-header > a { - padding: 1.25rem; - border: 0 none; - color: rgba(0, 0, 0, 0.87); - background: #ffffff; - font-weight: 400; - border-radius: 4px; - transition: none; -} -.p-panelmenu .p-panelmenu-header > a .p-panelmenu-icon { - margin-right: 0.5rem; -} -.p-panelmenu .p-panelmenu-header > a .p-menuitem-icon { - margin-right: 0.5rem; -} -.p-panelmenu .p-panelmenu-header > a:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled) > a:hover { - background: #f6f6f6; - border-color: transparent; - color: rgba(0, 0, 0, 0.87); -} -.p-panelmenu .p-panelmenu-header.p-highlight { - margin-bottom: 0; -} -.p-panelmenu .p-panelmenu-header.p-highlight > a { - background: #ffffff; - border-color: transparent; - color: rgba(0, 0, 0, 0.87); - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.p-panelmenu .p-panelmenu-header.p-highlight:not(.p-disabled) > a:hover { - border-color: transparent; - background: #ffffff; - color: rgba(0, 0, 0, 0.87); -} -.p-panelmenu .p-panelmenu-content { - padding: 0.5rem 0; - border: 0 none; - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - margin-bottom: 0; - border-top: 0; - border-top-right-radius: 0; - border-top-left-radius: 0; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link { - padding: 0.75rem 0.75rem; - color: rgba(0, 0, 0, 0.87); - border-radius: 0; - transition: none; - user-select: none; -} -.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); - margin-right: 0.5rem; -} -.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover { - background: rgba(0, 0, 0, 0.04); -} -.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-panelmenu-icon { - margin-right: 0.5rem; -} -.p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-submenu) { - padding: 0 0 0 1rem; -} -.p-panelmenu .p-panelmenu-panel { - margin-bottom: 0; -} -.p-panelmenu .p-panelmenu-panel .p-panelmenu-header > a { - border-radius: 0; -} -.p-panelmenu .p-panelmenu-panel .p-panelmenu-content { - border-radius: 0; -} -.p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header > a { - border-top: 0 none; -} -.p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover > a, .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-disabled).p-highlight:hover > a { - border-top: 0 none; -} -.p-panelmenu .p-panelmenu-panel:first-child .p-panelmenu-header > a { - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} -.p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-header:not(.p-highlight) > a { - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -.p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-content { - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} - -.p-steps .p-steps-item .p-menuitem-link { - background: transparent; - transition: none; - border-radius: 4px; - background: transparent; -} -.p-steps .p-steps-item .p-menuitem-link .p-steps-number { - color: rgba(0, 0, 0, 0.87); - border: 1px solid transparent; - background: transparent; - min-width: 2rem; - height: 2rem; - line-height: 2rem; - font-size: 1.143rem; - z-index: 1; - border-radius: 50%; -} -.p-steps .p-steps-item .p-menuitem-link .p-steps-title { - margin-top: 0.5rem; - color: rgba(0, 0, 0, 0.87); -} -.p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-steps .p-steps-item.p-highlight .p-steps-number { - background: rgba(63, 81, 181, 0.12); - color: #3F51B5; -} -.p-steps .p-steps-item.p-highlight .p-steps-title { - font-weight: 500; - color: rgba(0, 0, 0, 0.87); -} -.p-steps .p-steps-item:before { - content: " "; - border-top: 1px solid rgba(0, 0, 0, 0.12); - width: 100%; - top: 50%; - left: 0; - display: block; - position: absolute; - margin-top: -1rem; -} - -.p-tabmenu .p-tabmenu-nav { - background: #ffffff; - border: solid rgba(0, 0, 0, 0.12); - border-width: 0 0 1px 0; -} -.p-tabmenu .p-tabmenu-nav .p-tabmenuitem { - margin-right: 0; -} -.p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link { - border: none; - border-width: 0 0 0 0; - border-color: transparent transparent transparent transparent; - background: #ffffff; - color: rgba(0, 0, 0, 0.6); - padding: 0.75rem 1.25rem; - font-weight: 500; - border-top-right-radius: 4px; - border-top-left-radius: 4px; - transition: none; - margin: 0 0 0 0; -} -.p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon { - margin-right: 0.5rem; -} -.p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link { - background: rgba(63, 81, 181, 0.04); - border-color: transparent; - color: rgba(0, 0, 0, 0.6); -} -.p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link { - background: #ffffff; - border-color: transparent; - color: #3F51B5; -} - -.p-tieredmenu { - padding: 0.5rem 0; - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 1px solid #e5e5e5; - border-radius: 4px; - width: 12.5rem; -} -.p-tieredmenu .p-menuitem-link { - padding: 0.75rem 0.75rem; - color: rgba(0, 0, 0, 0.87); - border-radius: 0; - transition: none; - user-select: none; -} -.p-tieredmenu .p-menuitem-link .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-tieredmenu .p-menuitem-link .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); - margin-right: 0.5rem; -} -.p-tieredmenu .p-menuitem-link .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-tieredmenu .p-menuitem-link:not(.p-disabled):hover { - background: rgba(0, 0, 0, 0.04); -} -.p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-tieredmenu .p-menuitem-link:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-tieredmenu.p-tieredmenu-overlay { - background: #ffffff; - border: 0 none; - box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); -} -.p-tieredmenu .p-submenu-list { - padding: 0.5rem 0; - background: #ffffff; - border: 0 none; - box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); -} -.p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { - background: rgba(0, 0, 0, 0.04); -} -.p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { - color: rgba(0, 0, 0, 0.87); -} -.p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { - color: rgba(0, 0, 0, 0.6); -} -.p-tieredmenu .p-menu-separator { - border-top: 1px solid rgba(0, 0, 0, 0.12); - margin: 0.5rem 0; -} -.p-tieredmenu .p-submenu-icon { - font-size: 0.875rem; -} - -.p-inline-message { - padding: 0.75rem 0.75rem; - margin: 0; - border-radius: 4px; -} -.p-inline-message.p-inline-message-info { - background: #B3E5FC; - border: solid transparent; - border-width: 1px; - color: #01579B; -} -.p-inline-message.p-inline-message-info .p-inline-message-icon { - color: #01579B; -} -.p-inline-message.p-inline-message-success { - background: #C8E6C9; - border: solid transparent; - border-width: 1px; - color: #1B5E20; -} -.p-inline-message.p-inline-message-success .p-inline-message-icon { - color: #1B5E20; -} -.p-inline-message.p-inline-message-warn { - background: #FFECB3; - border: solid transparent; - border-width: 1px; - color: #7f6003; -} -.p-inline-message.p-inline-message-warn .p-inline-message-icon { - color: #7f6003; -} -.p-inline-message.p-inline-message-error { - background: #FFCDD2; - border: solid transparent; - border-width: 1px; - color: #B71C1C; -} -.p-inline-message.p-inline-message-error .p-inline-message-icon { - color: #B71C1C; -} -.p-inline-message .p-inline-message-icon { - font-size: 1rem; - margin-right: 0.5rem; -} -.p-inline-message .p-inline-message-text { - font-size: 1rem; -} -.p-inline-message.p-inline-message-icon-only .p-inline-message-icon { - margin-right: 0; -} - -.p-message { - margin: 0.75rem 0; - border-radius: 4px; -} -.p-message .p-message-wrapper { - padding: 1rem 1.25rem; -} -.p-message .p-message-close { - width: 2rem; - height: 2rem; - border-radius: 50%; - background: transparent; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; -} -.p-message .p-message-close:hover { - background: rgba(255, 255, 255, 0.3); -} -.p-message .p-message-close:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-message.p-message-info { - background: #B3E5FC; - border: solid transparent; - border-width: 0 0 0 0; - color: #01579B; -} -.p-message.p-message-info .p-message-icon { - color: #01579B; -} -.p-message.p-message-info .p-message-close { - color: #01579B; -} -.p-message.p-message-success { - background: #C8E6C9; - border: solid transparent; - border-width: 0 0 0 0; - color: #1B5E20; -} -.p-message.p-message-success .p-message-icon { - color: #1B5E20; -} -.p-message.p-message-success .p-message-close { - color: #1B5E20; -} -.p-message.p-message-warn { - background: #FFECB3; - border: solid transparent; - border-width: 0 0 0 0; - color: #7f6003; -} -.p-message.p-message-warn .p-message-icon { - color: #7f6003; -} -.p-message.p-message-warn .p-message-close { - color: #7f6003; -} -.p-message.p-message-error { - background: #FFCDD2; - border: solid transparent; - border-width: 0 0 0 0; - color: #B71C1C; -} -.p-message.p-message-error .p-message-icon { - color: #B71C1C; -} -.p-message.p-message-error .p-message-close { - color: #B71C1C; -} -.p-message .p-message-text { - font-size: 1rem; - font-weight: 500; -} -.p-message .p-message-icon { - font-size: 1.5rem; - margin-right: 0.5rem; -} - -.p-toast { - opacity: 0.9; -} -.p-toast .p-toast-message { - margin: 0 0 1rem 0; - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); - border-radius: 4px; -} -.p-toast .p-toast-message .p-toast-message-content { - padding: 1.25rem; - border-width: 0 0 0 0; -} -.p-toast .p-toast-message .p-toast-message-content .p-toast-message-text { - margin: 0 0 0 1rem; -} -.p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon { - font-size: 2rem; -} -.p-toast .p-toast-message .p-toast-message-content .p-toast-summary { - font-weight: 700; -} -.p-toast .p-toast-message .p-toast-message-content .p-toast-detail { - margin: 0.5rem 0 0 0; -} -.p-toast .p-toast-message .p-toast-icon-close { - width: 2rem; - height: 2rem; - border-radius: 50%; - background: transparent; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; -} -.p-toast .p-toast-message .p-toast-icon-close:hover { - background: rgba(255, 255, 255, 0.3); -} -.p-toast .p-toast-message .p-toast-icon-close:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} -.p-toast .p-toast-message.p-toast-message-info { - background: #B3E5FC; - border: solid transparent; - border-width: 0 0 0 0; - color: #01579B; -} -.p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon, -.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close { - color: #01579B; -} -.p-toast .p-toast-message.p-toast-message-success { - background: #C8E6C9; - border: solid transparent; - border-width: 0 0 0 0; - color: #1B5E20; -} -.p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon, -.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close { - color: #1B5E20; -} -.p-toast .p-toast-message.p-toast-message-warn { - background: #FFECB3; - border: solid transparent; - border-width: 0 0 0 0; - color: #7f6003; -} -.p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon, -.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close { - color: #7f6003; -} -.p-toast .p-toast-message.p-toast-message-error { - background: #FFCDD2; - border: solid transparent; - border-width: 0 0 0 0; - color: #B71C1C; -} -.p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon, -.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close { - color: #B71C1C; -} - -.p-galleria .p-galleria-close { - margin: 0.5rem; - background: transparent; - color: rgba(255, 255, 255, 0.87); - width: 4rem; - height: 4rem; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; - border-radius: 50%; -} -.p-galleria .p-galleria-close .p-galleria-close-icon { - font-size: 2rem; -} -.p-galleria .p-galleria-close:hover { - background: rgba(255, 255, 255, 0.1); - color: rgba(255, 255, 255, 0.87); -} -.p-galleria .p-galleria-item-nav { - background: transparent; - color: #f6f6f6; - width: 4rem; - height: 4rem; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; - border-radius: 50%; - margin: 0 0.5rem; -} -.p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon, -.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon { - font-size: 2rem; -} -.p-galleria .p-galleria-item-nav:not(.p-disabled):hover { - background: rgba(255, 255, 255, 0.1); - color: rgba(255, 255, 255, 0.87); -} -.p-galleria .p-galleria-caption { - background: rgba(0, 0, 0, 0.5); - color: rgba(255, 255, 255, 0.87); - padding: 1rem; -} -.p-galleria .p-galleria-indicators { - padding: 1rem; -} -.p-galleria .p-galleria-indicators .p-galleria-indicator button { - background-color: #dcdcdc; - width: 1.25rem; - height: 1.25rem; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; - border-radius: 50%; -} -.p-galleria .p-galleria-indicators .p-galleria-indicator button:hover { - background: #ececec; -} -.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { - background: rgba(63, 81, 181, 0.12); - color: #3F51B5; -} -.p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator { - margin-right: 0.5rem; -} -.p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator { - margin-bottom: 0.5rem; -} -.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators { - background: rgba(0, 0, 0, 0.5); -} -.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button { - background: rgba(255, 255, 255, 0.4); -} -.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover { - background: rgba(255, 255, 255, 0.6); -} -.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button { - background: rgba(63, 81, 181, 0.12); - color: #3F51B5; -} -.p-galleria .p-galleria-thumbnail-container { - background: rgba(0, 0, 0, 0.9); - padding: 1rem 0.25rem; -} -.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev, -.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next { - margin: 0.5rem; - background-color: transparent; - color: rgba(255, 255, 255, 0.87); - width: 2rem; - height: 2rem; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; - border-radius: 50%; -} -.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover, -.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover { - background: rgba(255, 255, 255, 0.1); - color: rgba(255, 255, 255, 0.87); -} -.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} - -.p-galleria-mask.p-component-overlay { - background-color: rgba(0, 0, 0, 0.9); -} - -.p-avatar { - background-color: rgba(0, 0, 0, 0.12); - border-radius: 4px; -} -.p-avatar.p-avatar-lg { - width: 3rem; - height: 3rem; - font-size: 1.5rem; -} -.p-avatar.p-avatar-lg .p-avatar-icon { - font-size: 1.5rem; -} -.p-avatar.p-avatar-xl { - width: 4rem; - height: 4rem; - font-size: 2rem; -} -.p-avatar.p-avatar-xl .p-avatar-icon { - font-size: 2rem; -} - -.p-avatar-group .p-avatar { - border: 2px solid #ffffff; -} - -.p-badge { - background: #3F51B5; - color: #ffffff; - font-size: 0.75rem; - font-weight: 700; - min-width: 1.5rem; - height: 1.5rem; - line-height: 1.5rem; -} -.p-badge.p-badge-secondary { - background-color: #ff4081; - color: #ffffff; -} -.p-badge.p-badge-success { - background-color: #689F38; - color: #ffffff; -} -.p-badge.p-badge-info { - background-color: #2196F3; - color: #ffffff; -} -.p-badge.p-badge-warning { - background-color: #FBC02D; - color: #212529; -} -.p-badge.p-badge-danger { - background-color: #D32F2F; - color: #ffffff; -} -.p-badge.p-badge-lg { - font-size: 1.125rem; - min-width: 2.25rem; - height: 2.25rem; - line-height: 2.25rem; -} -.p-badge.p-badge-xl { - font-size: 1.5rem; - min-width: 3rem; - height: 3rem; - line-height: 3rem; -} - -.p-blockui.p-component-overlay { - background: rgba(0, 0, 0, 0.32); -} - -.p-chip { - background-color: rgba(0, 0, 0, 0.12); - color: rgba(0, 0, 0, 0.87); - border-radius: 16px; - padding: 0 0.75rem; -} -.p-chip .p-chip-text { - line-height: 1.5; - margin-top: 0.375rem; - margin-bottom: 0.375rem; -} -.p-chip .p-chip-icon { - margin-right: 0.5rem; -} -.p-chip img { - width: 2.25rem; - height: 2.25rem; - margin-left: -0.75rem; - margin-right: 0.5rem; -} -.p-chip .p-chip-remove-icon { - margin-left: 0.5rem; - border-radius: 4px; - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; -} -.p-chip .p-chip-remove-icon:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} - -.p-inplace .p-inplace-display { - padding: 1rem 1rem; - border-radius: 4px; - transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); -} -.p-inplace .p-inplace-display:not(.p-disabled):hover { - background: rgba(0, 0, 0, 0.04); - color: rgba(0, 0, 0, 0.87); -} -.p-inplace .p-inplace-display:focus { - outline: 0 none; - outline-offset: 0; - box-shadow: none; -} - -.p-progressbar { - border: 0 none; - height: 4px; - background: rgba(63, 81, 181, 0.32); - border-radius: 4px; -} -.p-progressbar .p-progressbar-value { - border: 0 none; - margin: 0; - background: #3F51B5; -} -.p-progressbar .p-progressbar-label { - color: rgba(0, 0, 0, 0.87); - line-height: 4px; -} - -.p-scrolltop { - width: 2.75rem; - height: 2.75rem; - border-radius: 50%; - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); - transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; -} -.p-scrolltop.p-link { - background: #ff4081; -} -.p-scrolltop.p-link:hover { - background: rgba(255, 64, 129, 0.92); -} -.p-scrolltop .p-scrolltop-icon { - font-size: 1.15rem; - color: #ffffff; -} - -.p-skeleton { - background-color: rgba(0, 0, 0, 0.08); - border-radius: 4px; -} -.p-skeleton:after { - background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0)); -} - -.p-tag { - background: #3F51B5; - color: #ffffff; - font-size: 0.75rem; - font-weight: 700; - padding: 0.25rem 0.4rem; - border-radius: 4px; -} -.p-tag.p-tag-success { - background-color: #689F38; - color: #ffffff; -} -.p-tag.p-tag-info { - background-color: #2196F3; - color: #ffffff; -} -.p-tag.p-tag-warning { - background-color: #FBC02D; - color: #212529; -} -.p-tag.p-tag-danger { - background-color: #D32F2F; - color: #ffffff; -} -.p-tag .p-tag-icon { - margin-right: 0.25rem; - font-size: 0.75rem; -} - -.p-terminal { - background: #ffffff; - color: rgba(0, 0, 0, 0.87); - border: 1px solid #e0e0e0; - padding: 0.75rem; -} -.p-terminal .p-terminal-input { - font-size: 1rem; - font-family: Roboto, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; -} - -.p-accordion .p-accordion-tab { - box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); - margin-bottom: 0; - border-radius: 0; - position: relative; - transition: margin-bottom 225ms; -} -.p-accordion .p-accordion-tab:first-child { - border-top-left-radius: 4px; - border-top-right-radius: 4px; -} -.p-accordion .p-accordion-tab:last-child { - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; -} -.p-accordion .p-accordion-tab .p-accordion-toggle-icon { - order: 1; - margin-left: auto; - transition: transform 0.2s; -} -.p-accordion .p-accordion-tab:not(.p-accordion-tab-active) .p-accordion-header-link:focus { - background: #f6f6f6; -} -.p-accordion .p-accordion-tab:not(.p-accordion-tab-active) .p-accordion-toggle-icon { - transform: rotate(-270deg); -} -.p-accordion .p-accordion-tab.p-accordion-tab-active { - margin-bottom: 1rem; -} -.p-accordion .p-accordion-tab.p-accordion-tab-active .p-accordion-toggle-icon { - transform: rotate(-180deg); -} -.p-accordion .p-accordion-tab .p-accordion-header.p-disabled { - opacity: 1; -} -.p-accordion .p-accordion-tab .p-accordion-header.p-disabled .p-accordion-header-link > * { - opacity: 0.38; -} - -.p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container:not(.p-disabled).p-focus { - box-shadow: inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5; -} - -.p-input-filled .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border: 1px solid transparent; - background: #f5f5f5 no-repeat; - background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38)); - background-size: 0 2px, 100% 1px; - background-position: 50% 100%, 50% 100%; - background-origin: border-box; -} -.p-input-filled .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-inputtext { - background-image: none; - background: transparent; -} -.p-input-filled .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container:not(.p-disabled):hover { - background-color: #ececec; - border-color: transparent; - background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.87), rgba(0, 0, 0, 0.87)); -} -.p-input-filled .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container:not(.p-disabled).p-focus, .p-input-filled .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container:not(.p-disabled).p-inputwrapper-focus { - box-shadow: none; - background-color: #dcdcdc; - border-color: transparent; - background-size: 100% 2px, 100% 1px; -} -.p-input-filled .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-inputtext:enabled:hover, .p-input-filled .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-inputtext:enabled:focus { - background-image: none; - background: transparent; -} - -.p-float-label .p-autocomplete-multiple-container .p-autocomplete-token { - padding: 0.25rem 1rem; -} - -.p-input-filled .p-float-label .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token { - padding-top: 0; - padding-bottom: 0; -} -.p-input-filled .p-float-label .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon { - font-size: 75%; -} -.p-input-filled .p-float-label .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token { - padding: 0; -} -.p-input-filled .p-autocomplete.p-invalid > .p-inputtext { - border-color: transparent; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-autocomplete.p-invalid > .p-inputtext:enabled:hover { - border-color: transparent; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-autocomplete.p-invalid > .p-inputtext:enabled:focus { - box-shadow: none; - border-color: transparent; -} -.p-input-filled .p-autocomplete.p-invalid > .p-autocomplete-multiple-container { - border-color: transparent; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-autocomplete.p-invalid > .p-autocomplete-multiple-container:not(.p-disabled):hover { - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-autocomplete.p-invalid > .p-autocomplete-multiple-container:not(.p-disabled).p-focus, .p-input-filled .p-autocomplete.p-invalid > .p-autocomplete-multiple-container:not(.p-disabled).p-inputwrapper-focus { - box-shadow: none; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} - -.p-autocomplete.p-invalid > .p-inputtext:enabled:focus { - box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020; -} -.p-autocomplete.p-invalid > .p-autocomplete-multiple-container:not(.p-disabled).p-focus { - box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020; -} - -.p-button { - font-weight: 500; - min-width: 4rem; -} -.p-button.p-button-icon-only { - min-width: auto; -} -.p-button:enabled:focus { - background: rgba(63, 81, 181, 0.76); -} -.p-button:enabled:active { - background: rgba(63, 81, 181, 0.68); -} -.p-button .p-ink { - background-color: rgba(255, 255, 255, 0.32); -} -.p-button.p-button-text:enabled:focus, .p-button.p-button-outlined:enabled:focus { - background: rgba(63, 81, 181, 0.12); -} -.p-button.p-button-text:enabled:active, .p-button.p-button-outlined:enabled:active { - background: rgba(63, 81, 181, 0.16); -} -.p-button.p-button-text .p-ink, .p-button.p-button-outlined .p-ink { - background-color: rgba(63, 81, 181, 0.16); -} -.p-button:disabled { - background-color: rgba(0, 0, 0, 0.12) !important; - color: rgba(0, 0, 0, 0.38) !important; - opacity: 1; -} -.p-button:disabled.p-button-text { - background-color: transparent !important; - color: rgba(0, 0, 0, 0.38) !important; -} -.p-button:disabled.p-button-outlined { - background-color: transparent !important; - color: rgba(0, 0, 0, 0.38) !important; - border-color: rgba(0, 0, 0, 0.38) !important; -} -.p-button.p-button-raised:enabled:focus { - box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); -} - -.p-button.p-button-secondary:enabled:focus, .p-buttonset.p-button-secondary > .p-button:enabled:focus, .p-splitbutton.p-button-secondary > .p-button:enabled:focus { - background: rgba(255, 64, 129, 0.76); -} -.p-button.p-button-secondary:enabled:active, .p-buttonset.p-button-secondary > .p-button:enabled:active, .p-splitbutton.p-button-secondary > .p-button:enabled:active { - background: rgba(255, 64, 129, 0.68); -} -.p-button.p-button-secondary.p-button-text:enabled:focus, .p-button.p-button-secondary.p-button-outlined:enabled:focus, .p-buttonset.p-button-secondary > .p-button.p-button-text:enabled:focus, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:enabled:focus, .p-splitbutton.p-button-secondary > .p-button.p-button-text:enabled:focus, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:enabled:focus { - background: rgba(255, 64, 129, 0.12); -} -.p-button.p-button-secondary.p-button-text:enabled:active, .p-button.p-button-secondary.p-button-outlined:enabled:active, .p-buttonset.p-button-secondary > .p-button.p-button-text:enabled:active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:enabled:active { - background: rgba(255, 64, 129, 0.16); -} -.p-button.p-button-secondary.p-button-text .p-ink, .p-button.p-button-secondary.p-button-outlined .p-ink, .p-buttonset.p-button-secondary > .p-button.p-button-text .p-ink, .p-buttonset.p-button-secondary > .p-button.p-button-outlined .p-ink, .p-splitbutton.p-button-secondary > .p-button.p-button-text .p-ink, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined .p-ink { - background-color: rgba(255, 64, 129, 0.16); -} - -.p-button.p-button-info:enabled:focus, .p-buttonset.p-button-info > .p-button:enabled:focus, .p-splitbutton.p-button-info > .p-button:enabled:focus { - background: rgba(33, 150, 243, 0.76); -} -.p-button.p-button-info:enabled:active, .p-buttonset.p-button-info > .p-button:enabled:active, .p-splitbutton.p-button-info > .p-button:enabled:active { - background: rgba(33, 150, 243, 0.68); -} -.p-button.p-button-info.p-button-text:enabled:focus, .p-button.p-button-info.p-button-outlined:enabled:focus, .p-buttonset.p-button-info > .p-button.p-button-text:enabled:focus, .p-buttonset.p-button-info > .p-button.p-button-outlined:enabled:focus, .p-splitbutton.p-button-info > .p-button.p-button-text:enabled:focus, .p-splitbutton.p-button-info > .p-button.p-button-outlined:enabled:focus { - background: rgba(33, 150, 243, 0.12); -} -.p-button.p-button-info.p-button-text:enabled:active, .p-button.p-button-info.p-button-outlined:enabled:active, .p-buttonset.p-button-info > .p-button.p-button-text:enabled:active, .p-buttonset.p-button-info > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-info > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:enabled:active { - background: rgba(33, 150, 243, 0.16); -} -.p-button.p-button-info.p-button-text .p-ink, .p-button.p-button-info.p-button-outlined .p-ink, .p-buttonset.p-button-info > .p-button.p-button-text .p-ink, .p-buttonset.p-button-info > .p-button.p-button-outlined .p-ink, .p-splitbutton.p-button-info > .p-button.p-button-text .p-ink, .p-splitbutton.p-button-info > .p-button.p-button-outlined .p-ink { - background-color: rgba(33, 150, 243, 0.16); -} - -.p-button.p-button-success:enabled:focus, .p-buttonset.p-button-success > .p-button:enabled:focus, .p-splitbutton.p-button-success > .p-button:enabled:focus { - background: rgba(104, 159, 56, 0.76); -} -.p-button.p-button-success:enabled:active, .p-buttonset.p-button-success > .p-button:enabled:active, .p-splitbutton.p-button-success > .p-button:enabled:active { - background: rgba(104, 159, 56, 0.68); -} -.p-button.p-button-success.p-button-text:enabled:focus, .p-button.p-button-success.p-button-outlined:enabled:focus, .p-buttonset.p-button-success > .p-button.p-button-text:enabled:focus, .p-buttonset.p-button-success > .p-button.p-button-outlined:enabled:focus, .p-splitbutton.p-button-success > .p-button.p-button-text:enabled:focus, .p-splitbutton.p-button-success > .p-button.p-button-outlined:enabled:focus { - background: rgba(104, 159, 56, 0.12); -} -.p-button.p-button-success.p-button-text:enabled:active, .p-button.p-button-success.p-button-outlined:enabled:active, .p-buttonset.p-button-success > .p-button.p-button-text:enabled:active, .p-buttonset.p-button-success > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-success > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:enabled:active { - background: rgba(104, 159, 56, 0.16); -} -.p-button.p-button-success.p-button-text .p-ink, .p-button.p-button-success.p-button-outlined .p-ink, .p-buttonset.p-button-success > .p-button.p-button-text .p-ink, .p-buttonset.p-button-success > .p-button.p-button-outlined .p-ink, .p-splitbutton.p-button-success > .p-button.p-button-text .p-ink, .p-splitbutton.p-button-success > .p-button.p-button-outlined .p-ink { - background-color: rgba(104, 159, 56, 0.16); -} - -.p-button.p-button-warning:enabled:focus, .p-buttonset.p-button-warning > .p-button:enabled:focus, .p-splitbutton.p-button-warning > .p-button:enabled:focus { - background: rgba(251, 192, 45, 0.76); -} -.p-button.p-button-warning:enabled:active, .p-buttonset.p-button-warning > .p-button:enabled:active, .p-splitbutton.p-button-warning > .p-button:enabled:active { - background: rgba(251, 192, 45, 0.68); -} -.p-button.p-button-warning.p-button-text:enabled:focus, .p-button.p-button-warning.p-button-outlined:enabled:focus, .p-buttonset.p-button-warning > .p-button.p-button-text:enabled:focus, .p-buttonset.p-button-warning > .p-button.p-button-outlined:enabled:focus, .p-splitbutton.p-button-warning > .p-button.p-button-text:enabled:focus, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:enabled:focus { - background: rgba(251, 192, 45, 0.12); -} -.p-button.p-button-warning.p-button-text:enabled:active, .p-button.p-button-warning.p-button-outlined:enabled:active, .p-buttonset.p-button-warning > .p-button.p-button-text:enabled:active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-warning > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:enabled:active { - background: rgba(251, 192, 45, 0.16); -} -.p-button.p-button-warning.p-button-text .p-ink, .p-button.p-button-warning.p-button-outlined .p-ink, .p-buttonset.p-button-warning > .p-button.p-button-text .p-ink, .p-buttonset.p-button-warning > .p-button.p-button-outlined .p-ink, .p-splitbutton.p-button-warning > .p-button.p-button-text .p-ink, .p-splitbutton.p-button-warning > .p-button.p-button-outlined .p-ink { - background-color: rgba(251, 192, 45, 0.16); -} - -.p-button.p-button-help:enabled:focus, .p-buttonset.p-button-help > .p-button:enabled:focus, .p-splitbutton.p-button-help > .p-button:enabled:focus { - background: rgba(156, 39, 176, 0.76); -} -.p-button.p-button-help:enabled:active, .p-buttonset.p-button-help > .p-button:enabled:active, .p-splitbutton.p-button-help > .p-button:enabled:active { - background: rgba(156, 39, 176, 0.68); -} -.p-button.p-button-help.p-button-text:enabled:focus, .p-button.p-button-help.p-button-outlined:enabled:focus, .p-buttonset.p-button-help > .p-button.p-button-text:enabled:focus, .p-buttonset.p-button-help > .p-button.p-button-outlined:enabled:focus, .p-splitbutton.p-button-help > .p-button.p-button-text:enabled:focus, .p-splitbutton.p-button-help > .p-button.p-button-outlined:enabled:focus { - background: rgba(156, 39, 176, 0.12); -} -.p-button.p-button-help.p-button-text:enabled:active, .p-button.p-button-help.p-button-outlined:enabled:active, .p-buttonset.p-button-help > .p-button.p-button-text:enabled:active, .p-buttonset.p-button-help > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-help > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:enabled:active { - background: rgba(156, 39, 176, 0.16); -} -.p-button.p-button-help.p-button-text .p-ink, .p-button.p-button-help.p-button-outlined .p-ink, .p-buttonset.p-button-help > .p-button.p-button-text .p-ink, .p-buttonset.p-button-help > .p-button.p-button-outlined .p-ink, .p-splitbutton.p-button-help > .p-button.p-button-text .p-ink, .p-splitbutton.p-button-help > .p-button.p-button-outlined .p-ink { - background-color: rgba(156, 39, 176, 0.16); -} - -.p-button.p-button-danger:enabled:focus, .p-buttonset.p-button-danger > .p-button:enabled:focus, .p-splitbutton.p-button-danger > .p-button:enabled:focus { - background: rgba(211, 47, 47, 0.76); -} -.p-button.p-button-danger:enabled:active, .p-buttonset.p-button-danger > .p-button:enabled:active, .p-splitbutton.p-button-danger > .p-button:enabled:active { - background: rgba(211, 47, 47, 0.68); -} -.p-button.p-button-danger.p-button-text:enabled:focus, .p-button.p-button-danger.p-button-outlined:enabled:focus, .p-buttonset.p-button-danger > .p-button.p-button-text:enabled:focus, .p-buttonset.p-button-danger > .p-button.p-button-outlined:enabled:focus, .p-splitbutton.p-button-danger > .p-button.p-button-text:enabled:focus, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:enabled:focus { - background: rgba(211, 47, 47, 0.12); -} -.p-button.p-button-danger.p-button-text:enabled:active, .p-button.p-button-danger.p-button-outlined:enabled:active, .p-buttonset.p-button-danger > .p-button.p-button-text:enabled:active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-danger > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:enabled:active { - background: rgba(211, 47, 47, 0.16); -} -.p-button.p-button-danger.p-button-text .p-ink, .p-button.p-button-danger.p-button-outlined .p-ink, .p-buttonset.p-button-danger > .p-button.p-button-text .p-ink, .p-buttonset.p-button-danger > .p-button.p-button-outlined .p-ink, .p-splitbutton.p-button-danger > .p-button.p-button-text .p-ink, .p-splitbutton.p-button-danger > .p-button.p-button-outlined .p-ink { - background-color: rgba(211, 47, 47, 0.16); -} - -.p-calendar-w-btn { - border: 1px solid rgba(0, 0, 0, 0.38); - background: #ffffff; - border-radius: 4px; - transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); -} -.p-calendar-w-btn .p-inputtext { - background-image: none; - background-color: transparent; - border: 0 none; -} -.p-calendar-w-btn .p-inputtext:enabled:focus { - box-shadow: none; -} -.p-calendar-w-btn .p-datepicker-trigger.p-button { - background-color: transparent; - border: 0 none; -} -.p-calendar-w-btn .p-datepicker-trigger.p-button span { - color: rgba(0, 0, 0, 0.6); -} -.p-calendar-w-btn .p-datepicker-trigger.p-button:enabled:hover { - background: rgba(0, 0, 0, 0.04); -} -.p-calendar-w-btn .p-datepicker-trigger.p-button:enabled:active, .p-calendar-w-btn .p-datepicker-trigger.p-button:focus { - background: rgba(0, 0, 0, 0.12); -} -.p-calendar-w-btn:not(.p-disabled):hover { - border-color: rgba(0, 0, 0, 0.87); -} -.p-calendar-w-btn:not(.p-disabled).p-inputwrapper-focus { - border-color: #3F51B5; - box-shadow: inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5; -} - -.p-datepicker .p-datepicker-header { - border-bottom: 0 none; -} -.p-datepicker .p-datepicker-header .p-datepicker-title { - margin: 0 auto 0 0; - order: 1; -} -.p-datepicker .p-datepicker-header .p-datepicker-prev { - order: 2; -} -.p-datepicker .p-datepicker-header .p-datepicker-next { - order: 3; -} -.p-datepicker table th { - border-bottom: 1px solid rgba(0, 0, 0, 0.12); - color: rgba(0, 0, 0, 0.38); - font-weight: 400; - font-size: 0.875rem; -} -.p-datepicker table td.p-datepicker-today > span { - box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.38); -} -.p-datepicker table td.p-datepicker-today.p-highlight { - box-shadow: 0 0 0 1px rgba(63, 81, 181, 0.12); -} - -.p-calendar.p-invalid .p-inputtext:enabled:focus { - box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020; -} -.p-calendar.p-invalid.p-calendar-w-btn { - border-color: #B00020; -} -.p-calendar.p-invalid.p-calendar-w-btn .p-inputtext:enabled:focus { - box-shadow: none; -} -.p-calendar.p-invalid.p-calendar-w-btn:not(.p-disabled).p-inputwrapper-focus { - box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020; -} - -.p-input-filled .p-calendar-w-btn { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border: 1px solid transparent; - background: #f5f5f5 no-repeat; - background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38)); - background-size: 0 2px, 100% 1px; - background-position: 50% 100%, 50% 100%; - background-origin: border-box; -} -.p-input-filled .p-calendar-w-btn .p-inputtext { - background-image: none; - background: transparent; -} -.p-input-filled .p-calendar-w-btn:not(.p-disabled):hover { - background-color: #ececec; - border-color: transparent; - background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.87), rgba(0, 0, 0, 0.87)); -} -.p-input-filled .p-calendar-w-btn:not(.p-disabled).p-focus, .p-input-filled .p-calendar-w-btn:not(.p-disabled).p-inputwrapper-focus { - box-shadow: none; - background-color: #dcdcdc; - border-color: transparent; - background-size: 100% 2px, 100% 1px; -} -.p-input-filled .p-calendar-w-btn .p-inputtext:enabled:hover, .p-input-filled .p-calendar-w-btn .p-inputtext:enabled:focus { - background-image: none; - background: transparent; -} -.p-input-filled .p-calendar-w-btn .p-inputtext { - border: 0 none; -} -.p-input-filled .p-calendar.p-invalid .p-inputtext { - border-color: transparent; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-calendar.p-invalid .p-inputtext:enabled:hover { - border-color: transparent; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-calendar.p-invalid .p-inputtext:enabled:focus { - box-shadow: none; - border-color: transparent; -} -.p-input-filled .p-calendar.p-invalid.p-calendar-w-btn { - border-color: transparent; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-calendar.p-invalid.p-calendar-w-btn:not(.p-disabled):hover { - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-calendar.p-invalid.p-calendar-w-btn:not(.p-disabled).p-focus, .p-input-filled .p-calendar.p-invalid.p-calendar-w-btn:not(.p-disabled).p-inputwrapper-focus { - box-shadow: none; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-calendar.p-invalid.p-calendar-w-btn .p-inputtext, -.p-input-filled .p-calendar.p-invalid.p-calendar-w-btn .p-inputtext:enabled:hover, -.p-input-filled .p-calendar.p-invalid.p-calendar-w-btn .p-inputtext:enabled:focus { - border: 0 none; - background-image: none; -} - -.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { - background: #ff4081; - color: #ffffff; -} - -.p-cascadeselect .p-cascadeselect-label, .p-cascadeselect .p-dropdown-trigger { - background-image: none; - background: transparent; -} -.p-cascadeselect .p-cascadeselect-label { - border: 0 none; -} -.p-cascadeselect:not(.p-disabled).p-focus { - box-shadow: inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5; -} - -.p-cascadeselect-item-content .p-ink { - background-color: rgba(63, 81, 181, 0.16); -} - -.p-input-filled .p-cascadeselect { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border: 1px solid transparent; - background: #f5f5f5 no-repeat; - background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38)); - background-size: 0 2px, 100% 1px; - background-position: 50% 100%, 50% 100%; - background-origin: border-box; -} -.p-input-filled .p-cascadeselect .p-inputtext { - background-image: none; - background: transparent; -} -.p-input-filled .p-cascadeselect:not(.p-disabled):hover { - background-color: #ececec; - border-color: transparent; - background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.87), rgba(0, 0, 0, 0.87)); -} -.p-input-filled .p-cascadeselect:not(.p-disabled).p-focus, .p-input-filled .p-cascadeselect:not(.p-disabled).p-inputwrapper-focus { - box-shadow: none; - background-color: #dcdcdc; - border-color: transparent; - background-size: 100% 2px, 100% 1px; -} -.p-input-filled .p-cascadeselect .p-inputtext:enabled:hover, .p-input-filled .p-cascadeselect .p-inputtext:enabled:focus { - background-image: none; - background: transparent; -} -.p-input-filled .p-cascadeselect .p-cascadeselect-label:hover { - background-image: none; - background: transparent; -} -.p-input-filled .p-cascadeselect.p-invalid { - border-color: transparent; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-cascadeselect.p-invalid:not(.p-disabled):hover { - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-cascadeselect.p-invalid:not(.p-disabled).p-focus, .p-input-filled .p-cascadeselect.p-invalid:not(.p-disabled).p-inputwrapper-focus { - box-shadow: none; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} - -.p-cascadeselect.p-invalid:not(.p-disabled).p-focus { - box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020; -} - -.p-checkbox { - border-radius: 50%; - transition: box-shadow 0.2s; -} -.p-checkbox .p-checkbox-box { - border-color: #757575; - border-radius: 2px; - position: relative; -} -.p-checkbox .p-checkbox-box:not(.p-disabled):hover { - border-color: #757575; -} -.p-checkbox .p-checkbox-box:not(.p-disabled).p-focus { - border-color: #757575; -} -.p-checkbox .p-checkbox-box.p-highlight:not(.p-disabled).p-focus { - border-color: #3F51B5; -} -.p-checkbox .p-checkbox-box.p-highlight .p-checkbox-icon.pi-check:before { - content: ""; - position: absolute; - top: 6px; - left: 1px; - border-right: 2px solid transparent; - border-bottom: 2px solid transparent; - transform: rotate(45deg); - transform-origin: 0% 100%; - animation: checkbox-check 125ms 50ms linear forwards; -} -.p-checkbox:not(.p-checkbox-disabled):hover { - box-shadow: 0 0 1px 10px rgba(0, 0, 0, 0.04); -} -.p-checkbox:not(.p-checkbox-disabled).p-checkbox-focused { - box-shadow: 0 0 1px 10px rgba(0, 0, 0, 0.12); -} -.p-checkbox.p-checkbox-checked:not(.p-checkbox-disabled):hover { - box-shadow: 0 0 1px 10px rgba(63, 81, 181, 0.04); -} -.p-checkbox.p-checkbox-checked:not(.p-checkbox-disabled).p-checkbox-focused { - box-shadow: 0 0 1px 10px rgba(63, 81, 181, 0.12); -} - -.p-input-filled .p-checkbox .p-checkbox-box { - background-color: #ffffff; -} -.p-input-filled .p-checkbox .p-checkbox-box:not(.p-disabled):hover { - background-color: #ffffff; -} - -@keyframes checkbox-check { - 0% { - width: 0; - height: 0; - border-color: #ffffff; - transform: translate3d(0, 0, 0) rotate(45deg); - } - 33% { - width: 4px; - height: 0; - transform: translate3d(0, 0, 0) rotate(45deg); - } - 100% { - width: 4px; - height: 10px; - border-color: #ffffff; - transform: translate3d(0, -10px, 0) rotate(45deg); - } -} -.p-chips .p-chips-multiple-container:not(.p-disabled).p-focus { - box-shadow: inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5; -} - -.p-input-filled .p-chips-multiple-container { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border: 1px solid transparent; - background: #f5f5f5 no-repeat; - background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38)); - background-size: 0 2px, 100% 1px; - background-position: 50% 100%, 50% 100%; - background-origin: border-box; -} -.p-input-filled .p-chips-multiple-container .p-inputtext { - background-image: none; - background: transparent; -} -.p-input-filled .p-chips-multiple-container:not(.p-disabled):hover { - background-color: #ececec; - border-color: transparent; - background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.87), rgba(0, 0, 0, 0.87)); -} -.p-input-filled .p-chips-multiple-container:not(.p-disabled).p-focus, .p-input-filled .p-chips-multiple-container:not(.p-disabled).p-inputwrapper-focus { - box-shadow: none; - background-color: #dcdcdc; - border-color: transparent; - background-size: 100% 2px, 100% 1px; -} -.p-input-filled .p-chips-multiple-container .p-inputtext:enabled:hover, .p-input-filled .p-chips-multiple-container .p-inputtext:enabled:focus { - background-image: none; - background: transparent; -} - -.p-float-label .p-chips-multiple-container .p-chips-token { - padding: 0.25rem 1rem; -} - -.p-input-filled .p-float-label .p-chips .p-chips-multiple-container .p-chips-token { - padding-top: 0; - padding-bottom: 0; -} -.p-input-filled .p-float-label .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon { - font-size: 75%; -} -.p-input-filled .p-float-label .p-chips .p-chips-multiple-container .p-chips-input-token { - padding: 0; -} -.p-input-filled .p-chips.p-invalid .p-chips-multiple-container { - border-color: transparent; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-chips.p-invalid .p-chips-multiple-container:not(.p-disabled):hover { - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-chips.p-invalid .p-chips-multiple-container:not(.p-disabled).p-focus, .p-input-filled .p-chips.p-invalid .p-chips-multiple-container:not(.p-disabled).p-inputwrapper-focus { - box-shadow: none; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} - -.p-chips.p-invalid .p-chips-multiple-container:not(.p-disabled).p-focus { - box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020; -} - -.p-datatable .p-sortable-column { - outline: 0 none; -} -.p-datatable .p-sortable-column:focus { - background-color: rgba(0, 0, 0, 0.03); -} -.p-datatable .p-datatable-tbody > tr { - outline: 0 none; -} -.p-datatable .p-datatable-tbody > tr:not(.p-highlight):focus { - background-color: rgba(0, 0, 0, 0.03); -} - -.p-dropdown .p-inputtext, .p-dropdown .p-dropdown-trigger { - background-image: none; - background: transparent; -} -.p-dropdown .p-inputtext { - border: 0 none; -} -.p-dropdown:not(.p-disabled).p-focus { - box-shadow: inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5; -} - -.p-dropdown-item .p-ink { - background-color: rgba(63, 81, 181, 0.16); -} - -.p-input-filled .p-dropdown { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border: 1px solid transparent; - background: #f5f5f5 no-repeat; - background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38)); - background-size: 0 2px, 100% 1px; - background-position: 50% 100%, 50% 100%; - background-origin: border-box; -} -.p-input-filled .p-dropdown .p-inputtext { - background-image: none; - background: transparent; -} -.p-input-filled .p-dropdown:not(.p-disabled):hover { - background-color: #ececec; - border-color: transparent; - background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.87), rgba(0, 0, 0, 0.87)); -} -.p-input-filled .p-dropdown:not(.p-disabled).p-focus, .p-input-filled .p-dropdown:not(.p-disabled).p-inputwrapper-focus { - box-shadow: none; - background-color: #dcdcdc; - border-color: transparent; - background-size: 100% 2px, 100% 1px; -} -.p-input-filled .p-dropdown .p-inputtext:enabled:hover, .p-input-filled .p-dropdown .p-inputtext:enabled:focus { - background-image: none; - background: transparent; -} -.p-input-filled .p-dropdown .p-inputtext { - border: 0 none; -} -.p-input-filled .p-dropdown.p-invalid { - border-color: transparent; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-dropdown.p-invalid:not(.p-disabled):hover { - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-dropdown.p-invalid:not(.p-disabled).p-focus, .p-input-filled .p-dropdown.p-invalid:not(.p-disabled).p-inputwrapper-focus { - box-shadow: none; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} - -.p-dropdown.p-invalid:not(.p-disabled).p-focus { - box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020; -} - -.p-galleria .p-galleria-indicators { - padding: 1rem; -} -.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { - background: #ff4081; - color: #ffffff; -} -.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button { - background: rgba(255, 64, 129, 0.68); - color: #ffffff; -} - -.p-inputtext:enabled:focus { - box-shadow: inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5; -} -.p-inputtext:enabled:focus.p-invalid { - box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020; -} - -.p-input-filled .p-inputtext { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border: 1px solid transparent; - background: #f5f5f5 no-repeat; - background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38)); - background-size: 0 2px, 100% 1px; - background-position: 50% 100%, 50% 100%; - background-origin: border-box; -} -.p-input-filled .p-inputtext:enabled:hover { - background-color: #ececec; - border-color: transparent; - background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.87), rgba(0, 0, 0, 0.87)); -} -.p-input-filled .p-inputtext:enabled:focus { - box-shadow: none; - background-color: #dcdcdc; - border-color: transparent; - background-size: 100% 2px, 100% 1px; -} -.p-input-filled .p-inputtext.p-invalid.p-component { - border-color: transparent; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-inputtext.p-invalid.p-component:enabled:hover { - border-color: transparent; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-inputtext.p-invalid.p-component:enabled:focus { - box-shadow: none; - border-color: transparent; -} - -.p-input-filled .p-inputgroup .p-inputgroup-addon { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border: 1px solid transparent; - background: #f5f5f5 no-repeat; - background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38)); - background-size: 0 2px, 100% 1px; - background-position: 50% 100%, 50% 100%; - background-origin: border-box; -} -.p-input-filled .p-inputgroup .p-inputgroup-addon:last-child { - border-right-color: transparent; -} -.p-input-filled .p-inputgroup-addon:first-child, -.p-input-filled .p-inputgroup button:first-child, -.p-input-filled .p-inputgroup input:first-child { - border-bottom-left-radius: 0; -} -.p-input-filled .p-inputgroup .p-float-label:first-child input { - border-bottom-left-radius: 0; -} -.p-input-filled .p-inputgroup-addon:last-child, -.p-input-filled .p-inputgroup button:last-child, -.p-input-filled .p-inputgroup input:last-child { - border-bottom-right-radius: 0; -} -.p-input-filled .p-inputgroup .p-float-label:last-child input { - border-bottom-right-radius: 0; -} - -.p-inputnumber.p-invalid .p-inputtext:enabled:focus { - box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020; -} - -.p-input-filled .p-inputnumber.p-invalid .p-inputtext { - border-color: transparent; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-inputnumber.p-invalid .p-inputtext:enabled:hover { - border-color: transparent; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-inputnumber.p-invalid .p-inputtext:enabled:focus { - box-shadow: none; - border-color: transparent; -} - -.p-inputswitch .p-inputswitch-slider:before { - transition-property: box-shadow transform; - box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); -} -.p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider:before { - box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12), 0 0 1px 10px rgba(0, 0, 0, 0.04); -} -.p-inputswitch.p-inputswitch-focus .p-inputswitch-slider:before, .p-inputswitch.p-inputswitch-focus:not(.p-disabled):hover .p-inputswitch-slider:before { - box-shadow: 0 0 1px 10px rgba(0, 0, 0, 0.12), 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); -} -.p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider:before { - box-shadow: 0 0 1px 10px rgba(63, 81, 181, 0.04), 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); -} -.p-inputswitch.p-inputswitch-checked.p-inputswitch-focus .p-inputswitch-slider:before, .p-inputswitch.p-inputswitch-checked.p-inputswitch-focus:not(.p-disabled):hover .p-inputswitch-slider:before { - box-shadow: 0 0 1px 10px rgba(63, 81, 181, 0.12), 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); -} - -.p-fieldset .p-fieldset-legend { - border: 0 none; -} - -.p-float-label input:focus ~ label, -.p-float-label input.p-filled ~ label, -.p-float-label textarea:focus ~ label, -.p-float-label textarea.p-filled ~ label, -.p-float-label .p-inputwrapper-focus ~ label, -.p-float-label .p-inputwrapper-filled ~ label { - top: -0.5rem !important; - background-color: #ffffff; - padding: 2px 4px; - margin-left: -4px; - margin-top: 0; -} - -.p-float-label textarea ~ label { - margin-top: 0; -} - -.p-float-label input:focus ~ label, -.p-float-label .p-inputwrapper-focus ~ label { - color: #3F51B5; -} - -.p-input-filled .p-float-label .p-inputtext { - padding-top: 1.25rem; - padding-bottom: 0.25rem; -} -.p-input-filled .p-float-label input:focus ~ label, -.p-input-filled .p-float-label input.p-filled ~ label, -.p-input-filled .p-float-label textarea:focus ~ label, -.p-input-filled .p-float-label textarea.p-filled ~ label, -.p-input-filled .p-float-label .p-inputwrapper-focus ~ label, -.p-input-filled .p-float-label .p-inputwrapper-filled ~ label { - top: 0.25rem !important; - margin-top: 0; - background: transparent; -} - -.p-listbox-item .p-ink { - background-color: rgba(63, 81, 181, 0.16); -} - -.p-multiselect .p-multiselect-label, .p-multiselect .p-multiselect-trigger { - background-image: none; - background: transparent; -} -.p-multiselect .p-multiselect-label { - border: 0 none; -} -.p-multiselect:not(.p-disabled).p-focus { - box-shadow: inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5; -} - -.p-multiselect-item .p-ink { - background-color: rgba(63, 81, 181, 0.16); -} - -.p-input-filled .p-multiselect { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border: 1px solid transparent; - background: #f5f5f5 no-repeat; - background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38)); - background-size: 0 2px, 100% 1px; - background-position: 50% 100%, 50% 100%; - background-origin: border-box; -} -.p-input-filled .p-multiselect .p-inputtext { - background-image: none; - background: transparent; -} -.p-input-filled .p-multiselect:not(.p-disabled):hover { - background-color: #ececec; - border-color: transparent; - background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.87), rgba(0, 0, 0, 0.87)); -} -.p-input-filled .p-multiselect:not(.p-disabled).p-focus, .p-input-filled .p-multiselect:not(.p-disabled).p-inputwrapper-focus { - box-shadow: none; - background-color: #dcdcdc; - border-color: transparent; - background-size: 100% 2px, 100% 1px; -} -.p-input-filled .p-multiselect .p-inputtext:enabled:hover, .p-input-filled .p-multiselect .p-inputtext:enabled:focus { - background-image: none; - background: transparent; -} -.p-input-filled .p-multiselect .p-multiselect-label:hover { - background-image: none; - background: transparent; -} - -.p-float-label .p-multiselect-label .p-multiselect-token { - padding: 0.25rem 1rem; - margin-top: 0.25rem; - margin-bottom: 0.25rem; -} - -.p-input-filled .p-float-label .p-multiselect .p-multiselect-label { - padding-top: 1.25rem; - padding-bottom: 0.25rem; -} -.p-input-filled .p-float-label .p-inputwrapper-filled.p-multiselect .p-multiselect-label { - padding-top: 1.25rem; - padding-bottom: 0.25rem; -} -.p-input-filled .p-float-label .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-token { - padding-top: 0; - padding-bottom: 0; - margin-top: 0; - margin-bottom: 0; -} -.p-input-filled .p-float-label .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon { - font-size: 75%; -} -.p-input-filled .p-multiselect.p-invalid { - border-color: transparent; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-multiselect.p-invalid:not(.p-disabled):hover { - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-multiselect.p-invalid:not(.p-disabled).p-focus, .p-input-filled .p-multiselect.p-invalid:not(.p-disabled).p-inputwrapper-focus { - box-shadow: none; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} - -.p-multiselect.p-invalid:not(.p-disabled).p-focus { - box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020; -} - -.p-overlaypanel .p-overlaypanel-content { - padding: 1.5rem; -} - -.p-paginator { - justify-content: flex-end; -} - -.p-input-filled .p-password.p-invalid > .p-inputtext { - border-color: transparent; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-password.p-invalid > .p-inputtext:enabled:hover { - border-color: transparent; - background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020); -} -.p-input-filled .p-password.p-invalid > .p-inputtext:enabled:focus { - box-shadow: none; - border-color: transparent; -} - -.p-password.p-invalid > .p-inputtext:enabled:focus { - box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020; -} - -.p-panel { - border-radius: 4px; - box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); -} -.p-panel .p-panel-header, -.p-panel .p-panel-content, -.p-panel .p-panel-footer { - border: 0 none; -} -.p-panel .p-panel-content { - padding-top: 0; -} -.p-panel .p-panel-title { - font-size: 1.25rem; -} - -.p-panelmenu .p-panelmenu-panel { - box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); - margin-bottom: 0; - border-radius: 0; - position: relative; - transition: margin-bottom 225ms; -} -.p-panelmenu .p-panelmenu-panel:first-child { - border-top-left-radius: 4px; - border-top-right-radius: 4px; -} -.p-panelmenu .p-panelmenu-panel:last-child { - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; -} -.p-panelmenu .p-panelmenu-panel .p-panelmenu-header .p-panelmenu-icon { - order: 1; - margin-left: auto; - margin-right: 0; -} -.p-panelmenu .p-panelmenu-panel .p-panelmenu-header.p-disabled { - opacity: 1; -} -.p-panelmenu .p-panelmenu-panel .p-panelmenu-header.p-disabled .p-panelmenu-header-link > * { - opacity: 0.38; -} -.p-panelmenu .p-panelmenu-panel .p-panelmenu-header:not(.p-highlight) .p-panelmenu-header-link:focus { - background: #f6f6f6; -} - -.p-progressbar { - border-radius: 0; -} -.p-progressbar .p-progressbar-label { - display: none; -} - -.p-radiobutton { - border-radius: 50%; - transition: box-shadow 0.2s; -} -.p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover { - border: 2px solid #757575; -} -.p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus { - border: 2px solid #757575; -} -.p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled).p-focus { - border-color: #3F51B5; -} -.p-radiobutton:not(.p-radiobutton-disabled):hover { - box-shadow: 0 0 1px 10px rgba(0, 0, 0, 0.04); -} -.p-radiobutton:not(.p-radiobutton-disabled).p-radiobutton-focused { - box-shadow: 0 0 1px 10px rgba(0, 0, 0, 0.12); -} -.p-radiobutton.p-radiobutton-checked:not(.p-radiobutton-disabled):hover { - box-shadow: 0 0 1px 10px rgba(63, 81, 181, 0.04); -} -.p-radiobutton.p-radiobutton-checked:not(.p-radiobutton-disabled).p-radiobutton-focused { - box-shadow: 0 0 1px 10px rgba(63, 81, 181, 0.12); -} - -.p-input-filled .p-radiobutton .p-radiobutton-box { - background-color: #ffffff; -} -.p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover { - background-color: #ffffff; -} - -.p-selectbutton .p-button:focus { - background: #e0e0e1; - border-color: #e0e0e1; -} -.p-selectbutton .p-button:focus.p-highlight { - background: #d9d8d9; - border-color: #d9d8d9; -} - -.p-slider .p-slider-handle { - transition: transform 0.2s, box-shadow 0.2s; - transform: scale(0.7); -} -.p-slider .p-slider-handle:focus { - box-shadow: 0 0 1px 10px rgba(255, 64, 129, 0.2); -} -.p-slider.p-slider-sliding .p-slider-handle { - transform: scale(1); -} - -.p-steps { - padding: 1rem 0; -} -.p-steps .p-steps-item { - justify-content: flex-start; - flex-direction: row-reverse; - align-items: center; -} -.p-steps .p-steps-item:before { - position: static; - left: auto; - top: auto; - margin-top: 0; -} -.p-steps .p-steps-item:last-child { - flex-grow: 0; -} -.p-steps .p-steps-item:last-child:before { - display: none; -} -.p-steps .p-steps-item .p-menuitem-link { - flex-direction: row; - flex: 1 1 auto; - overflow: visible; - padding: 0 0.5rem; -} -.p-steps .p-steps-item .p-menuitem-link .p-steps-number { - background-color: #9e9d9e; - color: #ffffff; - font-size: 0.857rem; - min-width: 1.714rem; - height: 1.714rem; - line-height: 1.714rem; -} -.p-steps .p-steps-item .p-menuitem-link .p-steps-title { - margin: 0; - padding-left: 0.5rem; -} -.p-steps .p-steps-item.p-highlight .p-steps-number { - background-color: #3F51B5; - color: #ffffff; -} -.p-steps .p-steps-item.p-highlight .p-steps-title { - font-weight: 600; - color: rgba(0, 0, 0, 0.87); -} -.p-steps .p-steps-item.p-disabled { - opacity: 1; -} - -.p-tabview .p-tabview-nav { - position: relative; -} -.p-tabview .p-tabview-nav li .p-tabview-nav-link { - transition: background-color 0.2s; - border-radius: 0; -} -.p-tabview .p-tabview-nav li .p-tabview-nav-link > .p-ink { - background-color: rgba(63, 81, 181, 0.16); -} -.p-tabview .p-tabview-nav li .p-tabview-nav-link:focus { - background-color: rgba(63, 81, 181, 0.12); -} -.p-tabview .p-tabview-nav .p-tabview-ink-bar { - z-index: 1; - display: block; - position: absolute; - bottom: 0; - height: 2px; - background-color: #3F51B5; - transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); -} - -.p-toolbar { - border: 0 none; -} - -.p-tooltip .p-tooltip-text { - box-shadow: none; - font-size: 0.875rem; -} -.p-tooltip .p-tooltip-arrow { - display: none; -} - -.p-treetable .p-sortable-column { - outline: 0 none; -} -.p-treetable .p-sortable-column:focus { - background-color: rgba(0, 0, 0, 0.03); -} -.p-treetable .p-treetable-tbody > tr { - outline: 0 none; -} -.p-treetable .p-treetable-tbody > tr:not(.p-highlight):focus { - background-color: rgba(0, 0, 0, 0.03); -} - -.p-tabmenu .p-tabmenu-nav { - position: relative; -} -.p-tabmenu .p-tabmenu-nav li .p-menuitem-link { - transition: background-color 0.2s; - border-radius: 0; -} -.p-tabmenu .p-tabmenu-nav li .p-menuitem-link > .p-ink { - background-color: rgba(63, 81, 181, 0.16); -} -.p-tabmenu .p-tabmenu-nav li .p-menuitem-link:focus { - background-color: rgba(63, 81, 181, 0.12); -} -.p-tabmenu .p-tabmenu-nav .p-tabmenu-ink-bar { - display: block; - position: absolute; - bottom: 0; - height: 2px; - background-color: #3F51B5; - transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); -} - -.p-togglebutton.p-button:focus { - background: #e0e0e1; - border-color: #e0e0e1; -} -.p-togglebutton.p-button:focus.p-highlight { - background: #d9d8d9; - border-color: #d9d8d9; -} - -/* Customizations to the designer theme should be defined here */ diff --git a/src/assets/.DS_Store b/src/assets/.DS_Store deleted file mode 100644 index 2d338bc6..00000000 Binary files a/src/assets/.DS_Store and /dev/null differ diff --git a/src/assets/app.css b/src/assets/app.css index bc9aa5fd..bb2dc62f 100644 --- a/src/assets/app.css +++ b/src/assets/app.css @@ -1,3 +1,25 @@ +@import "tailwindcss"; + +/* Tailwind removes styling for headings, so adding them back */ +h1 { + @apply text-3xl font-bold text-gray-800 mt-6 mb-2; +} +h2 { + @apply text-2xl font-semibold text-gray-800 mt-5 mb-2; +} +h3 { + @apply text-xl font-semibold text-gray-800 mt-4 mb-2; +} +h4 { + @apply text-lg font-semibold text-gray-800 mt-3 mb-2; +} +h5 { + @apply text-base font-semibold text-gray-800 mt-2 mb-2; +} +h6 { + @apply text-sm font-semibold text-gray-800 mt-1 mb-2; +} + * { text-rendering: optimizeLegibility; font-family: 'Raleway', sans-serif; @@ -22,8 +44,37 @@ body .p-inputtext { /* Override the minimum width from the PrimeVue theme. */ body .p-button { min-width: 10px; + padding-top: 0.25rem; + padding-bottom: 0.25rem; } .p-badge { text-align: center; -} \ No newline at end of file +} + +/* Prevent autocomplete overlay from taking full page width */ +.p-autocomplete-overlay { + max-width: 75% !important; +} + +.p-tablist-tab-list .p-tab-active, .p-paginator-page-selected { + background-color: #3f51b51f !important; +} + +.p-menubar-root-list { + gap: 0 !important; + margin-left: 1em !important; +} + +.p-tab { + padding: 0.5em 1em 0.5em 1em !important; +} + +.p-listbox-header { + padding: 0 !important; +} + +.p-message { + margin-top: 0.5rem; + margin-bottom: 0.5rem; +} diff --git a/src/assets/forms.css b/src/assets/forms.css index 80686fde..c2952f32 100644 --- a/src/assets/forms.css +++ b/src/assets/forms.css @@ -53,7 +53,7 @@ } .field:deep(.p-tabview .p-tabview-nav) { - flex-direction: column; + flex-direction: column !important; padding-left: 5px; border: 0 none; background: transparent; diff --git a/src/assets/layout.css b/src/assets/layout.css index c4ab0890..b3fec019 100644 --- a/src/assets/layout.css +++ b/src/assets/layout.css @@ -17,7 +17,6 @@ .mave-collection-badges { flex: 0 1 auto; font-size: 12px; - line-height: 29px; margin-right: 5px; padding: 0 0 0 7px; } @@ -56,3 +55,30 @@ .mavedb-screen-title-controls .p-button:last-child { margin-right: 0; } + +.mavedb-help-tooltip-button { + margin-left: 0.6rem; + vertical-align: middle; + margin-top: 0; + margin-bottom: 0; + display: inline-flex; + align-items: center; + background: none; + width: 1.2em !important; + height: 1.2em !important; + border-color: var(--p-button-outlined-help-color) !important; +} + +.mavedb-help-tooltip-button:focus, +.mavedb-help-tooltip-button:active, +.mavedb-help-tooltip-button.p-focus { + background: none; +} + +.mavedb-help-tooltip-button > .p-button-icon { + font-size: 0.5rem !important; +} + +.mavedb-toolbar .p-menubar-submenu { + z-index: 1100 !important; +} diff --git a/src/components/AssayFactSheet.vue b/src/components/AssayFactSheet.vue index ce71c21e..511152d3 100644 --- a/src/components/AssayFactSheet.vue +++ b/src/components/AssayFactSheet.vue @@ -14,15 +14,27 @@
    Gene (HGNC symbol)
    -
    {{ scoreSet.targetGenes[0]?.name }}
    +
    + {{ geneTextForScoreSet ? geneTextForScoreSet : 'Not specified' }} +
    Assay Type
    -
    - {{ scoreSet.experiment.keywords.find((k) => k.keyword.key === 'Phenotypic Assay Method')?.keyword.label }} +
    + {{ + scoreSet.experiment.keywords.find( + (k: components['schemas']['ExperimentControlledKeyword']) => k.keyword.key === 'Phenotypic Assay Method' + )?.keyword.label + }}
    Not specified
    @@ -30,9 +42,19 @@
    Molecular Mechanism Assessed
    -
    +
    {{ - scoreSet.experiment.keywords.find((k) => k.keyword.key === 'Molecular Mechanism Assessed')?.keyword.label + scoreSet.experiment.keywords.find( + (k: components['schemas']['ExperimentControlledKeyword']) => + k.keyword.key === 'Molecular Mechanism Assessed' + )?.keyword.label }}
    Not specified
    @@ -41,9 +63,19 @@
    Variant Consequences Detected
    -
    +
    {{ - scoreSet.experiment.keywords.find((k) => k.keyword.key === 'Phenotypic Assay Mechanism')?.keyword.label + scoreSet.experiment.keywords.find( + (k: components['schemas']['ExperimentControlledKeyword']) => + k.keyword.key === 'Phenotypic Assay Mechanism' + )?.keyword.label }}
    Not specified
    @@ -52,9 +84,19 @@
    Model System
    -
    +
    {{ - scoreSet.experiment.keywords.find((k) => k.keyword.key === 'Phenotypic Assay Model System')?.keyword.label + scoreSet.experiment.keywords.find( + (k: components['schemas']['ExperimentControlledKeyword']) => + k.keyword.key === 'Phenotypic Assay Model System' + )?.keyword.label }}
    Not specified
    @@ -83,11 +125,23 @@ Clinical Performance*
    -
    +
    OddsPath – Normal
    {{ roundOddsPath(normalScoreRange?.oddspathsRatio) }} @@ -109,7 +163,12 @@
    OddsPath – Abnormal
    {{ roundOddsPath(abnormalScoreRange?.oddspathsRatio) }} @@ -150,7 +209,7 @@ import _ from 'lodash' import {defineComponent, PropType} from 'vue' -import {getScoreSetFirstAuthor} from '@/lib/score-sets' +import {firstAuthorLastName} from '@/lib/score-sets' import {shortCitationForPublication} from '@/lib/publication' import type {components} from '@/schema/openapi' @@ -172,8 +231,8 @@ export default defineComponent({ computed: { firstAuthor: function () { - const firstAuthor = getScoreSetFirstAuthor(this.scoreSet) - return !firstAuthor || _.isEmpty(firstAuthor?.name) ? undefined : firstAuthor.name.split(',')[0] + const author = firstAuthorLastName(this.scoreSet) + return author ? author : null }, numAuthors: function () { @@ -181,8 +240,7 @@ export default defineComponent({ }, geneAndYear: function () { - // TODO VariantEffect/mavedb-api#450 - const gene = this.scoreSet.targetGenes?.[0]?.name + const gene = this.geneTextForScoreSet const year = this.scoreSet.primaryPublicationIdentifiers[0]?.publicationYear const parts = [gene, year?.toString()].filter((x) => x != null) return parts.length > 0 ? parts.join(' ') : undefined @@ -196,6 +254,20 @@ export default defineComponent({ return this.scoreSet.primaryPublicationIdentifiers[0]?.publicationJournal }, + distinctGenesForTargets: function () { + // empty when no target genes have mappedHgncName + const geneNames = this.scoreSet.targetGenes?.map((tg) => tg.mappedHgncName) || [] + return _.uniq(geneNames.filter((name) => !_.isEmpty(name))) as string[] + }, + + geneTextForScoreSet: function () { + if (this.distinctGenesForTargets.length == 0) { + return this.scoreSet.targetGenes[0]?.name || null + } + + return this.distinctGenesForTargets.length == 1 ? this.distinctGenesForTargets[0] : 'Multiple genes' + }, + detectsNmd: function () { const libraryCreationMethod = this.scoreSet.experiment?.keywords?.find( (k) => k.keyword.key === 'Variant Library Creation Method' @@ -251,10 +323,15 @@ export default defineComponent({ return this.primaryScoreRange === this.scoreSet.scoreCalibrations?.find((sr) => sr?.investigatorProvided) }, abnormalScoreRange: function () { - return this.primaryScoreRange?.functionalRanges?.find((r) => r.classification === 'abnormal') || null + return ( + this.primaryScoreRange?.functionalClassifications?.find((r) => r.functionalClassification === 'abnormal') || + null + ) }, normalScoreRange: function () { - return this.primaryScoreRange?.functionalRanges?.find((r) => r.classification === 'normal') || null + return ( + this.primaryScoreRange?.functionalClassifications?.find((r) => r.functionalClassification === 'normal') || null + ) }, oddsPathSources() { return this.primaryScoreRange?.classificationSources @@ -268,13 +345,17 @@ export default defineComponent({ roundOddsPath: function (oddsPath: number | null | undefined) { return oddsPath?.toFixed(3) }, - formatEvidenceCodeForScoreRange: function (functionalRange: components['schemas']['FunctionalRange'] | null) { - if (!functionalRange?.acmgClassification?.evidenceStrength) { + formatEvidenceCodeForScoreRange: function ( + functionalClassification: + | components['schemas']['mavedb__view_models__score_calibration__FunctionalClassification'] + | null + ) { + if (!functionalClassification?.acmgClassification?.evidenceStrength) { return '' } - const criterion = functionalRange.acmgClassification.criterion - const strength = functionalRange.acmgClassification.evidenceStrength.toUpperCase() + const criterion = functionalClassification.acmgClassification.criterion + const strength = functionalClassification.acmgClassification.evidenceStrength.toUpperCase() return `${criterion}_${strength}` } } @@ -285,42 +366,41 @@ export default defineComponent({ /* Assay fact sheet layout */ .mavedb-assay-facts-card { - width: 580px; /* fixed size */ + width: 100%; border: 1px solid #000; - padding: 12px; + padding: 1em; font-family: sans-serif; - font-size: 14px; - line-height: 1.4; + line-height: 1.5; + box-sizing: border-box; } .mavedb-assay-facts-card-header { font-weight: bold; - border-bottom: 3px solid #000; - padding-bottom: 4px; - margin-bottom: 8px; + border-bottom: 0.19em solid #000; + padding-bottom: 0.25em; + margin-bottom: 0.5em; } .mavedb-assay-facts-section { - margin-bottom: 12px; + margin-bottom: 0.75em; } .mavedb-assay-facts-section-title { font-weight: bold; - margin: 6px 0; - border-top: 1px solid #3e3d3dbb; - padding-top: 4px; - font-size: 16px; - font-weight: bold; + margin: 0.375em 0; + border-top: 0.06em solid #3e3d3dbb; + padding-top: 0.5em; + font-size: 1.1em; } .mavedb-assay-facts-row { display: flex; justify-content: space-between; - margin: 2px 0; + margin: 0.125em 0; } .mavedb-assay-facts-bottom-separator { - border-bottom: 1px solid #3e3d3dbb; + border-bottom: 0.06em solid #3e3d3dbb; } /* Assay facts data */ @@ -338,14 +418,14 @@ export default defineComponent({ .mavedb-assay-facts-value.yellow { background: #fef3c7; - padding: 2px 4px; + padding: 0.125em 0.25em; border-radius: 4px; } /* Heading */ .mavedb-assay-facts-heading { - font-size: 21px; + font-size: 1.4em; } .mavedb-assay-facts-heading-et-al, @@ -358,11 +438,11 @@ export default defineComponent({ .mavedb-classification-badge { position: absolute; left: 6em; - padding: 2px 6px; - border-radius: 4px; - font-size: 12px; + padding: 0.125em 0.375em; + border-radius: 0.25em; + font-size: 0.75em; font-weight: bold; - margin-left: 4px; + margin-left: 0.25em; } .mavedb-classification-badge.mavedb-blue { diff --git a/src/components/CalibrationEditor.vue b/src/components/CalibrationEditor.vue index 7165ca7e..6e9e812f 100644 --- a/src/components/CalibrationEditor.vue +++ b/src/components/CalibrationEditor.vue @@ -8,13 +8,13 @@

    Select the score set to which this calibration will apply.

    - - + - + {{ validationErrors['scoreSetUrn'] }} @@ -37,10 +37,10 @@
    Display name for this calibration used in visualizations and listings.
    - + - + {{ validationErrors['title'] }}
    @@ -50,10 +50,10 @@
    - + - + {{ validationErrors['notes'] }}
    @@ -66,7 +66,7 @@
    This number should not be in a range classified as abnormal.
    - + - + {{ validationErrors['baselineScore'] }} @@ -93,7 +93,7 @@
    - + Baseline Score Description (optional) - + {{ validationErrors['baselineScoreDescription'] }}
    + -
    +
    Functional Range {{ rangeIdx + 1 }}

    - {{ - validationErrors[`functionalRanges.${rangeIdx}`] + {{ + validationErrors[`functionalClassifications.${rangeIdx}`] }}
    @@ -141,16 +166,16 @@
    Display name used in visualizations.
    - + - - {{ - validationErrors[`functionalRanges.${rangeIdx}.label`] + + {{ + validationErrors[`functionalClassifications.${rangeIdx}.label`] }}
    @@ -163,7 +188,7 @@
    Provide contextual meaning for the range.
    - + Functional range description (optional) - - {{ - validationErrors[`functionalRanges.${rangeIdx}.description`] + + {{ + validationErrors[`functionalClassifications.${rangeIdx}.description`] }}
    @@ -191,95 +216,134 @@
    - {{ - validationErrors[`functionalRanges.${rangeIdx}.classification`] - }} + {{ validationErrors[`functionalClassifications.${rangeIdx}.classification`] }}
    -
    -
    - -
    Use toggle buttons for inclusive/exclusive and infinity.
    +