@genspectrum/dashboard-components 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +213 -78
- package/dist/dashboard-components.js +303 -53
- package/dist/dashboard-components.js.map +1 -1
- package/dist/genspectrum-components.d.ts +288 -69
- package/dist/style.css +142 -15
- package/package.json +3 -3
- package/src/preact/aggregatedData/aggregate.stories.tsx +2 -0
- package/src/preact/aggregatedData/aggregate.tsx +9 -4
- package/src/preact/components/headline.stories.tsx +19 -1
- package/src/preact/components/headline.tsx +9 -1
- package/src/preact/components/info.stories.tsx +24 -3
- package/src/preact/components/info.tsx +49 -5
- package/src/preact/dateRangeSelector/date-range-selector.tsx +10 -10
- package/src/preact/mutationComparison/mutation-comparison.stories.tsx +3 -0
- package/src/preact/mutationComparison/mutation-comparison.tsx +3 -3
- package/src/preact/mutationFilter/mutation-filter.tsx +1 -1
- package/src/preact/mutations/mutations.stories.tsx +3 -0
- package/src/preact/mutations/mutations.tsx +9 -3
- package/src/preact/prevalenceOverTime/prevalence-over-time.stories.tsx +4 -0
- package/src/preact/prevalenceOverTime/prevalence-over-time.tsx +14 -4
- package/src/preact/relativeGrowthAdvantage/relative-growth-advantage.stories.tsx +3 -0
- package/src/preact/relativeGrowthAdvantage/relative-growth-advantage.tsx +49 -4
- package/src/web-components/display/aggregate-component.stories.ts +3 -0
- package/src/web-components/display/aggregate-component.tsx +15 -1
- package/src/web-components/display/mutation-comparison-component.stories.ts +3 -0
- package/src/web-components/display/mutation-comparison-component.tsx +7 -0
- package/src/web-components/display/mutations-component.stories.ts +27 -7
- package/src/web-components/display/mutations-component.tsx +58 -4
- package/src/web-components/display/prevalence-over-time-component.stories.ts +24 -0
- package/src/web-components/display/prevalence-over-time-component.tsx +93 -5
- package/src/web-components/display/relative-growth-advantage-component.stories.ts +21 -0
- package/src/web-components/display/relative-growth-advantage-component.tsx +54 -3
- package/src/web-components/input/date-range-selector-component.stories.ts +17 -2
- package/src/web-components/input/date-range-selector-component.tsx +57 -5
- package/src/web-components/input/mutation-filter-component.stories.ts +13 -3
- package/src/web-components/input/mutation-filter-component.tsx +50 -2
- package/src/web-components/input/text-input-component.stories.ts +14 -3
- package/src/web-components/input/text-input-component.tsx +23 -1
|
@@ -1225,6 +1225,12 @@ const ErrorDisplay = ({ error }) => {
|
|
|
1225
1225
|
] });
|
|
1226
1226
|
};
|
|
1227
1227
|
const Headline = ({ heading, children }) => {
|
|
1228
|
+
if (!heading) {
|
|
1229
|
+
return /* @__PURE__ */ u$1(Fragment, { children });
|
|
1230
|
+
}
|
|
1231
|
+
return /* @__PURE__ */ u$1(ResizingHeadline, { heading, children });
|
|
1232
|
+
};
|
|
1233
|
+
const ResizingHeadline = ({ heading, children }) => {
|
|
1228
1234
|
const ref = F(null);
|
|
1229
1235
|
const [h1Height, setH1Height] = p("2rem");
|
|
1230
1236
|
_(() => {
|
|
@@ -1238,8 +1244,37 @@ const Headline = ({ heading, children }) => {
|
|
|
1238
1244
|
/* @__PURE__ */ u$1("div", { style: { height: `calc(100% - ${h1Height})` }, children })
|
|
1239
1245
|
] });
|
|
1240
1246
|
};
|
|
1241
|
-
const Info = ({
|
|
1242
|
-
|
|
1247
|
+
const Info = ({ children, size }) => {
|
|
1248
|
+
const [showHelp, setShowHelp] = p(false);
|
|
1249
|
+
const toggleHelp = () => {
|
|
1250
|
+
setShowHelp(!showHelp);
|
|
1251
|
+
};
|
|
1252
|
+
return /* @__PURE__ */ u$1("div", { className: "relative", children: [
|
|
1253
|
+
/* @__PURE__ */ u$1("button", { className: "btn btn-xs", onClick: toggleHelp, children: "?" }),
|
|
1254
|
+
showHelp && /* @__PURE__ */ u$1(
|
|
1255
|
+
"div",
|
|
1256
|
+
{
|
|
1257
|
+
className: "absolute top-8 right-6 bg-white p-2 border border-black flex flex-col overflow-auto shadow-lg rounded z-50",
|
|
1258
|
+
style: size,
|
|
1259
|
+
children: [
|
|
1260
|
+
/* @__PURE__ */ u$1("div", { className: "flex flex-col", children }),
|
|
1261
|
+
/* @__PURE__ */ u$1("div", { className: "flex justify-end", children: /* @__PURE__ */ u$1("button", { className: "text-sm underline mt-2", onClick: toggleHelp, children: "Close" }) })
|
|
1262
|
+
]
|
|
1263
|
+
}
|
|
1264
|
+
)
|
|
1265
|
+
] });
|
|
1266
|
+
};
|
|
1267
|
+
const InfoHeadline1 = ({ children }) => {
|
|
1268
|
+
return /* @__PURE__ */ u$1("h1", { className: "text-lg font-bold", children });
|
|
1269
|
+
};
|
|
1270
|
+
const InfoHeadline2 = ({ children }) => {
|
|
1271
|
+
return /* @__PURE__ */ u$1("h2", { className: "text-base font-bold mt-4", children });
|
|
1272
|
+
};
|
|
1273
|
+
const InfoParagraph = ({ children }) => {
|
|
1274
|
+
return /* @__PURE__ */ u$1("p", { className: "text-justify my-1", children });
|
|
1275
|
+
};
|
|
1276
|
+
const InfoLink = ({ children, href }) => {
|
|
1277
|
+
return /* @__PURE__ */ u$1("a", { className: "text-blue-600 hover:text-blue-800", href, target: "_blank", rel: "noopener noreferrer", children });
|
|
1243
1278
|
};
|
|
1244
1279
|
const LoadingDisplay = () => {
|
|
1245
1280
|
return /* @__PURE__ */ u$1("div", { children: "Loading..." });
|
|
@@ -1503,13 +1538,13 @@ const MutationComparison = ({
|
|
|
1503
1538
|
variants,
|
|
1504
1539
|
sequenceType,
|
|
1505
1540
|
views,
|
|
1506
|
-
size
|
|
1541
|
+
size,
|
|
1542
|
+
headline = "Mutation comparison"
|
|
1507
1543
|
}) => {
|
|
1508
1544
|
const lapis = P(LapisUrlContext);
|
|
1509
1545
|
const { data, error, isLoading } = useQuery(async () => {
|
|
1510
1546
|
return queryMutationData(variants, sequenceType, lapis);
|
|
1511
1547
|
}, [variants, sequenceType, lapis]);
|
|
1512
|
-
const headline = "Mutation comparison";
|
|
1513
1548
|
if (isLoading) {
|
|
1514
1549
|
return /* @__PURE__ */ u$1(Headline, { heading: headline, children: /* @__PURE__ */ u$1(LoadingDisplay, {}) });
|
|
1515
1550
|
}
|
|
@@ -1612,7 +1647,7 @@ const Toolbar$3 = ({
|
|
|
1612
1647
|
filename: "mutation_comparison.csv"
|
|
1613
1648
|
}
|
|
1614
1649
|
),
|
|
1615
|
-
/* @__PURE__ */ u$1(Info, {
|
|
1650
|
+
/* @__PURE__ */ u$1(Info, { children: "Info for mutation comparison" })
|
|
1616
1651
|
] });
|
|
1617
1652
|
};
|
|
1618
1653
|
const gridJsStyle = '.gridjs-head button, .gridjs-footer button {\n cursor: pointer;\n background-color: transparent;\n background-image: none;\n padding: 0;\n margin: 0;\n border: none;\n outline: none;\n}\n\n.gridjs-temp {\n position: relative;\n}\n\n.gridjs-head {\n width: 100%;\n margin-bottom: 5px;\n padding: 5px 1px;\n}\n.gridjs-head::after {\n content: "";\n display: block;\n clear: both;\n}\n.gridjs-head:empty {\n padding: 0;\n border: none;\n}\n\n.gridjs-container {\n overflow: hidden;\n display: inline-block;\n padding: 2px;\n color: #000;\n position: relative;\n z-index: 0;\n}\n\n.gridjs-footer {\n display: block;\n position: relative;\n width: 100%;\n z-index: 5;\n padding: 12px 24px;\n border-top: 1px solid #e5e7eb;\n background-color: #fff;\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.26);\n border-radius: 0 0 8px 8px;\n border-bottom-width: 1px;\n border-color: #e5e7eb;\n}\n.gridjs-footer:empty {\n padding: 0;\n border: none;\n}\n\ninput.gridjs-input {\n outline: none;\n background-color: #fff;\n border: 1px solid #d2d6dc;\n border-radius: 5px;\n padding: 10px 13px;\n font-size: 14px;\n line-height: 1.45;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\ninput.gridjs-input:focus {\n box-shadow: 0 0 0 3px rgba(149, 189, 243, 0.5);\n border-color: #9bc2f7;\n}\n\n.gridjs-pagination {\n color: #3d4044;\n}\n.gridjs-pagination::after {\n content: "";\n display: block;\n clear: both;\n}\n.gridjs-pagination .gridjs-summary {\n float: left;\n margin-top: 5px;\n}\n.gridjs-pagination .gridjs-pages {\n float: right;\n}\n.gridjs-pagination .gridjs-pages button {\n padding: 5px 14px;\n border: 1px solid #d2d6dc;\n background-color: #fff;\n border-right: none;\n outline: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.gridjs-pagination .gridjs-pages button:focus {\n box-shadow: 0 0 0 2px rgba(149, 189, 243, 0.5);\n position: relative;\n margin-right: -1px;\n border-right: 1px solid #d2d6dc;\n}\n.gridjs-pagination .gridjs-pages button:hover {\n background-color: #f7f7f7;\n color: rgb(60, 66, 87);\n outline: none;\n}\n.gridjs-pagination .gridjs-pages button:disabled,\n.gridjs-pagination .gridjs-pages button[disabled],\n.gridjs-pagination .gridjs-pages button:hover:disabled {\n cursor: default;\n background-color: #fff;\n color: #6b7280;\n}\n.gridjs-pagination .gridjs-pages button.gridjs-spread {\n cursor: default;\n box-shadow: none;\n background-color: #fff;\n}\n.gridjs-pagination .gridjs-pages button.gridjs-currentPage {\n background-color: #f7f7f7;\n font-weight: bold;\n}\n.gridjs-pagination .gridjs-pages button:last-child {\n border-bottom-right-radius: 6px;\n border-top-right-radius: 6px;\n border-right: 1px solid #d2d6dc;\n}\n.gridjs-pagination .gridjs-pages button:first-child {\n border-bottom-left-radius: 6px;\n border-top-left-radius: 6px;\n}\n.gridjs-pagination .gridjs-pages button:last-child:focus {\n margin-right: 0;\n}\n\nbutton.gridjs-sort {\n float: right;\n height: 24px;\n width: 13px;\n background-color: transparent;\n background-repeat: no-repeat;\n background-position-x: center;\n cursor: pointer;\n padding: 0;\n margin: 0;\n border: none;\n outline: none;\n background-size: contain;\n}\nbutton.gridjs-sort-neutral {\n opacity: 0.3;\n background-image: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHdpZHRoPSI0MDEuOTk4cHgiIGhlaWdodD0iNDAxLjk5OHB4IiB2aWV3Qm94PSIwIDAgNDAxLjk5OCA0MDEuOTk4IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0MDEuOTk4IDQwMS45OTg7IgoJIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8Zz4KCTxnPgoJCTxwYXRoIGQ9Ik03My4wOTIsMTY0LjQ1MmgyNTUuODEzYzQuOTQ5LDAsOS4yMzMtMS44MDcsMTIuODQ4LTUuNDI0YzMuNjEzLTMuNjE2LDUuNDI3LTcuODk4LDUuNDI3LTEyLjg0NwoJCQljMC00Ljk0OS0xLjgxMy05LjIyOS01LjQyNy0xMi44NUwyMTMuODQ2LDUuNDI0QzIxMC4yMzIsMS44MTIsMjA1Ljk1MSwwLDIwMC45OTksMHMtOS4yMzMsMS44MTItMTIuODUsNS40MjRMNjAuMjQyLDEzMy4zMzEKCQkJYy0zLjYxNywzLjYxNy01LjQyNCw3LjkwMS01LjQyNCwxMi44NWMwLDQuOTQ4LDEuODA3LDkuMjMxLDUuNDI0LDEyLjg0N0M2My44NjMsMTYyLjY0NSw2OC4xNDQsMTY0LjQ1Miw3My4wOTIsMTY0LjQ1MnoiLz4KCQk8cGF0aCBkPSJNMzI4LjkwNSwyMzcuNTQ5SDczLjA5MmMtNC45NTIsMC05LjIzMywxLjgwOC0xMi44NSw1LjQyMWMtMy42MTcsMy42MTctNS40MjQsNy44OTgtNS40MjQsMTIuODQ3CgkJCWMwLDQuOTQ5LDEuODA3LDkuMjMzLDUuNDI0LDEyLjg0OEwxODguMTQ5LDM5Ni41N2MzLjYyMSwzLjYxNyw3LjkwMiw1LjQyOCwxMi44NSw1LjQyOHM5LjIzMy0xLjgxMSwxMi44NDctNS40MjhsMTI3LjkwNy0xMjcuOTA2CgkJCWMzLjYxMy0zLjYxNCw1LjQyNy03Ljg5OCw1LjQyNy0xMi44NDhjMC00Ljk0OC0xLjgxMy05LjIyOS01LjQyNy0xMi44NDdDMzM4LjEzOSwyMzkuMzUzLDMzMy44NTQsMjM3LjU0OSwzMjguOTA1LDIzNy41NDl6Ii8+Cgk8L2c+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+");\n background-position-y: center;\n}\nbutton.gridjs-sort-asc {\n background-image: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHdpZHRoPSIyOTIuMzYycHgiIGhlaWdodD0iMjkyLjM2MXB4IiB2aWV3Qm94PSIwIDAgMjkyLjM2MiAyOTIuMzYxIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyOTIuMzYyIDI5Mi4zNjE7IgoJIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8Zz4KCTxwYXRoIGQ9Ik0yODYuOTM1LDE5Ny4yODdMMTU5LjAyOCw2OS4zODFjLTMuNjEzLTMuNjE3LTcuODk1LTUuNDI0LTEyLjg0Ny01LjQyNHMtOS4yMzMsMS44MDctMTIuODUsNS40MjRMNS40MjQsMTk3LjI4NwoJCUMxLjgwNywyMDAuOTA0LDAsMjA1LjE4NiwwLDIxMC4xMzRzMS44MDcsOS4yMzMsNS40MjQsMTIuODQ3YzMuNjIxLDMuNjE3LDcuOTAyLDUuNDI1LDEyLjg1LDUuNDI1aDI1NS44MTMKCQljNC45NDksMCw5LjIzMy0xLjgwOCwxMi44NDgtNS40MjVjMy42MTMtMy42MTMsNS40MjctNy44OTgsNS40MjctMTIuODQ3UzI5MC41NDgsMjAwLjkwNCwyODYuOTM1LDE5Ny4yODd6Ii8+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+");\n background-position-y: 35%;\n background-size: 10px;\n}\nbutton.gridjs-sort-desc {\n background-image: url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHdpZHRoPSIyOTIuMzYycHgiIGhlaWdodD0iMjkyLjM2MnB4IiB2aWV3Qm94PSIwIDAgMjkyLjM2MiAyOTIuMzYyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyOTIuMzYyIDI5Mi4zNjI7IgoJIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8Zz4KCTxwYXRoIGQ9Ik0yODYuOTM1LDY5LjM3N2MtMy42MTQtMy42MTctNy44OTgtNS40MjQtMTIuODQ4LTUuNDI0SDE4LjI3NGMtNC45NTIsMC05LjIzMywxLjgwNy0xMi44NSw1LjQyNAoJCUMxLjgwNyw3Mi45OTgsMCw3Ny4yNzksMCw4Mi4yMjhjMCw0Ljk0OCwxLjgwNyw5LjIyOSw1LjQyNCwxMi44NDdsMTI3LjkwNywxMjcuOTA3YzMuNjIxLDMuNjE3LDcuOTAyLDUuNDI4LDEyLjg1LDUuNDI4CgkJczkuMjMzLTEuODExLDEyLjg0Ny01LjQyOEwyODYuOTM1LDk1LjA3NGMzLjYxMy0zLjYxNyw1LjQyNy03Ljg5OCw1LjQyNy0xMi44NDdDMjkyLjM2Miw3Ny4yNzksMjkwLjU0OCw3Mi45OTgsMjg2LjkzNSw2OS4zNzd6Ii8+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+");\n background-position-y: 65%;\n background-size: 10px;\n}\nbutton.gridjs-sort:focus {\n outline: none;\n}\n\ntable.gridjs-table {\n width: 100%;\n max-width: 100%;\n border-collapse: collapse;\n text-align: left;\n display: table;\n margin: 0;\n padding: 0;\n overflow: auto;\n table-layout: fixed;\n}\n\n.gridjs-tbody {\n background-color: #fff;\n}\n\ntd.gridjs-td {\n border: 1px solid #e5e7eb;\n padding: 12px 24px;\n background-color: #fff;\n box-sizing: content-box;\n}\ntd.gridjs-td:first-child {\n border-left: none;\n}\ntd.gridjs-td:last-child {\n border-right: none;\n}\ntd.gridjs-message {\n text-align: center;\n}\n\nth.gridjs-th {\n position: relative;\n color: #6b7280;\n background-color: #f9fafb;\n border: 1px solid #e5e7eb;\n border-top: none;\n padding: 14px 24px;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n box-sizing: border-box;\n white-space: nowrap;\n outline: none;\n vertical-align: middle;\n}\nth.gridjs-th .gridjs-th-content {\n text-overflow: ellipsis;\n overflow: hidden;\n width: 100%;\n float: left;\n}\nth.gridjs-th-sort {\n cursor: pointer;\n}\nth.gridjs-th-sort .gridjs-th-content {\n width: calc(100% - 15px);\n}\nth.gridjs-th-sort:hover {\n background-color: #e5e7eb;\n}\nth.gridjs-th-sort:focus {\n background-color: #e5e7eb;\n}\nth.gridjs-th-fixed {\n position: sticky;\n box-shadow: 0 1px 0 0 #e5e7eb;\n}\n@supports (-moz-appearance: none) {\n th.gridjs-th-fixed {\n box-shadow: 0 0 0 1px #e5e7eb;\n }\n}\nth.gridjs-th:first-child {\n border-left: none;\n}\nth.gridjs-th:last-child {\n border-right: none;\n}\n\n.gridjs-tr {\n border: none;\n}\n.gridjs-tr-selected td {\n background-color: #ebf5ff;\n}\n.gridjs-tr:last-child td {\n border-bottom: 0;\n}\n\n.gridjs *,\n.gridjs :after,\n.gridjs :before {\n box-sizing: border-box;\n}\n\n.gridjs-wrapper {\n position: relative;\n z-index: 1;\n overflow: auto;\n width: 100%;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.26);\n border-radius: 8px 8px 0 0;\n display: block;\n border-top-width: 1px;\n border-color: #e5e7eb;\n}\n.gridjs-wrapper:nth-last-of-type(2) {\n border-radius: 8px;\n border-bottom-width: 1px;\n}\n\n.gridjs-search {\n float: left;\n}\n.gridjs-search-input {\n width: 250px;\n}\n\n.gridjs-loading-bar {\n z-index: 10;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background-color: #fff;\n opacity: 0.5;\n}\n.gridjs-loading-bar::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n transform: translateX(-100%);\n background-image: linear-gradient(90deg, rgba(204, 204, 204, 0) 0, rgba(204, 204, 204, 0.2) 20%, rgba(204, 204, 204, 0.5) 60%, rgba(204, 204, 204, 0));\n animation: shimmer 2s infinite;\n content: "";\n}\n@keyframes shimmer {\n 100% {\n transform: translateX(100%);\n }\n}\n\n.gridjs-td .gridjs-checkbox {\n display: block;\n margin: auto;\n cursor: pointer;\n}\n\n.gridjs-resizable {\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n width: 5px;\n}\n.gridjs-resizable:hover {\n cursor: ew-resize;\n background-color: #9bc2f7;\n}\n/*# sourceMappingURL=mermaid.css?inline.map */';
|
|
@@ -2307,7 +2342,6 @@ html {
|
|
|
2307
2342
|
transition-duration: 200ms;
|
|
2308
2343
|
transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
|
|
2309
2344
|
border-width: var(--border-btn, 1px);
|
|
2310
|
-
animation: button-pop var(--animation-btn, 0.25s) ease-out;
|
|
2311
2345
|
transition-property: color, background-color, border-color, opacity, box-shadow, transform;
|
|
2312
2346
|
--tw-text-opacity: 1;
|
|
2313
2347
|
color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity)));
|
|
@@ -2782,6 +2816,14 @@ html {
|
|
|
2782
2816
|
z-index: 3;
|
|
2783
2817
|
opacity: 1;
|
|
2784
2818
|
}
|
|
2819
|
+
.steps {
|
|
2820
|
+
display: inline-grid;
|
|
2821
|
+
grid-auto-flow: column;
|
|
2822
|
+
overflow: hidden;
|
|
2823
|
+
overflow-x: auto;
|
|
2824
|
+
counter-reset: step;
|
|
2825
|
+
grid-auto-columns: 1fr;
|
|
2826
|
+
}
|
|
2785
2827
|
.steps .step {
|
|
2786
2828
|
display: grid;
|
|
2787
2829
|
grid-template-columns: repeat(1, minmax(0, 1fr));
|
|
@@ -2796,8 +2838,7 @@ html {
|
|
|
2796
2838
|
display: grid;
|
|
2797
2839
|
align-items: flex-end;
|
|
2798
2840
|
}
|
|
2799
|
-
.tabs-lifted:has(.tab-content[class^="rounded-"]) .tab:first-child:not(.tab-active),
|
|
2800
|
-
.tabs-lifted:has(.tab-content[class*=" rounded-"]) .tab:first-child:not(.tab-active) {
|
|
2841
|
+
.tabs-lifted:has(.tab-content[class^="rounded-"]) .tab:first-child:not(:is(.tab-active, [aria-selected="true"])), .tabs-lifted:has(.tab-content[class*=" rounded-"]) .tab:first-child:not(:is(.tab-active, [aria-selected="true"])) {
|
|
2801
2842
|
border-bottom-color: transparent;
|
|
2802
2843
|
}
|
|
2803
2844
|
.tab {
|
|
@@ -2842,7 +2883,7 @@ html {
|
|
|
2842
2883
|
grid-column-start: span 9999;
|
|
2843
2884
|
}
|
|
2844
2885
|
input.tab:checked + .tab-content,
|
|
2845
|
-
.tab-active + .tab-content {
|
|
2886
|
+
:is(.tab-active, [aria-selected="true"]) + .tab-content {
|
|
2846
2887
|
display: block;
|
|
2847
2888
|
}
|
|
2848
2889
|
.table {
|
|
@@ -2887,6 +2928,12 @@ input.tab:checked + .tab-content,
|
|
|
2887
2928
|
font-size: 1rem;
|
|
2888
2929
|
line-height: 1.5rem;
|
|
2889
2930
|
}
|
|
2931
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
2932
|
+
|
|
2933
|
+
.btn {
|
|
2934
|
+
animation: button-pop var(--animation-btn, 0.25s) ease-out;
|
|
2935
|
+
}
|
|
2936
|
+
}
|
|
2890
2937
|
.btn:active:hover,
|
|
2891
2938
|
.btn:active:focus {
|
|
2892
2939
|
animation: button-pop 0s ease-out;
|
|
@@ -3464,12 +3511,79 @@ input.tab:checked + .tab-content,
|
|
|
3464
3511
|
.steps .step[data-content]:after {
|
|
3465
3512
|
content: attr(data-content);
|
|
3466
3513
|
}
|
|
3514
|
+
.steps .step-neutral + .step-neutral:before,
|
|
3515
|
+
.steps .step-neutral:after {
|
|
3516
|
+
--tw-bg-opacity: 1;
|
|
3517
|
+
background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity)));
|
|
3518
|
+
--tw-text-opacity: 1;
|
|
3519
|
+
color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity)));
|
|
3520
|
+
}
|
|
3521
|
+
.steps .step-primary + .step-primary:before,
|
|
3522
|
+
.steps .step-primary:after {
|
|
3523
|
+
--tw-bg-opacity: 1;
|
|
3524
|
+
background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity)));
|
|
3525
|
+
--tw-text-opacity: 1;
|
|
3526
|
+
color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity)));
|
|
3527
|
+
}
|
|
3528
|
+
.steps .step-secondary + .step-secondary:before,
|
|
3529
|
+
.steps .step-secondary:after {
|
|
3530
|
+
--tw-bg-opacity: 1;
|
|
3531
|
+
background-color: var(--fallback-s,oklch(var(--s)/var(--tw-bg-opacity)));
|
|
3532
|
+
--tw-text-opacity: 1;
|
|
3533
|
+
color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity)));
|
|
3534
|
+
}
|
|
3535
|
+
.steps .step-accent + .step-accent:before,
|
|
3536
|
+
.steps .step-accent:after {
|
|
3537
|
+
--tw-bg-opacity: 1;
|
|
3538
|
+
background-color: var(--fallback-a,oklch(var(--a)/var(--tw-bg-opacity)));
|
|
3539
|
+
--tw-text-opacity: 1;
|
|
3540
|
+
color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity)));
|
|
3541
|
+
}
|
|
3542
|
+
.steps .step-info + .step-info:before {
|
|
3543
|
+
--tw-bg-opacity: 1;
|
|
3544
|
+
background-color: var(--fallback-in,oklch(var(--in)/var(--tw-bg-opacity)));
|
|
3545
|
+
}
|
|
3546
|
+
.steps .step-info:after {
|
|
3547
|
+
--tw-bg-opacity: 1;
|
|
3548
|
+
background-color: var(--fallback-in,oklch(var(--in)/var(--tw-bg-opacity)));
|
|
3549
|
+
--tw-text-opacity: 1;
|
|
3550
|
+
color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity)));
|
|
3551
|
+
}
|
|
3552
|
+
.steps .step-success + .step-success:before {
|
|
3553
|
+
--tw-bg-opacity: 1;
|
|
3554
|
+
background-color: var(--fallback-su,oklch(var(--su)/var(--tw-bg-opacity)));
|
|
3555
|
+
}
|
|
3556
|
+
.steps .step-success:after {
|
|
3557
|
+
--tw-bg-opacity: 1;
|
|
3558
|
+
background-color: var(--fallback-su,oklch(var(--su)/var(--tw-bg-opacity)));
|
|
3559
|
+
--tw-text-opacity: 1;
|
|
3560
|
+
color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity)));
|
|
3561
|
+
}
|
|
3562
|
+
.steps .step-warning + .step-warning:before {
|
|
3563
|
+
--tw-bg-opacity: 1;
|
|
3564
|
+
background-color: var(--fallback-wa,oklch(var(--wa)/var(--tw-bg-opacity)));
|
|
3565
|
+
}
|
|
3566
|
+
.steps .step-warning:after {
|
|
3567
|
+
--tw-bg-opacity: 1;
|
|
3568
|
+
background-color: var(--fallback-wa,oklch(var(--wa)/var(--tw-bg-opacity)));
|
|
3569
|
+
--tw-text-opacity: 1;
|
|
3570
|
+
color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity)));
|
|
3571
|
+
}
|
|
3572
|
+
.steps .step-error + .step-error:before {
|
|
3573
|
+
--tw-bg-opacity: 1;
|
|
3574
|
+
background-color: var(--fallback-er,oklch(var(--er)/var(--tw-bg-opacity)));
|
|
3575
|
+
}
|
|
3576
|
+
.steps .step-error:after {
|
|
3577
|
+
--tw-bg-opacity: 1;
|
|
3578
|
+
background-color: var(--fallback-er,oklch(var(--er)/var(--tw-bg-opacity)));
|
|
3579
|
+
--tw-text-opacity: 1;
|
|
3580
|
+
color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity)));
|
|
3581
|
+
}
|
|
3467
3582
|
.tabs-lifted > .tab:focus-visible {
|
|
3468
3583
|
border-end-end-radius: 0;
|
|
3469
3584
|
border-end-start-radius: 0;
|
|
3470
3585
|
}
|
|
3471
|
-
.tab.tab-active:not(.tab-disabled):not([disabled]),
|
|
3472
|
-
.tab:is(input:checked) {
|
|
3586
|
+
.tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]), .tab:is(input:checked) {
|
|
3473
3587
|
border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity)));
|
|
3474
3588
|
--tw-border-opacity: 1;
|
|
3475
3589
|
--tw-text-opacity: 1;
|
|
@@ -3504,8 +3618,7 @@ input.tab:checked + .tab-content,
|
|
|
3504
3618
|
padding-inline-end: var(--tab-padding, 1rem);
|
|
3505
3619
|
padding-top: var(--tab-border, 1px);
|
|
3506
3620
|
}
|
|
3507
|
-
.tabs-lifted > .tab.tab-active:not(.tab-disabled):not([disabled]),
|
|
3508
|
-
.tabs-lifted > .tab:is(input:checked) {
|
|
3621
|
+
.tabs-lifted > .tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]), .tabs-lifted > .tab:is(input:checked) {
|
|
3509
3622
|
background-color: var(--tab-bg);
|
|
3510
3623
|
border-width: var(--tab-border, 1px) var(--tab-border, 1px) 0 var(--tab-border, 1px);
|
|
3511
3624
|
border-inline-start-color: var(--tab-border-color);
|
|
@@ -3516,7 +3629,7 @@ input.tab:checked + .tab-content,
|
|
|
3516
3629
|
padding-bottom: var(--tab-border, 1px);
|
|
3517
3630
|
padding-top: 0;
|
|
3518
3631
|
}
|
|
3519
|
-
.tabs-lifted > .tab.tab-active:not(.tab-disabled):not([disabled]):before, .tabs-lifted > .tab:is(input:checked):before {
|
|
3632
|
+
.tabs-lifted > .tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]):before, .tabs-lifted > .tab:is(input:checked):before {
|
|
3520
3633
|
z-index: 1;
|
|
3521
3634
|
content: "";
|
|
3522
3635
|
display: block;
|
|
@@ -3545,26 +3658,26 @@ input.tab:checked + .tab-content,
|
|
|
3545
3658
|
);
|
|
3546
3659
|
background-image: var(--radius-start), var(--radius-end);
|
|
3547
3660
|
}
|
|
3548
|
-
.tabs-lifted > .tab.tab-active:not(.tab-disabled):not([disabled]):first-child:before, .tabs-lifted > .tab:is(input:checked):first-child:before {
|
|
3661
|
+
.tabs-lifted > .tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]):first-child:before, .tabs-lifted > .tab:is(input:checked):first-child:before {
|
|
3549
3662
|
background-image: var(--radius-end);
|
|
3550
3663
|
background-position: top right;
|
|
3551
3664
|
}
|
|
3552
|
-
[dir="rtl"] .tabs-lifted > .tab.tab-active:not(.tab-disabled):not([disabled]):first-child:before, [dir="rtl"] .tabs-lifted > .tab:is(input:checked):first-child:before {
|
|
3665
|
+
[dir="rtl"] .tabs-lifted > .tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]):first-child:before, [dir="rtl"] .tabs-lifted > .tab:is(input:checked):first-child:before {
|
|
3553
3666
|
background-image: var(--radius-start);
|
|
3554
3667
|
background-position: top left;
|
|
3555
3668
|
}
|
|
3556
|
-
.tabs-lifted > .tab.tab-active:not(.tab-disabled):not([disabled]):last-child:before, .tabs-lifted > .tab:is(input:checked):last-child:before {
|
|
3669
|
+
.tabs-lifted > .tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]):last-child:before, .tabs-lifted > .tab:is(input:checked):last-child:before {
|
|
3557
3670
|
background-image: var(--radius-start);
|
|
3558
3671
|
background-position: top left;
|
|
3559
3672
|
}
|
|
3560
|
-
[dir="rtl"] .tabs-lifted > .tab.tab-active:not(.tab-disabled):not([disabled]):last-child:before, [dir="rtl"] .tabs-lifted > .tab:is(input:checked):last-child:before {
|
|
3673
|
+
[dir="rtl"] .tabs-lifted > .tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]):last-child:before, [dir="rtl"] .tabs-lifted > .tab:is(input:checked):last-child:before {
|
|
3561
3674
|
background-image: var(--radius-end);
|
|
3562
3675
|
background-position: top right;
|
|
3563
3676
|
}
|
|
3564
3677
|
.tabs-lifted
|
|
3565
|
-
> .tab-active:not(.tab-disabled):not([disabled])
|
|
3678
|
+
> :is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled])
|
|
3566
3679
|
+ .tabs-lifted
|
|
3567
|
-
.tab-active:not(.tab-disabled):not([disabled]):before, .tabs-lifted > .tab:is(input:checked) + .tabs-lifted .tab:is(input:checked):before {
|
|
3680
|
+
:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]):before, .tabs-lifted > .tab:is(input:checked) + .tabs-lifted .tab:is(input:checked):before {
|
|
3568
3681
|
background-image: var(--radius-end);
|
|
3569
3682
|
background-position: top right;
|
|
3570
3683
|
}
|
|
@@ -3885,9 +3998,21 @@ input.tab:checked + .tab-content,
|
|
|
3885
3998
|
.static {
|
|
3886
3999
|
position: static;
|
|
3887
4000
|
}
|
|
4001
|
+
.absolute {
|
|
4002
|
+
position: absolute;
|
|
4003
|
+
}
|
|
3888
4004
|
.relative {
|
|
3889
4005
|
position: relative;
|
|
3890
4006
|
}
|
|
4007
|
+
.right-6 {
|
|
4008
|
+
right: 1.5rem;
|
|
4009
|
+
}
|
|
4010
|
+
.top-8 {
|
|
4011
|
+
top: 2rem;
|
|
4012
|
+
}
|
|
4013
|
+
.z-50 {
|
|
4014
|
+
z-index: 50;
|
|
4015
|
+
}
|
|
3891
4016
|
.z-\\[1\\] {
|
|
3892
4017
|
z-index: 1;
|
|
3893
4018
|
}
|
|
@@ -3924,6 +4049,9 @@ input.tab:checked + .tab-content,
|
|
|
3924
4049
|
.mt-2 {
|
|
3925
4050
|
margin-top: 0.5rem;
|
|
3926
4051
|
}
|
|
4052
|
+
.mt-4 {
|
|
4053
|
+
margin-top: 1rem;
|
|
4054
|
+
}
|
|
3927
4055
|
.inline {
|
|
3928
4056
|
display: inline;
|
|
3929
4057
|
}
|
|
@@ -3984,6 +4112,9 @@ input.tab:checked + .tab-content,
|
|
|
3984
4112
|
.items-center {
|
|
3985
4113
|
align-items: center;
|
|
3986
4114
|
}
|
|
4115
|
+
.justify-end {
|
|
4116
|
+
justify-content: flex-end;
|
|
4117
|
+
}
|
|
3987
4118
|
.justify-center {
|
|
3988
4119
|
justify-content: center;
|
|
3989
4120
|
}
|
|
@@ -4039,6 +4170,10 @@ input.tab:checked + .tab-content,
|
|
|
4039
4170
|
.border-b-2 {
|
|
4040
4171
|
border-bottom-width: 2px;
|
|
4041
4172
|
}
|
|
4173
|
+
.border-black {
|
|
4174
|
+
--tw-border-opacity: 1;
|
|
4175
|
+
border-color: rgb(0 0 0 / var(--tw-border-opacity));
|
|
4176
|
+
}
|
|
4042
4177
|
.border-error {
|
|
4043
4178
|
--tw-border-opacity: 1;
|
|
4044
4179
|
border-color: var(--fallback-er,oklch(var(--er)/var(--tw-border-opacity)));
|
|
@@ -4098,6 +4233,13 @@ input.tab:checked + .tab-content,
|
|
|
4098
4233
|
padding-top: 0.5rem;
|
|
4099
4234
|
padding-bottom: 0.5rem;
|
|
4100
4235
|
}
|
|
4236
|
+
.text-justify {
|
|
4237
|
+
text-align: justify;
|
|
4238
|
+
}
|
|
4239
|
+
.text-base {
|
|
4240
|
+
font-size: 1rem;
|
|
4241
|
+
line-height: 1.5rem;
|
|
4242
|
+
}
|
|
4101
4243
|
.text-lg {
|
|
4102
4244
|
font-size: 1.125rem;
|
|
4103
4245
|
line-height: 1.75rem;
|
|
@@ -4123,15 +4265,31 @@ input.tab:checked + .tab-content,
|
|
|
4123
4265
|
.leading-5 {
|
|
4124
4266
|
line-height: 1.25rem;
|
|
4125
4267
|
}
|
|
4268
|
+
.text-blue-600 {
|
|
4269
|
+
--tw-text-opacity: 1;
|
|
4270
|
+
color: rgb(37 99 235 / var(--tw-text-opacity));
|
|
4271
|
+
}
|
|
4126
4272
|
.text-gray-600 {
|
|
4127
4273
|
--tw-text-opacity: 1;
|
|
4128
4274
|
color: rgb(75 85 99 / var(--tw-text-opacity));
|
|
4129
4275
|
}
|
|
4276
|
+
.underline {
|
|
4277
|
+
text-decoration-line: underline;
|
|
4278
|
+
}
|
|
4130
4279
|
.shadow {
|
|
4131
4280
|
--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
|
|
4132
4281
|
--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
|
|
4133
4282
|
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
4134
4283
|
}
|
|
4284
|
+
.shadow-lg {
|
|
4285
|
+
--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
4286
|
+
--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
|
|
4287
|
+
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
4288
|
+
}
|
|
4289
|
+
.blur {
|
|
4290
|
+
--tw-blur: blur(8px);
|
|
4291
|
+
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
|
|
4292
|
+
}
|
|
4135
4293
|
.filter {
|
|
4136
4294
|
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
|
|
4137
4295
|
}
|
|
@@ -4147,6 +4305,10 @@ input.tab:checked + .tab-content,
|
|
|
4147
4305
|
--tw-bg-opacity: 1;
|
|
4148
4306
|
background-color: rgb(243 244 246 / var(--tw-bg-opacity));
|
|
4149
4307
|
}
|
|
4308
|
+
.hover\\:text-blue-800:hover {
|
|
4309
|
+
--tw-text-opacity: 1;
|
|
4310
|
+
color: rgb(30 64 175 / var(--tw-text-opacity));
|
|
4311
|
+
}
|
|
4150
4312
|
.hover\\:text-gray-700:hover {
|
|
4151
4313
|
--tw-text-opacity: 1;
|
|
4152
4314
|
color: rgb(55 65 81 / var(--tw-text-opacity));
|
|
@@ -4210,6 +4372,7 @@ let MutationComparisonComponent = class extends PreactLitAdapterWithGridJsStyles
|
|
|
4210
4372
|
this.sequenceType = "nucleotide";
|
|
4211
4373
|
this.views = ["table"];
|
|
4212
4374
|
this.size = void 0;
|
|
4375
|
+
this.headline = "Mutation comparison";
|
|
4213
4376
|
}
|
|
4214
4377
|
render() {
|
|
4215
4378
|
return /* @__PURE__ */ u$1(
|
|
@@ -4218,7 +4381,8 @@ let MutationComparisonComponent = class extends PreactLitAdapterWithGridJsStyles
|
|
|
4218
4381
|
variants: this.variants,
|
|
4219
4382
|
sequenceType: this.sequenceType,
|
|
4220
4383
|
views: this.views,
|
|
4221
|
-
size: this.size
|
|
4384
|
+
size: this.size,
|
|
4385
|
+
headline: this.headline
|
|
4222
4386
|
}
|
|
4223
4387
|
);
|
|
4224
4388
|
}
|
|
@@ -4235,6 +4399,9 @@ __decorateClass$8([
|
|
|
4235
4399
|
__decorateClass$8([
|
|
4236
4400
|
n2({ type: Object })
|
|
4237
4401
|
], MutationComparisonComponent.prototype, "size", 2);
|
|
4402
|
+
__decorateClass$8([
|
|
4403
|
+
n2({ type: String })
|
|
4404
|
+
], MutationComparisonComponent.prototype, "headline", 2);
|
|
4238
4405
|
MutationComparisonComponent = __decorateClass$8([
|
|
4239
4406
|
t$2("gs-mutation-comparison-component")
|
|
4240
4407
|
], MutationComparisonComponent);
|
|
@@ -4496,12 +4663,17 @@ function filterMutationsData(data, displayedSegments, displayedMutationTypes) {
|
|
|
4496
4663
|
gridData: filteredSubstitutionsOrDeletions
|
|
4497
4664
|
};
|
|
4498
4665
|
}
|
|
4499
|
-
const Mutations = ({
|
|
4666
|
+
const Mutations = ({
|
|
4667
|
+
variant,
|
|
4668
|
+
sequenceType,
|
|
4669
|
+
views,
|
|
4670
|
+
size,
|
|
4671
|
+
headline = "Mutations"
|
|
4672
|
+
}) => {
|
|
4500
4673
|
const lapis = P(LapisUrlContext);
|
|
4501
4674
|
const { data, error, isLoading } = useQuery(async () => {
|
|
4502
4675
|
return queryMutationsData(variant, sequenceType, lapis);
|
|
4503
4676
|
}, [variant, sequenceType, lapis]);
|
|
4504
|
-
const headline = "Mutations";
|
|
4505
4677
|
if (isLoading) {
|
|
4506
4678
|
return /* @__PURE__ */ u$1(Headline, { heading: headline, children: /* @__PURE__ */ u$1(LoadingDisplay, {}) });
|
|
4507
4679
|
}
|
|
@@ -4614,7 +4786,7 @@ const Toolbar$2 = ({
|
|
|
4614
4786
|
filename: "insertions.csv"
|
|
4615
4787
|
}
|
|
4616
4788
|
),
|
|
4617
|
-
/* @__PURE__ */ u$1(Info, {
|
|
4789
|
+
/* @__PURE__ */ u$1(Info, { children: "Info for mutations" })
|
|
4618
4790
|
] });
|
|
4619
4791
|
};
|
|
4620
4792
|
var __defProp$7 = Object.defineProperty;
|
|
@@ -4635,9 +4807,19 @@ let MutationsComponent = class extends PreactLitAdapterWithGridJsStyles {
|
|
|
4635
4807
|
this.sequenceType = "nucleotide";
|
|
4636
4808
|
this.views = ["table", "grid"];
|
|
4637
4809
|
this.size = void 0;
|
|
4810
|
+
this.headline = "Mutations";
|
|
4638
4811
|
}
|
|
4639
4812
|
render() {
|
|
4640
|
-
return /* @__PURE__ */ u$1(
|
|
4813
|
+
return /* @__PURE__ */ u$1(
|
|
4814
|
+
Mutations,
|
|
4815
|
+
{
|
|
4816
|
+
variant: this.variant,
|
|
4817
|
+
sequenceType: this.sequenceType,
|
|
4818
|
+
views: this.views,
|
|
4819
|
+
size: this.size,
|
|
4820
|
+
headline: this.headline
|
|
4821
|
+
}
|
|
4822
|
+
);
|
|
4641
4823
|
}
|
|
4642
4824
|
};
|
|
4643
4825
|
__decorateClass$7([
|
|
@@ -4652,6 +4834,9 @@ __decorateClass$7([
|
|
|
4652
4834
|
__decorateClass$7([
|
|
4653
4835
|
n2({ type: Object })
|
|
4654
4836
|
], MutationsComponent.prototype, "size", 2);
|
|
4837
|
+
__decorateClass$7([
|
|
4838
|
+
n2({ type: String })
|
|
4839
|
+
], MutationsComponent.prototype, "headline", 2);
|
|
4655
4840
|
MutationsComponent = __decorateClass$7([
|
|
4656
4841
|
t$2("gs-mutations-component")
|
|
4657
4842
|
], MutationsComponent);
|
|
@@ -6194,14 +6379,14 @@ const PrevalenceOverTime = ({
|
|
|
6194
6379
|
smoothingWindow,
|
|
6195
6380
|
views,
|
|
6196
6381
|
confidenceIntervalMethods,
|
|
6197
|
-
size
|
|
6382
|
+
size,
|
|
6383
|
+
headline = "Prevalence over time"
|
|
6198
6384
|
}) => {
|
|
6199
6385
|
const lapis = P(LapisUrlContext);
|
|
6200
6386
|
const { data, error, isLoading } = useQuery(
|
|
6201
6387
|
() => queryPrevalenceOverTime(numerator, denominator, granularity, smoothingWindow, lapis),
|
|
6202
6388
|
[lapis, numerator, denominator, granularity, smoothingWindow]
|
|
6203
6389
|
);
|
|
6204
|
-
const headline = "Prevalence over time";
|
|
6205
6390
|
if (isLoading) {
|
|
6206
6391
|
return /* @__PURE__ */ u$1(Headline, { heading: headline, children: /* @__PURE__ */ u$1(LoadingDisplay, {}) });
|
|
6207
6392
|
}
|
|
@@ -6313,7 +6498,13 @@ const Toolbar$1 = ({
|
|
|
6313
6498
|
filename: "prevalence-over-time.csv"
|
|
6314
6499
|
}
|
|
6315
6500
|
),
|
|
6316
|
-
/* @__PURE__ */ u$1(
|
|
6501
|
+
/* @__PURE__ */ u$1(PrevalenceOverTimeInfo, {})
|
|
6502
|
+
] });
|
|
6503
|
+
};
|
|
6504
|
+
const PrevalenceOverTimeInfo = () => {
|
|
6505
|
+
return /* @__PURE__ */ u$1(Info, { size: { width: "600px", height: "30vh" }, children: [
|
|
6506
|
+
/* @__PURE__ */ u$1(InfoHeadline1, { children: "Prevalence over time" }),
|
|
6507
|
+
/* @__PURE__ */ u$1(InfoParagraph, { children: "Prevalence over time info." })
|
|
6317
6508
|
] });
|
|
6318
6509
|
};
|
|
6319
6510
|
var __defProp$6 = Object.defineProperty;
|
|
@@ -6336,6 +6527,7 @@ let PrevalenceOverTimeComponent = class extends PreactLitAdapterWithGridJsStyles
|
|
|
6336
6527
|
this.smoothingWindow = 0;
|
|
6337
6528
|
this.views = ["bar", "line", "bubble", "table"];
|
|
6338
6529
|
this.confidenceIntervalMethods = ["wilson"];
|
|
6530
|
+
this.headline = "Prevalence over time";
|
|
6339
6531
|
this.size = void 0;
|
|
6340
6532
|
}
|
|
6341
6533
|
render() {
|
|
@@ -6348,7 +6540,8 @@ let PrevalenceOverTimeComponent = class extends PreactLitAdapterWithGridJsStyles
|
|
|
6348
6540
|
smoothingWindow: this.smoothingWindow,
|
|
6349
6541
|
views: this.views,
|
|
6350
6542
|
confidenceIntervalMethods: this.confidenceIntervalMethods,
|
|
6351
|
-
size: this.size
|
|
6543
|
+
size: this.size,
|
|
6544
|
+
headline: this.headline
|
|
6352
6545
|
}
|
|
6353
6546
|
);
|
|
6354
6547
|
}
|
|
@@ -6371,6 +6564,9 @@ __decorateClass$6([
|
|
|
6371
6564
|
__decorateClass$6([
|
|
6372
6565
|
n2({ type: Array })
|
|
6373
6566
|
], PrevalenceOverTimeComponent.prototype, "confidenceIntervalMethods", 2);
|
|
6567
|
+
__decorateClass$6([
|
|
6568
|
+
n2({ type: String })
|
|
6569
|
+
], PrevalenceOverTimeComponent.prototype, "headline", 2);
|
|
6374
6570
|
__decorateClass$6([
|
|
6375
6571
|
n2({ type: Object })
|
|
6376
6572
|
], PrevalenceOverTimeComponent.prototype, "size", 2);
|
|
@@ -6567,7 +6763,8 @@ const RelativeGrowthAdvantage = ({
|
|
|
6567
6763
|
denominator,
|
|
6568
6764
|
generationTime,
|
|
6569
6765
|
views,
|
|
6570
|
-
size
|
|
6766
|
+
size,
|
|
6767
|
+
headline = "Relative growth advantage"
|
|
6571
6768
|
}) => {
|
|
6572
6769
|
const lapis = P(LapisUrlContext);
|
|
6573
6770
|
const [yAxisScaleType, setYAxisScaleType] = p("linear");
|
|
@@ -6575,7 +6772,6 @@ const RelativeGrowthAdvantage = ({
|
|
|
6575
6772
|
() => queryRelativeGrowthAdvantage(numerator, denominator, generationTime, lapis),
|
|
6576
6773
|
[lapis, numerator, denominator, generationTime, views]
|
|
6577
6774
|
);
|
|
6578
|
-
const headline = "Relative growth advantage";
|
|
6579
6775
|
if (isLoading) {
|
|
6580
6776
|
return /* @__PURE__ */ u$1(Headline, { heading: headline, children: /* @__PURE__ */ u$1(LoadingDisplay, {}) });
|
|
6581
6777
|
}
|
|
@@ -6591,7 +6787,8 @@ const RelativeGrowthAdvantage = ({
|
|
|
6591
6787
|
data,
|
|
6592
6788
|
yAxisScaleType,
|
|
6593
6789
|
setYAxisScaleType,
|
|
6594
|
-
views
|
|
6790
|
+
views,
|
|
6791
|
+
generationTime
|
|
6595
6792
|
}
|
|
6596
6793
|
) }) });
|
|
6597
6794
|
};
|
|
@@ -6599,7 +6796,8 @@ const RelativeGrowthAdvantageTabs = ({
|
|
|
6599
6796
|
data,
|
|
6600
6797
|
yAxisScaleType,
|
|
6601
6798
|
setYAxisScaleType,
|
|
6602
|
-
views
|
|
6799
|
+
views,
|
|
6800
|
+
generationTime
|
|
6603
6801
|
}) => {
|
|
6604
6802
|
const getTab = (view) => {
|
|
6605
6803
|
switch (view) {
|
|
@@ -6621,16 +6819,45 @@ const RelativeGrowthAdvantageTabs = ({
|
|
|
6621
6819
|
}
|
|
6622
6820
|
};
|
|
6623
6821
|
const tabs = views.map((view) => getTab(view));
|
|
6624
|
-
const toolbar = () => /* @__PURE__ */ u$1(
|
|
6822
|
+
const toolbar = () => /* @__PURE__ */ u$1(
|
|
6823
|
+
RelativeGrowthAdvantageToolbar,
|
|
6824
|
+
{
|
|
6825
|
+
generationTime,
|
|
6826
|
+
yAxisScaleType,
|
|
6827
|
+
setYAxisScaleType
|
|
6828
|
+
}
|
|
6829
|
+
);
|
|
6625
6830
|
return /* @__PURE__ */ u$1(Tabs, { tabs, toolbar });
|
|
6626
6831
|
};
|
|
6627
6832
|
const RelativeGrowthAdvantageToolbar = ({
|
|
6628
6833
|
yAxisScaleType,
|
|
6629
|
-
setYAxisScaleType
|
|
6834
|
+
setYAxisScaleType,
|
|
6835
|
+
generationTime
|
|
6630
6836
|
}) => {
|
|
6631
6837
|
return /* @__PURE__ */ u$1("div", { class: "flex", children: [
|
|
6632
6838
|
/* @__PURE__ */ u$1(ScalingSelector, { yAxisScaleType, setYAxisScaleType }),
|
|
6633
|
-
/* @__PURE__ */ u$1(
|
|
6839
|
+
/* @__PURE__ */ u$1(RelativeGrowthAdvantageInfo, { generationTime })
|
|
6840
|
+
] });
|
|
6841
|
+
};
|
|
6842
|
+
const RelativeGrowthAdvantageInfo = ({ generationTime }) => {
|
|
6843
|
+
return /* @__PURE__ */ u$1(Info, { size: { width: "600px", height: "30vh" }, children: [
|
|
6844
|
+
/* @__PURE__ */ u$1(InfoHeadline1, { children: "Relative growth advantage" }),
|
|
6845
|
+
/* @__PURE__ */ u$1(InfoParagraph, { children: [
|
|
6846
|
+
"If variants spread pre-dominantly by local transmission across demographic groups, this estimate reflects the relative viral intrinsic growth advantage of the focal variant in the selected country and time frame. We report the relative growth advantage per ",
|
|
6847
|
+
generationTime,
|
|
6848
|
+
" days (in percentage; 0% means equal growth). Importantly, the relative growth advantage estimate reflects the advantage compared to the co-circulating variants. Thus, as new variants spread, the advantage of the focal variant may decrease. Different mechanisms can alter the intrinsic growth rate, including an intrinsic transmission advantage, immune evasion, and a prolonged infectious period. When absolute numbers of a variant are low, the growth advantage may merely reflect the current importance of introductions from abroad or the variant spreading in a particular demographic group. In this case, the estimate does not provide information on any intrinsic fitness advantages."
|
|
6849
|
+
] }),
|
|
6850
|
+
/* @__PURE__ */ u$1(InfoParagraph, { children: [
|
|
6851
|
+
"Example: Assume that 10 infections from the focal variant and 100 infections from the co-circulating variants occur today and that the focal variant has a relative growth advantage of 50%. Then, if the number of new infections from the co-circulating variants remains at 100 in ",
|
|
6852
|
+
generationTime,
|
|
6853
|
+
" days from today, we expect the number of new infections from the focal variant to be 15."
|
|
6854
|
+
] }),
|
|
6855
|
+
/* @__PURE__ */ u$1(InfoHeadline2, { children: "Reference" }),
|
|
6856
|
+
/* @__PURE__ */ u$1(InfoParagraph, { children: [
|
|
6857
|
+
'Chen, Chaoran, et al. "Quantification of the spread of SARS-CoV-2 variant B.1.1.7 in Switzerland." Epidemics (2021); doi:',
|
|
6858
|
+
" ",
|
|
6859
|
+
/* @__PURE__ */ u$1(InfoLink, { href: "https://www.sciencedirect.com/science/article/pii/S1755436521000335?via=ihub", children: "10.1016/j.epidem.2021.100480" })
|
|
6860
|
+
] })
|
|
6634
6861
|
] });
|
|
6635
6862
|
};
|
|
6636
6863
|
var __defProp$5 = Object.defineProperty;
|
|
@@ -6651,6 +6878,7 @@ let RelativeGrowthAdvantageComponent = class extends PreactLitAdapter {
|
|
|
6651
6878
|
this.denominator = {};
|
|
6652
6879
|
this.generationTime = 7;
|
|
6653
6880
|
this.views = ["line"];
|
|
6881
|
+
this.headline = "Relative growth advantage";
|
|
6654
6882
|
this.size = void 0;
|
|
6655
6883
|
}
|
|
6656
6884
|
render() {
|
|
@@ -6661,7 +6889,8 @@ let RelativeGrowthAdvantageComponent = class extends PreactLitAdapter {
|
|
|
6661
6889
|
denominator: this.denominator,
|
|
6662
6890
|
generationTime: this.generationTime,
|
|
6663
6891
|
views: this.views,
|
|
6664
|
-
size: this.size
|
|
6892
|
+
size: this.size,
|
|
6893
|
+
headline: this.headline
|
|
6665
6894
|
}
|
|
6666
6895
|
);
|
|
6667
6896
|
}
|
|
@@ -6678,6 +6907,9 @@ __decorateClass$5([
|
|
|
6678
6907
|
__decorateClass$5([
|
|
6679
6908
|
n2({ type: Array })
|
|
6680
6909
|
], RelativeGrowthAdvantageComponent.prototype, "views", 2);
|
|
6910
|
+
__decorateClass$5([
|
|
6911
|
+
n2({ type: String })
|
|
6912
|
+
], RelativeGrowthAdvantageComponent.prototype, "headline", 2);
|
|
6681
6913
|
__decorateClass$5([
|
|
6682
6914
|
n2({ type: Object })
|
|
6683
6915
|
], RelativeGrowthAdvantageComponent.prototype, "size", 2);
|
|
@@ -6715,12 +6947,17 @@ async function queryAggregateData(variant, fields, lapis, signal) {
|
|
|
6715
6947
|
})
|
|
6716
6948
|
);
|
|
6717
6949
|
}
|
|
6718
|
-
const Aggregate = ({
|
|
6950
|
+
const Aggregate = ({
|
|
6951
|
+
fields,
|
|
6952
|
+
views,
|
|
6953
|
+
filter,
|
|
6954
|
+
size,
|
|
6955
|
+
headline = "Aggregate"
|
|
6956
|
+
}) => {
|
|
6719
6957
|
const lapis = P(LapisUrlContext);
|
|
6720
6958
|
const { data, error, isLoading } = useQuery(async () => {
|
|
6721
6959
|
return queryAggregateData(filter, fields, lapis);
|
|
6722
6960
|
}, [filter, fields, lapis]);
|
|
6723
|
-
const headline = "Aggregate";
|
|
6724
6961
|
if (isLoading) {
|
|
6725
6962
|
return /* @__PURE__ */ u$1(Headline, { heading: headline, children: /* @__PURE__ */ u$1(LoadingDisplay, {}) });
|
|
6726
6963
|
}
|
|
@@ -6748,7 +6985,7 @@ const AggregatedDataTabs = ({ data, views, fields }) => {
|
|
|
6748
6985
|
const Toolbar = ({ data }) => {
|
|
6749
6986
|
return /* @__PURE__ */ u$1("div", { class: "flex flex-row", children: [
|
|
6750
6987
|
/* @__PURE__ */ u$1(CsvDownloadButton, { className: "mx-1 btn btn-xs", getData: () => data, filename: "aggregate.csv" }),
|
|
6751
|
-
/* @__PURE__ */ u$1(Info, {
|
|
6988
|
+
/* @__PURE__ */ u$1(Info, { children: "Info for aggregate" })
|
|
6752
6989
|
] });
|
|
6753
6990
|
};
|
|
6754
6991
|
var __defProp$4 = Object.defineProperty;
|
|
@@ -6769,9 +7006,19 @@ let AggregateComponent = class extends PreactLitAdapterWithGridJsStyles {
|
|
|
6769
7006
|
this.views = ["table"];
|
|
6770
7007
|
this.filter = {};
|
|
6771
7008
|
this.size = void 0;
|
|
7009
|
+
this.headline = "Aggregate";
|
|
6772
7010
|
}
|
|
6773
7011
|
render() {
|
|
6774
|
-
return /* @__PURE__ */ u$1(
|
|
7012
|
+
return /* @__PURE__ */ u$1(
|
|
7013
|
+
Aggregate,
|
|
7014
|
+
{
|
|
7015
|
+
fields: this.fields,
|
|
7016
|
+
views: this.views,
|
|
7017
|
+
filter: this.filter,
|
|
7018
|
+
size: this.size,
|
|
7019
|
+
headline: this.headline
|
|
7020
|
+
}
|
|
7021
|
+
);
|
|
6775
7022
|
}
|
|
6776
7023
|
};
|
|
6777
7024
|
__decorateClass$4([
|
|
@@ -6786,6 +7033,9 @@ __decorateClass$4([
|
|
|
6786
7033
|
__decorateClass$4([
|
|
6787
7034
|
n2({ type: Object })
|
|
6788
7035
|
], AggregateComponent.prototype, "size", 2);
|
|
7036
|
+
__decorateClass$4([
|
|
7037
|
+
n2({ type: String })
|
|
7038
|
+
], AggregateComponent.prototype, "headline", 2);
|
|
6789
7039
|
AggregateComponent = __decorateClass$4([
|
|
6790
7040
|
t$2("gs-aggregate-component")
|
|
6791
7041
|
], AggregateComponent);
|
|
@@ -6817,8 +7067,8 @@ const DateRangeSelector = ({
|
|
|
6817
7067
|
earliestDate = "1900-01-01",
|
|
6818
7068
|
initialValue
|
|
6819
7069
|
}) => {
|
|
6820
|
-
const
|
|
6821
|
-
const
|
|
7070
|
+
const fromDatePickerRef = F(null);
|
|
7071
|
+
const toDatePickerRef = F(null);
|
|
6822
7072
|
const divRef = F(null);
|
|
6823
7073
|
const [dateFromPicker, setDateFromPicker] = p(null);
|
|
6824
7074
|
const [dateToPicker, setDateToPicker] = p(null);
|
|
@@ -6835,17 +7085,17 @@ const DateRangeSelector = ({
|
|
|
6835
7085
|
allowInput: true,
|
|
6836
7086
|
dateFormat: "Y-m-d"
|
|
6837
7087
|
};
|
|
6838
|
-
if (
|
|
7088
|
+
if (fromDatePickerRef.current) {
|
|
6839
7089
|
setDateFromPicker(
|
|
6840
|
-
flatpickr(
|
|
7090
|
+
flatpickr(fromDatePickerRef.current, {
|
|
6841
7091
|
...commonConfig,
|
|
6842
7092
|
defaultDate: selectedDates.dateFrom
|
|
6843
7093
|
})
|
|
6844
7094
|
);
|
|
6845
7095
|
}
|
|
6846
|
-
if (
|
|
7096
|
+
if (toDatePickerRef.current) {
|
|
6847
7097
|
setDateToPicker(
|
|
6848
|
-
flatpickr(
|
|
7098
|
+
flatpickr(toDatePickerRef.current, {
|
|
6849
7099
|
...commonConfig,
|
|
6850
7100
|
defaultDate: selectedDates.dateTo
|
|
6851
7101
|
})
|
|
@@ -6855,7 +7105,7 @@ const DateRangeSelector = ({
|
|
|
6855
7105
|
dateFromPicker == null ? void 0 : dateFromPicker.destroy();
|
|
6856
7106
|
dateToPicker == null ? void 0 : dateToPicker.destroy();
|
|
6857
7107
|
};
|
|
6858
|
-
}, [
|
|
7108
|
+
}, [fromDatePickerRef, toDatePickerRef]);
|
|
6859
7109
|
const onSelectChange = (value) => {
|
|
6860
7110
|
setSelectedDateRange(value);
|
|
6861
7111
|
const dateRange = getDatesForSelectorValue(value, customSelectOptions, earliestDate);
|
|
@@ -6924,7 +7174,7 @@ const DateRangeSelector = ({
|
|
|
6924
7174
|
class: "input input-bordered rounded-none join-item",
|
|
6925
7175
|
type: "text",
|
|
6926
7176
|
placeholder: "Date from",
|
|
6927
|
-
ref:
|
|
7177
|
+
ref: fromDatePickerRef,
|
|
6928
7178
|
onChange: onChangeDateFrom,
|
|
6929
7179
|
onBlur: onChangeDateFrom
|
|
6930
7180
|
}
|
|
@@ -6935,9 +7185,9 @@ const DateRangeSelector = ({
|
|
|
6935
7185
|
class: "input input-bordered rounded-none join-item",
|
|
6936
7186
|
type: "text",
|
|
6937
7187
|
placeholder: "Date to",
|
|
6938
|
-
ref:
|
|
7188
|
+
ref: toDatePickerRef,
|
|
6939
7189
|
onChange: onChangeDateTo,
|
|
6940
|
-
onBlur:
|
|
7190
|
+
onBlur: onChangeDateTo
|
|
6941
7191
|
}
|
|
6942
7192
|
)
|
|
6943
7193
|
] });
|
|
@@ -7006,7 +7256,7 @@ let DateRangeSelectorComponent = class extends PreactLitAdapter {
|
|
|
7006
7256
|
super(...arguments);
|
|
7007
7257
|
this.customSelectOptions = [];
|
|
7008
7258
|
this.earliestDate = "1900-01-01";
|
|
7009
|
-
this.initialValue = "";
|
|
7259
|
+
this.initialValue = "last6Months";
|
|
7010
7260
|
}
|
|
7011
7261
|
render() {
|
|
7012
7262
|
return /* @__PURE__ */ u$1(
|
|
@@ -7401,7 +7651,7 @@ const MutationFilter = ({ initialValue }) => {
|
|
|
7401
7651
|
fireChangeEvent
|
|
7402
7652
|
}
|
|
7403
7653
|
),
|
|
7404
|
-
/* @__PURE__ */ u$1(Info, {
|
|
7654
|
+
/* @__PURE__ */ u$1(Info, { children: "Info for mutation filter" })
|
|
7405
7655
|
] }),
|
|
7406
7656
|
/* @__PURE__ */ u$1("form", { className: "mt-2 w-full", onSubmit: handleSubmit, ref: formRef, children: /* @__PURE__ */ u$1("label", { className: `input flex items-center gap-2 ${isError ? "input-error" : "input-bordered"}`, children: [
|
|
7407
7657
|
/* @__PURE__ */ u$1(
|