jupyterlab-unianalytics-dashboard 4.0.17__py3-none-any.whl → 4.0.19__py3-none-any.whl
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.
- jupyterlab_unianalytics_dashboard/_version.py +1 -1
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/package.json +2 -2
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/schemas/jupyterlab_unianalytics_dashboard/package.json.orig +1 -1
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/schemas/jupyterlab_unianalytics_dashboard/plugin.json +10 -2
- jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/221.be8ec9ae55ab7f238b28.js +1 -0
- jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/546.ee956f25626d9f03fb3d.js +1 -0
- jupyterlab_unianalytics_dashboard-4.0.17.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/remoteEntry.0d38d644504a78d6a4c8.js → jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/remoteEntry.d3a3f8b691a2f85d8804.js +1 -1
- {jupyterlab_unianalytics_dashboard-4.0.17.dist-info → jupyterlab_unianalytics_dashboard-4.0.19.dist-info}/METADATA +2 -2
- {jupyterlab_unianalytics_dashboard-4.0.17.dist-info → jupyterlab_unianalytics_dashboard-4.0.19.dist-info}/RECORD +33 -33
- {jupyterlab_unianalytics_dashboard-4.0.17.dist-info → jupyterlab_unianalytics_dashboard-4.0.19.dist-info}/WHEEL +1 -1
- jupyterlab_unianalytics_dashboard-4.0.17.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/134.768c54cc58b06b4e256d.js +0 -1
- jupyterlab_unianalytics_dashboard-4.0.17.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/546.eda1114f14e7cdfffdc3.js +0 -1
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/etc/jupyter/jupyter_server_config.d/jupyterlab_unianalytics_dashboard.json +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/install.json +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/schemas/jupyterlab_unianalytics_dashboard/endpoint.json +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/10.1e5c908a94fc4b83c2e5.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/18.759fbf2374edc42b5c3e.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/18.759fbf2374edc42b5c3e.js.LICENSE.txt +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/308.d9da4ce35f354c6f12e1.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/39.5a3b28a79ba693a9b627.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/426.a7015f9dfda310972c1b.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/533.f7a454b11ba5cd79dc0c.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/563.b613f734176cb51510ef.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/638.d37271636c4d956096de.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/708.323c3614d31a5918cfaf.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/708.323c3614d31a5918cfaf.js.LICENSE.txt +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/738.f4338fb8d8276b96c3f3.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/744.329dc4d1ed2f5c918266.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/798.33a8f0893a66574e9259.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/817.6437962faf359015be36.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/981.ebb9e1d6122980b5ff0e.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/981.ebb9e1d6122980b5ff0e.js.LICENSE.txt +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/style.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.data → jupyterlab_unianalytics_dashboard-4.0.19.data}/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/third-party-licenses.json +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.17.dist-info → jupyterlab_unianalytics_dashboard-4.0.19.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jupyterlab_unianalytics_dashboard",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.19",
|
|
4
4
|
"description": "A JupyterLab dashboard extension to visualize data from students.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jupyter",
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
"outputDir": "jupyterlab_unianalytics_dashboard/labextension",
|
|
126
126
|
"schemaDir": "schema",
|
|
127
127
|
"_build": {
|
|
128
|
-
"load": "static/remoteEntry.
|
|
128
|
+
"load": "static/remoteEntry.d3a3f8b691a2f85d8804.js",
|
|
129
129
|
"extension": "./extension",
|
|
130
130
|
"style": "./style"
|
|
131
131
|
}
|
|
@@ -9,8 +9,16 @@
|
|
|
9
9
|
"id": "jp-mainmenu-view",
|
|
10
10
|
"items": [
|
|
11
11
|
{
|
|
12
|
-
"
|
|
13
|
-
"rank":
|
|
12
|
+
"type": "separator",
|
|
13
|
+
"rank": 19.9
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"command": "jupyterlab_unianalytics_dashboard:dashboard-open-login",
|
|
17
|
+
"rank": 20
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"type": "separator",
|
|
21
|
+
"rank": 20.1
|
|
14
22
|
}
|
|
15
23
|
]
|
|
16
24
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkjupyterlab_unianalytics_dashboard=self.webpackChunkjupyterlab_unianalytics_dashboard||[]).push([[221],{3629:(e,t,n)=>{n.r(t),n.d(t,{ARE_DASHBOARD_PLUGINS_ACTIVATED:()=>Gt,AuthSignal:()=>Ut,BACKEND_API_URL:()=>Kt,CURRENT_NOTEBOOK_ID:()=>Vt,WEBSOCKET_API_URL:()=>Xt,authSignal:()=>zt,default:()=>Zt,setCurrentNotebookId:()=>Wt,setDashboardPluginsActivated:()=>Jt});var o=n(7765),a=n(3108),s=n(6553),l=n(381);n(4039);const r="jupyterlab_unianalytics_dashboard",i=`${r}:plugin`,c=`${r}/access_token`,d=`${r}/refresh_token`,h=`${r}/dashboard_username`,u="unianalytics-page-container";var m;!function(e){e.dashboardOpenDashboardPlayback=`${r}:dashboard-open-playback`,e.uploadNotebook=`${r}:dashboard-upload-notebook`,e.copyDownloadLink=`${r}:dashboard-copy-download-link`,e.openLogin=`${r}:dashboard-open-login`}(m||(m={}));const p='.jp-DirListing-item[data-file-type="notebook"]',g="unianalytics";var b,C;!function(e){e.notebookId=`${g}_notebook_id`,e.cellMapping=`${g}_cell_mapping`}(b||(b={}));class w{static async setJupyterVersion(e){w._jupyterVersion=e,await w._setEditorLanguageRegistry(),await w._asyncImports()}static async _setEditorLanguageRegistry(){if(4===w._jupyterVersion){const{StreamLanguage:e}=await n.e(373).then(n.t.bind(n,1373,23)),{EditorLanguageRegistry:t,parseMathIPython:o}=await Promise.resolve().then(n.t.bind(n,9558,23)),a=new t;t.getDefaultLanguages().forEach((e=>{a.addLanguage(e)})),a.addLanguage({name:"ipythongfm",mime:"text/x-ipythongfm",load:async()=>{const[t,s]=await Promise.all([Promise.all([n.e(638),n.e(211),n.e(373),n.e(376)]).then(n.bind(n,8638)),n.e(10).then(n.bind(n,8010))]);return t.markdown({base:t.markdownLanguage,codeLanguages:e=>a.findBest(e),extensions:[o(e.define(s.stexMath).parser)]})}}),w._editorDefaultLanguages=a}}static async _asyncImports(){if(4===w._jupyterVersion){const{EditorView:e}=await n.e(211).then(n.t.bind(n,6211,23));this._EditorView=e;const{jupyterTheme:t}=await Promise.resolve().then(n.t.bind(n,9558,23));this._jupyterTheme=t}}static checkJupyterVersionSet(){if(null===w._jupyterVersion)throw new Error("JupyterLab version is not set in CompatibilityManager before trying to access it.")}static observeEditorVisibility(e){return 3===w._jupyterVersion?new IntersectionObserver((t=>{t[0].isIntersecting&&e.refresh()}),{root:null,threshold:.5}):null}}C=w,w._jupyterVersion=null,w._editorDefaultLanguages=void 0,w._EditorView=void 0,w._jupyterTheme=void 0,w.getMetadataComp=(e,t)=>{var n;return w.checkJupyterVersionSet(),4===w._jupyterVersion?null==e?void 0:e.getMetadata(t):null===(n=null==e?void 0:e.metadata)||void 0===n?void 0:n.get(t)},w.setMetadataComp=(e,t,n)=>{var o;w.checkJupyterVersionSet(),4===w._jupyterVersion?null==e||e.setMetadata(t,n):null===(o=null==e?void 0:e.metadata)||void 0===o||o.set(t,n)},w.deleteMetadataComp=(e,t)=>{var n;return w.checkJupyterVersionSet(),4===w._jupyterVersion?null==e?void 0:e.deleteMetadata(t):null===(n=null==e?void 0:e.metadata)||void 0===n?void 0:n.delete(t)},w.getFileComp=e=>{var t;w.checkJupyterVersionSet();const n=null===(t=e.tracker.currentWidget)||void 0===t?void 0:t.selectedItems().next();return 4===w._jupyterVersion?null==n?void 0:n.value:n},w.getCellsArrComp=e=>(w.checkJupyterVersionSet(),e?Array.from({length:e.length},((t,n)=>e.get(n))):null),w.getCodeMirrorOptionsComp=()=>(w.checkJupyterVersionSet(),4===w._jupyterVersion?{extensions:[C._jupyterTheme,C._EditorView.lineWrapping,C._EditorView.editable.of(!1)],languages:w._editorDefaultLanguages}:{config:{readOnly:!0}}),w.getNextWidgetValueComp=e=>{var t;return w.checkJupyterVersionSet(),4===w._jupyterVersion?null===(t=e.next())||void 0===t?void 0:t.value:e.next()};var v=n(6029),k=n.n(v),_=n(3655),y=n(3352);const f=e=>{const[t,n]=(0,v.useState)(!1);return k().createElement("div",null,k().createElement("p",null,"Successfully uploaded, can be downloaded accessing:"),k().createElement("div",{className:"unianalytics-link-container"},k().createElement("div",{className:"unianalytics-link"},e.url),k().createElement("div",{className:"unianalytics-link-button-container"},k().createElement("button",{className:"unianalytics-link-button",onClick:()=>{navigator.clipboard.writeText(e.url).then((()=>{n(!0)})).catch((e=>{console.error(`${r}: Error copying to clipboard: `,e)}))}},t?k().createElement(_.checkIcon.react,null):k().createElement(_.copyIcon.react,null)))))};const E=new _.LabIcon({name:`${r}:visu-icon`,svgstr:'<svg xmlns="http://www.w3.org/2000/svg" width="801px" height="845px" viewBox="0 0 801 845">\n<path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" \n\td="\nM387.000000,138.000000 \n\tC498.142059,138.000015 608.784363,138.106552 719.425842,137.852219 \n\tC731.901794,137.823547 741.405090,147.216324 741.147522,159.494492 \n\tC740.644409,183.478592 741.009399,207.480728 740.995667,231.475388 \n\tC740.988647,243.724152 732.716797,251.995575 720.458984,251.995956 \n\tC547.497437,252.001495 374.535889,252.001434 201.574356,251.996124 \n\tC189.289490,251.995743 181.011719,243.747238 181.004547,231.508698 \n\tC180.990280,207.180771 180.990768,182.852859 181.004318,158.524933 \n\tC181.011139,146.276291 189.283295,138.005981 201.540726,138.004242 \n\tC263.193817,137.995529 324.846924,138.000107 387.000000,138.000000 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" \n\td="\nM585.000000,602.000000 \n\tC584.999939,619.325134 584.662598,636.159729 585.135315,652.971619 \n\tC585.389893,662.026428 574.929565,672.140991 566.068176,672.127258 \n\tC443.961212,671.938232 321.853912,672.004211 199.746674,671.990967 \n\tC189.901947,671.989868 181.021255,663.118469 181.010071,653.290161 \n\tC180.981430,628.135742 181.228653,602.978149 180.877518,577.828613 \n\tC180.753326,568.934387 190.961166,558.888672 199.629715,558.899292 \n\tC321.570190,559.048645 443.510895,558.993164 565.451538,559.013611 \n\tC576.357910,559.015442 584.922241,567.620361 584.989990,578.511169 \n\tC585.037720,586.173828 584.999756,593.837036 585.000000,602.000000 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" \n\td="\nM88.108398,89.952209 \n\tC98.405724,110.302505 108.714127,130.647202 118.993515,151.006561 \n\tC122.027649,157.015930 124.979767,163.066742 128.341644,169.849442 \n\tC118.648453,169.849442 109.747803,169.849442 100.429153,169.849442 \n\tC100.429153,362.281067 100.429153,554.170410 100.429153,746.530701 \n\tC277.650726,746.530701 454.991821,746.530701 632.848511,746.530701 \n\tC632.848511,737.834412 632.848511,729.237061 632.848511,719.024597 \n\tC661.517517,733.293213 689.138123,747.040100 718.055725,761.432434 \n\tC689.538452,775.702026 661.900940,789.531433 633.221680,803.882141 \n\tC633.221680,794.086548 633.221680,785.407837 633.221680,775.998657 \n\tC630.080139,775.998657 627.647522,775.998657 625.214905,775.998657 \n\tC446.394989,775.998535 267.575104,775.987793 88.755196,776.036011 \n\tC81.436424,776.037964 75.688042,773.737122 72.946358,766.585999 \n\tC72.095207,764.365967 72.036018,761.746521 72.035538,759.309814 \n\tC71.996758,565.657715 71.999886,372.005585 71.999870,178.353455 \n\tC71.999870,175.868805 71.999863,173.384155 71.999863,169.951614 \n\tC63.762573,169.951614 55.847210,169.951614 47.537605,169.537201 \n\tC47.694538,167.563828 48.088642,165.926636 48.820351,164.457596 \n\tC60.280804,141.448654 71.741646,118.439545 83.350739,95.505569 \n\tC84.420113,93.392990 86.498528,91.791183 88.108398,89.952209 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" \n\td="\nM401.000000,462.000000 \n\tC334.043701,462.000031 267.586212,461.806152 201.132416,462.212341 \n\tC191.340515,462.272186 180.483932,451.985443 180.776566,441.675262 \n\tC181.470917,417.211090 181.309845,392.707855 180.840012,368.233002 \n\tC180.664536,359.091675 191.110733,348.815643 200.221436,348.846802 \n\tC278.335815,349.114105 356.451508,348.995880 434.566803,349.004578 \n\tC446.758179,349.005951 454.990509,357.324249 454.996460,369.619904 \n\tC455.008209,393.937256 454.656525,418.261902 455.175049,442.568207 \n\tC455.372375,451.815918 444.949646,462.702484 435.468567,462.153870 \n\tC424.180542,461.500610 412.825836,462.000000 401.000000,462.000000 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" \n\td="\nM88.048347,89.607422 \n\tC86.498528,91.791183 84.420113,93.392990 83.350739,95.505569 \n\tC71.741646,118.439545 60.280804,141.448654 48.820351,164.457596 \n\tC48.088642,165.926636 47.694538,167.563828 47.072289,169.478149 \n\tC46.205418,169.833496 45.409630,169.833496 43.604004,169.833496 \n\tC57.749477,141.531204 71.589005,113.841034 85.790382,85.426895 \n\tC86.780373,87.154594 87.384331,88.208618 88.048347,89.607422 \nz"/>\n</svg>'}),S=new _.LabIcon({name:`${r}:analytics-replay-icon`,svgstr:'<svg xmlns="http://www.w3.org/2000/svg" width="801px" height="845px" viewBox="0 0 801 845">\n<path xmlns="http://www.w3.org/2000/svg" class="jp-custom-icon jp-icon3 jp-icon-selectable" fill="#616161" \n\td="\nM465.000000,137.000000 \n\tC550.147888,137.000031 634.796204,137.135956 719.443115,136.850784 \n\tC731.874146,136.808899 741.408020,146.187546 741.148132,158.511917 \n\tC740.642395,182.495926 741.009705,206.498123 740.995605,230.492798 \n\tC740.988403,242.737381 732.714661,250.995651 720.441528,250.996048 \n\tC547.479980,251.001465 374.518402,251.001480 201.556839,250.996048 \n\tC189.284561,250.995667 181.011414,242.736694 181.004410,230.491180 \n\tC180.990524,206.163254 180.990494,181.835327 181.004410,157.507401 \n\tC181.011429,145.262772 189.285263,137.005096 201.558258,137.004089 \n\tC289.205505,136.996857 376.852753,137.000092 465.000000,137.000000 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" class="jp-custom-icon jp-icon3 jp-icon-selectable" fill="#616161" \n\td="\nM635.148926,720.089355 \n\tC662.544739,733.712830 689.585266,747.259888 717.960327,761.475464 \n\tC689.524719,775.703430 661.804504,789.573425 633.158691,803.906555 \n\tC633.158691,794.057861 633.158691,785.472473 633.158691,775.998657 \n\tC630.247986,775.998657 627.834717,775.998657 625.421509,775.998657 \n\tC446.590027,775.998535 267.758545,775.986877 88.927094,776.039978 \n\tC81.632454,776.042114 75.823845,773.875000 73.007057,766.744446 \n\tC72.134315,764.535095 72.038582,761.913086 72.038055,759.479919 \n\tC71.996544,565.648621 71.999878,371.817291 71.999847,177.985962 \n\tC71.999840,175.530502 71.999847,173.075027 71.999847,170.132675 \n\tC62.473114,170.132675 53.538857,170.132675 43.464531,170.132675 \n\tC57.739803,141.563171 71.583488,113.857414 85.991348,85.022568 \n\tC100.325996,113.683899 114.169044,141.362305 128.404572,169.825470 \n\tC118.663963,169.825470 109.765915,169.825470 100.439240,169.825470 \n\tC100.439240,362.269653 100.439240,554.167786 100.439240,746.533813 \n\tC277.665100,746.533813 455.014313,746.533813 633.001404,746.533813 \n\tC633.001404,738.783020 632.924316,731.166138 633.081543,723.554016 \n\tC633.106140,722.362305 634.196167,721.192627 635.148926,720.089355 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" class="jp-custom-icon jp-icon3 jp-icon-selectable" fill="#616161" \n\td="\nM463.795166,663.684082 \n\tC458.944733,669.057251 453.354919,671.110291 446.353668,671.097351 \n\tC364.544098,670.945618 282.733490,670.850952 200.925110,671.198853 \n\tC191.268799,671.239868 180.533325,660.920715 180.790894,650.957153 \n\tC181.427948,626.314026 181.262314,601.639160 180.862076,576.986084 \n\tC180.716492,568.018616 191.031570,557.844238 199.978745,557.868408 \n\tC282.621094,558.091919 365.264313,557.994446 447.907257,558.007080 \n\tC459.506805,558.008850 467.978638,566.433594 467.991608,577.972778 \n\tC468.018402,601.799255 467.876343,625.626953 468.096619,649.451355 \n\tC468.145020,654.685852 466.992889,659.222717 463.795166,663.684082 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" class="jp-custom-icon jp-icon3 jp-icon-selectable" fill="#616161" \n\td="\nM557.000000,367.000000 \n\tC556.999878,427.464691 556.982544,487.429382 557.045776,547.393982 \n\tC557.049255,550.719543 557.078552,554.505432 553.650879,555.378540 \n\tC550.837891,556.095093 546.851746,555.555786 544.433716,553.972473 \n\tC506.113861,528.881958 467.962555,503.533997 429.774536,478.242218 \n\tC415.618622,468.866821 401.455353,459.502563 387.319794,450.096619 \n\tC381.033081,445.913391 380.988831,440.087341 387.222076,435.936890 \n\tC426.457855,409.811432 465.689392,383.679504 504.966309,357.616028 \n\tC518.141479,348.873199 531.337463,340.149567 544.790222,331.848694 \n\tC547.199219,330.362274 551.254211,330.038330 553.899048,330.988129 \n\tC555.559692,331.584442 556.774353,335.530975 556.863098,338.021729 \n\tC557.200989,347.504089 556.999756,357.005615 557.000000,367.000000 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" class="jp-custom-icon jp-icon3 jp-icon-selectable" fill="#616161" \n\td="\nM662.999878,373.002136 \n\tC684.378784,358.950073 705.376892,344.957733 726.473572,331.115723 \n\tC731.136841,328.056000 738.202637,330.252441 738.172729,337.496490 \n\tC737.882996,407.806915 738.031677,478.119171 737.858948,548.430359 \n\tC737.853027,550.836487 736.303223,554.662598 734.552917,555.299866 \n\tC732.057861,556.208313 728.103699,555.703186 725.818054,554.206116 \n\tC687.347046,529.008789 649.040222,503.560883 610.693237,478.174072 \n\tC596.525146,468.794342 582.332336,459.451782 568.181335,450.046326 \n\tC561.987366,445.929535 562.066284,440.056030 568.361389,435.876099 \n\tC598.986938,415.540466 629.630798,395.232300 660.262817,374.906281 \n\tC661.091248,374.356567 661.858765,373.714844 662.999878,373.002136 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" class="jp-custom-icon jp-icon3 jp-icon-selectable" fill="#616161" \n\td="\nM345.865936,362.817200 \n\tC345.963379,389.902039 346.020630,416.563477 345.975037,443.224792 \n\tC345.960510,451.719543 336.809052,460.960968 328.346283,460.971985 \n\tC285.187714,461.028076 242.029007,461.022461 198.870422,460.978516 \n\tC190.134705,460.969635 181.033173,451.740753 181.017441,442.941589 \n\tC180.971573,417.279785 180.967712,391.617798 181.019791,365.955994 \n\tC181.037552,357.196228 190.207504,348.027222 198.972824,348.019165 \n\tC241.964783,347.979645 284.956940,347.947144 327.948639,348.056610 \n\tC334.781342,348.074005 339.684326,351.915222 343.185669,357.593597 \n\tC344.139221,359.140137 344.923798,360.790863 345.865936,362.817200 \nz"/>\n</svg>'}),x=new _.LabIcon({name:`${r}:analytics-login-icon`,svgstr:'<svg xmlns="http://www.w3.org/2000/svg" width="801px" height="845px" viewBox="0 0 801 845">\n<path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" \n\td="\nM738.000000,599.000000 \n\tC737.999878,619.328857 738.009277,639.157654 737.994812,658.986511 \n\tC737.989014,666.934814 733.986572,670.993347 726.122437,670.994324 \n\tC653.972168,671.003296 581.821899,671.004211 509.671600,670.992310 \n\tC502.160278,670.991089 498.008820,666.818481 498.007507,659.276550 \n\tC497.995880,592.625000 497.998016,525.973511 498.003967,459.321991 \n\tC498.004730,450.822723 501.906342,447.017944 510.571411,447.000946 \n\tC513.062195,446.996063 515.552979,447.000214 518.680237,447.000214 \n\tC518.796387,444.999603 518.982727,443.253784 518.985718,441.507599 \n\tC519.010254,427.344208 518.672607,413.171631 519.066162,399.019135 \n\tC519.998840,365.477570 532.933105,337.602509 559.186768,316.270508 \n\tC574.191284,304.078918 591.182678,297.275513 610.632568,295.860992 \n\tC636.322754,293.992645 658.657410,301.480255 678.315552,317.789124 \n\tC698.896729,334.863831 711.618042,356.662292 714.768921,383.084930 \n\tC716.823181,400.311066 716.366150,417.838593 716.979919,435.233063 \n\tC717.108276,438.871582 716.998535,442.518494 716.998535,447.001343 \n\tC720.472961,447.001343 723.562073,446.978119 726.650757,447.005981 \n\tC733.789185,447.070374 737.990417,451.305908 737.992493,458.531281 \n\tC738.006104,505.187531 737.999756,551.843750 738.000000,599.000000 \nM686.169434,386.321167 \n\tC684.202209,372.874786 678.159302,361.412323 669.619812,350.970001 \n\tC656.586304,335.032257 639.597351,327.122864 619.408630,326.113678 \n\tC607.678467,325.527313 596.512085,328.608551 586.218628,334.382050 \n\tC562.178833,347.865814 549.929749,368.957886 548.176208,395.949982 \n\tC547.195801,411.041962 547.989929,426.249786 548.011963,441.405396 \n\tC548.014526,443.160858 548.194458,444.916016 548.289307,446.620117 \n\tC595.092957,446.620117 641.302185,446.620117 688.661255,446.620117 \n\tC687.953979,426.508026 687.261108,406.805328 686.169434,386.321167 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" \n\td="\nM445.000000,137.000000 \n\tC536.813049,137.000015 628.126404,137.126938 719.438660,136.851227 \n\tC731.881165,136.813644 741.407166,146.194763 741.147888,158.507431 \n\tC740.642883,182.491470 741.009644,206.493652 740.995605,230.488327 \n\tC740.988464,242.735672 732.716858,250.995651 720.446045,250.996033 \n\tC547.484497,251.001495 374.522919,251.001450 201.561340,250.996048 \n\tC189.286880,250.995667 181.011475,242.738358 181.004440,230.495682 \n\tC180.990463,206.167755 180.990570,181.839828 181.004395,157.511902 \n\tC181.011368,145.264450 189.282990,137.005264 201.553741,137.004120 \n\tC282.535828,136.996597 363.517914,137.000092 445.000000,137.000000 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" \n\td="\nM486.000000,775.998657 \n\tC353.514160,775.998657 221.528183,775.927307 89.542709,776.146667 \n\tC79.949707,776.162598 71.798676,770.599548 71.814911,758.597900 \n\tC72.076706,565.119019 71.999863,371.639648 71.999847,178.160385 \n\tC71.999847,175.691223 71.999847,173.222061 71.999847,170.227814 \n\tC62.611301,170.227814 53.688507,170.227814 43.427563,170.227814 \n\tC57.732803,141.585114 71.557716,113.904144 85.980057,85.026985 \n\tC100.277077,113.596474 114.120583,141.259720 128.424072,169.842133 \n\tC118.648087,169.842133 109.646706,169.842133 100.332687,169.842133 \n\tC100.332687,362.470093 100.332687,554.354919 100.332687,746.620605 \n\tC277.708801,746.620605 454.928070,746.620605 632.829712,746.620605 \n\tC632.829712,737.757935 632.829712,728.888367 632.829712,718.974915 \n\tC661.407043,733.216614 689.020264,746.977905 718.028381,761.434326 \n\tC689.544922,775.690369 661.832214,789.560608 633.203613,803.889282 \n\tC633.203613,794.085144 633.203613,785.506958 633.203613,775.998657 \n\tC583.961853,775.998657 535.230896,775.998657 486.000000,775.998657 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" \n\td="\nM189.462997,561.267212 \n\tC194.206940,560.057251 198.622803,558.142334 203.043198,558.131836 \n\tC279.851929,557.948914 356.661804,558.147339 433.469818,557.850342 \n\tC445.825714,557.802551 455.411530,567.154968 455.149750,579.537415 \n\tC454.639221,603.685669 454.733429,627.856812 455.137848,652.009094 \n\tC455.288208,660.987854 444.963867,671.157593 436.026642,671.131714 \n\tC357.385376,670.904053 278.742828,670.894165 200.101700,671.145691 \n\tC191.189301,671.174194 180.634293,660.999329 180.833405,651.636475 \n\tC181.336334,627.987915 181.235504,604.317871 180.868591,580.664307 \n\tC180.744949,572.694214 183.081192,566.437134 189.462997,561.267212 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" \n\td="\nM242.000000,461.000000 \n\tC227.511383,460.999695 213.522690,461.030701 199.534195,460.988190 \n\tC190.073975,460.959442 181.029373,451.998047 181.014694,442.586761 \n\tC180.974960,417.107574 180.966629,391.628235 181.020004,366.149078 \n\tC181.039078,357.047943 190.144424,348.021454 199.298752,348.016388 \n\tC254.420502,347.985992 309.542297,347.981476 364.664093,348.018463 \n\tC375.257812,348.025574 383.952515,356.668701 383.978577,367.214142 \n\tC384.040710,392.360168 384.027405,417.506531 383.984039,442.652618 \n\tC383.967834,452.056519 374.905334,460.982574 365.399902,460.988464 \n\tC324.433258,461.013885 283.466644,460.999725 242.000000,461.000000 \nz"/>\n</svg>'}),N=new _.LabIcon({name:`${r}:hide-icon`,svgstr:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eye-slash-fill" viewBox="0 0 16 16">\n <path d="m10.79 12.912-1.614-1.615a3.5 3.5 0 0 1-4.474-4.474l-2.06-2.06C.938 6.278 0 8 0 8s3 5.5 8 5.5a7.029 7.029 0 0 0 2.79-.588zM5.21 3.088A7.028 7.028 0 0 1 8 2.5c5 0 8 5.5 8 5.5s-.939 1.721-2.641 3.238l-2.062-2.062a3.5 3.5 0 0 0-4.474-4.474L5.21 3.089z"/>\n <path d="M5.525 7.646a2.5 2.5 0 0 0 2.829 2.829l-2.83-2.829zm4.95.708-2.829-2.83a2.5 2.5 0 0 1 2.829 2.829zm3.171 6-12-12 .708-.708 12 12-.708.708z"/>\n</svg>'}),I=new _.LabIcon({name:`${r}:show-icon`,svgstr:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eye-fill" viewBox="0 0 16 16">\n <path d="M10.5 8a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z"/>\n <path d="M0 8s3-5.5 8-5.5S16 8 16 8s-3 5.5-8 5.5S0 8 0 8zm8 3.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z"/>\n</svg>'});var D=n(3748);const M={displayDashboard:!0,hasNotebookId:!1},O=(0,D.createSlice)({name:"tocdashboard",initialState:M,reducers:{setDisplayHideDashboard:(e,t)=>{e.displayDashboard=t.payload},setHasNotebookId:(e,t)=>{e.hasNotebookId=t.payload}}}),{setDisplayHideDashboard:T,setHasNotebookId:R}=O.actions,A=O.reducer,L={navigationState:[{pageName:"Notebook"}]},$=(0,D.createSlice)({name:"sidedashboard",initialState:L,reducers:{navigateToNotebook:(e,t)=>{e.navigationState=[{pageName:"Notebook"}]},navigateToCell:(e,t)=>{e.navigationState=[{pageName:"Notebook"},{pageName:"Cell",content:{cellId:t.payload.cellId}}]},navigateToHistory:(e,t)=>{e.navigationState=e.navigationState.slice(0,t.payload+1)},resetNavigationState:(e,t)=>{e.navigationState=L.navigationState}}}),{navigateToNotebook:B,navigateToCell:j,navigateToHistory:H,resetNavigationState:P}=$.actions,F=$.reducer,U=(0,D.createSlice)({name:"commondashboard",initialState:{notebookCells:null,refreshBoolean:!1,dashboardQueryArgs:{displayRealTime:{},t1ISOString:{},t2ISOString:{},selectedGroups:{},sortBy:{}}},reducers:{setDashboardQueryArgsT1:(e,t)=>{const{notebookId:n,t1ISOString:o}=t.payload;e.dashboardQueryArgs.t1ISOString[n]=o},setDashboardQueryArgsT2:(e,t)=>{const{notebookId:n,t2ISOString:o}=t.payload;e.dashboardQueryArgs.t2ISOString[n]=o},setDashboardQueryArgsSelectedGroups:(e,t)=>{const{notebookId:n,groups:o}=t.payload,a=e.dashboardQueryArgs.selectedGroups[n]||[];if(!jt(a,o))return{...e,dashboardQueryArgs:{...e.dashboardQueryArgs,selectedGroups:{...e.dashboardQueryArgs.selectedGroups,[n]:o}}}},setDashboardQueryArgsDisplayRealTime:(e,t)=>{const{notebookId:n,displayRealTime:o}=t.payload;e.dashboardQueryArgs.displayRealTime[n]=o},setSortBy:(e,t)=>{const{notebookId:n,sortCriterion:o}=t.payload;e.dashboardQueryArgs.sortBy[n]=o},setNotebookCells:(e,t)=>{e.notebookCells=t.payload},refreshDashboards:e=>{e.refreshBoolean=!e.refreshBoolean}}}),{setDashboardQueryArgsT1:z,setDashboardQueryArgsT2:V,setDashboardQueryArgsSelectedGroups:W,setDashboardQueryArgsDisplayRealTime:G,setSortBy:J,setNotebookCells:Q,refreshDashboards:K}=U.actions,X=U.reducer,q=(0,D.configureStore)({reducer:{tocdashboard:A,sidedashboard:F,commondashboard:X}});var Z,Y=n(9037),ee=n(6004),te=n(4901);class ne{}!function(e){e.LOADING="Loading",e.NOTFOUND="Notebook not Registered",e.USERNOTAUTHORIZED="No User Permission for this Notebook",e.EXPIREDTOKEN="Expired Login Token",e.INVALIDCREDENTIALS="Invalid Credentials",e.ERROR="Fetching Error",e.SUCCESS="Success"}(Z||(Z={}));var oe=n(9156);const ae=q.dispatch;class se{constructor(){this._socket=null}_createSocket(e,t){this._socket=(0,oe.io)(`${Xt}?conType=TEACHER&nbId=${e}&userId=${encodeURIComponent(t)}`,{transports:["websocket"]}),this._socket.on("connect",(()=>{console.log(`${r}: SocketIO connection opened for:`,{notebookId:e,userId:t})})),this._socket.on("disconnect",(n=>{console.log(`${r}: SocketIO connection closed (reason: ${n}) for:`,{notebookId:e,userId:t})})),this._socket.on("refreshDashboard",(()=>{ae(K()),console.log(`${r}: Received refresh dashboard request`)})),this._socket.on("chat",(e=>{console.log(`${r}: message received : ${e}`)})),this._socket.on("connect_error",(e=>{console.error(`${r}: SocketIO error; `,e)}))}establishSocketConnection(e){this.closeSocketConnection();const t=localStorage.getItem(h);e&&t&&this._createSocket(e,t)}closeSocketConnection(){this._socket&&this._socket.close(),this._socket=null}sendMessageToUser(e,t){this._socket&&this._socket.emit("send_message",{userId:e,message:t})}}const le=q.dispatch;class re{constructor(){this._panelUpdatedSignal=new te.Signal(this),this._panelSwitchedSignal=new te.Signal(this),this._ongoingContextId="",this._ongoingCheckId="",this._panel=null,this._monitor=null,this._validityChecks={tag:null,registered:Z.LOADING},this._websocketManager=new se,zt.registrationStateChanged.connect(this._handleRegistrationStateChange,this)}_handleRegistrationStateChange(e,t){this._validityChecks.registered=t,this._panelUpdatedSignal.emit(void 0)}get validityChecks(){return this._validityChecks}get notebookCells(){return this._notebookCells}get websocketManager(){return this._websocketManager}get panel(){return this._panel}set panel(e){if(this._panel===e)return;if(this._panel&&this._panel.disposed.disconnect(this._onPanelDisposed,this),Wt(null),this._validityChecks={tag:null,registered:Z.LOADING},this._websocketManager.closeSocketConnection(),this._panel=e,this._onPanelSwitched(),this._panel&&this._panel.disposed.connect(this._onPanelDisposed,this),this._monitor&&(this._monitor.dispose(),this._monitor=null),!this._panel)return void this._onPanelUpdated();const t=crypto.randomUUID();this._ongoingContextId=t,this._panel.sessionContext.ready.then((()=>{if(this._ongoingContextId===t&&this._panel&&!this._panel.isDisposed){if(this._monitor=new ee.ActivityMonitor({signal:this._panel.context.model.contentChanged,timeout:1e3}),this._monitor.activityStopped.connect(this._onPanelUpdated,this),Bt(this._panel)){const e=w.getMetadataComp(this._panel.model,b.notebookId);Wt(e),this._validityChecks={tag:e,registered:Z.LOADING},this._performRegistrationCheck()}this._onPanelUpdated()}}))}_performRegistrationCheck(){const e=crypto.randomUUID();this._ongoingCheckId=e;let t=Z.ERROR;Rt(`${Kt}/dashboard/${this._validityChecks.tag}/check`).then((e=>e.json())).then((e=>{(null==e?void 0:e.status)?"expired_token"===e.status?t=Z.EXPIREDTOKEN:"not_found"===e.status?t=Z.NOTFOUND:"no_user_permission"===e.status?t=Z.USERNOTAUTHORIZED:"success"===e.status&&(t=Z.SUCCESS):t=Z.INVALIDCREDENTIALS})).catch((e=>{console.log(`${r}: Notebook check fetching error (check your connection).`+e)})).finally((()=>{this._ongoingCheckId===e&&this._panel&&!this._panel.isDisposed&&(this._validityChecks.registered=t,this._validityChecks.registered===Z.SUCCESS&&(le(P()),this._websocketManager.establishSocketConnection(this._validityChecks.tag)),this._panelUpdatedSignal.emit(void 0))}))}_onPanelDisposed(e){this.panel=null}get panelSwitched(){return this._panelSwitchedSignal}_onPanelSwitched(){this._panelSwitchedSignal.emit(void 0)}get panelUpdated(){return this._panelUpdatedSignal}_onPanelUpdated(){this._updateCellList(),this._panelUpdatedSignal.emit(void 0)}_updateCellList(){var e,t;const n=w.getCellsArrComp(null===(t=null===(e=this.panel)||void 0===e?void 0:e.model)||void 0===t?void 0:t.cells);if(n){const e=n.map((e=>e.id));if(!jt(e,this._notebookCells)){this._notebookCells=e;const t=n.map((e=>({id:e.id,cellType:e.type})));return le(Q(t)),!0}}else this._notebookCells=null;return!1}}var ie=n(7760),ce=n(8559);const de=()=>k().createElement("div",{style:{width:"100%",textAlign:"center",margin:"50px 0"}},k().createElement(ce.Spinner,{style:{width:"50px",height:"50px",fontSize:"x-large"},animation:"border",role:"status",variant:"primary"})),he=({title:e,placeholderText:t="No data for the opened notebook"})=>k().createElement("div",{className:"dashboard-TableOfContents"},k().createElement("div",{className:"dashboard-stack-panel-header"},"Side Panel Dashboard"),k().createElement("div",{className:"dashboard-TableOfContents-placeholder"},k().createElement("div",{className:"dashboard-TableOfContents-placeholderContent"},k().createElement("h3",null,e),k().createElement("p",null,t))));class ue extends y.ReactWidget{constructor(e){super(),this.addClass("dashboard-panel"),this._panelManager=e,e.panelUpdated.connect((()=>this.update()),this)}onAfterShow(e){this.update()}onUpdateRequest(e){super.onUpdateRequest(e)}render(){if(!this._panelManager.panel)return v.createElement(he,{title:"No Notebook",placeholderText:"Open a notebook to start viewing its content."});if(!this._panelManager.panel.context.isReady)return v.createElement(de,null);if(!this._panelManager.validityChecks.tag)return v.createElement(he,{title:"Notebook not Tagged for Tracking"});switch(this._panelManager.validityChecks.registered){case Z.LOADING:return v.createElement(de,null);case Z.SUCCESS:return v.createElement(ie.Provider,{store:q},this.computeComponentToRender());default:return v.createElement(he,{title:this._panelManager.validityChecks.registered})}}}const me=ue;var pe=n(2535);class ge{static setPermission(e){ge._isInteractionRecordingEnabled=e}}ge._isInteractionRecordingEnabled=!1,ge.sendInteraction=e=>{ge._isInteractionRecordingEnabled&&Rt(`${Kt}/dashboard_interaction/add`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...e,time:(new Date).toISOString(),notebook_id:Vt})})};const be=q.dispatch,Ce=()=>{const e=(0,ie.useSelector)((e=>e.sidedashboard.navigationState));return k().createElement(ce.Stack,{className:"breadcrumb-container",direction:"horizontal",gap:2},e.map(((t,n)=>k().createElement("div",{className:n===e.length-1?"breadcrumb-tile-active breadcrumb-tile":"breadcrumb-tile",onClick:()=>{"Notebook"===t.pageName?ge.sendInteraction({click_type:"ON",signal_origin:"BREADCRUMB_TO_NOTEBOOK"}):"Cell"===t.pageName&&ge.sendInteraction({click_type:"ON",signal_origin:"BREADCRUMB_TO_CELL"}),n!==e.length-1&&be(H(n))}},t.pageName))),k().createElement("div",{className:"breadcrumb-buttons-container"},k().createElement(ce.Button,{className:"dashboard-button",onClick:()=>{ge.sendInteraction({click_type:"ON",signal_origin:"DASHBOARD_REFRESH_BUTTON"}),be(K())}},k().createElement(pe.ArrowClockwise,{className:"dashboard-icon"}))))},we=q.dispatch,ve=[{value:1,displayName:"All Data",disabledDatePicker:!0},{value:2,displayName:"From t<sub>1</sub>",disabledDatePicker:!1}],ke=e=>{const[t,n]=(0,v.useState)(!1),o=(0,ie.useSelector)((e=>e.commondashboard.dashboardQueryArgs)),a=()=>{const t=o.t1ISOString[e.notebookId]?1:0;return ve[t]},s=()=>{const t=o.t1ISOString[e.notebookId];return t?new Date(t):new Date},l=()=>void 0===o.displayRealTime[e.notebookId]||o.displayRealTime[e.notebookId],[r,i]=(0,v.useState)(a()),[c,d]=(0,v.useState)(s()),[h,u]=(0,v.useState)(l),m=Ht(new Date);return(0,v.useEffect)((()=>{we(z({notebookId:e.notebookId,t1ISOString:r.disabledDatePicker?null:c.toISOString()})),we(G({notebookId:e.notebookId,displayRealTime:h}))}),[c,r,h]),k().createElement(ce.Dropdown,{show:t,onToggle:()=>{ge.sendInteraction({click_type:t?"OFF":"ON",signal_origin:"DASHBOARD_FILTER_TIME"}),t||(d(s()),i(a()),u(l())),n(!t)},className:"custom-dropdown"},k().createElement(ce.Dropdown.Toggle,{className:"dashboard-button"},!(h&&r.disabledDatePicker)&&k().createElement("span",{className:"dashboard-filter-red-dot"}),k().createElement(pe.CalendarWeek,{className:"dashboard-icon"})),k().createElement(ce.Dropdown.Menu,null,k().createElement(ce.Dropdown.Header,null,"Data Timeframe Selector"),k().createElement(ce.Dropdown.Divider,null),k().createElement("div",{className:"custom-dropdown-container custom-dropdown-item"},k().createElement(ce.Form.Check,{id:"time-checkbox-include-all",type:"checkbox",label:"Only show active users",checked:h,onChange:e=>u(e.target.checked)})),k().createElement(ce.Dropdown.Divider,null),k().createElement("div",{className:"dashboard-calendar-container"},k().createElement("div",{className:"cell-radio-container"},k().createElement(ce.ButtonGroup,{size:"sm"},ve.map(((e,t)=>k().createElement(ce.ToggleButton,{key:`calendar-filter-${t}`,id:`calendar-filter-${t}`,type:"radio",variant:"outline-primary",name:"radio",value:e.value,checked:r.value===e.value,onChange:e=>{i(ve[Number(e.currentTarget.value)-1])}},k().createElement("span",{dangerouslySetInnerHTML:{__html:e.displayName}}))))))),k().createElement("div",{className:"dashboard-calendar-container"},k().createElement("div",{className:"dashboard-calendar-input-wrapper "+(r.disabledDatePicker?"disabled":"")},k().createElement("div",null,"t",k().createElement("sub",null,"1")),k().createElement("input",{className:"dashboard-calendar-input",type:"datetime-local",value:Ht(c),onChange:e=>d(new Date(e.target.value)),max:m})))))},_e=({PassedComponent:e,title:t})=>k().createElement(ce.Row,{className:"mb-4"},k().createElement(ce.Card,{className:"chart-card"},k().createElement(ce.Card.Title,{className:"chart-card-title"},t),k().createElement(ce.Card.Body,{className:"chart-card-body"},e)));var ye=n(7885);const fe={maintainAspectRatio:!1,plugins:{legend:{labels:{color:"#969696"}},tooltip:{callbacks:{title:function(e){return`Code cell ${e[0].label}`}}}},scales:{x:{title:{display:!0,text:"Code cell",color:"#969696"},ticks:{color:"#969696"}},y:{ticks:{beginAtZero:!0,precision:0,color:"#969696"},title:{display:!0,text:"Cumulated total across all users",color:"#969696"}}}},Ee=`> ${Math.floor(30)}'`,Se={maintainAspectRatio:!1,plugins:{legend:{display:!0,labels:{usePointStyle:!0,color:"#969696"}},tooltip:{usePointStyle:!0,callbacks:{title:function(e){return`Cell ${e[0].raw.x}`},label:function(e){return[`${e.raw.userCount} of ${e.raw.totalCount} users focused on that cell`,`Average focus time: ${xe(e.raw.y)}`]}}}},scales:{x:{type:"category",ticks:{color:"#969696"},title:{display:!0,text:"Cell (markdown & code)",color:"#969696"}},y:{beginAtZero:!0,ticks:{count:6,precision:0,color:"#969696",callback:function(e,t){return"number"==typeof e?xe(e):e}},title:{display:!0,text:"Average time spent on the cell",color:"#969696"}}}},xe=e=>{const t=Math.floor(e/60);return e>=1800?Ee:`${t>0?t+"'":""}${(e%60).toFixed(0)}"`},Ne=e=>{const[t,n]=(0,v.useState)({labels:[],datasets:[]}),o=(0,ie.useSelector)((e=>e.commondashboard.dashboardQueryArgs)),a=(0,ie.useSelector)((e=>e.commondashboard.refreshBoolean)),s=(0,ie.useSelector)((e=>e.commondashboard.notebookCells));return(0,v.useEffect)((()=>{Rt(`${Kt}/dashboard/${e.notebookId}/user_code_execution?${Tt(o,e.notebookId)}`).then((e=>e.json())).then((e=>{const t=(null==s?void 0:s.filter((e=>"code"===e.cellType)))||[],o={labels:Array.from({length:t.length},((e,t)=>t+1)),datasets:[{label:"clicks",data:Array(t.length).fill(null),backgroundColor:"rgba(51, 187, 238, 0.3)",borderColor:"rgba(51, 187, 238, 0.3)",borderWidth:1},{label:"executions",data:Array(t.length).fill(null),backgroundColor:"rgba(0, 119, 187, 0.6)",borderColor:"rgba(0, 119, 187, 0.6)",borderWidth:1},{label:"executions without errors",data:Array(t.length).fill(null),backgroundColor:"rgba(0, 153, 136, 0.9)",borderColor:"rgba(0, 153, 136, 0.9)",borderWidth:1}]};t.forEach(((t,n)=>{const a=e.find((e=>e.cell===t.id));a&&(o.datasets[0].data[n]=parseFloat(a.cell_click_pct),o.datasets[1].data[n]=parseFloat(a.code_exec_pct),o.datasets[2].data[n]=parseFloat(a.code_exec_ok_pct))})),n(o)}))}),[o,a]),k().createElement(_e,{PassedComponent:k().createElement(ye.Bar,{data:t,options:fe}),title:"Code cell executions across users"})},Ie=q.dispatch,De=e=>{const[t,n]=(0,v.useState)(!1),o=(0,ie.useSelector)((t=>t.commondashboard.dashboardQueryArgs.selectedGroups[e.notebookId])),[a,s]=(0,v.useState)({includeAllChecked:void 0===o||0===o.length,groupList:[]});(0,v.useEffect)((()=>{if(l){let t;t=a.includeAllChecked?[]:a.groupList.filter((e=>!0===e.checked)).map((e=>e.name)),Ie(W({notebookId:e.notebookId,groups:t}))}}),[a]);const[l,r]=(0,v.useState)(!1);return(0,v.useEffect)((()=>{r(!1),Rt(`${Kt}/dashboard/${e.notebookId}/getgroups`).then((e=>e.json())).then((e=>{const t=e.map((e=>({name:e,checked:null==o?void 0:o.includes(e)}))).sort(((e,t)=>e.checked!==t.checked?t.checked?1:-1:e.name.localeCompare(t.name)));s((e=>({...e,groupList:t}))),r(!0)}))}),[e.notebookId]),k().createElement(ce.Dropdown,{id:"group-dropdown",className:"custom-dropdown",show:t,onToggle:()=>{ge.sendInteraction({click_type:t?"OFF":"ON",signal_origin:"DASHBOARD_FILTER_GROUPS"}),t||s((e=>{const t=void 0===o||0===o.length,n=e.groupList.map((e=>({name:e.name,checked:null==o?void 0:o.includes(e.name)}))).sort(((e,t)=>e.checked!==t.checked?t.checked?1:-1:e.name.localeCompare(t.name)));return{...e,includeAllChecked:t,groupList:n}})),n(!t)}},k().createElement(ce.Dropdown.Toggle,{className:"dashboard-button"},a.groupList.some((e=>!0===e.checked))&&k().createElement("span",{className:"dashboard-filter-red-dot"}),k().createElement(pe.PeopleFill,{className:"dashboard-icon"})),k().createElement(ce.Dropdown.Menu,null,k().createElement(ce.Dropdown.Header,null,"Filter by group of users"),k().createElement(ce.Dropdown.Divider,null),k().createElement("div",{className:"custom-dropdown-container custom-dropdown-item"},k().createElement(ce.Form.Check,{id:"group-checkbox-include-all",type:"checkbox",label:"Include all users",checked:a.includeAllChecked,onChange:e=>{return t=e.target.checked,void s((e=>{const n=e.groupList.map((e=>({...e,checked:!1})));return{...e,includeAllChecked:t,groupList:t?n:e.groupList}}));var t}})),k().createElement(ce.Dropdown.Divider,null),k().createElement("div",{className:"group-dropdown-scroll "+(a.includeAllChecked?"disabled":"")},a.groupList.length>0?a.groupList.map(((e,t)=>k().createElement("div",{className:"custom-dropdown-item "+(a.includeAllChecked?"disabled":"")},k().createElement(ce.Form.Check,{id:`group-checkbox-${t}`,type:"checkbox",disabled:!!a.includeAllChecked||void 0,label:e.name,title:e.name,checked:e.checked,onChange:()=>(e=>{s((t=>{const n=[...t.groupList];return n[e]={...n[e],checked:!n[e].checked},{...t,groupList:n}}))})(t)})))):k().createElement(ce.Dropdown.Item,{disabled:!0},"No groups available"))))},Me=e=>{const[t,n]=(0,v.useState)({labels:[],datasets:[]}),o=(0,ie.useSelector)((e=>e.commondashboard.dashboardQueryArgs)),a=(0,ie.useSelector)((e=>e.commondashboard.refreshBoolean)),s=(0,ie.useSelector)((e=>e.commondashboard.notebookCells));return(0,v.useEffect)((()=>{Rt(`${Kt}/dashboard/${e.notebookId}/user_cell_duration_time?${Tt(o,e.notebookId)}`).then((e=>e.json())).then((e=>{const t=e.durations,o=e.total_user_count,a=[];t&&o&&(null==s||s.map(((e,n)=>{const s=t.find((t=>t.cell===e.id));if(s){const e=s.user_count/o,t=1,l=10;a.push({x:n+1,y:Math.min(s.average_duration,1800),r:Math.min(Math.max(Math.round(t+(l-1)*e),t),l),userCount:s.user_count,totalCount:o})}})));const l={labels:s?Array.from({length:s.length},((e,t)=>t+1)):[],datasets:[{label:" fraction of users that focused on the cell",data:a,backgroundColor:"rgba(54, 162, 235, 0.2)",borderColor:"rgba(54, 162, 235, 1)",borderWidth:1}]};n(l)}))}),[o,a]),k().createElement(_e,{PassedComponent:k().createElement(ye.Bubble,{data:t,options:Se}),title:"Time spent on each cell across users"})},Oe=e=>k().createElement(k().Fragment,null,k().createElement("div",{className:"dashboard-title-container"},k().createElement("div",{className:"dashboard-title-text"},e.notebookName),k().createElement("div",{className:"dashboard-dropdown-container"},k().createElement(De,{notebookId:e.notebookId}),k().createElement(ke,{notebookId:e.notebookId}))),k().createElement(ce.Row,null,k().createElement(ce.Col,null,k().createElement(Ne,{notebookId:e.notebookId}),k().createElement(Me,{notebookId:e.notebookId}))));var Te=n(3231),Re=n.n(Te);const Ae=[{key:"timeDesc",label:"Time (newest 1st)"},{key:"timeAsc",label:"Time (oldest 1st)"},{key:"inputAsc",label:"Input (shortest 1st)"},{key:"inputDesc",label:"Input (longest 1st)"},{key:"outputAsc",label:"Output (shortest 1st)"},{key:"outputDesc",label:"Output (longest 1st)"}],Le=Ae[0].key,$e=q.dispatch,Be=e=>{const t=(0,ie.useSelector)((t=>t.commondashboard.dashboardQueryArgs.sortBy[e.notebookId]||Le));return k().createElement(ce.Dropdown,{id:"order-by-dropdown",onSelect:t=>{t&&(ge.sendInteraction({click_type:"ON",signal_origin:"CELL_DASHBOARD_FILTER_SORT"}),$e(J({notebookId:e.notebookId,sortCriterion:t})))},className:"custom-dropdown"},k().createElement(ce.Dropdown.Toggle,{className:"dashboard-button"},t!==Le&&k().createElement("span",{className:"dashboard-filter-red-dot"}),k().createElement(pe.SortUp,{className:"dashboard-icon"})),k().createElement(ce.Dropdown.Menu,null,k().createElement(ce.Dropdown.Header,null,"Sort cells by"),k().createElement(ce.Dropdown.Divider,null),Ae.map(((e,n)=>k().createElement(ce.Dropdown.Item,{id:`sort-item-${n}`,eventKey:e.key,className:t===e.key?"highlighted":""},e.label)))))},je=e=>k().createElement(ce.Col,{md:12},k().createElement(ce.Card,{className:"cell-card"},k().createElement(ce.Card.Body,{style:{gap:"10px"}},k().createElement(ce.Row,{className:"cell-card-wrapper"},k().createElement(ce.Col,{md:12,className:"cell-user-title"},k().createElement(ce.Card.Text,{title:e.value.user_id||void 0},"User ",e.value.user_id?e.value.user_id.length>8?`${e.value.user_id.substring(0,8)}...`:e.value.user_id:`${e.index+1}`)),k().createElement(ce.Col,{md:12},e.ExecutionContent),(()=>{if(e.value.t_finish){const t=new Date(e.value.t_finish),n=`Executed at ${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}, ${t.getDate().toString().padStart(2,"0")}/${(t.getMonth()+1).toString().padStart(2,"0")}/${t.getFullYear().toString().slice(-2)}`;return k().createElement(ce.Col,{md:12,className:"cell-execution-displayed-time"},n)}return null})()))));var He=n(2779);const Pe=e=>{const[t,n]=(0,v.useState)(null);return(0,v.useEffect)((()=>{(()=>{const t=He.marked.parser(He.marked.lexer(e.markdownContent));n(e.sanitizer.sanitize(t))})()}),[e.markdownContent]),k().createElement("div",{className:"cell-content-container"},t&&k().createElement("div",{className:"jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput",dangerouslySetInnerHTML:{__html:t}}))};var Fe=n(9558),Ue=n(7044);const ze=({cell_input:e,language_mimetype:t,className:n})=>{const o=(0,v.useRef)(null);return(0,v.useEffect)((()=>{const n=o.current;if(n){n.innerHTML="";const o=new Ue.CodeEditor.Model;o.mimeType=t,o.sharedModel.setSource(e);const a=new Fe.CodeMirrorEditor({host:n,model:o,...w.getCodeMirrorOptionsComp()}),s=w.observeEditorVisibility(a);return s&&s.observe(n),()=>{s&&s.disconnect()}}}),[e,t]),k().createElement("div",{ref:o,className:n})};var Ve=n(9337);const We=new s.RenderMimeRegistry({initialFactories:s.standardRendererFactories}),Ge=({cell_output_model:e})=>{const t=(0,v.useRef)(null),n=new Ve.OutputAreaModel;return(0,v.useEffect)((()=>{n.clear(),n.fromJSON(e);const o=t.current;if(o){o.innerHTML="";for(let e=0;e<n.length;++e){const t=n.get(e),a=We.preferredMimeType(t.data);if(a){const e=We.createRenderer(a);e.renderModel(t),o.appendChild(e.node)}}}}),[e]),k().createElement("div",{ref:t,className:"cell-content-container"})},Je=e=>{const t=(0,v.useRef)([]),[n,o]=(0,v.useState)([]),[a,s]=(0,v.useState)(!1),l=(0,v.useRef)(0),i=(0,v.useRef)(7),c=(0,v.useRef)(0),d=(0,ie.useSelector)((e=>e.sidedashboard.navigationState)),h=(0,ie.useSelector)((e=>e.commondashboard.refreshBoolean)),m=(0,ie.useSelector)((e=>e.commondashboard.dashboardQueryArgs)),[p,g]=(0,v.useState)(!0),[b,C]=(0,v.useState)(!0),[w,_]=(0,v.useState)(1),[y,f]=((e=800)=>{const[t,n]=(0,v.useState)(""),[o,a]=(0,v.useState)("");return(0,v.useEffect)((()=>{const t=setTimeout((()=>n(o)),e);return()=>clearTimeout(t)}),[o,e]),[t,a]})(),E=[{name:"All",value:1,status:"all"},{name:"Success",value:2,status:"ok"},{name:"Error",value:3,status:"error"}],S=E.map((e=>e.status)),x=d[d.length-1].content,N=async()=>{const n=++c.current,a=i.current,d=l.current;try{const r=await Rt(`${Kt}/dashboard/${e.notebookId}/cell/${x.cellId}?limit=${a}&offset=${d}&${Tt(m,e.notebookId)}`),h=await r.json();if(n===c.current){const e=((e,t)=>{const n=new Set(e.map((e=>e.exec_id))),o=t.filter((e=>!n.has(e.exec_id)));return[...e,...o]})(t.current,h);t.current=e,o(e),h.length<a?s(!1):s(!0),l.current+=a,i.current=7}}catch(e){console.error(`${r}: Error cell dashboard fetch: `,e)}};return(0,v.useEffect)((()=>{i.current=Math.max(t.current.length,7),s(!1),l.current=0,t.current=[],N()}),[d,m,h]),(0,v.useEffect)((()=>()=>{s(!1),l.current=0,t.current=[],o([])}),[d]),(0,v.useEffect)((()=>{if(!e.pageRouterNode)return;const t=Math.abs(e.pageRouterNode.scrollHeight-e.pageRouterNode.clientHeight-e.pageRouterNode.scrollTop)<1;a&&t&&N()}),[a,e.pageRouterNode,n,p,b,w,y]),k().createElement(k().Fragment,null,k().createElement("div",{className:"dashboard-title-container"},k().createElement("div",{className:"dashboard-title-text"},"Cell (",x.cellId,")"),k().createElement("div",{className:"dashboard-dropdown-container"},k().createElement(Be,{notebookId:e.notebookId}),k().createElement(De,{notebookId:e.notebookId}),k().createElement(ke,{notebookId:e.notebookId}))),k().createElement(ce.Form,{className:"cell-filter-container",onSubmit:e=>e.preventDefault()},k().createElement("div",{className:"cell-radio-container"},k().createElement(ce.ButtonGroup,{size:"sm"},k().createElement(ce.ToggleButton,{style:{marginRight:"3px"},key:"0",id:"code-checkbox",type:"radio",variant:"outline-primary",value:"Code",checked:p,onClick:e=>{p&&!b?e.preventDefault():(ge.sendInteraction({click_type:p?"OFF":"ON",signal_origin:"CELL_DASHBOARD_FILTER_CODE_INPUT"}),g(!p))}},"Code"),k().createElement(ce.ToggleButton,{key:"1",id:"output-checkbox",type:"radio",variant:"outline-primary",value:"Output",checked:b,onClick:e=>{!p&&b?e.preventDefault():(ge.sendInteraction({click_type:b?"OFF":"ON",signal_origin:"CELL_DASHBOARD_FILTER_CODE_OUTPUT"}),C(!b))}},"Output"))),k().createElement("div",{className:"cell-radio-container"},k().createElement(ce.ButtonGroup,{size:"sm"},E.map(((e,t)=>k().createElement(ce.ToggleButton,{key:t,id:`filter-${t}`,type:"radio",variant:"outline-primary",name:"radio",value:e.value,checked:w===e.value,onChange:e=>{ge.sendInteraction({click_type:"ON",signal_origin:"CELL_DASHBOARD_FILTER_EXECUTION"}),_(Number(e.currentTarget.value))}},e.name))))),k().createElement(ce.Form.Control,{size:"sm",type:"text",placeholder:"Type text to filter...",onChange:e=>f(e.target.value)})),k().createElement(Re(),{style:{overflow:"hidden"},scrollableTarget:u,dataLength:n.length,next:N,hasMore:a,loader:k().createElement(de,null)},(I=n,D=y,0===D.length?I:(D=D.toLowerCase(),I.filter((e=>{var t;return(null===(t=e.cell_input)||void 0===t?void 0:t.toLowerCase().includes(D))||e.cell_output_model&&JSON.stringify(e.cell_output_model).toLowerCase().includes(D)})))).map(((t,n)=>k().createElement(ce.Row,{key:n},"MarkdownExecution"===t.cell_type&&["all","ok"].includes(S[w-1])?k().createElement(je,{value:t,index:n,ExecutionContent:k().createElement(Pe,{markdownContent:t.cell_input,sanitizer:e.sanitizer})}):k().createElement(k().Fragment,null,(1===w||S[w-1]===t.status)&&k().createElement(je,{value:t,index:n,ExecutionContent:k().createElement(k().Fragment,null,p&&k().createElement(ze,{cell_input:t.cell_input,language_mimetype:t.language_mimetype,className:"cell-content-container"}),p&&b&&t.cell_output_model.length>0&&k().createElement("br",null),b&&t.cell_output_model.length>0&&k().createElement(Ge,{cell_output_model:t.cell_output_model}))})))))));var I,D};var Qe=n(8352);Qe.Chart.register(...Qe.registerables);const Ke=e=>{const t=(0,ie.useSelector)((e=>e.sidedashboard.navigationState)),[n,o]=(0,v.useState)(null),a=(0,v.useCallback)((e=>{o(e)}),[]);return k().createElement("div",{ref:a,className:"page-container",id:u},k().createElement(Ce,null),(()=>{switch(t[t.length-1].pageName){case"Notebook":return k().createElement(Oe,{notebookId:e.notebookId,notebookName:e.notebookName});case"Cell":return k().createElement(Je,{notebookId:e.notebookId,sanitizer:e.sanitizer,pageRouterNode:n});default:return null}})())};class Xe extends me{constructor(e,t){super(e),this.addClass("dashboard-react-widget"),this.title.caption="Side Dashboard",this.title.icon=E,this.id="unanalytics-side-dashboard",this.node.setAttribute("role","region"),this.node.setAttribute("aria-label","Side dashboard section"),this._sanitizer=t}onBeforeShow(e){ge.sendInteraction({click_type:"ON",signal_origin:"RIGHT_DASHBOARD_SHOW_HIDE"})}onBeforeHide(e){ge.sendInteraction({click_type:"OFF",signal_origin:"RIGHT_DASHBOARD_SHOW_HIDE"})}computeComponentToRender(){const e=this._panelManager.panel,t=this._panelManager.validityChecks.tag;return e&&t?v.createElement(Ke,{notebookId:t,notebookName:e.sessionContext.name,sanitizer:this._sanitizer}):v.createElement(v.Fragment,null)}}const qe=(e,t)=>{const n=3*e/t+.1;return Math.min(1,n)},Ze=({data:e,cellId:t,commands:n})=>k().createElement(k().Fragment,null,e&&e[0]&&e[1]?k().createElement("div",{onClick:e=>{e.preventDefault(),n.execute(m.dashboardOpenDashboardPlayback,{from:"Toc",cell_id:t})},className:"dashboard-toc-react-component",style:{backgroundColor:`rgba(25, 118, 210, ${qe(e[0],e[1])})`}},k().createElement("span",{className:"dashboard-toc-react-text"},e[0]+"/"+e[1])):k().createElement("div",{className:"dashboard-toc-react-component"}));class Ye extends k().Component{render(){const{panel:e,heading:t,headings:n,addReactComponent:o,isFirstCellOccurrence:a,tocDashboardData:s,commands:l}=this.props,r=this.props.itemRenderer(e,t,n);return r?k().createElement("li",{className:"dashboard-tocItem",onClick:e=>{ge.sendInteraction({click_type:"ON",signal_origin:"TOC_HEADING_CLICKED"}),e.preventDefault(),e.stopPropagation(),t.onClick()}},r,o&&k().createElement(Ze,{cellId:t.cellRef.model.id,data:a?s:null,commands:l})):null}}const et=e=>{const[t,n]=(0,v.useState)(null),o=(0,ie.useSelector)((e=>e.tocdashboard.displayDashboard)),a=(0,ie.useSelector)((e=>e.commondashboard.refreshBoolean)),s=(0,ie.useSelector)((e=>e.commondashboard.dashboardQueryArgs));(0,v.useEffect)((()=>{l()}),[e.notebookCells,e.notebookPanel,a,s]),(0,v.useEffect)((()=>()=>{n(null)}),[e.notebookCells,e.notebookPanel]);const l=async()=>{const t=w.getMetadataComp(e.notebookPanel.model,b.notebookId);if(t&&e.notebookCells){try{const e=await Rt(`${Kt}/dashboard/${t}/toc?${Tt(s,t)}`);if(e.ok){const t=await e.json();return void n(t.data)}console.log(`${r}: Error:`,e.status)}catch(e){console.log(`${r}: Toc Fetch Error:`,e)}n(null)}},i=(t=>{const n=e.headings.map((e=>e.cellRef.model.id)),o=[...new Set(n)],a={},s=e.notebookCells;if(s&&t){const e=o.map((e=>s.indexOf(e)));e[0]=0,e.push(s.length);let n=0;for(let l=0;l<o.length;l++){const r=e[l],i=e[l+1];let c=0;if(-1===r)c=0;else for(let e=r;e<i;e++)c+=t.location_count[s[e]]||0;a[o[l]]=c,n+=c}a.total_count=n}return a})(t),c=new Set;return k().createElement("ul",{className:"dashboard-TableOfContents-content"},e.headings.map(((t,n)=>{const a=t.cellRef.model.id,s=!c.has(a);return s&&c.add(a),k().createElement(Ye,{panel:e.notebookPanel,heading:t,headings:e.headings,itemRenderer:e.itemRenderer,addReactComponent:o,isFirstCellOccurrence:s,tocDashboardData:[i[a],i.total_count],commands:e.commands,key:`${t.text}-${t.level}-${n++}`})})))};class tt extends ne{constructor(e,t){super(),this._preRenderedToolbar=null,this._showCode=!1,this._showMarkdown=!1,this._numbering=t.numbering,this._numberingH1=t.numberingH1,this._syncCollapseState=t.syncCollapseState,this._widget=e,this.sanitizer=t.sanitizer,this._collapseChanged=new te.Signal(this)}set numberingH1(e){this._numberingH1!==e&&(this._numberingH1=e,this._widget.update())}get numberingH1(){return this._numberingH1}set syncCollapseState(e){this._syncCollapseState!==e&&(this._syncCollapseState=e,this._widget.update())}get syncCollapseState(){return this._syncCollapseState}setNotebookMetadata(e,t){null!==t&&t.model&&w.setMetadataComp(t.model,e[0],e[1])}setNumbering(e,t){this._numbering=e,this._widget.update(),this.setNotebookMetadata(["dashboard-toc-autonumbering",this._numbering],t)}get numbering(){return this._numbering}setShowCode(e,t){this._showCode=e,this.setNotebookMetadata(["dashboard-toc-showcode",this._showCode],t),this._widget.update()}get showCode(){return this._showCode}setShowMarkdown(e,t){this._showMarkdown=e,this.setNotebookMetadata(["dashboard-toc-showmarkdowntxt",this._showMarkdown],t),this._widget.update()}get showMarkdown(){return this._showMarkdown}get collapseChanged(){return this._collapseChanged}set preRenderedToolbar(e){this._preRenderedToolbar=e}get preRenderedToolbar(){return this._preRenderedToolbar}updateWidget(){this._widget.update()}updateAndCollapse(e){this._collapseChanged.emit(e),this._widget.update()}initializeOptions(e,t,n,o,a){this._numbering=e,this._numberingH1=t,this._syncCollapseState=n,this._showCode=o,this._showMarkdown=a,this._widget.update()}}function nt(e){if(e.length>0){let t=e.length-1;for(;t>=0;){if("header"===e[t].type)return e[t].level;t-=1}}return 0}const ot="jp-MarkdownHeadingCollapsed",at="dashboard-toc-hr-collapsed";function st(e,t,n,o,a,s){const l=[];if(e){const r=e.split("\n"),i=Math.min(r.length,3);let c="",d=0;for(;d<i-1;d++)c+=r[d]+"\n";c+=r[d],l.push({text:c,level:o+1,onClick:t(0),type:"code",prompt:n,cellRef:a,hasChild:!1,index:s})}return l[0]}function lt(e,t,n,o){if(t&&t.text){if(n&&"header"===n.type)for(let t=e.length-1;t>=0;t--)e[t]===n&&(e[t].hasChild=!0);o<0&&e.push(t),n=t}return[e,n]}const rt={allowedTags:["p","blockquote","b","i","strong","em","strike","code","br","div","span","pre","del"],allowedAttributes:{code:["class"],span:["class"],div:["class"],p:["class"],pre:["class"]}};function it(e,t,n,o,a,s=!1,l=!0,r,i){const c=e.querySelectorAll("h1, h2, h3, h4, h5, h6, p");let d=a;const h=[];for(const e of c){if("p"===e.nodeName.toLowerCase()){if(e.innerHTML){const o=n.sanitize(e.innerHTML,rt);h.push({level:d+1,html:o.replace("¶",""),text:e.textContent?e.textContent:"",onClick:t(e),type:"markdown",cellRef:r,hasChild:!1,index:i})}continue}e.getElementsByClassName("numbering-entry").length>0&&e.removeChild(e.getElementsByClassName("numbering-entry")[0]);let a=n.sanitize(e.innerHTML,rt);a=a.replace("¶","");let c=parseInt(e.tagName[1],10);l||(c-=1),d=c;const u=ht(o,c);if(s){const t=document.createElement("span");t.classList.add("numbering-entry"),t.textContent=null!=u?u:"",e.insertBefore(t,e.firstChild)}h.push({level:c,text:e.textContent?e.textContent:"",numbering:u,html:a,onClick:t(e),type:"header",cellRef:r,hasChild:!1,index:i})}return h}function ct(e,t,n,o,a,s){return e&&"markdown"===e.type&&s?[t,n]=lt(t,e,n,o):e&&"header"===e.type&&([t,n,o]=function(e,t,n,o,a){const s=e.length;if(n&&"header"===n.type&&n.level<t.level)for(let t=s-1;t>=0;t--)e[t]===n&&(e[t].hasChild=!0);return(o>=t.level||o<0)&&(e.push(t),o=a?t.level:-1),[e,n=t,o]}(t,e,n,o,a)),[t,n,o]}const dt=6;function ht(e,t){if(null===e)return;let n="";if(e=function(e,t){for(let n=t+1;n<=dt;n++)void 0!==e[n]&&(e[n]=void 0);return void 0===e[t]?e[t]=1:e[t]+=1,e}(e,t),t>=1){for(let o=1;o<=t;o++)n+=(void 0===e[o]?"0":e[o])+".";n+=" "}return n}function ut(e){const t=e.split("\n");let n=t[0].match(/^([#]{1,6}) (.*)/);return n?{text:n[2].replace(/\[(.+)\]\(.+\)/g,"$1"),level:n[1].length,type:"markdown"}:t.length>1&&(n=t[1].match(/^ {0,3}([=]{2,}|[-]{2,})\s*$/),n)?{text:t[0].replace(/\[(.+)\]\(.+\)/g,"$1"),level:"="===n[1][0]?1:2,type:"markdown-alt"}:(n=t[0].match(/<h([1-6]).*>(.*)<\/h\1>/i),n?{text:n[2],level:parseInt(n[1],10),type:"html"}:null)}function mt(e,t,n,o,a,s){const l=t(0),r=[];let i=o;for(const t of e.split("\n"))if(t){const e=ut(t);e?(r.push({text:e.text,level:e.level,numbering:ht(n,e.level),onClick:l,type:"header",cellRef:a,hasChild:!1,index:s}),i=e.level):r.push({text:t,level:i+1,onClick:l,type:"markdown",cellRef:a,hasChild:!1,index:s})}return r}function pt(e,t,n){if(t.index>-1||(null==n?void 0:n.length)){const o=e.content.activeCellIndex,a=t.index;if(o&&a<o){const e=n.indexOf(t)+1;if(e>=n.length)return!0;if((null==n?void 0:n[e].index)>o)return!0}}return!1}const gt=q.dispatch;function bt(e,t,n){let o=!0,a=!1;n&&n.composite.tocDashboardSettings&&(o=n.composite.tocDashboardSettings.numberingH1,a=n.composite.tocDashboardSettings.syncCollapseState);const s=new tt(e,{numbering:!1,numberingH1:o,syncCollapseState:a,sanitizer:t});return n&&n.composite.tocDashboardSettings&&n.changed.connect((()=>{s.numberingH1=n.composite.tocDashboardSettings.numberingH1,s.syncCollapseState=n.composite.tocDashboardSettings.syncCollapseState})),{options:s,toolbarGenerator:function(e){return function(e,t){return class extends v.Component{constructor(n){super(n),this.state={showCode:!0,showMarkdown:!1,numbering:!1,showVisuDashboard:M.displayDashboard},t.context.ready.then((()=>{if(t){t.content.activeCellChanged.connect((()=>{e.updateWidget()}));const n=w.getMetadataComp(t.model,"dashboard-toc-autonumbering"),o=w.getMetadataComp(t.model,"dashboard-toc-showcode"),a=w.getMetadataComp(t.model,"dashboard-toc-showmarkdowntxt");e.initializeOptions(n||e.numbering,e.numberingH1,e.syncCollapseState,o||e.showCode,a||e.showMarkdown),this.setState({showCode:e.showCode,showMarkdown:e.showMarkdown,numbering:e.numbering})}}))}toggleCode(){ge.sendInteraction({click_type:e.showCode?"OFF":"ON",signal_origin:"TOC_TOOLBAR_CODE"}),e.setShowCode(!e.showCode,t),this.setState({showCode:e.showCode})}toggleMarkdown(){ge.sendInteraction({click_type:e.showMarkdown?"OFF":"ON",signal_origin:"TOC_TOOLBAR_MARKDOWN"}),e.setShowMarkdown(!e.showMarkdown,t),this.setState({showMarkdown:e.showMarkdown})}toggleNumbering(){ge.sendInteraction({click_type:e.numbering?"OFF":"ON",signal_origin:"TOC_TOOLBAR_NUMBERED"}),e.setNumbering(!e.numbering,t),this.setState({numbering:e.numbering})}toggleShowVisuDashboard(){const e=this.state.showVisuDashboard;ge.sendInteraction({click_type:e?"OFF":"ON",signal_origin:"TOC_TOOLBAR_SHOW_HIDE"}),gt(T(!e)),this.setState({showVisuDashboard:!e})}refreshDashboard(){ge.sendInteraction({click_type:"ON",signal_origin:"TOC_TOOLBAR_REFRESH"}),gt(K())}render(){const e=v.createElement("div",{onClick:e=>this.toggleCode(),role:"text","aria-label":"Toggle Code Cells",title:"Toggle Code Cells",className:this.state.showCode?"dashboard-toc-toolbar-icon-selected":"dashboard-toc-toolbar-icon"},v.createElement(_.codeIcon.react,null)),t=v.createElement("div",{onClick:e=>this.toggleMarkdown(),role:"text","aria-label":"Toggle Markdown Text Cells",title:"Toggle Markdown Text Cells",className:this.state.showMarkdown?"dashboard-toc-toolbar-icon-selected":"dashboard-toc-toolbar-icon"},v.createElement(_.markdownIcon.react,null)),n=v.createElement("div",{onClick:e=>this.toggleNumbering(),role:"text","aria-label":"Toggle Auto-Numbering",title:"Toggle Auto-Numbering",className:this.state.numbering?"dashboard-toc-toolbar-icon-selected":"dashboard-toc-toolbar-icon"},v.createElement(_.numberingIcon.react,null)),o=v.createElement("div",{onClick:e=>this.toggleShowVisuDashboard(),role:"text","aria-label":this.state.showVisuDashboard?"Hide Visualization Dashboard":"Show Visualization Dashboard",title:this.state.showVisuDashboard?"Hide Visualization Dashboard":"Show Visualization Dashboard",className:"dashboard-toc-toolbar-icon"},this.state.showVisuDashboard?v.createElement(N.react,null):v.createElement(I.react,null)),a=v.createElement("div",{onClick:e=>this.refreshDashboard(),role:"text","aria-label":"Refresh Dashboard",title:"Refresh Dashboard",className:"dashboard-toc-toolbar-icon"},v.createElement(_.refreshIcon.react,null));return v.createElement("div",null,v.createElement("div",{className:"dashboard-toc-toolbar"},v.createElement("div",{className:"dashboard-toc-toolbar-compartment"},e,t,n),v.createElement("div",{className:"dashboard-toc-toolbar-compartment"},o,a)))}}}(s,e)},itemRenderer:function(e,t,n=[]){return function(e,t,n,o=[]){var a;if("markdown"===n.type||"header"===n.type){let a="dashboard-toc-level-size-default";const s=n.numbering&&e.numbering?n.numbering:"",l=e.syncCollapseState?ot:at;if("header"!==n.type&&"markdown"!==n.type||(a="dashboard-toc-level-size-"+n.level),"header"===n.type||e.showMarkdown){let r;r=n.html?v.createElement("span",{dangerouslySetInnerHTML:{__html:s+e.sanitizer.sanitize(n.html,rt)},className:"dashboard-"+n.type+"-cell dashboard-toc-cell-item"}):v.createElement("span",{className:"dashboard-"+n.type+"-cell dashboard-toc-cell-item"},s+n.text);let i=null;return"header"===n.type&&(i=v.createElement("div",{className:"jp-Collapser p-Widget lm-Widget",onClick:o=>{o.stopPropagation(),function(t,n,o){let a=!1;const s=e.syncCollapseState,l=w.getMetadataComp(null==o?void 0:o.cellRef.model,n);l&&(a=l),o?(ge.sendInteraction({click_type:a?"OFF":"ON",signal_origin:"TOC_COLLAPSE_HEADERS"}),s?t&&Y.NotebookActions.setHeadingCollapse(null==o?void 0:o.cellRef,!a,t.content):a?w.deleteMetadataComp(o.cellRef.model,n):w.setMetadataComp(o.cellRef.model,n,!0),e.updateAndCollapse({heading:o,collapsedState:a})):e.updateWidget()}(t,l,n)}},v.createElement("div",{className:"dashboard-toc-Collapser-child"}))),r=v.createElement("div",{className:"dashboard-toc-entry-holder "+a+(t.content.activeCell===n.cellRef||pt(t,n,o)?" dashboard-toc-active-cell":"")},i,r),r}return null}if(t&&"code"===n.type&&e.showCode){const e=(null===(a=w.getMetadataComp(t.model,"language_info"))||void 0===a?void 0:a.mimetype)||"text";return v.createElement("div",{className:"dashboard-toc-code-cell-div"},v.createElement("div",{className:"dashboard-toc-code-cell-prompt"},n.prompt),v.createElement("span",{className:"dashboard-toc-code-span"},v.createElement(ze,{cell_input:n.text,language_mimetype:e,className:"dashboard-toc-cell-input"})))}return null}(s,e,t,n)},generate:function(n){let o=[],a=-1;const l={};let r=null;for(let i=0;i<n.content.widgets.length;i++){const c=n.content.widgets[i],d=c.model,h=s.syncCollapseState?ot:at;let u=w.getMetadataComp(d,h);if(u=u||!1,"code"!==d.type){if("markdown"===d.type){const e=c;let h;const m=nt(o);if(e.rendered&&!e.inputHidden){const d=t=>()=>{e.rendered?(n.content.mode="command",c.node.scrollIntoView(),n.content.activeCellIndex=i):(n.content.activeCellIndex=i,t.scrollIntoView())},p=it(c.node,d,t,l,m,s.numbering,s.numberingH1,c,i);for(h of p)[o,r,a]=ct(h,o,r,a,u,s.showMarkdown)}else{const e=e=>()=>{n.content.activeCellIndex=i,c.node.scrollIntoView()},t=mt(d.sharedModel.getSource(),e,l,m,c,i);for(h of t)[o,r,a]=ct(h,o,r,a,u,s.showMarkdown)}}}else if(!e||e&&s.showCode){const e=e=>()=>{n.content.activeCellIndex=i,c.node.scrollIntoView()},t=c.model.executionCount,s=null!==t?"["+t+"]: ":"[ ]: ",l=st(d.sharedModel.getSource(),e,s,nt(o),c,i);[o,r]=lt(o,l,r,a)}}return o},collapseChanged:s.collapseChanged}}const Ct=e=>{const[t,n]=(0,v.useState)(e.startT1),[o,a]=(0,v.useState)(e.startT2),s=Ht(new Date),l=t=>{n(t),e.t1Callback(t)},r=t=>{a(t),e.t2Callback(t)};return k().createElement("div",{className:"dashboard-export-dialog-container"},k().createElement("p",null,"Select the time range of the data you want to export (the past week selected by default)."),k().createElement("div",{className:"dashboard-export-dialog-calendar-container"},k().createElement("div",{className:"dashboard-export-dialog-calendar"},k().createElement("p",null,"Start Date :"),k().createElement("input",{className:"dashboard-calendar-input",type:"datetime-local",value:Ht(t),onChange:e=>(e=>{const t=new Date(e);l(t),t>=o&&r(t)})(e.target.value),max:Ht(o)})),k().createElement("div",{className:"dashboard-export-dialog-calendar"},k().createElement("p",null,"End Date :"),k().createElement("input",{className:"dashboard-calendar-input",type:"datetime-local",value:Ht(o),onChange:e=>(e=>{const n=new Date(e);r(n),n<=t&&l(n)})(e.target.value),max:s}))))},wt=e=>{const[t,n]=(0,v.useState)(!1);return k().createElement("div",{className:"dashboard-toc-download-button"+(t?"-disabled":""),onClick:()=>{t||(e=>{let t=new Date,o=new Date;o.setDate(t.getDate()-7),(0,y.showDialog)({title:"Download Notebook Data",body:k().createElement(Ct,{startT1:o,startT2:t,t1Callback:e=>o=e,t2Callback:e=>t=e}),buttons:[{accept:!0,actions:[],ariaLabel:"Export",caption:"",className:"",displayType:"default",iconClass:"",iconLabel:"",label:"Export"},y.Dialog.cancelButton()]}).then((a=>{a.button.accept&&((e,t,o)=>{n(!0);let a="";Rt(`${Kt}/dashboard/${e}/download_csv?t1=${t.toISOString()}&t2=${o.toISOString()}`).then((e=>{var t;if(e.ok){const n=e.headers.get("Content-Disposition");return a=(null===(t=null==n?void 0:n.match(/filename=(.+)/))||void 0===t?void 0:t[1])||"",e.blob()}})).then((e=>{if(e){const t=window.URL.createObjectURL(e),n=document.createElement("a");n.href=t,n.download=a,document.body.appendChild(n),n.click(),n.remove()}})).finally((()=>{n(!1)}))})(e,o,t)}))})(e.notebookId)}},k().createElement(_.downloadIcon.react,{className:"dashboard-toc-download-icon"}),"Export")};class vt extends me{constructor(e,t,n,o){super(e),this.title.caption="Dashboard ToC",this.title.icon=E,this.id="unianalytics-toc-dashboard",this.node.setAttribute("role","region"),this.node.setAttribute("aria-label","Dashboard ToC section"),this._commands=t,this._notebookGenerator=bt(this,n,o),this._toolbar=null,e.panelSwitched.connect(this._onPanelSwitched,this)}onBeforeShow(e){ge.sendInteraction({click_type:"ON",signal_origin:"TOC_DASHBOARD_SHOW_HIDE"})}onBeforeHide(e){ge.sendInteraction({click_type:"OFF",signal_origin:"TOC_DASHBOARD_SHOW_HIDE"})}_onPanelSwitched(e){this._panelManager.panel?this._toolbar=this._notebookGenerator.toolbarGenerator(this._panelManager.panel):this._toolbar=null}computeComponentToRender(){const e=this._panelManager.panel;return e?v.createElement("div",{className:"dashboard-TableOfContents"},v.createElement("div",{className:"dashboard-stack-panel-header"},v.createElement("span",{className:"dashboard-toc-header-title"},ee.PathExt.basename(e.context.localPath)),v.createElement(wt,{notebookId:this._panelManager.validityChecks.tag})),this._toolbar&&v.createElement(this._toolbar,null),v.createElement(et,{headings:this._notebookGenerator.generate(e),itemRenderer:this._notebookGenerator.itemRenderer,notebookPanel:e,commands:this._commands,notebookCells:this._panelManager.notebookCells})):v.createElement(v.Fragment,null)}}var kt=n(4882);const _t="cell-dashboard-button-container";class yt extends kt.Widget{constructor(e,t){super(),this.addClass(_t);const n=document.createElement("button");n.className="cell-dashboard-button",n.innerHTML=E.svgstr,n.title=n.disabled?"No notebook identifier":"Open Cell Dashboard",n.onclick=()=>{e.execute(m.dashboardOpenDashboardPlayback,{from:"Cell",cell_id:t})},this.node.appendChild(n)}dispose(){super.dispose()}}class ft{constructor(e){this._commands=e}createNew(e){return new Et(e,this._commands)}}class Et{constructor(e,t){this._isDisposed=!1,this._panel=e,this._commands=t,this._previousActiveCell=this._panel.content.activeCell,e.context.ready.then((()=>{Bt(e)?(e.revealed.then((()=>{e&&!e.isDisposed&&setTimeout((()=>{this._onActiveCellChanged(e.content)}),1e3/60)})),e.content.renderingLayoutChanged.connect(this._onActiveCellChanged,this),e.content.activeCellChanged.connect(this._onActiveCellChanged,this),e.disposed.connect((()=>{e.content.activeCellChanged.disconnect(this._onActiveCellChanged)}))):this.dispose()}))}_addCellButton(e){const t=this._getCell(e);if(t){const e=new yt(this._commands,t.model.id);t.layout.insertWidget(0,e)}}_onActiveCellChanged(e){this._previousActiveCell&&!this._previousActiveCell.isDisposed&&this._removeCellButton(this._previousActiveCell.model);const t=e.activeCell;null!==t&&(this._addCellButton(t.model),this._previousActiveCell=t)}_getCell(e){var t;return null===(t=this._panel)||void 0===t?void 0:t.content.widgets.find((t=>t.model===e))}_removeCellButton(e){const t=this._getCell(e);t&&this._findCellButtonWidgets(t).forEach((e=>{e.dispose()}))}_findCellButtonWidgets(e){return e.layout.widgets.filter((e=>e.hasClass(_t)))||[]}get isDisposed(){return this._isDisposed}dispose(){var e;if(this.isDisposed)return;this._isDisposed=!0;const t=w.getCellsArrComp(null===(e=this._panel)||void 0===e?void 0:e.context.model.cells);if(t)for(const e of t)this._removeCellButton(e);this._panel=null,te.Signal.clearData(this)}}var St=n(7717);class xt{constructor(e){this._commands=e}createNew(e){const t=new y.ToolbarButton({className:"playback-button",icon:S,onClick:()=>{this._commands.execute(m.dashboardOpenDashboardPlayback,{from:"Playback"})},tooltip:"Open Dashboard Playback Widget"});return e.context.ready.then((()=>{Bt(e)&&e.toolbar.insertItem(0,"openDashboardPlayback",t)})),new St.DisposableDelegate((()=>{t.dispose()}))}}const Nt=q.dispatch,It=e=>{const t=(0,v.useRef)(null),n=(0,v.useRef)(null),o=new Date,[a,s]=(0,v.useState)(new Date(o.getTime()-72e5)),[l,r]=(0,v.useState)(new Date(o.getTime()+6e4)),[i,c]=(0,v.useState)(40),[d,h]=((e,t=200)=>{const[n,o]=(0,v.useState)(e),[a,s]=(0,v.useState)(e);return(0,v.useEffect)((()=>{const e=setTimeout((()=>o(a)),t);return()=>clearTimeout(e)}),[a,t]),[n,s]})(40),u=()=>{const e=a.getTime()+i/40*(l.getTime()-a.getTime());return new Date(e)};return(0,v.useEffect)((()=>{const t=u();Nt(V({notebookId:e.notebookId,t2ISOString:t.toISOString()}))}),[d,a,l]),(0,v.useEffect)((()=>()=>{Nt(V({notebookId:e.notebookId,t2ISOString:null}))}),[e.notebookId]),k().createElement("div",{className:"dashboard-playback-widget-container"},k().createElement("div",{className:"dashboard-playback-header"},k().createElement("div",{className:"dashboard-playback-icon-container"},k().createElement(S.react,{className:"dashboard-playback-icon"})),k().createElement("div",{className:"dashboard-playback-mode-title"},"Playback Mode"),k().createElement("div",{className:"dashboard-playback-icon-container-hovering dashboard-playback-icon-container",onClick:e.hideParent},k().createElement(pe.X,{className:"dashboard-playback-icon"}))),k().createElement("div",{className:"dashboard-playback-mode-text"},"Move data cutoff time back in custom range (includes non-active users):"),k().createElement("div",{className:"dashboard-playback-controls"},k().createElement("div",{className:"dashboard-playback-time-button-wrapper"},k().createElement(ce.Button,{className:"dashboard-playback-time-button-container",onClick:()=>{var e;return null===(e=t.current)||void 0===e?void 0:e.showPicker()}},"t",k().createElement("sub",null,"1"),k().createElement("input",{ref:t,id:"unianalytics-datetime-t1",className:"dashboard-playback-hidden-datepicker dashboard-calendar-input",type:"datetime-local",value:Ht(a),max:Ht(l),onChange:e=>{const t=new Date(e.target.value);t.getTime()>=l.getTime()&&r(new Date(t.getTime()+6e4)),s(t)}})),k().createElement("span",{className:"dashboard-playback-label"},"Min cutoff:",k().createElement("br",null)," ",Pt(a))),k().createElement("div",{className:"dashboard-playback-range-wrapper"},k().createElement(ce.Form.Range,{min:0,max:40,onChange:e=>{return t=parseInt(e.target.value),c(t),void h(t);var t},value:i}),k().createElement("span",{className:"dashboard-playback-label"},"Selected cutoff:",k().createElement("br",null)," ",Pt(u()))),k().createElement("div",{className:"dashboard-playback-time-button-wrapper"},k().createElement(ce.Button,{className:"dashboard-playback-time-button-container",onClick:()=>{var e;return null===(e=n.current)||void 0===e?void 0:e.showPicker()}},"t",k().createElement("sub",null,"2"),k().createElement("input",{ref:n,id:"unianalytics-datetime-t2",className:"dashboard-playback-hidden-datepicker dashboard-calendar-input",type:"datetime-local",value:Ht(l),max:Ht(o),onChange:e=>{const t=new Date(e.target.value);t.getTime()<=a.getTime()&&s(new Date(t.getTime()-6e4)),r(t)}})),k().createElement("span",{className:"dashboard-playback-label"},"Max cutoff:",k().createElement("br",null)," ",Pt(l)))))};class Dt extends y.ReactWidget{constructor(e){super(),this._dragging=!1,this._startX=0,this._startLeft=0,this.addClass("dashboard-playback-widget"),this.id="dashboard-playback-widget",this.node.setAttribute("role","region"),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.update=this.update.bind(this),this._onMouseDown=this._onMouseDown.bind(this),this._onMouseMove=this._onMouseMove.bind(this),this._onMouseUp=this._onMouseUp.bind(this),this.hide(),this._panelManager=e,e.panelUpdated.connect((()=>this.update())),e.panelSwitched.connect((()=>this.hide()))}onBeforeShow(e){ge.sendInteraction({click_type:"ON",signal_origin:"DASHBOARD_PLAYBACK_SHOW_HIDE"}),this.update()}onBeforeHide(e){ge.sendInteraction({click_type:"OFF",signal_origin:"DASHBOARD_PLAYBACK_SHOW_HIDE"}),this.update()}onUpdateRequest(e){super.onUpdateRequest(e)}render(){const e=this._panelManager.panel,t=this._panelManager.validityChecks.tag;return!this.isHidden&&e&&t?v.createElement(It,{notebookId:t,hideParent:()=>this.hide()}):v.createElement(v.Fragment,null)}onAfterAttach(e){super.onAfterAttach(e),this.node.addEventListener("mousedown",this._onMouseDown.bind(this))}onBeforeDetach(e){this.node.removeEventListener("mousedown",this._onMouseDown.bind(this)),super.onBeforeDetach(e)}_onMouseDown(e){0===e.button&&e.target===this.node&&(this._dragging=!0,this._startX=e.clientX,this._startLeft=this.node.offsetLeft,document.addEventListener("mousemove",this._onMouseMove),document.addEventListener("mouseup",this._onMouseUp))}_onMouseMove(e){if(!this._dragging)return;const t=e.clientX-this._startX;this.node.style.left=`${this._startLeft+t}px`}_onMouseUp(e){this._dragging=!1,document.removeEventListener("mousemove",this._onMouseMove),document.removeEventListener("mouseup",this._onMouseUp)}}const Mt=q.dispatch;const Ot=(e,t,n,o,a,s,l)=>{$t(e.auth_notebooks),Gt||(async function(e,t,n,o,a){console.log(`JupyterLab extension ${r}: dashboard plugins activated!`),(e=>{const t=e.shell.widgets();let n=w.getNextWidgetValueComp(t);for(;n;){if(n instanceof Y.NotebookPanel){const t=n,o=new xt(e.commands),a=new ft(e.commands),s=o.createNew(t),l=a.createNew(t);t.disposed.connect((()=>{s.dispose(),l.dispose()}))}n=w.getNextWidgetValueComp(t)}e.docRegistry.addWidgetExtension("Notebook",new ft(e.commands)),e.docRegistry.addWidgetExtension("Notebook",new xt(e.commands))})(e);const s=new re,l=new Xe(s,a.sanitizer),i=new vt(s,e.commands,a.sanitizer,o),c=new Dt(s);function d(){const t=e.shell.currentWidget;if(!t)return;if(!(t instanceof Y.NotebookPanel))return void(s.panel&&s.panel.isDisposed&&(s.panel=null));const n=t;s.panel=n}n.restored.then((()=>{kt.Widget.attach(c,n.node)})),n.add(l,"right",{rank:1e3}),n.add(i,"left",{rank:1e3}),e.commands.addCommand(m.dashboardOpenDashboardPlayback,{label:"Notebook Visualizations",caption:"Open Dashboards",icon:E,iconClass:"jp-icon3",execute:t=>{"Playback"===t.from?(l.isVisible||Mt(B()),i.isVisible||e.shell.activateById(i.id),c.isAttached&&s.validityChecks.registered===Z.SUCCESS&&(c.isHidden?c.show():c.hide())):"Cell"===t.from?(ge.sendInteraction({click_type:"ON",signal_origin:"NOTEBOOK_CELL_BUTTON"}),Mt(j({cellId:t.cell_id}))):"Toc"===t.from&&(ge.sendInteraction({click_type:"ON",signal_origin:"TOC_OPEN_CELL_DASHBOARD"}),Mt(j({cellId:t.cell_id}))),l.isVisible||e.shell.activateById(l.id)}}),t&&(t.add(l,`${r}:dashboard-notebook-restorer`),t.add(i,`${r}:dashboard-toc-restorer`)),n&&n.currentChanged.connect(d),e.restored.then((()=>{d()}))}(t,o,a,l,s),function(e,t){console.log(`JupyterLab extension ${r}: upload plugin is activated!`),e.commands.addCommand(m.uploadNotebook,{label:"Upload notebook to unianalytics",icon:e=>e.isContextMenu?_.fileUploadIcon:void 0,execute:n=>{const o=w.getFileComp(t);o&&e.serviceManager.contents.get(o.path).then((t=>{var n,a;(n=t.content,a=o.name,new Promise(((e,t)=>{const o=new FormData;o.append("notebook_content",JSON.stringify(n)),o.append("name",a),Rt(Kt+"/notebook/upload",{method:"POST",body:o}).then((async n=>{const o=await n.json();n.ok?e(o):422===n.status?t("Invalid token"):t(o.error||"Unknown error")})).catch((e=>{t(e)}))}))).then((n=>{const a={...t,content:n};e.serviceManager.contents.save(o.path,a).then((e=>{const t=n.metadata[b.notebookId],a=`${Kt}/notebook/download/${t}`;(0,y.showDialog)({title:o.name,body:k().createElement(f,{url:a,fileName:o.name}),buttons:[y.Dialog.okButton()]}).catch((e=>console.log(e)))})).catch((e=>{(0,y.showDialog)({title:o.name,body:`Error saving the file:\n${e}`,buttons:[y.Dialog.okButton()]}).catch((e=>console.log(e)))}))})).catch((e=>{(0,y.showDialog)({title:o.name,body:`Error uploading the file:\n${e}`,buttons:[y.Dialog.okButton()]}).catch((e=>console.log(e)))}))}))}}),e.commands.addCommand(m.copyDownloadLink,{label:"Copy unianalytics notebook link",icon:e=>e.isContextMenu?_.linkIcon:void 0,execute:n=>{const o=w.getFileComp(t);o&&e.serviceManager.contents.get(o.path).then((e=>{const t=e.content.metadata;if(t){const e=t[b.notebookId];e?navigator.clipboard.writeText(`${Kt}/notebook/download/${e}`).catch((e=>{console.error(`${r}: Error copying link: `,e)})):console.log(`${r}: Notebook not tagged`)}}))}}),e.contextMenu.addItem({selector:p,type:"separator",rank:0}),e.contextMenu.addItem({args:{isContextMenu:!0},command:m.uploadNotebook,selector:p,rank:0}),e.contextMenu.addItem({args:{isContextMenu:!0},command:m.copyDownloadLink,selector:p,rank:0}),e.contextMenu.addItem({selector:p,type:"separator",rank:0})}(t,n),Jt(!0))},Tt=(e,t)=>{var n,o;return`displayRealTime=${null===(n=e.displayRealTime[t])||void 0===n||n}`+(e.t1ISOString[t]?"&t1="+e.t1ISOString[t]:"")+(e.t2ISOString[t]?"&t2="+e.t2ISOString[t]:"")+(e.sortBy[t]?"&sortBy="+e.sortBy[t]:"")+((null===(o=e.selectedGroups[t])||void 0===o?void 0:o.length)>0?"&selectedGroups="+encodeURIComponent(JSON.stringify(e.selectedGroups[t])):"")},Rt=async(e,t)=>{const n=await At(e,t);if(401===n.status){const o=await n.clone().json();if("expired_token"===(null==o?void 0:o.status)){if(await Lt())return At(e,t);console.log(`${r}: Token refresh failed.`),zt.registrationStateChanged.emit(Z.EXPIREDTOKEN)}}return n},At=async(e,t)=>{const n={headers:{Authorization:`Bearer ${localStorage.getItem(c)}`}},o={...n,...t,headers:{...n.headers,...(null==t?void 0:t.headers)||{}}};return fetch(e,o)},Lt=async()=>{const e=await fetch(`${Kt}/jwt/refresh`,{method:"POST",headers:{Authorization:`Bearer ${localStorage.getItem(d)}`}});if(e.ok){const t=await e.clone().json();if(null==t?void 0:t.access_token)return console.log(`${r}: access token refreshed`),localStorage.setItem(c,t.access_token),!0}return!1},$t=e=>{window.postMessage({identifier:"unianalytics",authNotebooks:e||[]},window.origin)},Bt=e=>!!(e&&!e.isDisposed&&e.context.isReady&&w.getMetadataComp(e.context.model,b.notebookId)&&w.getMetadataComp(e.context.model,b.cellMapping)),jt=(e,t)=>!(!e||!t)&&e.length===t.length&&e.every(((e,n)=>e===t[n])),Ht=e=>e.toLocaleString("sv-SE").slice(0,-3),Pt=e=>`${e.getDate().toString().padStart(2,"0")}/${(e.getMonth()+1).toString().padStart(2,"0")} ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}`,Ft=e=>{const[t,n]=(0,v.useState)(""),[o,a]=(0,v.useState)(""),[s,l]=(0,v.useState)(!1),[i,u]=(0,v.useState)({text:"",isSuccess:!1});return k().createElement("div",{className:"dashboard-loginbox-content"},k().createElement(ce.Form,null,k().createElement(ce.Form.Group,{controlId:"formUsername"},k().createElement(ce.Form.Label,null,"Username"),k().createElement(ce.Form.Control,{type:"text",value:t,onChange:e=>n(e.target.value),placeholder:"Enter username"})),k().createElement(ce.Form.Group,{controlId:"formPassword",className:"dashboard-loginbox-password-group"},k().createElement(ce.Form.Label,null,"Password"),k().createElement(ce.Form.Control,{type:"password",value:o,onChange:e=>a(e.target.value),placeholder:"Enter password"})),k().createElement(ce.Button,{variant:"primary",type:"submit",onClick:()=>{l(!0);const n=t;fetch(`${Kt}/jwt/login`,{method:"POST",body:JSON.stringify({username:n,password:o}),headers:{"Content-Type":"application/json"}}).then((async e=>{const t=await e.json();return{responseOk:e.ok,loginJSON:t}})).then((({responseOk:t,loginJSON:o})=>{l(!1),t?(localStorage.setItem(c,o.access_token),localStorage.setItem(d,o.refresh_token),localStorage.setItem(h,n),Ot(o,e.app,e.factory,e.restorer,e.labShell,e.rendermime,e.settings),u({text:"Login successful: dashboards activated.",isSuccess:!0})):u({text:`Login failed: ${o.error||"Unknown reason"}.`,isSuccess:!1})})).catch((e=>{l(!1),console.error(`${r}: Login error, ${e}`),u({text:`${e}`,isSuccess:!1})}))},disabled:!t||!o||s,className:"dashboard-loginbox-btn"},"Log In")),k().createElement("div",{className:"dashboard-loginbox-signup"},k().createElement("a",{href:`${Kt}/jwt/signup`,target:"_blank",rel:"noopener noreferrer"},"Not registered? Sign up",k().createElement(pe.BoxArrowUpRight,{className:"dashboard-loginbox-signup-icon"}))),k().createElement("div",{className:"dashboard-loginbox-response-container"},s?k().createElement("div",{className:"dashboard-loginbox-spinner-container"},k().createElement(ce.Spinner,{animation:"border",role:"status",variant:"primary",className:"dashboard-loginbox-spinner"})):k().createElement("div",{className:"dashboard-loginbox-response "+(i.isSuccess?"":"dashboard-loginbox-error-text")},i.text)))};class Ut{constructor(){this._registrationStateChanged=new te.Signal(this)}get registrationStateChanged(){return this._registrationStateChanged}}const zt=new Ut;let Vt=null;function Wt(e){Vt=e}let Gt=!1;function Jt(e){Gt=e}const Qt="http://localhost:1015";let Kt=Qt,Xt=Qt;const qt={id:i,autoStart:!0,requires:[a.IFileBrowserFactory,o.ILayoutRestorer,o.ILabShell,s.IRenderMimeRegistry,l.ISettingRegistry],optional:[],activate:(e,t,n,o,a,s)=>{console.log(`JupyterLab extension ${r} is activated!`);const l="3.1.0",i=e.version.match(/[0-9]+/g);if(i&&((e,t)=>{const n=e.split(/[^0-9]+/).map(Number),o=t.split(/[^0-9]+/).map(Number);for(let e=0;e<Math.min(n.length,o.length);e++){const t=n[e],a=o[e];if(t!==a)return t-a}const a=e.replace(/[0-9]+/g,""),s=t.replace(/[0-9]+/g,"");return a.localeCompare(s)})(e.version,l)>=0){const l=parseInt(i[0]);w.setJupyterVersion(l).then((async()=>{let l,i;if(s)try{[l,i]=await Promise.all([s.load(`${r}:plugin`),s.load(`${r}:endpoint`)]),c(l),l.changed.connect(c),d(i),i.changed.connect(d)}catch(e){console.error(`${r}: Failed to load settings.\n${e}`)}!function(e,t,n,o,a,s){console.log(`JupyterLab extension ${r}: login plugin is activated!`),e.commands.addCommand(m.openLogin,{label:"Login to Access Unianalytics Dashboards",icon:x,execute:l=>{(0,y.showDialog)({title:k().createElement("div",{className:"dashboard-loginbox-title-container"},k().createElement("div",{className:"dashboard-loginbox-icon-container"},k().createElement(x.react,{className:"dashboard-loginbox-icon"})),k().createElement("div",{className:"dashboard-loginbox-title"},"Login: Unianalytics Dashboards")),body:k().createElement(Ft,{app:e,factory:t,restorer:n,labShell:o,rendermime:a,settings:s}),focusNodeSelector:'input[type="text"]',buttons:[{accept:!1,actions:[],ariaLabel:"Close",caption:"",className:"",displayType:"default",iconClass:"",iconLabel:"",label:"Close"}]}).then((e=>{})).catch((e=>console.log(`${r} Error with Login: ${e}`)))}})}(e,t,n,o,a,l),Rt(`${Kt}/jwt/check`).then((e=>{if(e.ok)return e.json();throw new Error("Unauthorized user")})).then((s=>{Ot(s,e,t,n,o,a,l)})).catch((e=>{$t([]),console.log(`${r}: Authentication error, ${e}`)}))}))}else console.log(`${r}: Use a more recent version of JupyterLab (>=${l})`);function c(e){var t;const n=e.composite.commonDashboardSettings;n?ge.setPermission(n.dashboardCollection||!1):ge.setPermission((null===(t=e.default("commonDashboardSettings"))||void 0===t?void 0:t.dashboardCollection)||!1)}function d(e){const t=e.composite.useLocalBackend,n=e.composite.backendEndpoint;t?(Kt=Qt,Xt=Qt):"string"==typeof n?(Kt=n,Xt=n):(Kt=Qt,Xt=Qt)}}},Zt=qt},2204:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%272%27 fill=%27%23fff%27/%3e%3c/svg%3e"},9609:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%2386b7fe%27/%3e%3c/svg%3e"},2469:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%23fff%27/%3e%3c/svg%3e"},7486:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%280, 0, 0, 0.25%29%27/%3e%3c/svg%3e"},991:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%28255, 255, 255, 0.25%29%27/%3e%3c/svg%3e"},4144:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e"},6254:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23000%27%3e%3cpath d=%27M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z%27/%3e%3c/svg%3e"},5321:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23052c65%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e"},3460:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23212529%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e"},1281:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%236ea8fe%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e"},5647:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z%27/%3e%3c/svg%3e"},1692:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e"},6770:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23343a40%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e"},6711:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23dee2e6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e"},8931:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10h8%27/%3e%3c/svg%3e"},6199:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e"},2956:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e"},2221:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%2833, 37, 41, 0.75%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e"},5122:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z%27/%3e%3c/svg%3e"}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkjupyterlab_unianalytics_dashboard=self.webpackChunkjupyterlab_unianalytics_dashboard||[]).push([[546],{1150:(n,o,e)=>{e.d(o,{Z:()=>d});var r=e(8081),t=e.n(r),a=e(3645),i=e.n(a)()(t());i.push([n.id,".cell-dashboard-button-container {\n position: absolute;\n left: 13px;\n bottom: -29px;\n width: var(--jp-cell-prompt-width);\n height: 34px;\n z-index: 9999;\n}\n\n.cell-dashboard-button {\n cursor: pointer;\n background-color: var(--jp-brand-color1);\n border-radius: 0 0 5px 5px;\n border: none;\n padding: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.cell-dashboard-button:hover {\n background-color: var(--jp-brand-color0);\n}\n\n.cell-dashboard-button:disabled {\n background-color: var(--jp-inverse-layout-color4);\n cursor: not-allowed;\n}\n\n.cell-dashboard-button svg {\n width: 20px;\n height: 20px;\n}\n\n.cell-dashboard-button [fill] {\n fill: white;\n}\n\n.dashboard-export-dialog-container {\n padding: 20px 0;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.dashboard-export-dialog-container p {\n font-size: var(--jp-ui-font-size2);\n font-weight: 400;\n padding-left: 8px;\n}\n\n.dashboard-export-dialog-calendar-container {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: 15px;\n cursor: default;\n padding: 20px;\n}\n\n.dashboard-export-dialog-calendar {\n border: 1px solid var(--jp-brand-color1);\n border-radius: 3px;\n display: flex;\n flex-direction: column;\n padding: 20px;\n cursor: pointer;\n}\n\n.dashboard-calendar-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 12px;\n padding: 14px 20px;\n}\n\ninput.dashboard-calendar-input {\n cursor: pointer;\n}\n\nbody[data-jp-theme-light='false'] input.dashboard-calendar-input {\n color-scheme: dark;\n}\n\n.dashboard-calendar-input-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 15px;\n}\n\n.dashboard-calendar-input-wrapper.disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.dashboard-calendar-input-wrapper.disabled input.dashboard-calendar-input {\n pointer-events: none;\n background-color: var(--jp-layout-color4);\n}\n\n.dashboard-calendar-button-container {\n display: flex;\n justify-content: space-between;\n padding: 20px 15px 5px;\n}\n",""]);const d=i},3630:(n,o,e)=>{e.d(o,{Z:()=>d});var r=e(8081),t=e.n(r),a=e(3645),i=e.n(a)()(t());i.push([n.id,".dashboard-panel {\n background-color: var(--jp-layout-color1);\n}\n\n.dashboard-react-widget {\n display: flex;\n height: 100%;\n min-width: 335px !important;\n}\n\n.page-container {\n display: flex;\n overflow-y: auto;\n scrollbar-gutter: stable;\n padding: 20px;\n flex-direction: column;\n flex: 1;\n}\n\n.chart-card {\n max-height: 400px;\n}\n\n.chart-card-title {\n text-align: center;\n padding-top: 15px;\n font-size: medium !important;\n}\n\n.chart-card-body {\n min-height: 260px;\n padding-top: 0 !important;\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.breadcrumb-container {\n margin-bottom: 16px;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n}\n\n.breadcrumb-tile {\n padding: 2px 13px 2px 8px;\n border-radius: 0 60px 60px 0;\n cursor: pointer;\n color: var(--jp-inverse-layout-color1);\n font-weight: 500;\n font-size: 20px;\n background-color: var(--jp-border-color1);\n opacity: 0.5;\n}\n\n.breadcrumb-tile-active {\n opacity: 1;\n background-color: var(--jp-brand-color1);\n color: white;\n}\n\n.breadcrumb-buttons-container {\n margin-left: auto;\n position: relative;\n}\n\n.dashboard-title-container {\n display: flex;\n margin-bottom: 15px;\n justify-content: space-between;\n align-items: center;\n}\n\n.dashboard-title-text {\n white-space: nowrap; /* Prevent text from wrapping */\n overflow: hidden; /* Hide overflowing content */\n text-overflow: ellipsis;\n font-size: 18px;\n color: var(--jp-inverse-layout-color1);\n font-weight: 700;\n}\n\n.card {\n color: var(--jp-inverse-layout-color1) !important;\n background-color: var(--jp-layout-color2) !important;\n cursor: pointer;\n\n /* box-shadow: var(--jp-inverse-layout-color4) 0 0 5px 0; */\n}\n\n.cell-card {\n cursor: pointer;\n margin-bottom: 10px;\n margin-top: 10px;\n padding: 0;\n}\n\n.cell-card-wrapper {\n display: flex;\n align-items: center;\n}\n\n.cell-filter-container {\n display: flex;\n flex-wrap: wrap;\n gap: 10px;\n justify-content: space-between;\n color: var(--jp-inverse-layout-color1);\n}\n\n.cell-radio-container .btn-group .btn {\n display: flex;\n align-items: center;\n}\n\n.cell-radio-container .btn-outline-primary {\n border: solid 1px var(--jp-brand-color1);\n}\n\n.dashboard-dropdown-container {\n display: flex;\n margin-left: 10px;\n gap: 5px;\n}\n\n.custom-dropdown .dropdown-menu,\n.custom-dropdown .dropdown-item,\n.custom-dropdown .dropdown-header {\n background-color: var(--jp-layout-color2) !important;\n color: var(--jp-inverse-layout-color1) !important;\n}\n\n.custom-dropdown .dropdown-item:hover,\n.custom-dropdown .dropdown-item.highlighted {\n background-color: var(--jp-layout-color3) !important;\n}\n\n.custom-dropdown .dropdown-toggle::after {\n display: none !important;\n}\n\n.custom-dropdown .dropdown-menu {\n border-width: 2px;\n}\n\n.custom-dropdown button.btn,\n.custom-dropdown button.btn:hover {\n color: white;\n}\n\nbutton.dashboard-button {\n width: 32px;\n height: 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.dashboard-filter-red-dot {\n position: absolute;\n top: -3px;\n right: -3px;\n width: 10px;\n height: 10px;\n border-radius: 50%;\n background-color: red;\n display: block;\n border: 2px solid var(--jp-layout-color1);\n}\n\n.cell-user-title {\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 13px;\n font-weight: 500;\n padding: 0 0 10px;\n}\n\n.cell-execution-displayed-time {\n display: flex;\n justify-content: end;\n font-size: 12px;\n font-weight: 400;\n padding-top: 12px;\n}\n\n.cell-content-container {\n max-height: 320px;\n overflow: auto;\n padding: 10px;\n background-color: var(--jp-layout-color0);\n border: solid 1px var(--bs-card-border-color);\n border-radius: 3px;\n cursor: pointer;\n}\n\n.cell-content-container:hover {\n cursor: text;\n}\n\n.dashboard-icon {\n display: flex;\n width: 20px;\n height: auto;\n position: absolute;\n fill: white;\n}\n\n.dashboard-icon .jp-icon3 {\n fill: white;\n}\n\n.no-data-card {\n margin: 10px 0;\n text-align: center;\n padding: 30px 0;\n}\n\n.connectionid-container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n padding: 6px 10px;\n border-radius: 2px;\n margin-bottom: 6px;\n font-size: 11px;\n color: white;\n cursor: pointer;\n}\n\n.connectionid-container:hover {\n background-color: #424242;\n}\n\n.text-with-ellipsis {\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-right: 10px;\n}\n\n.send-icon {\n display: flex;\n justify-content: center;\n}\n\n.custom-dropdown-container {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 6px 0;\n}\n\n.group-dropdown-scroll {\n max-height: 215px;\n overflow-y: auto;\n}\n\n.group-dropdown-scroll.disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.custom-dropdown-item {\n padding: 8px 10px 4px 12px;\n}\n\n.custom-dropdown-item,\n.custom-dropdown-item * {\n cursor: pointer !important;\n}\n\n.custom-dropdown-item.disabled,\n.custom-dropdown-item.disabled * {\n cursor: not-allowed !important;\n}\n\n.custom-dropdown-item:hover:not(.disabled) {\n background-color: var(--jp-layout-color3) !important;\n}\n\n.custom-dropdown-item label {\n max-width: 190px;\n overflow-x: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.dashboard-playback-widget {\n position: absolute;\n bottom: 0;\n width: 480px;\n color: white;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--jp-layout-color0);\n padding: 20px 12px 8px;\n border: 3px solid var(--jp-brand-color1);\n border-bottom: none;\n border-radius: 8px 8px 0 0;\n animation: vibrate-shadow 1s ease-in-out 1;\n cursor: move;\n}\n\n@keyframes vibrate-shadow {\n 0%,\n 100% {\n box-shadow: 0 0 0 var(--jp-brand-color1);\n }\n\n 20% {\n box-shadow: 0 0 50px var(--jp-brand-color1);\n }\n}\n\n.dashboard-playback-widget-container {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n width: 100%;\n cursor: auto;\n}\n\n.dashboard-playback-header {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 10px;\n}\n\n.dashboard-playback-mode-title {\n flex: 1;\n color: var(--jp-inverse-layout-color0);\n text-align: left;\n font-size: 20px;\n margin-left: 3px;\n}\n\n.dashboard-playback-mode-text {\n color: var(--jp-inverse-layout-color0);\n margin-bottom: 10px;\n text-align: left;\n width: 100%;\n font-size: 13px;\n padding: 0 7px;\n}\n\n.dashboard-playback-controls {\n display: flex;\n justify-content: space-between;\n gap: 10px;\n width: 100%;\n z-index: 1000;\n}\n\n.dashboard-playback-icon-container {\n width: 32px;\n height: 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 3px;\n}\n\n.dashboard-playback-icon-container-hovering:hover {\n background-color: var(--jp-layout-color3);\n cursor: pointer;\n}\n\nbutton.dashboard-playback-time-button-container {\n width: 32px;\n height: 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.dashboard-playback-time-button-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n}\n\n.dashboard-playback-range-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n flex: 1;\n}\n\nbutton.dashboard-playback-time-button-container,\n.form-range {\n margin-bottom: auto;\n}\n\n.dashboard-playback-label {\n text-align: center;\n margin-top: 5px;\n font-size: 12px;\n color: var(--jp-inverse-layout-color3);\n}\n\n.dashboard-playback-icon {\n display: flex;\n width: 20px;\n height: auto;\n position: absolute;\n fill: var(--jp-inverse-layout-color0);\n}\n\n.dashboard-playback-icon .jp-icon3 {\n fill: var(--jp-inverse-layout-color0);\n}\n\n.dashboard-playback-hidden-datepicker {\n visibility: hidden;\n position: absolute;\n}\n\n/* change color of Form.Range slider */\n.dashboard-playback-widget-container\n input[type='range']::-webkit-slider-runnable-track {\n background: var(--jp-brand-color3);\n}\n\n/* for Firefox */\n.dashboard-playback-widget-container input[type='range']::-moz-range-track {\n background: var(--jp-brand-color3);\n}\n\n/* for IE */\n.dashboard-playback-widget-container input[type='range']::-ms-track {\n background: var(--jp-brand-color3);\n}\n\n.dashboard-loginbox-title-container {\n display: flex;\n align-items: center;\n margin: auto;\n}\n\n.dashboard-loginbox-icon-container {\n width: 40px;\n height: 40px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.dashboard-loginbox-icon {\n display: flex;\n width: 25px;\n height: auto;\n position: absolute;\n fill: var(--jp-inverse-layout-color0);\n}\n\n.dashboard-loginbox-icon .jp-icon3 {\n fill: var(--jp-inverse-layout-color0);\n}\n\n.dashboard-loginbox-title {\n margin-right: 5px;\n margin-left: 10px;\n}\n\n.dashboard-loginbox-signup {\n text-align: center;\n}\n\n.dashboard-loginbox-signup a {\n text-decoration: none;\n}\n\n.dashboard-loginbox-content {\n font-size: 16px;\n width: 300px;\n margin: auto;\n}\n\n.dashboard-loginbox-btn {\n width: 300px;\n margin: 15px 0;\n color: white !important;\n}\n\n.dashboard-loginbox-password-group {\n margin-top: 15px;\n}\n\n.dashboard-loginbox-signup-icon {\n margin-left: 5px;\n}\n\n.dashboard-loginbox-response-container {\n height: 50px;\n margin: 20px 0 10px;\n display: flex;\n align-items: center;\n}\n\n.dashboard-loginbox-spinner-container {\n width: 100%;\n text-align: center;\n}\n\n.dashboard-loginbox-spinner {\n width: 30px;\n height: 30px;\n font-size: large;\n}\n\n.dashboard-loginbox-response {\n font-size: 13px;\n}\n\n.dashboard-loginbox-error-text {\n color: var(--jp-error-color1);\n}\n\n.cell-filter-container .form-control,\n.dashboard-loginbox-content .form-control {\n border: solid 1px var(--jp-brand-color1);\n background-color: transparent;\n color: var(--jp-inverse-layout-color1);\n}\n\n.cell-filter-container\n .form-control:focus\n .dashboard-loginbox-content\n .form-control:focus {\n border: solid 1px var(--jp-brand-color1);\n background-color: transparent;\n color: var(--jp-inverse-layout-color1);\n}\n\n.cell-filter-container .form-control::placeholder,\n.dashboard-loginbox-content .form-control::placeholder {\n color: var(--jp-inverse-layout-color3);\n}\n",""]);const d=i},7563:(n,o,e)=>{e.d(o,{Z:()=>d});var r=e(8081),t=e.n(r),a=e(3645),i=e.n(a)()(t());i.push([n.id,".dashboard-TableOfContents-content {\n flex: 1 1 auto;\n margin: 0;\n padding: 0;\n list-style-type: none;\n overflow: auto;\n background-color: var(--jp-layout-color1);\n}\n\n.dashboard-TableOfContents-content li {\n display: flex;\n flex-direction: row;\n padding: 4px 12px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: pointer;\n padding-top: 8px;\n padding-bottom: 8px;\n width: 100%;\n}\n\n.dashboard-TableOfContents {\n display: flex;\n flex-direction: column;\n background: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n font-size: var(--jp-ui-font-size1);\n height: 100%;\n width: 100%;\n}\n\n.dashboard-TableOfContents .dashboard-stack-panel-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n text-transform: uppercase;\n border-bottom: var(--jp-border-width) solid var(--jp-border-color2);\n flex: 0 0 auto;\n font-size: var(--jp-ui-font-size0);\n font-weight: 600;\n letter-spacing: 1px;\n margin: 0;\n padding: 8px 12px;\n}\n\n.dashboard-toc-toolbar-icon,\n.dashboard-toc-toolbar-icon-selected {\n float: left;\n padding: 0;\n margin: 4px;\n display: flex;\n cursor: pointer;\n justify-content: center;\n align-items: center;\n background-repeat: no-repeat;\n background-color: transparent;\n background-size: 100%;\n background-position: center;\n height: 24px;\n width: 24px;\n border-radius: 2px;\n}\n\n[data-jp-theme-light='true'] .dashboard-toc-toolbar-icon:hover {\n background-color: var(--jp-input-background);\n}\n\n[data-jp-theme-light='false'] .dashboard-toc-toolbar-icon:hover {\n background-color: #3a3a3a;\n}\n\n[data-jp-theme-light='true'] .dashboard-toc-toolbar-icon-selected {\n background-color: var(--jp-layout-color2);\n}\n\n[data-jp-theme-light='false'] .dashboard-toc-toolbar-icon-selected {\n background-color: #565656;\n}\n\n.dashboard-toc-toolbar {\n position: relative;\n width: 100%;\n margin: 0;\n padding: 0 2px;\n user-select: none;\n border-bottom: var(--jp-border-width) solid var(--jp-border-color2);\n height: 36px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.dashboard-toc-toolbar-compartment {\n display: flex;\n}\n\n.dashboard-toc-entry-holder {\n flex-grow: 1;\n display: flex;\n flex-direction: row;\n padding: 2px 0;\n margin: 0;\n overflow: hidden;\n}\n\n.dashboard-toc-cell-item {\n padding-left: 10px;\n font-size: var(--jp-ui-font-size1);\n\n /* single line */\n white-space: nowrap;\n overflow: hidden;\n\n /* add ellipsis (...) if content overflows */\n text-overflow: ellipsis;\n}\n\n.dashboard-toc-Collapser-child {\n display: block;\n background: transparent;\n width: 100%;\n box-sizing: border-box;\n position: absolute;\n top: 0;\n bottom: 0;\n}\n\n.dashboard-toc-Collapser-child:hover {\n box-shadow: var(--jp-elevation-z2);\n background: var(--jp-brand-color1);\n opacity: var(--jp-cell-collapser-not-active-hover-opacity);\n}\n\n.dashboard-toc-active-cell .dashboard-toc-Collapser-child {\n background: var(--jp-brand-color1);\n}\n\n.dashboard-toc-entry-holder:hover .dashboard-toc-Collapser-child {\n box-shadow: var(--jp-elevation-z2);\n background: var(--jp-brand-color1);\n opacity: var(--jp-cell-collapser-not-active-hover-opacity);\n}\n\n.dashboard-toc-active-cell .dashboard-toc-Collapser-child:hover {\n background: var(--jp-brand-color0);\n opacity: 1;\n}\n\n.dashboard-toc-active-cell:hover .dashboard-toc-Collapser-child {\n background: var(--jp-brand-color0);\n opacity: 1;\n}\n\n.dashboard-TableOfContents-content code {\n font-size: inherit;\n}\n\n.dashboard-toc-Ellipses {\n height: 16px;\n margin-left: auto;\n}\n\n.dashboard-toc-Ellipses:hover {\n border: 1px solid var(--jp-border-color1);\n box-shadow: 0 0 2px 0 rgba(0 0 0 / 25%);\n background-color: var(--jp-layout-color0);\n}\n\n.dashboard-toc-level-size-2 {\n margin-left: 16px;\n}\n\n.dashboard-toc-level-size-3 {\n margin-left: 36px;\n}\n\n.dashboard-toc-level-size-4 {\n margin-left: 56px;\n}\n\n.dashboard-toc-level-size-5 {\n margin-left: 76px;\n}\n\n.dashboard-TableOfContents-placeholder {\n text-align: center;\n}\n\n.dashboard-TableOfContents-placeholderContent {\n color: var(--jp-content-font-color2);\n padding: 25px 30px 8px;\n}\n\n.dashboard-toc-react-component {\n display: flex;\n align-items: center;\n border-radius: 2px;\n padding: 2px;\n min-width: 52px;\n margin-left: 5px;\n font-size: small;\n text-align: center;\n word-wrap: break-word;\n}\n\n.dashboard-toc-react-text {\n width: 100%;\n color: var(--jp-inverse-layout-color0);\n}\n\n.dashboard-toc-header-title {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n margin-right: 5px;\n}\n\n.dashboard-toc-download-button {\n cursor: pointer;\n padding: 3px 6px;\n border-radius: 2px;\n display: flex;\n align-items: center;\n color: white;\n background-color: var(--jp-brand-color1);\n}\n\n.dashboard-toc-download-button:hover {\n background-color: var(--jp-brand-color0);\n}\n\n.dashboard-toc-download-button-disabled {\n cursor: wait;\n padding: 3px 6px;\n border-radius: 2px;\n display: flex;\n align-items: center;\n color: white;\n background-color: #575b5b;\n}\n\n.dashboard-toc-download-icon {\n margin-right: 4px;\n}\n\n.dashboard-toc-download-icon .jp-icon3 {\n fill: white;\n}\n",""]);const d=i},3612:(n,o,e)=>{e.d(o,{Z:()=>d});var r=e(8081),t=e.n(r),a=e(3645),i=e.n(a)()(t());i.push([n.id,".dashboard-toc-code-cell-div {\n display: inline-flex;\n overflow: hidden;\n flex-grow: 1;\n}\n\n.dashboard-toc-code-span {\n width: 100%;\n overflow: hidden;\n cursor: pointer;\n background: var(--jp-layout-color0);\n border: var(--jp-border-width) solid var(--jp-layout-color3);\n max-height: 38px;\n min-height: 24px;\n}\n\n/* target all children of dashboard-toc-cell-input and change the font-size */\n.dashboard-toc-cell-input * {\n font-size: 9px;\n overflow: hidden;\n}\n\n.dashboard-toc-code-cell-prompt {\n flex: 0 0 27px;\n color: var(--jp-cell-prompt-not-active-font-color);\n opacity: var(--jp-cell-prompt-not-active-opacity);\n font-family: var(--jp-cell-prompt-font-family);\n padding: var(--jp-code-padding);\n padding-right: 0;\n padding-left: 0;\n letter-spacing: var(--jp-cell-prompt-letter-spacing);\n line-height: var(--jp-code-line-height);\n font-size: 8px;\n border: var(--jp-border-width) solid transparent;\n text-align: left;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n",""]);const d=i},939:(n,o,e)=>{e.d(o,{Z:()=>d});var r=e(8081),t=e.n(r),a=e(3645),i=e.n(a)()(t());i.push([n.id,".unianalytics-link-container {\n border: 1px solid var(--jp-inverse-layout-color4);\n border-radius: 5px;\n display: flex;\n align-items: center;\n margin: 0;\n padding: 0;\n}\n\n.unianalytics-link {\n padding: 5px 15px;\n flex: 1;\n max-width: 90%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.unianalytics-link-button-container {\n padding: 5px;\n border-left: 1px solid var(--jp-inverse-layout-color4);\n display: flex;\n align-items: center;\n margin-left: auto;\n}\n\n.unianalytics-link-button {\n border: none;\n background: transparent;\n cursor: pointer;\n display: flex;\n align-items: center;\n}\n",""]);const d=i},3645:n=>{n.exports=function(n){var o=[];return o.toString=function(){return this.map((function(o){var e="",r=void 0!==o[5];return o[4]&&(e+="@supports (".concat(o[4],") {")),o[2]&&(e+="@media ".concat(o[2]," {")),r&&(e+="@layer".concat(o[5].length>0?" ".concat(o[5]):""," {")),e+=n(o),r&&(e+="}"),o[2]&&(e+="}"),o[4]&&(e+="}"),e})).join("")},o.i=function(n,e,r,t,a){"string"==typeof n&&(n=[[null,n,void 0]]);var i={};if(r)for(var d=0;d<this.length;d++){var l=this[d][0];null!=l&&(i[l]=!0)}for(var c=0;c<n.length;c++){var p=[].concat(n[c]);r&&i[p[0]]||(void 0!==a&&(void 0===p[5]||(p[1]="@layer".concat(p[5].length>0?" ".concat(p[5]):""," {").concat(p[1],"}")),p[5]=a),e&&(p[2]?(p[1]="@media ".concat(p[2]," {").concat(p[1],"}"),p[2]=e):p[2]=e),t&&(p[4]?(p[1]="@supports (".concat(p[4],") {").concat(p[1],"}"),p[4]=t):p[4]="".concat(t)),o.push(p))}},o}},8081:n=>{n.exports=function(n){return n[1]}},3379:n=>{var o=[];function e(n){for(var e=-1,r=0;r<o.length;r++)if(o[r].identifier===n){e=r;break}return e}function r(n,r){for(var a={},i=[],d=0;d<n.length;d++){var l=n[d],c=r.base?l[0]+r.base:l[0],p=a[c]||0,s="".concat(c," ").concat(p);a[c]=p+1;var b=e(s),u={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==b)o[b].references++,o[b].updater(u);else{var h=t(u,r);r.byIndex=d,o.splice(d,0,{identifier:s,updater:h,references:1})}i.push(s)}return i}function t(n,o){var e=o.domAPI(o);return e.update(n),function(o){if(o){if(o.css===n.css&&o.media===n.media&&o.sourceMap===n.sourceMap&&o.supports===n.supports&&o.layer===n.layer)return;e.update(n=o)}else e.remove()}}n.exports=function(n,t){var a=r(n=n||[],t=t||{});return function(n){n=n||[];for(var i=0;i<a.length;i++){var d=e(a[i]);o[d].references--}for(var l=r(n,t),c=0;c<a.length;c++){var p=e(a[c]);0===o[p].references&&(o[p].updater(),o.splice(p,1))}a=l}}},569:n=>{var o={};n.exports=function(n,e){var r=function(n){if(void 0===o[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(n){e=null}o[n]=e}return o[n]}(n);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(e)}},9216:n=>{n.exports=function(n){var o=document.createElement("style");return n.setAttributes(o,n.attributes),n.insert(o,n.options),o}},3565:(n,o,e)=>{n.exports=function(n){var o=e.nc;o&&n.setAttribute("nonce",o)}},7795:n=>{n.exports=function(n){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var o=n.insertStyleElement(n);return{update:function(e){!function(n,o,e){var r="";e.supports&&(r+="@supports (".concat(e.supports,") {")),e.media&&(r+="@media ".concat(e.media," {"));var t=void 0!==e.layer;t&&(r+="@layer".concat(e.layer.length>0?" ".concat(e.layer):""," {")),r+=e.css,t&&(r+="}"),e.media&&(r+="}"),e.supports&&(r+="}");var a=e.sourceMap;a&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),o.styleTagTransform(r,n,o.options)}(o,n,e)},remove:function(){!function(n){if(null===n.parentNode)return!1;n.parentNode.removeChild(n)}(o)}}}},4589:n=>{n.exports=function(n,o){if(o.styleSheet)o.styleSheet.cssText=n;else{for(;o.firstChild;)o.removeChild(o.firstChild);o.appendChild(document.createTextNode(n))}}},5546:(n,o,e)=>{e.r(o);var r=e(3379),t=e.n(r),a=e(7795),i=e.n(a),d=e(569),l=e.n(d),c=e(3565),p=e.n(c),s=e(9216),b=e.n(s),u=e(4589),h=e.n(u),x=e(1150),g={};g.styleTagTransform=h(),g.setAttributes=p(),g.insert=l().bind(null,"head"),g.domAPI=i(),g.insertStyleElement=b(),t()(x.Z,g),x.Z&&x.Z.locals&&x.Z.locals;var f=e(939),m={};m.styleTagTransform=h(),m.setAttributes=p(),m.insert=l().bind(null,"head"),m.domAPI=i(),m.insertStyleElement=b(),t()(f.Z,m),f.Z&&f.Z.locals&&f.Z.locals;var v=e(3630),y={};y.styleTagTransform=h(),y.setAttributes=p(),y.insert=l().bind(null,"head"),y.domAPI=i(),y.insertStyleElement=b(),t()(v.Z,y),v.Z&&v.Z.locals&&v.Z.locals;var w=e(7563),j={};j.styleTagTransform=h(),j.setAttributes=p(),j.insert=l().bind(null,"head"),j.domAPI=i(),j.insertStyleElement=b(),t()(w.Z,j),w.Z&&w.Z.locals&&w.Z.locals;var k=e(3612),z={};z.styleTagTransform=h(),z.setAttributes=p(),z.insert=l().bind(null,"head"),z.domAPI=i(),z.insertStyleElement=b(),t()(k.Z,z),k.Z&&k.Z.locals&&k.Z.locals}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _JUPYTERLAB;(()=>{"use strict";var e,t,r,a,o,n,i,l,d,u,c,f,s,b,p,h,v,m,y,g,j,w,P,_,k,O,S={4479:(e,t,r)=>{var a={"./index":()=>Promise.all([r.e(39),r.e(29),r.e(134)]).then((()=>()=>r(8708))),"./extension":()=>Promise.all([r.e(39),r.e(29),r.e(134)]).then((()=>()=>r(8708))),"./style":()=>r.e(546).then((()=>()=>r(5546)))},o=(e,t)=>(r.R=t,t=r.o(a,e)?a[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),r.R=void 0,t),n=(e,t)=>{if(r.S){var a="default",o=r.S[a];if(o&&o!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return r.S[a]=e,r.I(a,t)}};r.d(t,{get:()=>o,init:()=>n})}},E={};function x(e){var t=E[e];if(void 0!==t)return t.exports;var r=E[e]={id:e,exports:{}};return S[e](r,r.exports,x),r.exports}x.m=S,x.c=E,x.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return x.d(t,{a:t}),t},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,x.t=function(r,a){if(1&a&&(r=this(r)),8&a)return r;if("object"==typeof r&&r){if(4&a&&r.__esModule)return r;if(16&a&&"function"==typeof r.then)return r}var o=Object.create(null);x.r(o);var n={};e=e||[null,t({}),t([]),t(t)];for(var i=2&a&&r;"object"==typeof i&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach((e=>n[e]=()=>r[e]));return n.default=()=>r,x.d(o,n),o},x.d=(e,t)=>{for(var r in t)x.o(t,r)&&!x.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},x.f={},x.e=e=>Promise.all(Object.keys(x.f).reduce(((t,r)=>(x.f[r](e,t),t)),[])),x.u=e=>e+"."+{10:"1e5c908a94fc4b83c2e5",18:"759fbf2374edc42b5c3e",29:"9b0cb1475dcac2b485f3",39:"5a3b28a79ba693a9b627",134:"768c54cc58b06b4e256d",211:"583fddc965c583e61532",308:"d9da4ce35f354c6f12e1",373:"37ddee9d229ac254f896",376:"d960746fd943a4ef55b8",426:"a7015f9dfda310972c1b",459:"75a9fe630dfdb00e65b4",533:"f7a454b11ba5cd79dc0c",546:"eda1114f14e7cdfffdc3",563:"b613f734176cb51510ef",638:"d37271636c4d956096de",704:"4e17d862a476ae3df8ae",708:"323c3614d31a5918cfaf",738:"f4338fb8d8276b96c3f3",744:"329dc4d1ed2f5c918266",798:"33a8f0893a66574e9259",817:"6437962faf359015be36",981:"ebb9e1d6122980b5ff0e"}[e]+".js?v="+{10:"1e5c908a94fc4b83c2e5",18:"759fbf2374edc42b5c3e",29:"9b0cb1475dcac2b485f3",39:"5a3b28a79ba693a9b627",134:"768c54cc58b06b4e256d",211:"583fddc965c583e61532",308:"d9da4ce35f354c6f12e1",373:"37ddee9d229ac254f896",376:"d960746fd943a4ef55b8",426:"a7015f9dfda310972c1b",459:"75a9fe630dfdb00e65b4",533:"f7a454b11ba5cd79dc0c",546:"eda1114f14e7cdfffdc3",563:"b613f734176cb51510ef",638:"d37271636c4d956096de",704:"4e17d862a476ae3df8ae",708:"323c3614d31a5918cfaf",738:"f4338fb8d8276b96c3f3",744:"329dc4d1ed2f5c918266",798:"33a8f0893a66574e9259",817:"6437962faf359015be36",981:"ebb9e1d6122980b5ff0e"}[e],x.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),x.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},a="jupyterlab_unianalytics_dashboard:",x.l=(e,t,o,n)=>{if(r[e])r[e].push(t);else{var i,l;if(void 0!==o)for(var d=document.getElementsByTagName("script"),u=0;u<d.length;u++){var c=d[u];if(c.getAttribute("src")==e||c.getAttribute("data-webpack")==a+o){i=c;break}}i||(l=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,x.nc&&i.setAttribute("nonce",x.nc),i.setAttribute("data-webpack",a+o),i.src=e),r[e]=[t];var f=(t,a)=>{i.onerror=i.onload=null,clearTimeout(s);var o=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(a))),t)return t(a)},s=setTimeout(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),l&&document.head.appendChild(i)}},x.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{x.S={};var e={},t={};x.I=(r,a)=>{a||(a=[]);var o=t[r];if(o||(o=t[r]={}),!(a.indexOf(o)>=0)){if(a.push(o),e[r])return e[r];x.o(x.S,r)||(x.S[r]={});var n=x.S[r],i="jupyterlab_unianalytics_dashboard",l=(e,t,r,a)=>{var o=n[e]=n[e]||{},l=o[t];(!l||!l.loaded&&(!a!=!l.eager?a:i>l.from))&&(o[t]={get:r,from:i,eager:!!a})},d=[];return"default"===r&&(l("@reduxjs/toolkit","1.9.7",(()=>x.e(426).then((()=>()=>x(8426))))),l("chart.js","4.4.1",(()=>x.e(708).then((()=>()=>x(4708))))),l("jupyterlab_unianalytics_dashboard","4.0.17",(()=>Promise.all([x.e(39),x.e(29),x.e(134)]).then((()=>()=>x(8708))))),l("marked","11.1.1",(()=>x.e(308).then((()=>()=>x(3308))))),l("react-bootstrap-icons","1.10.3",(()=>Promise.all([x.e(744),x.e(29)]).then((()=>()=>x(1744))))),l("react-bootstrap","2.10.0",(()=>Promise.all([x.e(18),x.e(29),x.e(704)]).then((()=>()=>x(1018))))),l("react-chartjs-2","5.2.0",(()=>Promise.all([x.e(29),x.e(459),x.e(563)]).then((()=>()=>x(5376))))),l("react-infinite-scroll-component","6.1.0",(()=>Promise.all([x.e(29),x.e(533)]).then((()=>()=>x(8533))))),l("react-redux","8.1.3",(()=>Promise.all([x.e(981),x.e(29),x.e(704)]).then((()=>()=>x(2981))))),l("socket.io-client","4.7.5",(()=>x.e(817).then((()=>()=>x(4817)))))),e[r]=d.length?Promise.all(d).then((()=>e[r]=1)):1}}})(),(()=>{var e;x.g.importScripts&&(e=x.g.location+"");var t=x.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var a=r.length-1;a>-1&&!e;)e=r[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),x.p=e})(),o=e=>{var t=e=>e.split(".").map((e=>+e==e?+e:e)),r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),a=r[1]?t(r[1]):[];return r[2]&&(a.length++,a.push.apply(a,t(r[2]))),r[3]&&(a.push([]),a.push.apply(a,t(r[3]))),a},n=(e,t)=>{e=o(e),t=o(t);for(var r=0;;){if(r>=e.length)return r<t.length&&"u"!=(typeof t[r])[0];var a=e[r],n=(typeof a)[0];if(r>=t.length)return"u"==n;var i=t[r],l=(typeof i)[0];if(n!=l)return"o"==n&&"n"==l||"s"==l||"u"==n;if("o"!=n&&"u"!=n&&a!=i)return a<i;r++}},i=e=>{var t=e[0],r="";if(1===e.length)return"*";if(t+.5){r+=0==t?">=":-1==t?"<":1==t?"^":2==t?"~":t>0?"=":"!=";for(var a=1,o=1;o<e.length;o++)a--,r+="u"==(typeof(l=e[o]))[0]?"-":(a>0?".":"")+(a=2,l);return r}var n=[];for(o=1;o<e.length;o++){var l=e[o];n.push(0===l?"not("+d()+")":1===l?"("+d()+" || "+d()+")":2===l?n.pop()+" "+n.pop():i(l))}return d();function d(){return n.pop().replace(/^\((.+)\)$/,"$1")}},l=(e,t)=>{if(0 in e){t=o(t);var r=e[0],a=r<0;a&&(r=-r-1);for(var n=0,i=1,d=!0;;i++,n++){var u,c,f=i<e.length?(typeof e[i])[0]:"";if(n>=t.length||"o"==(c=(typeof(u=t[n]))[0]))return!d||("u"==f?i>r&&!a:""==f!=a);if("u"==c){if(!d||"u"!=f)return!1}else if(d)if(f==c)if(i<=r){if(u!=e[i])return!1}else{if(a?u>e[i]:u<e[i])return!1;u!=e[i]&&(d=!1)}else if("s"!=f&&"n"!=f){if(a||i<=r)return!1;d=!1,i--}else{if(i<=r||c<f!=a)return!1;d=!1}else"s"!=f&&"n"!=f&&(d=!1,i--)}}var s=[],b=s.pop.bind(s);for(n=1;n<e.length;n++){var p=e[n];s.push(1==p?b()|b():2==p?b()&b():p?l(p,t):!b())}return!!b()},d=(e,t)=>{var r=x.S[e];if(!r||!x.o(r,t))throw new Error("Shared module "+t+" doesn't exist in shared scope "+e);return r},u=(e,t)=>{var r=e[t];return(t=Object.keys(r).reduce(((e,t)=>!e||n(e,t)?t:e),0))&&r[t]},c=(e,t)=>{var r=e[t];return Object.keys(r).reduce(((e,t)=>!e||!r[e].loaded&&n(e,t)?t:e),0)},f=(e,t,r,a)=>"Unsatisfied version "+r+" from "+(r&&e[t][r].from)+" of shared singleton module "+t+" (required "+i(a)+")",s=(e,t,r,a)=>{var o=c(e,r);return l(a,o)||h(f(e,r,o,a)),m(e[r][o])},b=(e,t,r)=>{var a=e[t];return(t=Object.keys(a).reduce(((e,t)=>!l(r,t)||e&&!n(e,t)?e:t),0))&&a[t]},p=(e,t,r,a)=>{var o=e[r];return"No satisfying version ("+i(a)+") of shared module "+r+" found in shared scope "+t+".\nAvailable versions: "+Object.keys(o).map((e=>e+" from "+o[e].from)).join(", ")},h=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},v=(e,t,r,a)=>{h(p(e,t,r,a))},m=e=>(e.loaded=1,e.get()),g=(y=e=>function(t,r,a,o){var n=x.I(t);return n&&n.then?n.then(e.bind(e,t,x.S[t],r,a,o)):e(t,x.S[t],r,a,o)})(((e,t,r,a)=>(d(e,r),m(b(t,r,a)||v(t,e,r,a)||u(t,r))))),j=y(((e,t,r,a)=>(d(e,r),s(t,0,r,a)))),w=y(((e,t,r,a,o)=>{var n=t&&x.o(t,r)&&b(t,r,a);return n?m(n):o()})),P={},_={6029:()=>j("default","react",[1,18,2,0]),374:()=>j("default","@jupyterlab/codeeditor",[1,4,2,1]),987:()=>g("default","@jupyterlab/outputarea",[1,4,2,1]),2535:()=>w("default","react-bootstrap-icons",[1,1,10,3],(()=>x.e(744).then((()=>()=>x(1744))))),2779:()=>w("default","marked",[1,11,1,1],(()=>x.e(308).then((()=>()=>x(3308))))),3039:()=>j("default","@jupyterlab/application",[1,4,2,1]),3231:()=>w("default","react-infinite-scroll-component",[1,6,1,0],(()=>x.e(738).then((()=>()=>x(8533))))),3748:()=>w("default","@reduxjs/toolkit",[1,1,9,5],(()=>x.e(426).then((()=>()=>x(8426))))),3764:()=>j("default","@jupyterlab/ui-components",[1,4,2,1]),3779:()=>j("default","@jupyterlab/filebrowser",[1,4,2,1]),4481:()=>j("default","@jupyterlab/services",[1,7,2,1]),4705:()=>j("default","@jupyterlab/coreutils",[1,6,2,1]),4882:()=>j("default","@lumino/widgets",[1,2,3,1,,"alpha",0]),4901:()=>j("default","@lumino/signaling",[1,2,0,0]),4925:()=>j("default","@jupyterlab/rendermime",[1,4,2,1]),7717:()=>j("default","@lumino/disposable",[1,2,0,0]),7760:()=>w("default","react-redux",[1,8,0,5],(()=>Promise.all([x.e(981),x.e(704)]).then((()=>()=>x(2981))))),7885:()=>w("default","react-chartjs-2",[1,5,2,0],(()=>Promise.all([x.e(459),x.e(798)]).then((()=>()=>x(5376))))),8352:()=>w("default","chart.js",[1,4,4,1],(()=>x.e(708).then((()=>()=>x(4708))))),8386:()=>j("default","@jupyterlab/settingregistry",[1,4,2,1]),8531:()=>j("default","@jupyterlab/codemirror",[1,4,2,1]),8559:()=>w("default","react-bootstrap",[1,2,10,0],(()=>Promise.all([x.e(18),x.e(704)]).then((()=>()=>x(1018))))),8690:()=>j("default","@jupyterlab/apputils",[1,4,3,1]),9156:()=>w("default","socket.io-client",[1,4,7,5],(()=>x.e(817).then((()=>()=>x(4817))))),9282:()=>j("default","@jupyterlab/notebook",[1,4,2,1]),7704:()=>j("default","react-dom",[1,18,2,0]),6459:()=>w("default","chart.js",[1,4,1,1],(()=>x.e(708).then((()=>()=>x(4708))))),1373:()=>j("default","@codemirror/language",[1,6,0,0]),6211:()=>j("default","@codemirror/view",[1,6,9,6]),851:()=>j("default","@lezer/common",[1,1,0,0]),7138:()=>j("default","@lezer/highlight",[1,1,0,0]),8204:()=>j("default","@codemirror/state",[1,6,2,0])},k={29:[6029],134:[374,987,2535,2779,3039,3231,3748,3764,3779,4481,4705,4882,4901,4925,7717,7760,7885,8352,8386,8531,8559,8690,9156,9282],211:[6211],373:[1373],376:[851,7138,8204],459:[6459],704:[7704]},O={},x.f.consumes=(e,t)=>{x.o(k,e)&&k[e].forEach((e=>{if(x.o(P,e))return t.push(P[e]);if(!O[e]){var r=t=>{P[e]=0,x.m[e]=r=>{delete x.c[e],r.exports=t()}};O[e]=!0;var a=t=>{delete P[e],x.m[e]=r=>{throw delete x.c[e],t}};try{var o=_[e]();o.then?t.push(P[e]=o.then(r).catch(a)):r(o)}catch(e){a(e)}}}))},(()=>{x.b=document.baseURI||self.location.href;var e={217:0};x.f.j=(t,r)=>{var a=x.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(37[36]|211|29|459|704)$/.test(t))e[t]=0;else{var o=new Promise(((r,o)=>a=e[t]=[r,o]));r.push(a[2]=o);var n=x.p+x.u(t),i=new Error;x.l(n,(r=>{if(x.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var o=r&&("load"===r.type?"missing":r.type),n=r&&r.target&&r.target.src;i.message="Loading chunk "+t+" failed.\n("+o+": "+n+")",i.name="ChunkLoadError",i.type=o,i.request=n,a[1](i)}}),"chunk-"+t,t)}};var t=(t,r)=>{var a,o,[n,i,l]=r,d=0;if(n.some((t=>0!==e[t]))){for(a in i)x.o(i,a)&&(x.m[a]=i[a]);l&&l(x)}for(t&&t(r);d<n.length;d++)o=n[d],x.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self.webpackChunkjupyterlab_unianalytics_dashboard=self.webpackChunkjupyterlab_unianalytics_dashboard||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),x.nc=void 0;var T=x(4479);(_JUPYTERLAB=void 0===_JUPYTERLAB?{}:_JUPYTERLAB).jupyterlab_unianalytics_dashboard=T})();
|
|
1
|
+
var _JUPYTERLAB;(()=>{"use strict";var e,t,r,a,o,n,i,l,d,f,u,c,s,b,p,h,m,v,y,g,j,w,P,_,k,O,S={4479:(e,t,r)=>{var a={"./index":()=>Promise.all([r.e(39),r.e(29),r.e(221)]).then((()=>()=>r(3629))),"./extension":()=>Promise.all([r.e(39),r.e(29),r.e(221)]).then((()=>()=>r(3629))),"./style":()=>r.e(546).then((()=>()=>r(5546)))},o=(e,t)=>(r.R=t,t=r.o(a,e)?a[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),r.R=void 0,t),n=(e,t)=>{if(r.S){var a="default",o=r.S[a];if(o&&o!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return r.S[a]=e,r.I(a,t)}};r.d(t,{get:()=>o,init:()=>n})}},E={};function x(e){var t=E[e];if(void 0!==t)return t.exports;var r=E[e]={id:e,exports:{}};return S[e](r,r.exports,x),r.exports}x.m=S,x.c=E,x.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return x.d(t,{a:t}),t},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,x.t=function(r,a){if(1&a&&(r=this(r)),8&a)return r;if("object"==typeof r&&r){if(4&a&&r.__esModule)return r;if(16&a&&"function"==typeof r.then)return r}var o=Object.create(null);x.r(o);var n={};e=e||[null,t({}),t([]),t(t)];for(var i=2&a&&r;"object"==typeof i&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach((e=>n[e]=()=>r[e]));return n.default=()=>r,x.d(o,n),o},x.d=(e,t)=>{for(var r in t)x.o(t,r)&&!x.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},x.f={},x.e=e=>Promise.all(Object.keys(x.f).reduce(((t,r)=>(x.f[r](e,t),t)),[])),x.u=e=>e+"."+{10:"1e5c908a94fc4b83c2e5",18:"759fbf2374edc42b5c3e",29:"9b0cb1475dcac2b485f3",39:"5a3b28a79ba693a9b627",211:"583fddc965c583e61532",221:"be8ec9ae55ab7f238b28",308:"d9da4ce35f354c6f12e1",373:"37ddee9d229ac254f896",376:"d960746fd943a4ef55b8",426:"a7015f9dfda310972c1b",459:"75a9fe630dfdb00e65b4",533:"f7a454b11ba5cd79dc0c",546:"ee956f25626d9f03fb3d",563:"b613f734176cb51510ef",638:"d37271636c4d956096de",704:"4e17d862a476ae3df8ae",708:"323c3614d31a5918cfaf",738:"f4338fb8d8276b96c3f3",744:"329dc4d1ed2f5c918266",798:"33a8f0893a66574e9259",817:"6437962faf359015be36",981:"ebb9e1d6122980b5ff0e"}[e]+".js?v="+{10:"1e5c908a94fc4b83c2e5",18:"759fbf2374edc42b5c3e",29:"9b0cb1475dcac2b485f3",39:"5a3b28a79ba693a9b627",211:"583fddc965c583e61532",221:"be8ec9ae55ab7f238b28",308:"d9da4ce35f354c6f12e1",373:"37ddee9d229ac254f896",376:"d960746fd943a4ef55b8",426:"a7015f9dfda310972c1b",459:"75a9fe630dfdb00e65b4",533:"f7a454b11ba5cd79dc0c",546:"ee956f25626d9f03fb3d",563:"b613f734176cb51510ef",638:"d37271636c4d956096de",704:"4e17d862a476ae3df8ae",708:"323c3614d31a5918cfaf",738:"f4338fb8d8276b96c3f3",744:"329dc4d1ed2f5c918266",798:"33a8f0893a66574e9259",817:"6437962faf359015be36",981:"ebb9e1d6122980b5ff0e"}[e],x.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),x.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},a="jupyterlab_unianalytics_dashboard:",x.l=(e,t,o,n)=>{if(r[e])r[e].push(t);else{var i,l;if(void 0!==o)for(var d=document.getElementsByTagName("script"),f=0;f<d.length;f++){var u=d[f];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==a+o){i=u;break}}i||(l=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,x.nc&&i.setAttribute("nonce",x.nc),i.setAttribute("data-webpack",a+o),i.src=e),r[e]=[t];var c=(t,a)=>{i.onerror=i.onload=null,clearTimeout(s);var o=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(a))),t)return t(a)},s=setTimeout(c.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=c.bind(null,i.onerror),i.onload=c.bind(null,i.onload),l&&document.head.appendChild(i)}},x.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{x.S={};var e={},t={};x.I=(r,a)=>{a||(a=[]);var o=t[r];if(o||(o=t[r]={}),!(a.indexOf(o)>=0)){if(a.push(o),e[r])return e[r];x.o(x.S,r)||(x.S[r]={});var n=x.S[r],i="jupyterlab_unianalytics_dashboard",l=(e,t,r,a)=>{var o=n[e]=n[e]||{},l=o[t];(!l||!l.loaded&&(!a!=!l.eager?a:i>l.from))&&(o[t]={get:r,from:i,eager:!!a})},d=[];return"default"===r&&(l("@reduxjs/toolkit","1.9.7",(()=>x.e(426).then((()=>()=>x(8426))))),l("chart.js","4.4.1",(()=>x.e(708).then((()=>()=>x(4708))))),l("jupyterlab_unianalytics_dashboard","4.0.19",(()=>Promise.all([x.e(39),x.e(29),x.e(221)]).then((()=>()=>x(3629))))),l("marked","11.1.1",(()=>x.e(308).then((()=>()=>x(3308))))),l("react-bootstrap-icons","1.10.3",(()=>Promise.all([x.e(744),x.e(29)]).then((()=>()=>x(1744))))),l("react-bootstrap","2.10.0",(()=>Promise.all([x.e(18),x.e(29),x.e(704)]).then((()=>()=>x(1018))))),l("react-chartjs-2","5.2.0",(()=>Promise.all([x.e(29),x.e(459),x.e(563)]).then((()=>()=>x(5376))))),l("react-infinite-scroll-component","6.1.0",(()=>Promise.all([x.e(29),x.e(533)]).then((()=>()=>x(8533))))),l("react-redux","8.1.3",(()=>Promise.all([x.e(981),x.e(29),x.e(704)]).then((()=>()=>x(2981))))),l("socket.io-client","4.7.5",(()=>x.e(817).then((()=>()=>x(4817)))))),e[r]=d.length?Promise.all(d).then((()=>e[r]=1)):1}}})(),(()=>{var e;x.g.importScripts&&(e=x.g.location+"");var t=x.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var a=r.length-1;a>-1&&!e;)e=r[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),x.p=e})(),o=e=>{var t=e=>e.split(".").map((e=>+e==e?+e:e)),r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),a=r[1]?t(r[1]):[];return r[2]&&(a.length++,a.push.apply(a,t(r[2]))),r[3]&&(a.push([]),a.push.apply(a,t(r[3]))),a},n=(e,t)=>{e=o(e),t=o(t);for(var r=0;;){if(r>=e.length)return r<t.length&&"u"!=(typeof t[r])[0];var a=e[r],n=(typeof a)[0];if(r>=t.length)return"u"==n;var i=t[r],l=(typeof i)[0];if(n!=l)return"o"==n&&"n"==l||"s"==l||"u"==n;if("o"!=n&&"u"!=n&&a!=i)return a<i;r++}},i=e=>{var t=e[0],r="";if(1===e.length)return"*";if(t+.5){r+=0==t?">=":-1==t?"<":1==t?"^":2==t?"~":t>0?"=":"!=";for(var a=1,o=1;o<e.length;o++)a--,r+="u"==(typeof(l=e[o]))[0]?"-":(a>0?".":"")+(a=2,l);return r}var n=[];for(o=1;o<e.length;o++){var l=e[o];n.push(0===l?"not("+d()+")":1===l?"("+d()+" || "+d()+")":2===l?n.pop()+" "+n.pop():i(l))}return d();function d(){return n.pop().replace(/^\((.+)\)$/,"$1")}},l=(e,t)=>{if(0 in e){t=o(t);var r=e[0],a=r<0;a&&(r=-r-1);for(var n=0,i=1,d=!0;;i++,n++){var f,u,c=i<e.length?(typeof e[i])[0]:"";if(n>=t.length||"o"==(u=(typeof(f=t[n]))[0]))return!d||("u"==c?i>r&&!a:""==c!=a);if("u"==u){if(!d||"u"!=c)return!1}else if(d)if(c==u)if(i<=r){if(f!=e[i])return!1}else{if(a?f>e[i]:f<e[i])return!1;f!=e[i]&&(d=!1)}else if("s"!=c&&"n"!=c){if(a||i<=r)return!1;d=!1,i--}else{if(i<=r||u<c!=a)return!1;d=!1}else"s"!=c&&"n"!=c&&(d=!1,i--)}}var s=[],b=s.pop.bind(s);for(n=1;n<e.length;n++){var p=e[n];s.push(1==p?b()|b():2==p?b()&b():p?l(p,t):!b())}return!!b()},d=(e,t)=>{var r=x.S[e];if(!r||!x.o(r,t))throw new Error("Shared module "+t+" doesn't exist in shared scope "+e);return r},f=(e,t)=>{var r=e[t];return(t=Object.keys(r).reduce(((e,t)=>!e||n(e,t)?t:e),0))&&r[t]},u=(e,t)=>{var r=e[t];return Object.keys(r).reduce(((e,t)=>!e||!r[e].loaded&&n(e,t)?t:e),0)},c=(e,t,r,a)=>"Unsatisfied version "+r+" from "+(r&&e[t][r].from)+" of shared singleton module "+t+" (required "+i(a)+")",s=(e,t,r,a)=>{var o=u(e,r);return l(a,o)||h(c(e,r,o,a)),v(e[r][o])},b=(e,t,r)=>{var a=e[t];return(t=Object.keys(a).reduce(((e,t)=>!l(r,t)||e&&!n(e,t)?e:t),0))&&a[t]},p=(e,t,r,a)=>{var o=e[r];return"No satisfying version ("+i(a)+") of shared module "+r+" found in shared scope "+t+".\nAvailable versions: "+Object.keys(o).map((e=>e+" from "+o[e].from)).join(", ")},h=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},m=(e,t,r,a)=>{h(p(e,t,r,a))},v=e=>(e.loaded=1,e.get()),g=(y=e=>function(t,r,a,o){var n=x.I(t);return n&&n.then?n.then(e.bind(e,t,x.S[t],r,a,o)):e(t,x.S[t],r,a,o)})(((e,t,r,a)=>(d(e,r),v(b(t,r,a)||m(t,e,r,a)||f(t,r))))),j=y(((e,t,r,a)=>(d(e,r),s(t,0,r,a)))),w=y(((e,t,r,a,o)=>{var n=t&&x.o(t,r)&&b(t,r,a);return n?v(n):o()})),P={},_={6029:()=>j("default","react",[1,18,2,0]),381:()=>j("default","@jupyterlab/settingregistry",[1,4,3,5]),2535:()=>w("default","react-bootstrap-icons",[1,1,10,3],(()=>x.e(744).then((()=>()=>x(1744))))),2779:()=>w("default","marked",[1,11,1,1],(()=>x.e(308).then((()=>()=>x(3308))))),3108:()=>j("default","@jupyterlab/filebrowser",[1,4,3,5]),3231:()=>w("default","react-infinite-scroll-component",[1,6,1,0],(()=>x.e(738).then((()=>()=>x(8533))))),3352:()=>j("default","@jupyterlab/apputils",[1,4,4,5]),3655:()=>j("default","@jupyterlab/ui-components",[1,4,3,5]),3748:()=>w("default","@reduxjs/toolkit",[1,1,9,5],(()=>x.e(426).then((()=>()=>x(8426))))),4882:()=>j("default","@lumino/widgets",[1,2,3,1,,"alpha",0]),4901:()=>j("default","@lumino/signaling",[1,2,0,0]),6004:()=>j("default","@jupyterlab/coreutils",[1,6,3,5]),6553:()=>j("default","@jupyterlab/rendermime",[1,4,3,5]),7044:()=>j("default","@jupyterlab/codeeditor",[1,4,3,5]),7717:()=>j("default","@lumino/disposable",[1,2,0,0]),7760:()=>w("default","react-redux",[1,8,0,5],(()=>Promise.all([x.e(981),x.e(704)]).then((()=>()=>x(2981))))),7765:()=>j("default","@jupyterlab/application",[1,4,3,5]),7885:()=>w("default","react-chartjs-2",[1,5,2,0],(()=>Promise.all([x.e(459),x.e(798)]).then((()=>()=>x(5376))))),8352:()=>w("default","chart.js",[1,4,4,1],(()=>x.e(708).then((()=>()=>x(4708))))),8559:()=>w("default","react-bootstrap",[1,2,10,0],(()=>Promise.all([x.e(18),x.e(704)]).then((()=>()=>x(1018))))),9037:()=>j("default","@jupyterlab/notebook",[1,4,3,5]),9156:()=>w("default","socket.io-client",[1,4,7,5],(()=>x.e(817).then((()=>()=>x(4817))))),9337:()=>g("default","@jupyterlab/outputarea",[1,4,3,5]),9558:()=>j("default","@jupyterlab/codemirror",[1,4,3,5]),7704:()=>j("default","react-dom",[1,18,2,0]),6459:()=>w("default","chart.js",[1,4,1,1],(()=>x.e(708).then((()=>()=>x(4708))))),1373:()=>j("default","@codemirror/language",[1,6,0,0]),6211:()=>j("default","@codemirror/view",[1,6,9,6]),851:()=>j("default","@lezer/common",[1,1,0,0]),7138:()=>j("default","@lezer/highlight",[1,1,0,0]),8204:()=>j("default","@codemirror/state",[1,6,2,0])},k={29:[6029],211:[6211],221:[381,2535,2779,3108,3231,3352,3655,3748,4882,4901,6004,6553,7044,7717,7760,7765,7885,8352,8559,9037,9156,9337,9558],373:[1373],376:[851,7138,8204],459:[6459],704:[7704]},O={},x.f.consumes=(e,t)=>{x.o(k,e)&&k[e].forEach((e=>{if(x.o(P,e))return t.push(P[e]);if(!O[e]){var r=t=>{P[e]=0,x.m[e]=r=>{delete x.c[e],r.exports=t()}};O[e]=!0;var a=t=>{delete P[e],x.m[e]=r=>{throw delete x.c[e],t}};try{var o=_[e]();o.then?t.push(P[e]=o.then(r).catch(a)):r(o)}catch(e){a(e)}}}))},(()=>{x.b=document.baseURI||self.location.href;var e={217:0};x.f.j=(t,r)=>{var a=x.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(37[36]|211|29|459|704)$/.test(t))e[t]=0;else{var o=new Promise(((r,o)=>a=e[t]=[r,o]));r.push(a[2]=o);var n=x.p+x.u(t),i=new Error;x.l(n,(r=>{if(x.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var o=r&&("load"===r.type?"missing":r.type),n=r&&r.target&&r.target.src;i.message="Loading chunk "+t+" failed.\n("+o+": "+n+")",i.name="ChunkLoadError",i.type=o,i.request=n,a[1](i)}}),"chunk-"+t,t)}};var t=(t,r)=>{var a,o,[n,i,l]=r,d=0;if(n.some((t=>0!==e[t]))){for(a in i)x.o(i,a)&&(x.m[a]=i[a]);l&&l(x)}for(t&&t(r);d<n.length;d++)o=n[d],x.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self.webpackChunkjupyterlab_unianalytics_dashboard=self.webpackChunkjupyterlab_unianalytics_dashboard||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),x.nc=void 0;var T=x(4479);(_JUPYTERLAB=void 0===_JUPYTERLAB?{}:_JUPYTERLAB).jupyterlab_unianalytics_dashboard=T})();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: jupyterlab_unianalytics_dashboard
|
|
3
|
-
Version: 4.0.
|
|
3
|
+
Version: 4.0.19
|
|
4
4
|
Dynamic: Keywords
|
|
5
5
|
Summary: A JupyterLab dashboard extension to visualize data from students.
|
|
6
6
|
Project-URL: Homepage, https://github.com/chili-epfl/jupyter-dashboard-visu-extension
|
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
jupyterlab_unianalytics_dashboard/__init__.py,sha256=Za7P6E6Jv74S8VEb4YbFMfhrdWLw9aBjmLGwQg7UszU,1184
|
|
2
|
-
jupyterlab_unianalytics_dashboard/_version.py,sha256=
|
|
2
|
+
jupyterlab_unianalytics_dashboard/_version.py,sha256=mVMrdOi7sYsNCL3EZlYz4n3viG4X1IVeSAgsLLn4CYY,172
|
|
3
3
|
jupyterlab_unianalytics_dashboard/handlers.py,sha256=-3HQHnkvyG7YAs9q6BDkC1oL1QMJ4zIs9v5j5PuNaNg,1677
|
|
4
4
|
jupyterlab_unianalytics_dashboard/tests/__init__.py,sha256=buA7EWWBnEQOljAcEsF8zyfrdTu9B93Khlk10h88Uu0,63
|
|
5
5
|
jupyterlab_unianalytics_dashboard/tests/test_handlers.py,sha256=kEg161G0pn_N7ghOphUc_FQHb1O7v6-FzxjPfgcOSzo,176
|
|
6
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
7
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
8
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
9
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
10
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
11
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
12
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
13
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
14
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
15
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
16
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
17
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
18
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
19
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
20
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
21
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
22
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
23
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
24
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
25
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
26
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
27
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
28
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
29
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
30
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
31
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
32
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
33
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
34
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
35
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
36
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
37
|
-
jupyterlab_unianalytics_dashboard-4.0.
|
|
6
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/etc/jupyter/jupyter_server_config.d/jupyterlab_unianalytics_dashboard.json,sha256=FYXMI4pI920t2RK3w0RFVwhs0ymqABl4WwPE9KVjAOc,108
|
|
7
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/package.json,sha256=UFas-0nBz8CjGA2isAPxr6T-3qk9MSCpT690pO39gPQ,6699
|
|
8
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/schemas/jupyterlab_unianalytics_dashboard/endpoint.json,sha256=0nq-MWVjckwP5ddK4dQxMZJTFkug-1lZwQuw8WWDbcs,724
|
|
9
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/schemas/jupyterlab_unianalytics_dashboard/package.json.orig,sha256=lZdig53z21SigcWGXvhrA0YJCcky4PpioJLJCCmU7H4,7591
|
|
10
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/schemas/jupyterlab_unianalytics_dashboard/plugin.json,sha256=dLRO78tDnd45DUKsCmij83AFY_4F9CaL6gT61YnlDz0,1895
|
|
11
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/10.1e5c908a94fc4b83c2e5.js,sha256=HlyQipT8S4PC5ZaZiR4jl8gvs1l0EjP2CAABadOryzA,3272
|
|
12
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/18.759fbf2374edc42b5c3e.js,sha256=OoCQg2OYr0cRReBXDCWZGvXzQuaf4ACT2O75qlyS9pk,119059
|
|
13
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/18.759fbf2374edc42b5c3e.js.LICENSE.txt,sha256=LGdwyBXWbtsopwVyjsXCIwoc-zj70yxAOCOR7b1bAc4,371
|
|
14
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/221.be8ec9ae55ab7f238b28.js,sha256=vo7JrlWrfyOLKJbaPPXAsUU7B7O_JCV5DL0Wh36mqGY,88820
|
|
15
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/308.d9da4ce35f354c6f12e1.js,sha256=2dpM4181TG8S4X9h1smTZxuEj_36_9dnyXP9WAnDc6U,34889
|
|
16
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/39.5a3b28a79ba693a9b627.js,sha256=Wjsop5umk6m2JxM1X-FUHXGjLx9VerTKARofOQiIC5Y,232611
|
|
17
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/426.a7015f9dfda310972c1b.js,sha256=pwFfnf2jEJcsG33rpOBqjadU2yl8Kjd4VKHiJBS1_Wg,44909
|
|
18
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/533.f7a454b11ba5cd79dc0c.js,sha256=96RUsRulzXncDHnRMeE-83L9WkHjRyeskAjMBXcxM9U,7674
|
|
19
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/546.ee956f25626d9f03fb3d.js,sha256=7pVvJWJtnwP7PbLQHo58GPFeMfb9EKEpJIYza2wR_rM,25149
|
|
20
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/563.b613f734176cb51510ef.js,sha256=thP3NBdstRUQ7z0MMVTt-dRX0zdI1U6SizErxsB6vc8,2553
|
|
21
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/638.d37271636c4d956096de.js,sha256=03JxY2xNlWCW3tFQbU-MnQvO_hqaV2wVLdTT5xK5cvA,211595
|
|
22
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/708.323c3614d31a5918cfaf.js,sha256=k5bjg7Tc0b_QeKLqQ3GySYfe-fD_Cmk2MrJw6Dy2hdA,202771
|
|
23
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/708.323c3614d31a5918cfaf.js.LICENSE.txt,sha256=xIUBoDm2Q1zieFkjrEGq0jGXVbMtAPXzrFW0MnO1d1A,257
|
|
24
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/738.f4338fb8d8276b96c3f3.js,sha256=9DOPuNgna5bD8wIHhr93Z5uK0M47OPhsUnVvDiLLrsg,7674
|
|
25
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/744.329dc4d1ed2f5c918266.js,sha256=Mp3E0e0vXJGCZhMtTLSgKoSM-NGSX33ZbxwqSwSQEM4,3046069
|
|
26
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/798.33a8f0893a66574e9259.js,sha256=M6jwiTpmV06SWWqqAniO0FVkkVtJBOINHU5raofwhrU,2553
|
|
27
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/817.6437962faf359015be36.js,sha256=ZDeWL681kBW-Nh_mO8SLNp7Ubys4AvSMEC4MT7tL4f0,40299
|
|
28
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/981.ebb9e1d6122980b5ff0e.js,sha256=b3dzzmlqyg5AOql0QCQyFAvZdTOXFSrKNiTWaIYNJf0,14181
|
|
29
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/981.ebb9e1d6122980b5ff0e.js.LICENSE.txt,sha256=Al4BU9vlGm0hvL2QgWwO5THo2WCGIoDqSdIpipPsBSw,1023
|
|
30
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/remoteEntry.d3a3f8b691a2f85d8804.js,sha256=06P4tpGi-F2IBPpj2DTJWxUDNvmQc2D7QKAVYUe3a-8,11780
|
|
31
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/style.js,sha256=rhrGR_lSZihMhH1ui5EcIiqrutyovwjkTWTs-UdKcws,176
|
|
32
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/static/third-party-licenses.json,sha256=nLcszpHEN1Krc4Al2MJvvhJp9HdL9gh9UL2eTvhqtiQ,74820
|
|
33
|
+
jupyterlab_unianalytics_dashboard-4.0.19.data/data/share/jupyter/labextensions/jupyterlab_unianalytics_dashboard/install.json,sha256=LnBFne2_G6SmJApbmJhffpyKMU9sTqEnMQP67RrBoxw,227
|
|
34
|
+
jupyterlab_unianalytics_dashboard-4.0.19.dist-info/METADATA,sha256=tEAXmYcu7-S70ToCatL2hq9pOvgMthk0si5MoPfQG-k,7959
|
|
35
|
+
jupyterlab_unianalytics_dashboard-4.0.19.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
36
|
+
jupyterlab_unianalytics_dashboard-4.0.19.dist-info/licenses/LICENSE,sha256=9_UAg-SCFDakKGE66XAiHBxSWDr1MTZ7xHhXarScTPE,1524
|
|
37
|
+
jupyterlab_unianalytics_dashboard-4.0.19.dist-info/RECORD,,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkjupyterlab_unianalytics_dashboard=self.webpackChunkjupyterlab_unianalytics_dashboard||[]).push([[134],{8708:(e,t,o)=>{o.r(t),o.d(t,{BACKEND_API_URL:()=>Ut,CURRENT_NOTEBOOK_ID:()=>Ht,PERSISTENT_USER_ID:()=>Pt,WEBSOCKET_API_URL:()=>zt,default:()=>Wt,setCurrentNotebookId:()=>jt});var n=o(3039),a=o(3779),s=o(4925),l=o(8386);o(4039);const r="jupyterlab_unianalytics_dashboard",i=`${r}:plugin`,c=`${r}_access_token`,d=`${r}_refresh_token`,h="unianalytics-page-container";var u;!function(e){e.dashboardOpenDashboardPlayback=`${r}:dashboard-open-playback`,e.uploadNotebook=`${r}:dashboard-upload-notebook`,e.copyDownloadLink=`${r}:dashboard-copy-download-link`}(u||(u={}));const m='.jp-DirListing-item[data-file-type="notebook"]',p="unianalytics";var g,b;!function(e){e.notebookId=`${p}_notebook_id`,e.cellMapping=`${p}_cell_mapping`}(g||(g={}));class C{static async setJupyterVersion(e){C._jupyterVersion=e,await C._setEditorLanguageRegistry(),await C._asyncImports()}static async _setEditorLanguageRegistry(){if(4===C._jupyterVersion){const{StreamLanguage:e}=await o.e(373).then(o.t.bind(o,1373,23)),{EditorLanguageRegistry:t,parseMathIPython:n}=await Promise.resolve().then(o.t.bind(o,8531,23)),a=new t;t.getDefaultLanguages().forEach((e=>{a.addLanguage(e)})),a.addLanguage({name:"ipythongfm",mime:"text/x-ipythongfm",load:async()=>{const[t,s]=await Promise.all([Promise.all([o.e(638),o.e(211),o.e(373),o.e(376)]).then(o.bind(o,8638)),o.e(10).then(o.bind(o,8010))]);return t.markdown({base:t.markdownLanguage,codeLanguages:e=>a.findBest(e),extensions:[n(e.define(s.stexMath).parser)]})}}),C._editorDefaultLanguages=a}}static async _asyncImports(){if(4===C._jupyterVersion){const{EditorView:e}=await o.e(211).then(o.t.bind(o,6211,23));this._EditorView=e;const{jupyterTheme:t}=await Promise.resolve().then(o.t.bind(o,8531,23));this._jupyterTheme=t}}static checkJupyterVersionSet(){if(null===C._jupyterVersion)throw new Error("JupyterLab version is not set in CompatibilityManager before trying to access it.")}static observeEditorVisibility(e){return 3===C._jupyterVersion?new IntersectionObserver((t=>{t[0].isIntersecting&&e.refresh()}),{root:null,threshold:.5}):null}}b=C,C._jupyterVersion=null,C._editorDefaultLanguages=void 0,C._EditorView=void 0,C._jupyterTheme=void 0,C.getMetadataComp=(e,t)=>{var o;return C.checkJupyterVersionSet(),4===C._jupyterVersion?null==e?void 0:e.getMetadata(t):null===(o=null==e?void 0:e.metadata)||void 0===o?void 0:o.get(t)},C.setMetadataComp=(e,t,o)=>{var n;C.checkJupyterVersionSet(),4===C._jupyterVersion?null==e||e.setMetadata(t,o):null===(n=null==e?void 0:e.metadata)||void 0===n||n.set(t,o)},C.deleteMetadataComp=(e,t)=>{var o;return C.checkJupyterVersionSet(),4===C._jupyterVersion?null==e?void 0:e.deleteMetadata(t):null===(o=null==e?void 0:e.metadata)||void 0===o?void 0:o.delete(t)},C.getFileComp=e=>{var t;C.checkJupyterVersionSet();const o=null===(t=e.tracker.currentWidget)||void 0===t?void 0:t.selectedItems().next();return 4===C._jupyterVersion?null==o?void 0:o.value:o},C.getCellsArrComp=e=>(C.checkJupyterVersionSet(),e?Array.from({length:e.length},((t,o)=>e.get(o))):null),C.getCodeMirrorOptionsComp=()=>(C.checkJupyterVersionSet(),4===C._jupyterVersion?{extensions:[b._jupyterTheme,b._EditorView.lineWrapping,b._EditorView.editable.of(!1)],languages:C._editorDefaultLanguages}:{config:{readOnly:!0}}),C.getNextWidgetValueComp=e=>{var t;return C.checkJupyterVersionSet(),4===C._jupyterVersion?null===(t=e.next())||void 0===t?void 0:t.value:e.next()};const v=(e,t)=>{var o,n;return`displayRealTime=${null===(o=e.displayRealTime[t])||void 0===o||o}`+(e.t1ISOString[t]?"&t1="+e.t1ISOString[t]:"")+(e.t2ISOString[t]?"&t2="+e.t2ISOString[t]:"")+(e.sortBy[t]?"&sortBy="+e.sortBy[t]:"")+((null===(n=e.selectedGroups[t])||void 0===n?void 0:n.length)>0?"&selectedGroups="+encodeURIComponent(JSON.stringify(e.selectedGroups[t])):"")},w=async(e,t)=>{const o=await k(e,t);if(401===o.status){const n=await o.json();if("expired_token"===(null==n?void 0:n.status)){if(await _())return k(e,t);console.log(`${r}: Token refresh failed.`)}}return o},k=async(e,t)=>{const o={headers:{Authorization:`Bearer ${sessionStorage.getItem(c)}`}},n={...o,...t,headers:{...o.headers,...(null==t?void 0:t.headers)||{}}};return fetch(e,n)},_=async()=>{const e=await fetch(`${Ut}/auth/refresh`,{method:"POST",headers:{Authorization:`Bearer ${sessionStorage.getItem(d)}`}});if(e.ok){const t=await e.json();if(null==t?void 0:t.access_token)return sessionStorage.setItem(c,t.access_token),!0}return!1},y=e=>!!(e&&!e.isDisposed&&e.context.isReady&&C.getMetadataComp(e.context.model,g.notebookId)&&C.getMetadataComp(e.context.model,g.cellMapping)),f=(e,t)=>!(!e||!t)&&e.length===t.length&&e.every(((e,o)=>e===t[o])),E=e=>e.toLocaleString("sv-SE").slice(0,-3),S=e=>`${e.getDate().toString().padStart(2,"0")}/${(e.getMonth()+1).toString().padStart(2,"0")} ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}`;var x=o(6029),N=o.n(x),I=o(3764),D=o(8690);const M=e=>{const[t,o]=(0,x.useState)(!1);return N().createElement("div",null,N().createElement("p",null,"Successfully uploaded, can be downloaded accessing:"),N().createElement("div",{className:"unianalytics-link-container"},N().createElement("div",{className:"unianalytics-link"},e.url),N().createElement("div",{className:"unianalytics-link-button-container"},N().createElement("button",{className:"unianalytics-link-button",onClick:()=>{navigator.clipboard.writeText(e.url).then((()=>{o(!0)})).catch((e=>{console.error(`${r}: Error copying to clipboard: `,e)}))}},t?N().createElement(I.checkIcon.react,null):N().createElement(I.copyIcon.react,null)))))};const O=new I.LabIcon({name:`${r}:visu-icon`,svgstr:'<svg xmlns="http://www.w3.org/2000/svg" width="801px" height="845px" viewBox="0 0 801 845">\n<path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" \n\td="\nM387.000000,138.000000 \n\tC498.142059,138.000015 608.784363,138.106552 719.425842,137.852219 \n\tC731.901794,137.823547 741.405090,147.216324 741.147522,159.494492 \n\tC740.644409,183.478592 741.009399,207.480728 740.995667,231.475388 \n\tC740.988647,243.724152 732.716797,251.995575 720.458984,251.995956 \n\tC547.497437,252.001495 374.535889,252.001434 201.574356,251.996124 \n\tC189.289490,251.995743 181.011719,243.747238 181.004547,231.508698 \n\tC180.990280,207.180771 180.990768,182.852859 181.004318,158.524933 \n\tC181.011139,146.276291 189.283295,138.005981 201.540726,138.004242 \n\tC263.193817,137.995529 324.846924,138.000107 387.000000,138.000000 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" \n\td="\nM585.000000,602.000000 \n\tC584.999939,619.325134 584.662598,636.159729 585.135315,652.971619 \n\tC585.389893,662.026428 574.929565,672.140991 566.068176,672.127258 \n\tC443.961212,671.938232 321.853912,672.004211 199.746674,671.990967 \n\tC189.901947,671.989868 181.021255,663.118469 181.010071,653.290161 \n\tC180.981430,628.135742 181.228653,602.978149 180.877518,577.828613 \n\tC180.753326,568.934387 190.961166,558.888672 199.629715,558.899292 \n\tC321.570190,559.048645 443.510895,558.993164 565.451538,559.013611 \n\tC576.357910,559.015442 584.922241,567.620361 584.989990,578.511169 \n\tC585.037720,586.173828 584.999756,593.837036 585.000000,602.000000 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" \n\td="\nM88.108398,89.952209 \n\tC98.405724,110.302505 108.714127,130.647202 118.993515,151.006561 \n\tC122.027649,157.015930 124.979767,163.066742 128.341644,169.849442 \n\tC118.648453,169.849442 109.747803,169.849442 100.429153,169.849442 \n\tC100.429153,362.281067 100.429153,554.170410 100.429153,746.530701 \n\tC277.650726,746.530701 454.991821,746.530701 632.848511,746.530701 \n\tC632.848511,737.834412 632.848511,729.237061 632.848511,719.024597 \n\tC661.517517,733.293213 689.138123,747.040100 718.055725,761.432434 \n\tC689.538452,775.702026 661.900940,789.531433 633.221680,803.882141 \n\tC633.221680,794.086548 633.221680,785.407837 633.221680,775.998657 \n\tC630.080139,775.998657 627.647522,775.998657 625.214905,775.998657 \n\tC446.394989,775.998535 267.575104,775.987793 88.755196,776.036011 \n\tC81.436424,776.037964 75.688042,773.737122 72.946358,766.585999 \n\tC72.095207,764.365967 72.036018,761.746521 72.035538,759.309814 \n\tC71.996758,565.657715 71.999886,372.005585 71.999870,178.353455 \n\tC71.999870,175.868805 71.999863,173.384155 71.999863,169.951614 \n\tC63.762573,169.951614 55.847210,169.951614 47.537605,169.537201 \n\tC47.694538,167.563828 48.088642,165.926636 48.820351,164.457596 \n\tC60.280804,141.448654 71.741646,118.439545 83.350739,95.505569 \n\tC84.420113,93.392990 86.498528,91.791183 88.108398,89.952209 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" \n\td="\nM401.000000,462.000000 \n\tC334.043701,462.000031 267.586212,461.806152 201.132416,462.212341 \n\tC191.340515,462.272186 180.483932,451.985443 180.776566,441.675262 \n\tC181.470917,417.211090 181.309845,392.707855 180.840012,368.233002 \n\tC180.664536,359.091675 191.110733,348.815643 200.221436,348.846802 \n\tC278.335815,349.114105 356.451508,348.995880 434.566803,349.004578 \n\tC446.758179,349.005951 454.990509,357.324249 454.996460,369.619904 \n\tC455.008209,393.937256 454.656525,418.261902 455.175049,442.568207 \n\tC455.372375,451.815918 444.949646,462.702484 435.468567,462.153870 \n\tC424.180542,461.500610 412.825836,462.000000 401.000000,462.000000 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" fill="#616161" class="jp-custom-icon jp-icon3 jp-icon-selectable" \n\td="\nM88.048347,89.607422 \n\tC86.498528,91.791183 84.420113,93.392990 83.350739,95.505569 \n\tC71.741646,118.439545 60.280804,141.448654 48.820351,164.457596 \n\tC48.088642,165.926636 47.694538,167.563828 47.072289,169.478149 \n\tC46.205418,169.833496 45.409630,169.833496 43.604004,169.833496 \n\tC57.749477,141.531204 71.589005,113.841034 85.790382,85.426895 \n\tC86.780373,87.154594 87.384331,88.208618 88.048347,89.607422 \nz"/>\n</svg>'}),T=new I.LabIcon({name:`${r}:analytics-replay-icon`,svgstr:'<svg xmlns="http://www.w3.org/2000/svg" width="801px" height="845px" viewBox="0 0 801 845">\n<path xmlns="http://www.w3.org/2000/svg" class="jp-custom-icon jp-icon3 jp-icon-selectable" fill="#616161" \n\td="\nM465.000000,137.000000 \n\tC550.147888,137.000031 634.796204,137.135956 719.443115,136.850784 \n\tC731.874146,136.808899 741.408020,146.187546 741.148132,158.511917 \n\tC740.642395,182.495926 741.009705,206.498123 740.995605,230.492798 \n\tC740.988403,242.737381 732.714661,250.995651 720.441528,250.996048 \n\tC547.479980,251.001465 374.518402,251.001480 201.556839,250.996048 \n\tC189.284561,250.995667 181.011414,242.736694 181.004410,230.491180 \n\tC180.990524,206.163254 180.990494,181.835327 181.004410,157.507401 \n\tC181.011429,145.262772 189.285263,137.005096 201.558258,137.004089 \n\tC289.205505,136.996857 376.852753,137.000092 465.000000,137.000000 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" class="jp-custom-icon jp-icon3 jp-icon-selectable" fill="#616161" \n\td="\nM635.148926,720.089355 \n\tC662.544739,733.712830 689.585266,747.259888 717.960327,761.475464 \n\tC689.524719,775.703430 661.804504,789.573425 633.158691,803.906555 \n\tC633.158691,794.057861 633.158691,785.472473 633.158691,775.998657 \n\tC630.247986,775.998657 627.834717,775.998657 625.421509,775.998657 \n\tC446.590027,775.998535 267.758545,775.986877 88.927094,776.039978 \n\tC81.632454,776.042114 75.823845,773.875000 73.007057,766.744446 \n\tC72.134315,764.535095 72.038582,761.913086 72.038055,759.479919 \n\tC71.996544,565.648621 71.999878,371.817291 71.999847,177.985962 \n\tC71.999840,175.530502 71.999847,173.075027 71.999847,170.132675 \n\tC62.473114,170.132675 53.538857,170.132675 43.464531,170.132675 \n\tC57.739803,141.563171 71.583488,113.857414 85.991348,85.022568 \n\tC100.325996,113.683899 114.169044,141.362305 128.404572,169.825470 \n\tC118.663963,169.825470 109.765915,169.825470 100.439240,169.825470 \n\tC100.439240,362.269653 100.439240,554.167786 100.439240,746.533813 \n\tC277.665100,746.533813 455.014313,746.533813 633.001404,746.533813 \n\tC633.001404,738.783020 632.924316,731.166138 633.081543,723.554016 \n\tC633.106140,722.362305 634.196167,721.192627 635.148926,720.089355 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" class="jp-custom-icon jp-icon3 jp-icon-selectable" fill="#616161" \n\td="\nM463.795166,663.684082 \n\tC458.944733,669.057251 453.354919,671.110291 446.353668,671.097351 \n\tC364.544098,670.945618 282.733490,670.850952 200.925110,671.198853 \n\tC191.268799,671.239868 180.533325,660.920715 180.790894,650.957153 \n\tC181.427948,626.314026 181.262314,601.639160 180.862076,576.986084 \n\tC180.716492,568.018616 191.031570,557.844238 199.978745,557.868408 \n\tC282.621094,558.091919 365.264313,557.994446 447.907257,558.007080 \n\tC459.506805,558.008850 467.978638,566.433594 467.991608,577.972778 \n\tC468.018402,601.799255 467.876343,625.626953 468.096619,649.451355 \n\tC468.145020,654.685852 466.992889,659.222717 463.795166,663.684082 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" class="jp-custom-icon jp-icon3 jp-icon-selectable" fill="#616161" \n\td="\nM557.000000,367.000000 \n\tC556.999878,427.464691 556.982544,487.429382 557.045776,547.393982 \n\tC557.049255,550.719543 557.078552,554.505432 553.650879,555.378540 \n\tC550.837891,556.095093 546.851746,555.555786 544.433716,553.972473 \n\tC506.113861,528.881958 467.962555,503.533997 429.774536,478.242218 \n\tC415.618622,468.866821 401.455353,459.502563 387.319794,450.096619 \n\tC381.033081,445.913391 380.988831,440.087341 387.222076,435.936890 \n\tC426.457855,409.811432 465.689392,383.679504 504.966309,357.616028 \n\tC518.141479,348.873199 531.337463,340.149567 544.790222,331.848694 \n\tC547.199219,330.362274 551.254211,330.038330 553.899048,330.988129 \n\tC555.559692,331.584442 556.774353,335.530975 556.863098,338.021729 \n\tC557.200989,347.504089 556.999756,357.005615 557.000000,367.000000 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" class="jp-custom-icon jp-icon3 jp-icon-selectable" fill="#616161" \n\td="\nM662.999878,373.002136 \n\tC684.378784,358.950073 705.376892,344.957733 726.473572,331.115723 \n\tC731.136841,328.056000 738.202637,330.252441 738.172729,337.496490 \n\tC737.882996,407.806915 738.031677,478.119171 737.858948,548.430359 \n\tC737.853027,550.836487 736.303223,554.662598 734.552917,555.299866 \n\tC732.057861,556.208313 728.103699,555.703186 725.818054,554.206116 \n\tC687.347046,529.008789 649.040222,503.560883 610.693237,478.174072 \n\tC596.525146,468.794342 582.332336,459.451782 568.181335,450.046326 \n\tC561.987366,445.929535 562.066284,440.056030 568.361389,435.876099 \n\tC598.986938,415.540466 629.630798,395.232300 660.262817,374.906281 \n\tC661.091248,374.356567 661.858765,373.714844 662.999878,373.002136 \nz"/>\n<path xmlns="http://www.w3.org/2000/svg" class="jp-custom-icon jp-icon3 jp-icon-selectable" fill="#616161" \n\td="\nM345.865936,362.817200 \n\tC345.963379,389.902039 346.020630,416.563477 345.975037,443.224792 \n\tC345.960510,451.719543 336.809052,460.960968 328.346283,460.971985 \n\tC285.187714,461.028076 242.029007,461.022461 198.870422,460.978516 \n\tC190.134705,460.969635 181.033173,451.740753 181.017441,442.941589 \n\tC180.971573,417.279785 180.967712,391.617798 181.019791,365.955994 \n\tC181.037552,357.196228 190.207504,348.027222 198.972824,348.019165 \n\tC241.964783,347.979645 284.956940,347.947144 327.948639,348.056610 \n\tC334.781342,348.074005 339.684326,351.915222 343.185669,357.593597 \n\tC344.139221,359.140137 344.923798,360.790863 345.865936,362.817200 \nz"/>\n</svg>'}),R=new I.LabIcon({name:`${r}:hide-icon`,svgstr:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eye-slash-fill" viewBox="0 0 16 16">\n <path d="m10.79 12.912-1.614-1.615a3.5 3.5 0 0 1-4.474-4.474l-2.06-2.06C.938 6.278 0 8 0 8s3 5.5 8 5.5a7.029 7.029 0 0 0 2.79-.588zM5.21 3.088A7.028 7.028 0 0 1 8 2.5c5 0 8 5.5 8 5.5s-.939 1.721-2.641 3.238l-2.062-2.062a3.5 3.5 0 0 0-4.474-4.474L5.21 3.089z"/>\n <path d="M5.525 7.646a2.5 2.5 0 0 0 2.829 2.829l-2.83-2.829zm4.95.708-2.829-2.83a2.5 2.5 0 0 1 2.829 2.829zm3.171 6-12-12 .708-.708 12 12-.708.708z"/>\n</svg>'}),A=new I.LabIcon({name:`${r}:show-icon`,svgstr:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eye-fill" viewBox="0 0 16 16">\n <path d="M10.5 8a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z"/>\n <path d="M0 8s3-5.5 8-5.5S16 8 16 8s-3 5.5-8 5.5S0 8 0 8zm8 3.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z"/>\n</svg>'});var L=o(3748);const B={displayDashboard:!0,hasNotebookId:!1},$=(0,L.createSlice)({name:"tocdashboard",initialState:B,reducers:{setDisplayHideDashboard:(e,t)=>{e.displayDashboard=t.payload},setHasNotebookId:(e,t)=>{e.hasNotebookId=t.payload}}}),{setDisplayHideDashboard:H,setHasNotebookId:j}=$.actions,P=$.reducer,F={navigationState:[{pageName:"Notebook"}]},U=(0,L.createSlice)({name:"sidedashboard",initialState:F,reducers:{navigateToNotebook:(e,t)=>{e.navigationState=[{pageName:"Notebook"}]},navigateToCell:(e,t)=>{e.navigationState=[{pageName:"Notebook"},{pageName:"Cell",content:{cellId:t.payload.cellId}}]},navigateToHistory:(e,t)=>{e.navigationState=e.navigationState.slice(0,t.payload+1)},resetNavigationState:(e,t)=>{e.navigationState=F.navigationState}}}),{navigateToNotebook:z,navigateToCell:V,navigateToHistory:W,resetNavigationState:G}=U.actions,Q=U.reducer,J=(0,L.createSlice)({name:"commondashboard",initialState:{notebookCells:null,refreshBoolean:!1,dashboardQueryArgs:{displayRealTime:{},t1ISOString:{},t2ISOString:{},selectedGroups:{},sortBy:{}}},reducers:{setDashboardQueryArgsT1:(e,t)=>{const{notebookId:o,t1ISOString:n}=t.payload;e.dashboardQueryArgs.t1ISOString[o]=n},setDashboardQueryArgsT2:(e,t)=>{const{notebookId:o,t2ISOString:n}=t.payload;e.dashboardQueryArgs.t2ISOString[o]=n},setDashboardQueryArgsSelectedGroups:(e,t)=>{const{notebookId:o,groups:n}=t.payload,a=e.dashboardQueryArgs.selectedGroups[o]||[];if(!f(a,n))return{...e,dashboardQueryArgs:{...e.dashboardQueryArgs,selectedGroups:{...e.dashboardQueryArgs.selectedGroups,[o]:n}}}},setDashboardQueryArgsDisplayRealTime:(e,t)=>{const{notebookId:o,displayRealTime:n}=t.payload;e.dashboardQueryArgs.displayRealTime[o]=n},setSortBy:(e,t)=>{const{notebookId:o,sortCriterion:n}=t.payload;e.dashboardQueryArgs.sortBy[o]=n},setNotebookCells:(e,t)=>{e.notebookCells=t.payload},refreshDashboards:e=>{e.refreshBoolean=!e.refreshBoolean}}}),{setDashboardQueryArgsT1:K,setDashboardQueryArgsT2:q,setDashboardQueryArgsSelectedGroups:X,setDashboardQueryArgsDisplayRealTime:Z,setSortBy:Y,setNotebookCells:ee,refreshDashboards:te}=J.actions,oe=J.reducer,ne=(0,L.configureStore)({reducer:{tocdashboard:P,sidedashboard:Q,commondashboard:oe}});var ae,se=o(9282),le=o(4705),re=o(4901);class ie{}!function(e){e.LOADING="Loading",e.NOTFOUND="Notebook not Registered",e.USERNOTAUTHORIZED="No User Permission for this Notebook",e.EXPIREDTOKEN="Expired Login Token",e.INVALIDCREDENTIALS="Invalid Credentials",e.ERROR="Fetching Error",e.SUCCESS="Success"}(ae||(ae={}));var ce=o(9156);const de=ne.dispatch;class he{constructor(){this._socket=null}_createSocket(e,t){this._socket=(0,ce.io)(`${zt}?conType=TEACHER&nbId=${e}&userId=${t}`,{transports:["websocket"]}),this._socket.on("connect",(()=>{console.log(`${r}: SocketIO connection opened for:`,{notebookId:e,userId:t})})),this._socket.on("disconnect",(o=>{console.log(`${r}: SocketIO connection closed (reason: ${o}) for:`,{notebookId:e,userId:t})})),this._socket.on("refreshDashboard",(()=>{de(te()),console.log(`${r}: Received refresh dashboard request`)})),this._socket.on("chat",(e=>{console.log(`${r}: message received : ${e}`)})),this._socket.on("connect_error",(e=>{console.error(`${r}: SocketIO error; `,e)}))}establishSocketConnection(e){this.closeSocketConnection(),e&&Pt&&this._createSocket(e,Pt)}closeSocketConnection(){this._socket&&this._socket.close(),this._socket=null}sendMessageToUser(e,t){this._socket&&this._socket.emit("send_message",{userId:e,message:t})}}const ue=ne.dispatch;class me{constructor(){this._panelUpdatedSignal=new re.Signal(this),this._panelSwitchedSignal=new re.Signal(this),this._ongoingContextId="",this._ongoingCheckId="",this._panel=null,this._monitor=null,this._validityChecks={tag:null,registered:ae.LOADING},this._websocketManager=new he}get validityChecks(){return this._validityChecks}get notebookCells(){return this._notebookCells}get websocketManager(){return this._websocketManager}get panel(){return this._panel}set panel(e){if(this._panel===e)return;if(this._panel&&this._panel.disposed.disconnect(this._onPanelDisposed,this),jt(null),this._validityChecks={tag:null,registered:ae.LOADING},this._websocketManager.closeSocketConnection(),this._panel=e,this._onPanelSwitched(),this._panel&&this._panel.disposed.connect(this._onPanelDisposed,this),this._monitor&&(this._monitor.dispose(),this._monitor=null),!this._panel)return void this._onPanelUpdated();const t=crypto.randomUUID();this._ongoingContextId=t,this._panel.sessionContext.ready.then((()=>{if(this._ongoingContextId===t&&this._panel&&!this._panel.isDisposed){if(this._monitor=new le.ActivityMonitor({signal:this._panel.context.model.contentChanged,timeout:1e3}),this._monitor.activityStopped.connect(this._onPanelUpdated,this),y(this._panel)){const e=C.getMetadataComp(this._panel.model,g.notebookId);jt(e),this._validityChecks={tag:e,registered:ae.LOADING},this._performRegistrationCheck()}this._onPanelUpdated()}}))}_performRegistrationCheck(){const e=crypto.randomUUID();this._ongoingCheckId=e;let t=ae.ERROR;w(`${Ut}/dashboard/${this._validityChecks.tag}/check`).then((e=>e.json())).then((e=>{(null==e?void 0:e.status)?"expired_token"===e.status?t=ae.EXPIREDTOKEN:"not_found"===e.status?t=ae.NOTFOUND:"no_user_permission"===e.status?t=ae.USERNOTAUTHORIZED:"success"===e.status&&(t=ae.SUCCESS):t=ae.INVALIDCREDENTIALS})).catch((e=>{console.log(`${r}: Notebook check fetching error (check your connection).`+e)})).finally((()=>{this._ongoingCheckId===e&&this._panel&&!this._panel.isDisposed&&(this._validityChecks.registered=t,this._validityChecks.registered===ae.SUCCESS&&(ue(G()),this._websocketManager.establishSocketConnection(this._validityChecks.tag)),this._panelUpdatedSignal.emit(void 0))}))}_onPanelDisposed(e){this.panel=null}get panelSwitched(){return this._panelSwitchedSignal}_onPanelSwitched(){this._panelSwitchedSignal.emit(void 0)}get panelUpdated(){return this._panelUpdatedSignal}_onPanelUpdated(){this._updateCellList(),this._panelUpdatedSignal.emit(void 0)}_updateCellList(){var e,t;const o=C.getCellsArrComp(null===(t=null===(e=this.panel)||void 0===e?void 0:e.model)||void 0===t?void 0:t.cells);if(o){const e=o.map((e=>e.id));if(!f(e,this._notebookCells)){this._notebookCells=e;const t=o.map((e=>({id:e.id,cellType:e.type})));return ue(ee(t)),!0}}else this._notebookCells=null;return!1}}var pe=o(7760),ge=o(8559);const be=()=>N().createElement("div",{style:{width:"100%",textAlign:"center",margin:"50px 0"}},N().createElement(ge.Spinner,{style:{width:"50px",height:"50px",fontSize:"x-large"},animation:"border",role:"status",variant:"primary"})),Ce=({title:e,placeholderText:t="No data for the opened notebook"})=>N().createElement("div",{className:"dashboard-TableOfContents"},N().createElement("div",{className:"dashboard-stack-panel-header"},"Side Panel Dashboard"),N().createElement("div",{className:"dashboard-TableOfContents-placeholder"},N().createElement("div",{className:"dashboard-TableOfContents-placeholderContent"},N().createElement("h3",null,e),N().createElement("p",null,t))));class ve extends D.ReactWidget{constructor(e){super(),this.addClass("dashboard-panel"),this._panelManager=e,e.panelUpdated.connect((()=>this.update()),this)}onAfterShow(e){this.update()}onUpdateRequest(e){super.onUpdateRequest(e)}render(){if(!this._panelManager.panel)return x.createElement(Ce,{title:"No Notebook",placeholderText:"Open a notebook to start viewing its content."});if(!this._panelManager.panel.context.isReady)return x.createElement(be,null);if(!this._panelManager.validityChecks.tag)return x.createElement(Ce,{title:"Notebook not Tagged for Tracking"});switch(this._panelManager.validityChecks.registered){case ae.LOADING:return x.createElement(be,null);case ae.SUCCESS:return x.createElement(pe.Provider,{store:ne},this.computeComponentToRender());default:return x.createElement(Ce,{title:this._panelManager.validityChecks.registered})}}}const we=ve;var ke=o(2535);class _e{static setPermission(e){_e._isInteractionRecordingEnabled=e}}_e._isInteractionRecordingEnabled=!1,_e.sendInteraction=e=>{_e._isInteractionRecordingEnabled&&fetch(`${Ut}/dashboard_interaction/add`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...e,dashboard_user_id:Pt,time:(new Date).toISOString(),notebook_id:Ht})})};const ye=ne.dispatch,fe=()=>{const e=(0,pe.useSelector)((e=>e.sidedashboard.navigationState));return N().createElement(ge.Stack,{className:"breadcrumb-container",direction:"horizontal",gap:2},e.map(((t,o)=>N().createElement("div",{className:o===e.length-1?"breadcrumb-tile-active breadcrumb-tile":"breadcrumb-tile",onClick:()=>{"Notebook"===t.pageName?_e.sendInteraction({click_type:"ON",signal_origin:"BREADCRUMB_TO_NOTEBOOK"}):"Cell"===t.pageName&&_e.sendInteraction({click_type:"ON",signal_origin:"BREADCRUMB_TO_CELL"}),o!==e.length-1&&ye(W(o))}},t.pageName))),N().createElement("div",{className:"breadcrumb-buttons-container"},N().createElement(ge.Button,{className:"dashboard-button",onClick:()=>{_e.sendInteraction({click_type:"ON",signal_origin:"DASHBOARD_REFRESH_BUTTON"}),ye(te())}},N().createElement(ke.ArrowClockwise,{className:"dashboard-icon"}))))},Ee=ne.dispatch,Se=[{value:1,displayName:"All Data",disabledDatePicker:!0},{value:2,displayName:"From t<sub>1</sub>",disabledDatePicker:!1}],xe=e=>{const[t,o]=(0,x.useState)(!1),n=(0,pe.useSelector)((e=>e.commondashboard.dashboardQueryArgs)),a=()=>{const t=n.t1ISOString[e.notebookId]?1:0;return Se[t]},s=()=>{const t=n.t1ISOString[e.notebookId];return t?new Date(t):new Date},l=()=>void 0===n.displayRealTime[e.notebookId]||n.displayRealTime[e.notebookId],[r,i]=(0,x.useState)(a()),[c,d]=(0,x.useState)(s()),[h,u]=(0,x.useState)(l),m=E(new Date);return(0,x.useEffect)((()=>{Ee(K({notebookId:e.notebookId,t1ISOString:r.disabledDatePicker?null:c.toISOString()})),Ee(Z({notebookId:e.notebookId,displayRealTime:h}))}),[c,r,h]),N().createElement(ge.Dropdown,{show:t,onToggle:()=>{_e.sendInteraction({click_type:t?"OFF":"ON",signal_origin:"DASHBOARD_FILTER_TIME"}),t||(d(s()),i(a()),u(l())),o(!t)},className:"custom-dropdown"},N().createElement(ge.Dropdown.Toggle,{className:"dashboard-button"},!(h&&r.disabledDatePicker)&&N().createElement("span",{className:"dashboard-filter-red-dot"}),N().createElement(ke.CalendarWeek,{className:"dashboard-icon"})),N().createElement(ge.Dropdown.Menu,null,N().createElement(ge.Dropdown.Header,null,"Data Timeframe Selector"),N().createElement(ge.Dropdown.Divider,null),N().createElement("div",{className:"custom-dropdown-container custom-dropdown-item"},N().createElement(ge.Form.Check,{id:"time-checkbox-include-all",type:"checkbox",label:"Only show active users",checked:h,onChange:e=>u(e.target.checked)})),N().createElement(ge.Dropdown.Divider,null),N().createElement("div",{className:"dashboard-calendar-container"},N().createElement("div",{className:"cell-radio-container"},N().createElement(ge.ButtonGroup,{size:"sm"},Se.map(((e,t)=>N().createElement(ge.ToggleButton,{key:`calendar-filter-${t}`,id:`calendar-filter-${t}`,type:"radio",variant:"outline-primary",name:"radio",value:e.value,checked:r.value===e.value,onChange:e=>{i(Se[Number(e.currentTarget.value)-1])}},N().createElement("span",{dangerouslySetInnerHTML:{__html:e.displayName}}))))))),N().createElement("div",{className:"dashboard-calendar-container"},N().createElement("div",{className:"dashboard-calendar-input-wrapper "+(r.disabledDatePicker?"disabled":"")},N().createElement("div",null,"t",N().createElement("sub",null,"1")),N().createElement("input",{className:"dashboard-calendar-input",type:"datetime-local",value:E(c),onChange:e=>d(new Date(e.target.value)),max:m})))))},Ne=({PassedComponent:e,title:t})=>N().createElement(ge.Row,{className:"mb-4"},N().createElement(ge.Card,{className:"chart-card"},N().createElement(ge.Card.Title,{className:"chart-card-title"},t),N().createElement(ge.Card.Body,{className:"chart-card-body"},e)));var Ie=o(7885);const De={maintainAspectRatio:!1,plugins:{legend:{labels:{color:"#969696"}},tooltip:{callbacks:{title:function(e){return`Code cell ${e[0].label}`}}}},scales:{x:{title:{display:!0,text:"Code cell",color:"#969696"},ticks:{color:"#969696"}},y:{ticks:{beginAtZero:!0,precision:0,color:"#969696"},title:{display:!0,text:"Cumulated total across all users",color:"#969696"}}}},Me=`> ${Math.floor(30)}'`,Oe={maintainAspectRatio:!1,plugins:{legend:{display:!0,labels:{usePointStyle:!0,color:"#969696"}},tooltip:{usePointStyle:!0,callbacks:{title:function(e){return`Cell ${e[0].raw.x}`},label:function(e){return[`${e.raw.userCount} of ${e.raw.totalCount} users focused on that cell`,`Average focus time: ${Te(e.raw.y)}`]}}}},scales:{x:{type:"category",ticks:{color:"#969696"},title:{display:!0,text:"Cell (markdown & code)",color:"#969696"}},y:{beginAtZero:!0,ticks:{count:6,precision:0,color:"#969696",callback:function(e,t){return"number"==typeof e?Te(e):e}},title:{display:!0,text:"Average time spent on the cell",color:"#969696"}}}},Te=e=>{const t=Math.floor(e/60);return e>=1800?Me:`${t>0?t+"'":""}${(e%60).toFixed(0)}"`},Re=e=>{const[t,o]=(0,x.useState)({labels:[],datasets:[]}),n=(0,pe.useSelector)((e=>e.commondashboard.dashboardQueryArgs)),a=(0,pe.useSelector)((e=>e.commondashboard.refreshBoolean)),s=(0,pe.useSelector)((e=>e.commondashboard.notebookCells));return(0,x.useEffect)((()=>{w(`${Ut}/dashboard/${e.notebookId}/user_code_execution?${v(n,e.notebookId)}`).then((e=>e.json())).then((e=>{const t=(null==s?void 0:s.filter((e=>"code"===e.cellType)))||[],n={labels:Array.from({length:t.length},((e,t)=>t+1)),datasets:[{label:"clicks",data:Array(t.length).fill(null),backgroundColor:"rgba(51, 187, 238, 0.3)",borderColor:"rgba(51, 187, 238, 0.3)",borderWidth:1},{label:"executions",data:Array(t.length).fill(null),backgroundColor:"rgba(0, 119, 187, 0.6)",borderColor:"rgba(0, 119, 187, 0.6)",borderWidth:1},{label:"executions without errors",data:Array(t.length).fill(null),backgroundColor:"rgba(0, 153, 136, 0.9)",borderColor:"rgba(0, 153, 136, 0.9)",borderWidth:1}]};t.forEach(((t,o)=>{const a=e.find((e=>e.cell===t.id));a&&(n.datasets[0].data[o]=parseFloat(a.cell_click_pct),n.datasets[1].data[o]=parseFloat(a.code_exec_pct),n.datasets[2].data[o]=parseFloat(a.code_exec_ok_pct))})),o(n)}))}),[n,a]),N().createElement(Ne,{PassedComponent:N().createElement(Ie.Bar,{data:t,options:De}),title:"Code cell executions across users"})},Ae=ne.dispatch,Le=e=>{const[t,o]=(0,x.useState)(!1),n=(0,pe.useSelector)((t=>t.commondashboard.dashboardQueryArgs.selectedGroups[e.notebookId])),[a,s]=(0,x.useState)({includeAllChecked:void 0===n||0===n.length,groupList:[]});(0,x.useEffect)((()=>{if(l){let t;t=a.includeAllChecked?[]:a.groupList.filter((e=>!0===e.checked)).map((e=>e.name)),Ae(X({notebookId:e.notebookId,groups:t}))}}),[a]);const[l,r]=(0,x.useState)(!1);return(0,x.useEffect)((()=>{r(!1),w(`${Ut}/dashboard/${e.notebookId}/getgroups`).then((e=>e.json())).then((e=>{const t=e.map((e=>({name:e,checked:null==n?void 0:n.includes(e)}))).sort(((e,t)=>e.checked!==t.checked?t.checked?1:-1:e.name.localeCompare(t.name)));s((e=>({...e,groupList:t}))),r(!0)}))}),[e.notebookId]),N().createElement(ge.Dropdown,{id:"group-dropdown",className:"custom-dropdown",show:t,onToggle:()=>{_e.sendInteraction({click_type:t?"OFF":"ON",signal_origin:"DASHBOARD_FILTER_GROUPS"}),t||s((e=>{const t=void 0===n||0===n.length,o=e.groupList.map((e=>({name:e.name,checked:null==n?void 0:n.includes(e.name)}))).sort(((e,t)=>e.checked!==t.checked?t.checked?1:-1:e.name.localeCompare(t.name)));return{...e,includeAllChecked:t,groupList:o}})),o(!t)}},N().createElement(ge.Dropdown.Toggle,{className:"dashboard-button"},a.groupList.some((e=>!0===e.checked))&&N().createElement("span",{className:"dashboard-filter-red-dot"}),N().createElement(ke.PeopleFill,{className:"dashboard-icon"})),N().createElement(ge.Dropdown.Menu,null,N().createElement(ge.Dropdown.Header,null,"Filter by group of users"),N().createElement(ge.Dropdown.Divider,null),N().createElement("div",{className:"custom-dropdown-container custom-dropdown-item"},N().createElement(ge.Form.Check,{id:"group-checkbox-include-all",type:"checkbox",label:"Include all users",checked:a.includeAllChecked,onChange:e=>{return t=e.target.checked,void s((e=>{const o=e.groupList.map((e=>({...e,checked:!1})));return{...e,includeAllChecked:t,groupList:t?o:e.groupList}}));var t}})),N().createElement(ge.Dropdown.Divider,null),N().createElement("div",{className:"group-dropdown-scroll "+(a.includeAllChecked?"disabled":"")},a.groupList.length>0?a.groupList.map(((e,t)=>N().createElement("div",{className:"custom-dropdown-item "+(a.includeAllChecked?"disabled":"")},N().createElement(ge.Form.Check,{id:`group-checkbox-${t}`,type:"checkbox",disabled:!!a.includeAllChecked||void 0,label:e.name,title:e.name,checked:e.checked,onChange:()=>(e=>{s((t=>{const o=[...t.groupList];return o[e]={...o[e],checked:!o[e].checked},{...t,groupList:o}}))})(t)})))):N().createElement(ge.Dropdown.Item,{disabled:!0},"No groups available"))))},Be=e=>{const[t,o]=(0,x.useState)({labels:[],datasets:[]}),n=(0,pe.useSelector)((e=>e.commondashboard.dashboardQueryArgs)),a=(0,pe.useSelector)((e=>e.commondashboard.refreshBoolean)),s=(0,pe.useSelector)((e=>e.commondashboard.notebookCells));return(0,x.useEffect)((()=>{w(`${Ut}/dashboard/${e.notebookId}/user_cell_duration_time?${v(n,e.notebookId)}`).then((e=>e.json())).then((e=>{const t=e.durations,n=e.total_user_count,a=[];t&&n&&(null==s||s.map(((e,o)=>{const s=t.find((t=>t.cell===e.id));if(s){const e=s.user_count/n,t=1,l=10;a.push({x:o+1,y:Math.min(s.average_duration,1800),r:Math.min(Math.max(Math.round(t+(l-1)*e),t),l),userCount:s.user_count,totalCount:n})}})));const l={labels:s?Array.from({length:s.length},((e,t)=>t+1)):[],datasets:[{label:" fraction of users that focused on the cell",data:a,backgroundColor:"rgba(54, 162, 235, 0.2)",borderColor:"rgba(54, 162, 235, 1)",borderWidth:1}]};o(l)}))}),[n,a]),N().createElement(Ne,{PassedComponent:N().createElement(Ie.Bubble,{data:t,options:Oe}),title:"Time spent on each cell across users"})},$e=e=>N().createElement(N().Fragment,null,N().createElement("div",{className:"dashboard-title-container"},N().createElement("div",{className:"dashboard-title-text"},e.notebookName),N().createElement("div",{className:"dashboard-dropdown-container"},N().createElement(Le,{notebookId:e.notebookId}),N().createElement(xe,{notebookId:e.notebookId}))),N().createElement(ge.Row,null,N().createElement(ge.Col,null,N().createElement(Re,{notebookId:e.notebookId}),N().createElement(Be,{notebookId:e.notebookId}))));var He=o(3231),je=o.n(He);const Pe=[{key:"timeDesc",label:"Time (newest 1st)"},{key:"timeAsc",label:"Time (oldest 1st)"},{key:"inputAsc",label:"Input (shortest 1st)"},{key:"inputDesc",label:"Input (longest 1st)"},{key:"outputAsc",label:"Output (shortest 1st)"},{key:"outputDesc",label:"Output (longest 1st)"}],Fe=Pe[0].key,Ue=ne.dispatch,ze=e=>{const t=(0,pe.useSelector)((t=>t.commondashboard.dashboardQueryArgs.sortBy[e.notebookId]||Fe));return N().createElement(ge.Dropdown,{id:"order-by-dropdown",onSelect:t=>{t&&(_e.sendInteraction({click_type:"ON",signal_origin:"CELL_DASHBOARD_FILTER_SORT"}),Ue(Y({notebookId:e.notebookId,sortCriterion:t})))},className:"custom-dropdown"},N().createElement(ge.Dropdown.Toggle,{className:"dashboard-button"},t!==Fe&&N().createElement("span",{className:"dashboard-filter-red-dot"}),N().createElement(ke.SortUp,{className:"dashboard-icon"})),N().createElement(ge.Dropdown.Menu,null,N().createElement(ge.Dropdown.Header,null,"Sort cells by"),N().createElement(ge.Dropdown.Divider,null),Pe.map(((e,o)=>N().createElement(ge.Dropdown.Item,{id:`sort-item-${o}`,eventKey:e.key,className:t===e.key?"highlighted":""},e.label)))))},Ve=e=>N().createElement(ge.Col,{md:12},N().createElement(ge.Card,{className:"cell-card"},N().createElement(ge.Card.Body,{style:{gap:"10px"}},N().createElement(ge.Row,{className:"cell-card-wrapper"},N().createElement(ge.Col,{md:12,className:"cell-user-title"},N().createElement(ge.Card.Text,{title:e.value.user_id||void 0},"User ",e.value.user_id?e.value.user_id.length>8?`${e.value.user_id.substring(0,8)}...`:e.value.user_id:`${e.index+1}`)),N().createElement(ge.Col,{md:12},e.ExecutionContent),(()=>{if(e.value.t_finish){const t=new Date(e.value.t_finish),o=`Executed at ${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}, ${t.getDate().toString().padStart(2,"0")}/${(t.getMonth()+1).toString().padStart(2,"0")}/${t.getFullYear().toString().slice(-2)}`;return N().createElement(ge.Col,{md:12,className:"cell-execution-displayed-time"},o)}return null})()))));var We=o(2779);const Ge=e=>{const[t,o]=(0,x.useState)(null);return(0,x.useEffect)((()=>{(()=>{const t=We.marked.parser(We.marked.lexer(e.markdownContent));o(e.sanitizer.sanitize(t))})()}),[e.markdownContent]),N().createElement("div",{className:"cell-content-container"},t&&N().createElement("div",{className:"jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput",dangerouslySetInnerHTML:{__html:t}}))};var Qe=o(8531),Je=o(374);const Ke=({cell_input:e,language_mimetype:t,className:o})=>{const n=(0,x.useRef)(null);return(0,x.useEffect)((()=>{const o=n.current;if(o){o.innerHTML="";const n=new Je.CodeEditor.Model;n.mimeType=t,n.sharedModel.setSource(e);const a=new Qe.CodeMirrorEditor({host:o,model:n,...C.getCodeMirrorOptionsComp()}),s=C.observeEditorVisibility(a);return s&&s.observe(o),()=>{s&&s.disconnect()}}}),[e,t]),N().createElement("div",{ref:n,className:o})};var qe=o(987);const Xe=new s.RenderMimeRegistry({initialFactories:s.standardRendererFactories}),Ze=({cell_output_model:e})=>{const t=(0,x.useRef)(null),o=new qe.OutputAreaModel;return(0,x.useEffect)((()=>{o.clear(),o.fromJSON(e);const n=t.current;if(n){n.innerHTML="";for(let e=0;e<o.length;++e){const t=o.get(e),a=Xe.preferredMimeType(t.data);if(a){const e=Xe.createRenderer(a);e.renderModel(t),n.appendChild(e.node)}}}}),[e]),N().createElement("div",{ref:t,className:"cell-content-container"})},Ye=e=>{const t=(0,x.useRef)([]),[o,n]=(0,x.useState)([]),[a,s]=(0,x.useState)(!1),l=(0,x.useRef)(0),i=(0,x.useRef)(7),c=(0,x.useRef)(0),d=(0,pe.useSelector)((e=>e.sidedashboard.navigationState)),u=(0,pe.useSelector)((e=>e.commondashboard.refreshBoolean)),m=(0,pe.useSelector)((e=>e.commondashboard.dashboardQueryArgs)),[p,g]=(0,x.useState)(!0),[b,C]=(0,x.useState)(!0),[k,_]=(0,x.useState)(1),[y,f]=((e=800)=>{const[t,o]=(0,x.useState)(""),[n,a]=(0,x.useState)("");return(0,x.useEffect)((()=>{const t=setTimeout((()=>o(n)),e);return()=>clearTimeout(t)}),[n,e]),[t,a]})(),E=[{name:"All",value:1,status:"all"},{name:"Success",value:2,status:"ok"},{name:"Error",value:3,status:"error"}],S=E.map((e=>e.status)),I=d[d.length-1].content,D=async()=>{const o=++c.current,a=i.current,d=l.current;try{const r=await w(`${Ut}/dashboard/${e.notebookId}/cell/${I.cellId}?limit=${a}&offset=${d}&${v(m,e.notebookId)}`),h=await r.json();if(o===c.current){const e=((e,t)=>{const o=new Set(e.map((e=>e.exec_id))),n=t.filter((e=>!o.has(e.exec_id)));return[...e,...n]})(t.current,h);t.current=e,n(e),h.length<a?s(!1):s(!0),l.current+=a,i.current=7}}catch(e){console.error(`${r}: Error cell dashboard fetch: `,e)}};return(0,x.useEffect)((()=>{i.current=Math.max(t.current.length,7),s(!1),l.current=0,t.current=[],D()}),[d,m,u]),(0,x.useEffect)((()=>()=>{s(!1),l.current=0,t.current=[],n([])}),[d]),(0,x.useEffect)((()=>{if(!e.pageRouterNode)return;const t=Math.abs(e.pageRouterNode.scrollHeight-e.pageRouterNode.clientHeight-e.pageRouterNode.scrollTop)<1;a&&t&&D()}),[a,e.pageRouterNode,o,p,b,k,y]),N().createElement(N().Fragment,null,N().createElement("div",{className:"dashboard-title-container"},N().createElement("div",{className:"dashboard-title-text"},"Cell (",I.cellId,")"),N().createElement("div",{className:"dashboard-dropdown-container"},N().createElement(ze,{notebookId:e.notebookId}),N().createElement(Le,{notebookId:e.notebookId}),N().createElement(xe,{notebookId:e.notebookId}))),N().createElement(ge.Form,{className:"cell-filter-container",onSubmit:e=>e.preventDefault()},N().createElement("div",{className:"cell-radio-container"},N().createElement(ge.ButtonGroup,{size:"sm"},N().createElement(ge.ToggleButton,{style:{marginRight:"3px"},key:"0",id:"code-checkbox",type:"radio",variant:"outline-primary",value:"Code",checked:p,onClick:e=>{p&&!b?e.preventDefault():(_e.sendInteraction({click_type:p?"OFF":"ON",signal_origin:"CELL_DASHBOARD_FILTER_CODE_INPUT"}),g(!p))}},"Code"),N().createElement(ge.ToggleButton,{key:"1",id:"output-checkbox",type:"radio",variant:"outline-primary",value:"Output",checked:b,onClick:e=>{!p&&b?e.preventDefault():(_e.sendInteraction({click_type:b?"OFF":"ON",signal_origin:"CELL_DASHBOARD_FILTER_CODE_OUTPUT"}),C(!b))}},"Output"))),N().createElement("div",{className:"cell-radio-container"},N().createElement(ge.ButtonGroup,{size:"sm"},E.map(((e,t)=>N().createElement(ge.ToggleButton,{key:t,id:`filter-${t}`,type:"radio",variant:"outline-primary",name:"radio",value:e.value,checked:k===e.value,onChange:e=>{_e.sendInteraction({click_type:"ON",signal_origin:"CELL_DASHBOARD_FILTER_EXECUTION"}),_(Number(e.currentTarget.value))}},e.name))))),N().createElement(ge.Form.Control,{size:"sm",type:"text",placeholder:"Type text to filter...",onChange:e=>f(e.target.value)})),N().createElement(je(),{style:{overflow:"hidden"},scrollableTarget:h,dataLength:o.length,next:D,hasMore:a,loader:N().createElement(be,null)},(M=o,O=y,0===O.length?M:(O=O.toLowerCase(),M.filter((e=>{var t;return(null===(t=e.cell_input)||void 0===t?void 0:t.toLowerCase().includes(O))||e.cell_output_model&&JSON.stringify(e.cell_output_model).toLowerCase().includes(O)})))).map(((t,o)=>N().createElement(ge.Row,{key:o},"MarkdownExecution"===t.cell_type&&["all","ok"].includes(S[k-1])?N().createElement(Ve,{value:t,index:o,ExecutionContent:N().createElement(Ge,{markdownContent:t.cell_input,sanitizer:e.sanitizer})}):N().createElement(N().Fragment,null,(1===k||S[k-1]===t.status)&&N().createElement(Ve,{value:t,index:o,ExecutionContent:N().createElement(N().Fragment,null,p&&N().createElement(Ke,{cell_input:t.cell_input,language_mimetype:t.language_mimetype,className:"cell-content-container"}),p&&b&&t.cell_output_model.length>0&&N().createElement("br",null),b&&t.cell_output_model.length>0&&N().createElement(Ze,{cell_output_model:t.cell_output_model}))})))))));var M,O};var et=o(8352);et.Chart.register(...et.registerables);const tt=e=>{const t=(0,pe.useSelector)((e=>e.sidedashboard.navigationState)),[o,n]=(0,x.useState)(null),a=(0,x.useCallback)((e=>{n(e)}),[]);return N().createElement("div",{ref:a,className:"page-container",id:h},N().createElement(fe,null),(()=>{switch(t[t.length-1].pageName){case"Notebook":return N().createElement($e,{notebookId:e.notebookId,notebookName:e.notebookName});case"Cell":return N().createElement(Ye,{notebookId:e.notebookId,sanitizer:e.sanitizer,pageRouterNode:o});default:return null}})())};class ot extends we{constructor(e,t){super(e),this.addClass("dashboard-react-widget"),this.title.caption="Side Dashboard",this.title.icon=O,this.id="unanalytics-side-dashboard",this.node.setAttribute("role","region"),this.node.setAttribute("aria-label","Side dashboard section"),this._sanitizer=t}onBeforeShow(e){_e.sendInteraction({click_type:"ON",signal_origin:"RIGHT_DASHBOARD_SHOW_HIDE"})}onBeforeHide(e){_e.sendInteraction({click_type:"OFF",signal_origin:"RIGHT_DASHBOARD_SHOW_HIDE"})}computeComponentToRender(){const e=this._panelManager.panel,t=this._panelManager.validityChecks.tag;return e&&t?x.createElement(tt,{notebookId:t,notebookName:e.sessionContext.name,sanitizer:this._sanitizer}):x.createElement(x.Fragment,null)}}const nt=(e,t)=>{const o=3*e/t+.1;return Math.min(1,o)},at=({data:e,cellId:t,commands:o})=>N().createElement(N().Fragment,null,e&&e[0]&&e[1]?N().createElement("div",{onClick:e=>{e.preventDefault(),o.execute(u.dashboardOpenDashboardPlayback,{from:"Toc",cell_id:t})},className:"dashboard-toc-react-component",style:{backgroundColor:`rgba(25, 118, 210, ${nt(e[0],e[1])})`}},N().createElement("span",{className:"dashboard-toc-react-text"},e[0]+"/"+e[1])):N().createElement("div",{className:"dashboard-toc-react-component"}));class st extends N().Component{render(){const{panel:e,heading:t,headings:o,addReactComponent:n,isFirstCellOccurrence:a,tocDashboardData:s,commands:l}=this.props,r=this.props.itemRenderer(e,t,o);return r?N().createElement("li",{className:"dashboard-tocItem",onClick:e=>{_e.sendInteraction({click_type:"ON",signal_origin:"TOC_HEADING_CLICKED"}),e.preventDefault(),e.stopPropagation(),t.onClick()}},r,n&&N().createElement(at,{cellId:t.cellRef.model.id,data:a?s:null,commands:l})):null}}const lt=e=>{const[t,o]=(0,x.useState)(null),n=(0,pe.useSelector)((e=>e.tocdashboard.displayDashboard)),a=(0,pe.useSelector)((e=>e.commondashboard.refreshBoolean)),s=(0,pe.useSelector)((e=>e.commondashboard.dashboardQueryArgs));(0,x.useEffect)((()=>{l()}),[e.notebookCells,e.notebookPanel,a,s]),(0,x.useEffect)((()=>()=>{o(null)}),[e.notebookCells,e.notebookPanel]);const l=async()=>{const t=C.getMetadataComp(e.notebookPanel.model,g.notebookId);if(t&&e.notebookCells){try{const e=await w(`${Ut}/dashboard/${t}/toc?${v(s,t)}`);if(e.ok){const t=await e.json();return void o(t.data)}console.log(`${r}: Error:`,e.status)}catch(e){console.log(`${r}: Toc Fetch Error:`,e)}o(null)}},i=(t=>{const o=e.headings.map((e=>e.cellRef.model.id)),n=[...new Set(o)],a={},s=e.notebookCells;if(s&&t){const e=n.map((e=>s.indexOf(e)));e[0]=0,e.push(s.length);let o=0;for(let l=0;l<n.length;l++){const r=e[l],i=e[l+1];let c=0;if(-1===r)c=0;else for(let e=r;e<i;e++)c+=t.location_count[s[e]]||0;a[n[l]]=c,o+=c}a.total_count=o}return a})(t),c=new Set;return N().createElement("ul",{className:"dashboard-TableOfContents-content"},e.headings.map(((t,o)=>{const a=t.cellRef.model.id,s=!c.has(a);return s&&c.add(a),N().createElement(st,{panel:e.notebookPanel,heading:t,headings:e.headings,itemRenderer:e.itemRenderer,addReactComponent:n,isFirstCellOccurrence:s,tocDashboardData:[i[a],i.total_count],commands:e.commands,key:`${t.text}-${t.level}-${o++}`})})))};class rt extends ie{constructor(e,t){super(),this._preRenderedToolbar=null,this._showCode=!1,this._showMarkdown=!1,this._numbering=t.numbering,this._numberingH1=t.numberingH1,this._syncCollapseState=t.syncCollapseState,this._widget=e,this.sanitizer=t.sanitizer,this._collapseChanged=new re.Signal(this)}set numberingH1(e){this._numberingH1!==e&&(this._numberingH1=e,this._widget.update())}get numberingH1(){return this._numberingH1}set syncCollapseState(e){this._syncCollapseState!==e&&(this._syncCollapseState=e,this._widget.update())}get syncCollapseState(){return this._syncCollapseState}setNotebookMetadata(e,t){null!==t&&t.model&&C.setMetadataComp(t.model,e[0],e[1])}setNumbering(e,t){this._numbering=e,this._widget.update(),this.setNotebookMetadata(["dashboard-toc-autonumbering",this._numbering],t)}get numbering(){return this._numbering}setShowCode(e,t){this._showCode=e,this.setNotebookMetadata(["dashboard-toc-showcode",this._showCode],t),this._widget.update()}get showCode(){return this._showCode}setShowMarkdown(e,t){this._showMarkdown=e,this.setNotebookMetadata(["dashboard-toc-showmarkdowntxt",this._showMarkdown],t),this._widget.update()}get showMarkdown(){return this._showMarkdown}get collapseChanged(){return this._collapseChanged}set preRenderedToolbar(e){this._preRenderedToolbar=e}get preRenderedToolbar(){return this._preRenderedToolbar}updateWidget(){this._widget.update()}updateAndCollapse(e){this._collapseChanged.emit(e),this._widget.update()}initializeOptions(e,t,o,n,a){this._numbering=e,this._numberingH1=t,this._syncCollapseState=o,this._showCode=n,this._showMarkdown=a,this._widget.update()}}function it(e){if(e.length>0){let t=e.length-1;for(;t>=0;){if("header"===e[t].type)return e[t].level;t-=1}}return 0}const ct="jp-MarkdownHeadingCollapsed",dt="dashboard-toc-hr-collapsed";function ht(e,t,o,n,a,s){const l=[];if(e){const r=e.split("\n"),i=Math.min(r.length,3);let c="",d=0;for(;d<i-1;d++)c+=r[d]+"\n";c+=r[d],l.push({text:c,level:n+1,onClick:t(0),type:"code",prompt:o,cellRef:a,hasChild:!1,index:s})}return l[0]}function ut(e,t,o,n){if(t&&t.text){if(o&&"header"===o.type)for(let t=e.length-1;t>=0;t--)e[t]===o&&(e[t].hasChild=!0);n<0&&e.push(t),o=t}return[e,o]}const mt={allowedTags:["p","blockquote","b","i","strong","em","strike","code","br","div","span","pre","del"],allowedAttributes:{code:["class"],span:["class"],div:["class"],p:["class"],pre:["class"]}};function pt(e,t,o,n,a,s=!1,l=!0,r,i){const c=e.querySelectorAll("h1, h2, h3, h4, h5, h6, p");let d=a;const h=[];for(const e of c){if("p"===e.nodeName.toLowerCase()){if(e.innerHTML){const n=o.sanitize(e.innerHTML,mt);h.push({level:d+1,html:n.replace("¶",""),text:e.textContent?e.textContent:"",onClick:t(e),type:"markdown",cellRef:r,hasChild:!1,index:i})}continue}e.getElementsByClassName("numbering-entry").length>0&&e.removeChild(e.getElementsByClassName("numbering-entry")[0]);let a=o.sanitize(e.innerHTML,mt);a=a.replace("¶","");let c=parseInt(e.tagName[1],10);l||(c-=1),d=c;const u=Ct(n,c);if(s){const t=document.createElement("span");t.classList.add("numbering-entry"),t.textContent=null!=u?u:"",e.insertBefore(t,e.firstChild)}h.push({level:c,text:e.textContent?e.textContent:"",numbering:u,html:a,onClick:t(e),type:"header",cellRef:r,hasChild:!1,index:i})}return h}function gt(e,t,o,n,a,s){return e&&"markdown"===e.type&&s?[t,o]=ut(t,e,o,n):e&&"header"===e.type&&([t,o,n]=function(e,t,o,n,a){const s=e.length;if(o&&"header"===o.type&&o.level<t.level)for(let t=s-1;t>=0;t--)e[t]===o&&(e[t].hasChild=!0);return(n>=t.level||n<0)&&(e.push(t),n=a?t.level:-1),[e,o=t,n]}(t,e,o,n,a)),[t,o,n]}const bt=6;function Ct(e,t){if(null===e)return;let o="";if(e=function(e,t){for(let o=t+1;o<=bt;o++)void 0!==e[o]&&(e[o]=void 0);return void 0===e[t]?e[t]=1:e[t]+=1,e}(e,t),t>=1){for(let n=1;n<=t;n++)o+=(void 0===e[n]?"0":e[n])+".";o+=" "}return o}function vt(e){const t=e.split("\n");let o=t[0].match(/^([#]{1,6}) (.*)/);return o?{text:o[2].replace(/\[(.+)\]\(.+\)/g,"$1"),level:o[1].length,type:"markdown"}:t.length>1&&(o=t[1].match(/^ {0,3}([=]{2,}|[-]{2,})\s*$/),o)?{text:t[0].replace(/\[(.+)\]\(.+\)/g,"$1"),level:"="===o[1][0]?1:2,type:"markdown-alt"}:(o=t[0].match(/<h([1-6]).*>(.*)<\/h\1>/i),o?{text:o[2],level:parseInt(o[1],10),type:"html"}:null)}function wt(e,t,o,n,a,s){const l=t(0),r=[];let i=n;for(const t of e.split("\n"))if(t){const e=vt(t);e?(r.push({text:e.text,level:e.level,numbering:Ct(o,e.level),onClick:l,type:"header",cellRef:a,hasChild:!1,index:s}),i=e.level):r.push({text:t,level:i+1,onClick:l,type:"markdown",cellRef:a,hasChild:!1,index:s})}return r}function kt(e,t,o){if(t.index>-1||(null==o?void 0:o.length)){const n=e.content.activeCellIndex,a=t.index;if(n&&a<n){const e=o.indexOf(t)+1;if(e>=o.length)return!0;if((null==o?void 0:o[e].index)>n)return!0}}return!1}const _t=ne.dispatch;function yt(e,t,o){let n=!0,a=!1;o&&o.composite.tocDashboardSettings&&(n=o.composite.tocDashboardSettings.numberingH1,a=o.composite.tocDashboardSettings.syncCollapseState);const s=new rt(e,{numbering:!1,numberingH1:n,syncCollapseState:a,sanitizer:t});return o&&o.composite.tocDashboardSettings&&o.changed.connect((()=>{s.numberingH1=o.composite.tocDashboardSettings.numberingH1,s.syncCollapseState=o.composite.tocDashboardSettings.syncCollapseState})),{options:s,toolbarGenerator:function(e){return function(e,t){return class extends x.Component{constructor(o){super(o),this.state={showCode:!0,showMarkdown:!1,numbering:!1,showVisuDashboard:B.displayDashboard},t.context.ready.then((()=>{if(t){t.content.activeCellChanged.connect((()=>{e.updateWidget()}));const o=C.getMetadataComp(t.model,"dashboard-toc-autonumbering"),n=C.getMetadataComp(t.model,"dashboard-toc-showcode"),a=C.getMetadataComp(t.model,"dashboard-toc-showmarkdowntxt");e.initializeOptions(o||e.numbering,e.numberingH1,e.syncCollapseState,n||e.showCode,a||e.showMarkdown),this.setState({showCode:e.showCode,showMarkdown:e.showMarkdown,numbering:e.numbering})}}))}toggleCode(){_e.sendInteraction({click_type:e.showCode?"OFF":"ON",signal_origin:"TOC_TOOLBAR_CODE"}),e.setShowCode(!e.showCode,t),this.setState({showCode:e.showCode})}toggleMarkdown(){_e.sendInteraction({click_type:e.showMarkdown?"OFF":"ON",signal_origin:"TOC_TOOLBAR_MARKDOWN"}),e.setShowMarkdown(!e.showMarkdown,t),this.setState({showMarkdown:e.showMarkdown})}toggleNumbering(){_e.sendInteraction({click_type:e.numbering?"OFF":"ON",signal_origin:"TOC_TOOLBAR_NUMBERED"}),e.setNumbering(!e.numbering,t),this.setState({numbering:e.numbering})}toggleShowVisuDashboard(){const e=this.state.showVisuDashboard;_e.sendInteraction({click_type:e?"OFF":"ON",signal_origin:"TOC_TOOLBAR_SHOW_HIDE"}),_t(H(!e)),this.setState({showVisuDashboard:!e})}refreshDashboard(){_e.sendInteraction({click_type:"ON",signal_origin:"TOC_TOOLBAR_REFRESH"}),_t(te())}render(){const e=x.createElement("div",{onClick:e=>this.toggleCode(),role:"text","aria-label":"Toggle Code Cells",title:"Toggle Code Cells",className:this.state.showCode?"dashboard-toc-toolbar-icon-selected":"dashboard-toc-toolbar-icon"},x.createElement(I.codeIcon.react,null)),t=x.createElement("div",{onClick:e=>this.toggleMarkdown(),role:"text","aria-label":"Toggle Markdown Text Cells",title:"Toggle Markdown Text Cells",className:this.state.showMarkdown?"dashboard-toc-toolbar-icon-selected":"dashboard-toc-toolbar-icon"},x.createElement(I.markdownIcon.react,null)),o=x.createElement("div",{onClick:e=>this.toggleNumbering(),role:"text","aria-label":"Toggle Auto-Numbering",title:"Toggle Auto-Numbering",className:this.state.numbering?"dashboard-toc-toolbar-icon-selected":"dashboard-toc-toolbar-icon"},x.createElement(I.numberingIcon.react,null)),n=x.createElement("div",{onClick:e=>this.toggleShowVisuDashboard(),role:"text","aria-label":this.state.showVisuDashboard?"Hide Visualization Dashboard":"Show Visualization Dashboard",title:this.state.showVisuDashboard?"Hide Visualization Dashboard":"Show Visualization Dashboard",className:"dashboard-toc-toolbar-icon"},this.state.showVisuDashboard?x.createElement(R.react,null):x.createElement(A.react,null)),a=x.createElement("div",{onClick:e=>this.refreshDashboard(),role:"text","aria-label":"Refresh Dashboard",title:"Refresh Dashboard",className:"dashboard-toc-toolbar-icon"},x.createElement(I.refreshIcon.react,null));return x.createElement("div",null,x.createElement("div",{className:"dashboard-toc-toolbar"},x.createElement("div",{className:"dashboard-toc-toolbar-compartment"},e,t,o),x.createElement("div",{className:"dashboard-toc-toolbar-compartment"},n,a)))}}}(s,e)},itemRenderer:function(e,t,o=[]){return function(e,t,o,n=[]){var a;if("markdown"===o.type||"header"===o.type){let a="dashboard-toc-level-size-default";const s=o.numbering&&e.numbering?o.numbering:"",l=e.syncCollapseState?ct:dt;if("header"!==o.type&&"markdown"!==o.type||(a="dashboard-toc-level-size-"+o.level),"header"===o.type||e.showMarkdown){let r;r=o.html?x.createElement("span",{dangerouslySetInnerHTML:{__html:s+e.sanitizer.sanitize(o.html,mt)},className:"dashboard-"+o.type+"-cell dashboard-toc-cell-item"}):x.createElement("span",{className:"dashboard-"+o.type+"-cell dashboard-toc-cell-item"},s+o.text);let i=null;return"header"===o.type&&(i=x.createElement("div",{className:"jp-Collapser p-Widget lm-Widget",onClick:n=>{n.stopPropagation(),function(t,o,n){let a=!1;const s=e.syncCollapseState,l=C.getMetadataComp(null==n?void 0:n.cellRef.model,o);l&&(a=l),n?(_e.sendInteraction({click_type:a?"OFF":"ON",signal_origin:"TOC_COLLAPSE_HEADERS"}),s?t&&se.NotebookActions.setHeadingCollapse(null==n?void 0:n.cellRef,!a,t.content):a?C.deleteMetadataComp(n.cellRef.model,o):C.setMetadataComp(n.cellRef.model,o,!0),e.updateAndCollapse({heading:n,collapsedState:a})):e.updateWidget()}(t,l,o)}},x.createElement("div",{className:"dashboard-toc-Collapser-child"}))),r=x.createElement("div",{className:"dashboard-toc-entry-holder "+a+(t.content.activeCell===o.cellRef||kt(t,o,n)?" dashboard-toc-active-cell":"")},i,r),r}return null}if(t&&"code"===o.type&&e.showCode){const e=(null===(a=C.getMetadataComp(t.model,"language_info"))||void 0===a?void 0:a.mimetype)||"text";return x.createElement("div",{className:"dashboard-toc-code-cell-div"},x.createElement("div",{className:"dashboard-toc-code-cell-prompt"},o.prompt),x.createElement("span",{className:"dashboard-toc-code-span"},x.createElement(Ke,{cell_input:o.text,language_mimetype:e,className:"dashboard-toc-cell-input"})))}return null}(s,e,t,o)},generate:function(o){let n=[],a=-1;const l={};let r=null;for(let i=0;i<o.content.widgets.length;i++){const c=o.content.widgets[i],d=c.model,h=s.syncCollapseState?ct:dt;let u=C.getMetadataComp(d,h);if(u=u||!1,"code"!==d.type){if("markdown"===d.type){const e=c;let h;const m=it(n);if(e.rendered&&!e.inputHidden){const d=t=>()=>{e.rendered?(o.content.mode="command",c.node.scrollIntoView(),o.content.activeCellIndex=i):(o.content.activeCellIndex=i,t.scrollIntoView())},p=pt(c.node,d,t,l,m,s.numbering,s.numberingH1,c,i);for(h of p)[n,r,a]=gt(h,n,r,a,u,s.showMarkdown)}else{const e=e=>()=>{o.content.activeCellIndex=i,c.node.scrollIntoView()},t=wt(d.sharedModel.getSource(),e,l,m,c,i);for(h of t)[n,r,a]=gt(h,n,r,a,u,s.showMarkdown)}}}else if(!e||e&&s.showCode){const e=e=>()=>{o.content.activeCellIndex=i,c.node.scrollIntoView()},t=c.model.executionCount,s=null!==t?"["+t+"]: ":"[ ]: ",l=ht(d.sharedModel.getSource(),e,s,it(n),c,i);[n,r]=ut(n,l,r,a)}}return n},collapseChanged:s.collapseChanged}}const ft=e=>{const[t,o]=(0,x.useState)(e.startT1),[n,a]=(0,x.useState)(e.startT2),s=E(new Date),l=t=>{o(t),e.t1Callback(t)},r=t=>{a(t),e.t2Callback(t)};return N().createElement("div",{className:"dashboard-export-dialog-container"},N().createElement("p",null,"Select the time range of the data you want to export (the past week selected by default)."),N().createElement("div",{className:"dashboard-export-dialog-calendar-container"},N().createElement("div",{className:"dashboard-export-dialog-calendar"},N().createElement("p",null,"Start Date :"),N().createElement("input",{className:"dashboard-calendar-input",type:"datetime-local",value:E(t),onChange:e=>(e=>{const t=new Date(e);l(t),t>=n&&r(t)})(e.target.value),max:E(n)})),N().createElement("div",{className:"dashboard-export-dialog-calendar"},N().createElement("p",null,"End Date :"),N().createElement("input",{className:"dashboard-calendar-input",type:"datetime-local",value:E(n),onChange:e=>(e=>{const o=new Date(e);r(o),o<=t&&l(o)})(e.target.value),max:s}))))},Et=e=>{const[t,o]=(0,x.useState)(!1);return N().createElement("div",{className:"dashboard-toc-download-button"+(t?"-disabled":""),onClick:()=>{t||(e=>{let t=new Date,n=new Date;n.setDate(t.getDate()-7),(0,D.showDialog)({title:"Download Notebook Data",body:N().createElement(ft,{startT1:n,startT2:t,t1Callback:e=>n=e,t2Callback:e=>t=e}),buttons:[{accept:!0,actions:[],ariaLabel:"Export",caption:"",className:"",displayType:"default",iconClass:"",iconLabel:"",label:"Export"},D.Dialog.cancelButton()]}).then((a=>{a.button.accept&&((e,t,n)=>{o(!0);let a="";w(`${Ut}/dashboard/${e}/download_csv?t1=${t.toISOString()}&t2=${n.toISOString()}`).then((e=>{var t;if(e.ok){const o=e.headers.get("Content-Disposition");return a=(null===(t=null==o?void 0:o.match(/filename=(.+)/))||void 0===t?void 0:t[1])||"",e.blob()}})).then((e=>{if(e){const t=window.URL.createObjectURL(e),o=document.createElement("a");o.href=t,o.download=a,document.body.appendChild(o),o.click(),o.remove()}})).finally((()=>{o(!1)}))})(e,n,t)}))})(e.notebookId)}},N().createElement(I.downloadIcon.react,{className:"dashboard-toc-download-icon"}),"Export")};class St extends we{constructor(e,t,o,n){super(e),this.title.caption="Dashboard ToC",this.title.icon=O,this.id="unianalytics-toc-dashboard",this.node.setAttribute("role","region"),this.node.setAttribute("aria-label","Dashboard ToC section"),this._commands=t,this._notebookGenerator=yt(this,o,n),this._toolbar=null,e.panelSwitched.connect(this._onPanelSwitched,this)}onBeforeShow(e){_e.sendInteraction({click_type:"ON",signal_origin:"TOC_DASHBOARD_SHOW_HIDE"})}onBeforeHide(e){_e.sendInteraction({click_type:"OFF",signal_origin:"TOC_DASHBOARD_SHOW_HIDE"})}_onPanelSwitched(e){this._panelManager.panel?this._toolbar=this._notebookGenerator.toolbarGenerator(this._panelManager.panel):this._toolbar=null}computeComponentToRender(){const e=this._panelManager.panel;return e?x.createElement("div",{className:"dashboard-TableOfContents"},x.createElement("div",{className:"dashboard-stack-panel-header"},x.createElement("span",{className:"dashboard-toc-header-title"},le.PathExt.basename(e.context.localPath)),x.createElement(Et,{notebookId:this._panelManager.validityChecks.tag})),this._toolbar&&x.createElement(this._toolbar,null),x.createElement(lt,{headings:this._notebookGenerator.generate(e),itemRenderer:this._notebookGenerator.itemRenderer,notebookPanel:e,commands:this._commands,notebookCells:this._panelManager.notebookCells})):x.createElement(x.Fragment,null)}}var xt=o(4882);const Nt="cell-dashboard-button-container";class It extends xt.Widget{constructor(e,t){super(),this.addClass(Nt);const o=document.createElement("button");o.className="cell-dashboard-button",o.innerHTML=O.svgstr,o.title=o.disabled?"No notebook identifier":"Open Cell Dashboard",o.onclick=()=>{e.execute(u.dashboardOpenDashboardPlayback,{from:"Cell",cell_id:t})},this.node.appendChild(o)}dispose(){super.dispose()}}class Dt{constructor(e){this._commands=e}createNew(e){return new Mt(e,this._commands)}}class Mt{constructor(e,t){this._isDisposed=!1,this._panel=e,this._commands=t,this._previousActiveCell=this._panel.content.activeCell,e.context.ready.then((()=>{y(e)?(e.revealed.then((()=>{e&&!e.isDisposed&&setTimeout((()=>{this._onActiveCellChanged(e.content)}),1e3/60)})),e.content.renderingLayoutChanged.connect(this._onActiveCellChanged,this),e.content.activeCellChanged.connect(this._onActiveCellChanged,this),e.disposed.connect((()=>{e.content.activeCellChanged.disconnect(this._onActiveCellChanged)}))):this.dispose()}))}_addCellButton(e){const t=this._getCell(e);if(t){const e=new It(this._commands,t.model.id);t.layout.insertWidget(0,e)}}_onActiveCellChanged(e){this._previousActiveCell&&!this._previousActiveCell.isDisposed&&this._removeCellButton(this._previousActiveCell.model);const t=e.activeCell;null!==t&&(this._addCellButton(t.model),this._previousActiveCell=t)}_getCell(e){var t;return null===(t=this._panel)||void 0===t?void 0:t.content.widgets.find((t=>t.model===e))}_removeCellButton(e){const t=this._getCell(e);t&&this._findCellButtonWidgets(t).forEach((e=>{e.dispose()}))}_findCellButtonWidgets(e){return e.layout.widgets.filter((e=>e.hasClass(Nt)))||[]}get isDisposed(){return this._isDisposed}dispose(){var e;if(this.isDisposed)return;this._isDisposed=!0;const t=C.getCellsArrComp(null===(e=this._panel)||void 0===e?void 0:e.context.model.cells);if(t)for(const e of t)this._removeCellButton(e);this._panel=null,re.Signal.clearData(this)}}var Ot=o(7717);class Tt{constructor(e){this._commands=e}createNew(e){const t=new D.ToolbarButton({className:"playback-button",icon:T,onClick:()=>{this._commands.execute(u.dashboardOpenDashboardPlayback,{from:"Playback"})},tooltip:"Open Dashboard Playback Widget"});return e.context.ready.then((()=>{y(e)&&e.toolbar.insertItem(0,"openDashboardPlayback",t)})),new Ot.DisposableDelegate((()=>{t.dispose()}))}}const Rt=ne.dispatch,At=e=>{const t=(0,x.useRef)(null),o=(0,x.useRef)(null),n=new Date,[a,s]=(0,x.useState)(new Date(n.getTime()-72e5)),[l,r]=(0,x.useState)(new Date(n.getTime()+6e4)),[i,c]=(0,x.useState)(60),[d,h]=((e,t=25)=>{const[o,n]=(0,x.useState)(e),[a,s]=(0,x.useState)(e);return(0,x.useEffect)((()=>{const e=setTimeout((()=>n(a)),t);return()=>clearTimeout(e)}),[a,t]),[o,s]})(60),u=()=>{const e=a.getTime()+i/60*(l.getTime()-a.getTime());return new Date(e)};return(0,x.useEffect)((()=>{const t=u();Rt(q({notebookId:e.notebookId,t2ISOString:t.toISOString()}))}),[d,a,l]),(0,x.useEffect)((()=>()=>{Rt(q({notebookId:e.notebookId,t2ISOString:null}))}),[e.notebookId]),N().createElement("div",{className:"dashboard-playback-widget-container"},N().createElement("div",{className:"dashboard-playback-header"},N().createElement("div",{className:"dashboard-playback-icon-container"},N().createElement(T.react,{className:"dashboard-playback-icon"})),N().createElement("div",{className:"dashboard-playback-mode-title"},"Playback Mode"),N().createElement("div",{className:"dashboard-playback-icon-container-hovering dashboard-playback-icon-container",onClick:e.hideParent},N().createElement(ke.X,{className:"dashboard-playback-icon"}))),N().createElement("div",{className:"dashboard-playback-mode-text"},"Move data cutoff time back in custom range (includes non-active users):"),N().createElement("div",{className:"dashboard-playback-controls"},N().createElement("div",{className:"dashboard-playback-time-button-wrapper"},N().createElement(ge.Button,{className:"dashboard-playback-time-button-container",onClick:()=>{var e;return null===(e=t.current)||void 0===e?void 0:e.showPicker()}},"t",N().createElement("sub",null,"1"),N().createElement("input",{ref:t,id:"unianalytics-datetime-t1",className:"dashboard-playback-hidden-datepicker dashboard-calendar-input",type:"datetime-local",value:E(a),max:E(l),onChange:e=>{const t=new Date(e.target.value);t.getTime()>=l.getTime()&&r(new Date(t.getTime()+6e4)),s(t)}})),N().createElement("span",{className:"dashboard-playback-label"},"Min cutoff:",N().createElement("br",null)," ",S(a))),N().createElement("div",{className:"dashboard-playback-range-wrapper"},N().createElement(ge.Form.Range,{min:0,max:60,onChange:e=>{return t=parseInt(e.target.value),c(t),void h(t);var t},value:i}),N().createElement("span",{className:"dashboard-playback-label"},"Selected cutoff:",N().createElement("br",null)," ",S(u()))),N().createElement("div",{className:"dashboard-playback-time-button-wrapper"},N().createElement(ge.Button,{className:"dashboard-playback-time-button-container",onClick:()=>{var e;return null===(e=o.current)||void 0===e?void 0:e.showPicker()}},"t",N().createElement("sub",null,"2"),N().createElement("input",{ref:o,id:"unianalytics-datetime-t2",className:"dashboard-playback-hidden-datepicker dashboard-calendar-input",type:"datetime-local",value:E(l),max:E(n),onChange:e=>{const t=new Date(e.target.value);t.getTime()<=a.getTime()&&s(new Date(t.getTime()-6e4)),r(t)}})),N().createElement("span",{className:"dashboard-playback-label"},"Max cutoff:",N().createElement("br",null)," ",S(l)))))};class Lt extends D.ReactWidget{constructor(e){super(),this._dragging=!1,this._startX=0,this._startLeft=0,this.addClass("dashboard-playback-widget"),this.id="dashboard-playback-widget",this.node.setAttribute("role","region"),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.update=this.update.bind(this),this._onMouseDown=this._onMouseDown.bind(this),this._onMouseMove=this._onMouseMove.bind(this),this._onMouseUp=this._onMouseUp.bind(this),this.hide(),this._panelManager=e,e.panelUpdated.connect((()=>this.update())),e.panelSwitched.connect((()=>this.hide()))}onBeforeShow(e){_e.sendInteraction({click_type:"ON",signal_origin:"DASHBOARD_PLAYBACK_SHOW_HIDE"}),this.update()}onBeforeHide(e){_e.sendInteraction({click_type:"OFF",signal_origin:"DASHBOARD_PLAYBACK_SHOW_HIDE"}),this.update()}onUpdateRequest(e){super.onUpdateRequest(e)}render(){const e=this._panelManager.panel,t=this._panelManager.validityChecks.tag;return!this.isHidden&&e&&t?x.createElement(At,{notebookId:t,hideParent:()=>this.hide()}):x.createElement(x.Fragment,null)}onAfterAttach(e){super.onAfterAttach(e),this.node.addEventListener("mousedown",this._onMouseDown.bind(this))}onBeforeDetach(e){this.node.removeEventListener("mousedown",this._onMouseDown.bind(this)),super.onBeforeDetach(e)}_onMouseDown(e){0===e.button&&e.target===this.node&&(this._dragging=!0,this._startX=e.clientX,this._startLeft=this.node.offsetLeft,document.addEventListener("mousemove",this._onMouseMove),document.addEventListener("mouseup",this._onMouseUp))}_onMouseMove(e){if(!this._dragging)return;const t=e.clientX-this._startX;this.node.style.left=`${this._startLeft+t}px`}_onMouseUp(e){this._dragging=!1,document.removeEventListener("mousemove",this._onMouseMove),document.removeEventListener("mouseup",this._onMouseUp)}}const Bt=ne.dispatch;var $t=o(4481);let Ht=null;function jt(e){Ht=e}let Pt=null;const Ft="http://localhost:1015";let Ut=Ft,zt=Ft;const Vt={id:i,autoStart:!0,requires:[a.IFileBrowserFactory,n.ILayoutRestorer,n.ILabShell,s.IRenderMimeRegistry,l.ISettingRegistry],optional:[],activate:(e,t,o,n,a,s)=>{console.log(`JupyterLab extension ${r} is activated!`);const l="3.1.0",i=e.version.match(/[0-9]+/g),h=async function(e="",t={}){const o=$t.ServerConnection.makeSettings(),n=le.URLExt.join(o.baseUrl,"jupyterlab-unianalytics-dashboard",e);let a;try{a=await $t.ServerConnection.makeRequest(n,t,o)}catch(e){throw new $t.ServerConnection.NetworkError(e)}const s=await a.text();if(!a.ok)throw new $t.ServerConnection.ResponseError(a,s.message||s);return s}("get_user_id");if(i&&((e,t)=>{const o=e.split(/[^0-9]+/).map(Number),n=t.split(/[^0-9]+/).map(Number);for(let e=0;e<Math.min(o.length,n.length);e++){const t=o[e],a=n[e];if(t!==a)return t-a}const a=e.replace(/[0-9]+/g,""),s=t.replace(/[0-9]+/g,"");return a.localeCompare(s)})(e.version,l)>=0){const l=parseInt(i[0]);C.setJupyterVersion(l).then((async()=>{let l,i;if(s)try{[l,i]=await Promise.all([s.load(`${r}:plugin`),s.load(`${r}:endpoint`)]),p(l),l.changed.connect(p),b(i),i.changed.connect(b)}catch(e){console.error(`${r}: Failed to load settings.\n${e}`)}h.then((s=>{Pt=s;let i=[];fetch(`${Ut}/auth/login`,{method:"POST",headers:{"Unianalytics-User-Id":Pt}}).then((e=>{if(e.ok)return e.json();throw new Error("Unauthorized user")})).then((s=>{"logged_in"===s.status?(i=s.auth_notebooks||[],sessionStorage.setItem(c,s.access_token),sessionStorage.setItem(d,s.refresh_token),function(e,t){console.log(`JupyterLab extension ${r}: upload plugin is activated!`),e.commands.addCommand(u.uploadNotebook,{label:"Upload notebook to unianalytics",icon:e=>e.isContextMenu?I.fileUploadIcon:void 0,execute:o=>{const n=C.getFileComp(t);n&&e.serviceManager.contents.get(n.path).then((t=>{var o,a;(o=t.content,a=n.name,new Promise(((e,t)=>{const n=new FormData;n.append("notebook_content",JSON.stringify(o)),n.append("name",a),w(Ut+"/notebook/upload",{method:"POST",body:n}).then((o=>{o.ok?e(o.json()):t(new Error("Failed to upload notebook on the backend"))})).catch((e=>{console.log(`${r}: Error occurred while uploading notebook:`,e),t(e)}))}))).then((o=>{const a={...t,content:o};e.serviceManager.contents.save(n.path,a).then((e=>{const t=o.metadata[g.notebookId],a=`${Ut}/notebook/download/${t}`;(0,D.showDialog)({title:n.name,body:N().createElement(M,{url:a,fileName:n.name}),buttons:[D.Dialog.okButton()]}).catch((e=>console.log(e)))}))})).catch((e=>{(0,D.showDialog)({title:n.name,body:"Error uploading the file",buttons:[D.Dialog.cancelButton()]}).catch((e=>console.log(e)))}))}))}}),e.commands.addCommand(u.copyDownloadLink,{label:"Copy unianalytics notebook link",icon:e=>e.isContextMenu?I.linkIcon:void 0,execute:o=>{const n=C.getFileComp(t);n&&e.serviceManager.contents.get(n.path).then((e=>{const t=e.content.metadata;if(t){const e=t[g.notebookId];e?navigator.clipboard.writeText(`${Ut}/notebook/download/${e}`).catch((e=>{console.error(`${r}: Error copying link: `,e)})):console.log(`${r}: Notebook not tagged`)}}))}}),e.contextMenu.addItem({selector:m,type:"separator",rank:0}),e.contextMenu.addItem({args:{isContextMenu:!0},command:u.uploadNotebook,selector:m,rank:0}),e.contextMenu.addItem({args:{isContextMenu:!0},command:u.copyDownloadLink,selector:m,rank:0}),e.contextMenu.addItem({selector:m,type:"separator",rank:0})}(e,t),async function(e,t,o,n,a){console.log(`JupyterLab extension ${r}: dashboard plugins activated!`),(e=>{const t=e.shell.widgets();let o=C.getNextWidgetValueComp(t);for(;o;){if(o instanceof se.NotebookPanel){const t=o,n=new Tt(e.commands),a=new Dt(e.commands),s=n.createNew(t),l=a.createNew(t);t.disposed.connect((()=>{s.dispose(),l.dispose()}))}o=C.getNextWidgetValueComp(t)}e.docRegistry.addWidgetExtension("Notebook",new Dt(e.commands)),e.docRegistry.addWidgetExtension("Notebook",new Tt(e.commands))})(e);const s=new me,l=new ot(s,a.sanitizer),i=new St(s,e.commands,a.sanitizer,n),c=new Lt(s);function d(){const t=e.shell.currentWidget;if(!t)return;if(!(t instanceof se.NotebookPanel))return void(s.panel&&s.panel.isDisposed&&(s.panel=null));const o=t;s.panel=o}o.restored.then((()=>{xt.Widget.attach(c,o.node)})),o.add(l,"right",{rank:1e3}),o.add(i,"left",{rank:1e3}),e.commands.addCommand(u.dashboardOpenDashboardPlayback,{label:"Notebook Visualizations",caption:"Open Dashboards",icon:O,iconClass:"jp-icon3",execute:t=>{"Playback"===t.from?(l.isVisible||Bt(z()),i.isVisible||e.shell.activateById(i.id),c.isAttached&&(c.isHidden?c.show():c.hide())):"Cell"===t.from?(_e.sendInteraction({click_type:"ON",signal_origin:"NOTEBOOK_CELL_BUTTON"}),Bt(V({cellId:t.cell_id}))):"Toc"===t.from&&(_e.sendInteraction({click_type:"ON",signal_origin:"TOC_OPEN_CELL_DASHBOARD"}),Bt(V({cellId:t.cell_id}))),l.isVisible||e.shell.activateById(l.id)}}),t&&(t.add(l,`${r}:dashboard-notebook-restorer`),t.add(i,`${r}:dashboard-toc-restorer`)),o&&o.currentChanged.connect(d),e.restored.then((()=>{d()}))}(e,o,n,l,a)):console.log(`${r}: User not authenticated`)})).catch((e=>{console.log(`${r}: Authentication error, ${e}`)})).finally((()=>{window.postMessage({identifier:"unianalytics",authNotebooks:i},window.origin)}))})).catch((e=>{console.error(`${r}: Failed to access userId, the jupyterlab_unianalytics_dashboard server extension appears to be missing.\n${e}`)}))}))}else console.log(`${r}: Use a more recent version of JupyterLab (>=${l})`);function p(e){var t;const o=e.composite.commonDashboardSettings;o?_e.setPermission(o.dashboardCollection||!1):_e.setPermission((null===(t=e.default("commonDashboardSettings"))||void 0===t?void 0:t.dashboardCollection)||!1)}function b(e){const t=e.composite.useLocalBackend,o=e.composite.backendEndpoint;t?(Ut=Ft,zt=Ft):"string"==typeof o?(Ut=o,zt=o):(Ut=Ft,zt=Ft)}}},Wt=Vt},2204:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%272%27 fill=%27%23fff%27/%3e%3c/svg%3e"},9609:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%2386b7fe%27/%3e%3c/svg%3e"},2469:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%23fff%27/%3e%3c/svg%3e"},7486:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%280, 0, 0, 0.25%29%27/%3e%3c/svg%3e"},991:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%28255, 255, 255, 0.25%29%27/%3e%3c/svg%3e"},4144:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e"},6254:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23000%27%3e%3cpath d=%27M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z%27/%3e%3c/svg%3e"},5321:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23052c65%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e"},3460:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23212529%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e"},1281:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%236ea8fe%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e"},5647:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z%27/%3e%3c/svg%3e"},1692:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e"},6770:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23343a40%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e"},6711:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23dee2e6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e"},8931:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10h8%27/%3e%3c/svg%3e"},6199:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e"},2956:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e"},2221:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%2833, 37, 41, 0.75%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e"},5122:e=>{e.exports="data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z%27/%3e%3c/svg%3e"}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkjupyterlab_unianalytics_dashboard=self.webpackChunkjupyterlab_unianalytics_dashboard||[]).push([[546],{1150:(n,o,e)=>{e.d(o,{Z:()=>d});var r=e(8081),t=e.n(r),a=e(3645),i=e.n(a)()(t());i.push([n.id,".cell-dashboard-button-container {\n position: absolute;\n left: 13px;\n bottom: -29px;\n width: var(--jp-cell-prompt-width);\n height: 34px;\n z-index: 9999;\n}\n\n.cell-dashboard-button {\n cursor: pointer;\n background-color: var(--jp-brand-color1);\n border-radius: 0 0 5px 5px;\n border: none;\n padding: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.cell-dashboard-button:hover {\n background-color: var(--jp-brand-color0);\n}\n\n.cell-dashboard-button:disabled {\n background-color: var(--jp-inverse-layout-color4);\n cursor: not-allowed;\n}\n\n.cell-dashboard-button svg {\n width: 20px;\n height: 20px;\n}\n\n.cell-dashboard-button [fill] {\n fill: white;\n}\n\n.dashboard-export-dialog-container {\n padding: 20px 0;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.dashboard-export-dialog-container p {\n font-size: var(--jp-ui-font-size2);\n font-weight: 400;\n padding-left: 8px;\n}\n\n.dashboard-export-dialog-calendar-container {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: 15px;\n cursor: default;\n padding: 20px;\n}\n\n.dashboard-export-dialog-calendar {\n border: 1px solid var(--jp-brand-color1);\n border-radius: 3px;\n display: flex;\n flex-direction: column;\n padding: 20px;\n cursor: pointer;\n}\n\n.dashboard-calendar-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 12px;\n padding: 14px 20px;\n}\n\ninput.dashboard-calendar-input {\n cursor: pointer;\n}\n\nbody[data-jp-theme-light='false'] input.dashboard-calendar-input {\n color-scheme: dark;\n}\n\n.dashboard-calendar-input-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 15px;\n}\n\n.dashboard-calendar-input-wrapper.disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.dashboard-calendar-input-wrapper.disabled input.dashboard-calendar-input {\n pointer-events: none;\n background-color: var(--jp-layout-color4);\n}\n\n.dashboard-calendar-button-container {\n display: flex;\n justify-content: space-between;\n padding: 20px 15px 5px;\n}\n",""]);const d=i},3630:(n,o,e)=>{e.d(o,{Z:()=>d});var r=e(8081),t=e.n(r),a=e(3645),i=e.n(a)()(t());i.push([n.id,".dashboard-panel {\n background-color: var(--jp-layout-color1);\n}\n\n.dashboard-react-widget {\n display: flex;\n height: 100%;\n min-width: 335px !important;\n}\n\n.page-container {\n display: flex;\n overflow-y: auto;\n scrollbar-gutter: stable;\n padding: 20px;\n flex-direction: column;\n flex: 1;\n}\n\n.chart-card {\n max-height: 400px;\n}\n\n.chart-card-title {\n text-align: center;\n padding-top: 15px;\n font-size: medium !important;\n}\n\n.chart-card-body {\n min-height: 260px;\n padding-top: 0 !important;\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.breadcrumb-container {\n margin-bottom: 16px;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n}\n\n.breadcrumb-tile {\n padding: 2px 13px 2px 8px;\n border-radius: 0 60px 60px 0;\n cursor: pointer;\n color: var(--jp-inverse-layout-color1);\n font-weight: 500;\n font-size: 20px;\n background-color: var(--jp-border-color1);\n opacity: 0.5;\n}\n\n.breadcrumb-tile-active {\n opacity: 1;\n background-color: var(--jp-brand-color1);\n color: white;\n}\n\n.breadcrumb-buttons-container {\n margin-left: auto;\n position: relative;\n}\n\n.dashboard-title-container {\n display: flex;\n margin-bottom: 15px;\n justify-content: space-between;\n align-items: center;\n}\n\n.dashboard-title-text {\n white-space: nowrap; /* Prevent text from wrapping */\n overflow: hidden; /* Hide overflowing content */\n text-overflow: ellipsis;\n font-size: 18px;\n color: var(--jp-inverse-layout-color1);\n font-weight: 700;\n}\n\n.card {\n color: var(--jp-inverse-layout-color1) !important;\n background-color: var(--jp-layout-color2) !important;\n cursor: pointer;\n\n /* box-shadow: var(--jp-inverse-layout-color4) 0 0 5px 0; */\n}\n\n.cell-card {\n cursor: pointer;\n margin-bottom: 10px;\n margin-top: 10px;\n padding: 0;\n}\n\n.cell-card-wrapper {\n display: flex;\n align-items: center;\n}\n\n.cell-filter-container {\n display: flex;\n flex-wrap: wrap;\n gap: 10px;\n justify-content: space-between;\n color: var(--jp-inverse-layout-color1);\n}\n\n.cell-filter-container .form-control,\n.cell-filter-container .form-control:focus {\n border: solid 1px var(--jp-brand-color1);\n background-color: transparent;\n color: var(--jp-inverse-layout-color1);\n}\n\n.cell-filter-container .form-control::placeholder {\n color: var(--jp-inverse-layout-color3);\n}\n\n.cell-radio-container .btn-group .btn {\n display: flex;\n align-items: center;\n}\n\n.cell-radio-container .btn-outline-primary {\n border: solid 1px var(--jp-brand-color1);\n}\n\n.dashboard-dropdown-container {\n display: flex;\n margin-left: 10px;\n gap: 5px;\n}\n\n.custom-dropdown .dropdown-menu,\n.custom-dropdown .dropdown-item,\n.custom-dropdown .dropdown-header {\n background-color: var(--jp-layout-color2) !important;\n color: var(--jp-inverse-layout-color1) !important;\n}\n\n.custom-dropdown .dropdown-item:hover,\n.custom-dropdown .dropdown-item.highlighted {\n background-color: var(--jp-layout-color3) !important;\n}\n\n.custom-dropdown .dropdown-toggle::after {\n display: none !important;\n}\n\n.custom-dropdown .dropdown-menu {\n border-width: 2px;\n}\n\n.custom-dropdown button.btn,\n.custom-dropdown button.btn:hover {\n color: white;\n}\n\nbutton.dashboard-button {\n width: 32px;\n height: 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.dashboard-filter-red-dot {\n position: absolute;\n top: -3px;\n right: -3px;\n width: 10px;\n height: 10px;\n border-radius: 50%;\n background-color: red;\n display: block;\n border: 2px solid var(--jp-layout-color1);\n}\n\n.cell-user-title {\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 13px;\n font-weight: 500;\n padding: 0 0 10px;\n}\n\n.cell-execution-displayed-time {\n display: flex;\n justify-content: end;\n font-size: 12px;\n font-weight: 400;\n padding-top: 12px;\n}\n\n.cell-content-container {\n max-height: 320px;\n overflow: auto;\n padding: 10px;\n background-color: var(--jp-layout-color0);\n border: solid 1px var(--bs-card-border-color);\n border-radius: 3px;\n cursor: pointer;\n}\n\n.cell-content-container:hover {\n cursor: text;\n}\n\n.dashboard-icon {\n display: flex;\n width: 20px;\n height: auto;\n position: absolute;\n fill: white;\n}\n\n.dashboard-icon .jp-icon3 {\n fill: white;\n}\n\n.no-data-card {\n margin: 10px 0;\n text-align: center;\n padding: 30px 0;\n}\n\n.connectionid-container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n padding: 6px 10px;\n border-radius: 2px;\n margin-bottom: 6px;\n font-size: 11px;\n color: white;\n cursor: pointer;\n}\n\n.connectionid-container:hover {\n background-color: #424242;\n}\n\n.text-with-ellipsis {\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-right: 10px;\n}\n\n.send-icon {\n display: flex;\n justify-content: center;\n}\n\n.custom-dropdown-container {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 6px 0;\n}\n\n.group-dropdown-scroll {\n max-height: 215px;\n overflow-y: auto;\n}\n\n.group-dropdown-scroll.disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.custom-dropdown-item {\n padding: 8px 10px 4px 12px;\n}\n\n.custom-dropdown-item,\n.custom-dropdown-item * {\n cursor: pointer !important;\n}\n\n.custom-dropdown-item.disabled,\n.custom-dropdown-item.disabled * {\n cursor: not-allowed !important;\n}\n\n.custom-dropdown-item:hover:not(.disabled) {\n background-color: var(--jp-layout-color3) !important;\n}\n\n.custom-dropdown-item label {\n max-width: 190px;\n overflow-x: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.dashboard-playback-widget {\n position: absolute;\n bottom: 0;\n width: 480px;\n color: white;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--jp-layout-color0);\n padding: 20px 12px 8px;\n border: 3px solid var(--jp-brand-color1);\n border-bottom: none;\n border-radius: 8px 8px 0 0;\n animation: vibrate-shadow 1s ease-in-out 1;\n cursor: move;\n}\n\n@keyframes vibrate-shadow {\n 0%,\n 100% {\n box-shadow: 0 0 0 var(--jp-brand-color1);\n }\n\n 20% {\n box-shadow: 0 0 50px var(--jp-brand-color1);\n }\n}\n\n.dashboard-playback-widget-container {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n width: 100%;\n cursor: auto;\n}\n\n.dashboard-playback-header {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 10px;\n}\n\n.dashboard-playback-mode-title {\n flex: 1;\n color: var(--jp-inverse-layout-color0);\n text-align: left;\n font-size: 20px;\n margin-left: 3px;\n}\n\n.dashboard-playback-mode-text {\n color: var(--jp-inverse-layout-color0);\n margin-bottom: 10px;\n text-align: left;\n width: 100%;\n font-size: 13px;\n padding: 0 7px;\n}\n\n.dashboard-playback-controls {\n display: flex;\n justify-content: space-between;\n gap: 10px;\n width: 100%;\n z-index: 1000;\n}\n\n.dashboard-playback-icon-container {\n width: 32px;\n height: 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 3px;\n}\n\n.dashboard-playback-icon-container-hovering:hover {\n background-color: var(--jp-layout-color3);\n cursor: pointer;\n}\n\nbutton.dashboard-playback-time-button-container {\n width: 32px;\n height: 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.dashboard-playback-time-button-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n}\n\n.dashboard-playback-range-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n flex: 1;\n}\n\nbutton.dashboard-playback-time-button-container,\n.form-range {\n margin-bottom: auto;\n}\n\n.dashboard-playback-label {\n text-align: center;\n margin-top: 5px;\n font-size: 12px;\n color: var(--jp-inverse-layout-color3);\n}\n\n.dashboard-playback-icon {\n display: flex;\n width: 20px;\n height: auto;\n position: absolute;\n fill: var(--jp-inverse-layout-color0);\n}\n\n.dashboard-playback-icon .jp-icon3 {\n fill: var(--jp-inverse-layout-color0);\n}\n\n.dashboard-playback-hidden-datepicker {\n visibility: hidden;\n position: absolute;\n}\n\n/* change color of Form.Range slider */\n.dashboard-playback-widget-container\n input[type='range']::-webkit-slider-runnable-track {\n background: var(--jp-brand-color3);\n}\n\n/* for Firefox */\n.dashboard-playback-widget-container input[type='range']::-moz-range-track {\n background: var(--jp-brand-color3);\n}\n\n/* for IE */\n.dashboard-playback-widget-container input[type='range']::-ms-track {\n background: var(--jp-brand-color3);\n}\n",""]);const d=i},7563:(n,o,e)=>{e.d(o,{Z:()=>d});var r=e(8081),t=e.n(r),a=e(3645),i=e.n(a)()(t());i.push([n.id,".dashboard-TableOfContents-content {\n flex: 1 1 auto;\n margin: 0;\n padding: 0;\n list-style-type: none;\n overflow: auto;\n background-color: var(--jp-layout-color1);\n}\n\n.dashboard-TableOfContents-content li {\n display: flex;\n flex-direction: row;\n padding: 4px 12px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: pointer;\n padding-top: 8px;\n padding-bottom: 8px;\n width: 100%;\n}\n\n.dashboard-TableOfContents {\n display: flex;\n flex-direction: column;\n background: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n font-size: var(--jp-ui-font-size1);\n height: 100%;\n width: 100%;\n}\n\n.dashboard-TableOfContents .dashboard-stack-panel-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n text-transform: uppercase;\n border-bottom: var(--jp-border-width) solid var(--jp-border-color2);\n flex: 0 0 auto;\n font-size: var(--jp-ui-font-size0);\n font-weight: 600;\n letter-spacing: 1px;\n margin: 0;\n padding: 8px 12px;\n}\n\n.dashboard-toc-toolbar-icon,\n.dashboard-toc-toolbar-icon-selected {\n float: left;\n padding: 0;\n margin: 4px;\n display: flex;\n cursor: pointer;\n justify-content: center;\n align-items: center;\n background-repeat: no-repeat;\n background-color: transparent;\n background-size: 100%;\n background-position: center;\n height: 24px;\n width: 24px;\n border-radius: 2px;\n}\n\n[data-jp-theme-light='true'] .dashboard-toc-toolbar-icon:hover {\n background-color: var(--jp-input-background);\n}\n\n[data-jp-theme-light='false'] .dashboard-toc-toolbar-icon:hover {\n background-color: #3a3a3a;\n}\n\n[data-jp-theme-light='true'] .dashboard-toc-toolbar-icon-selected {\n background-color: var(--jp-layout-color2);\n}\n\n[data-jp-theme-light='false'] .dashboard-toc-toolbar-icon-selected {\n background-color: #565656;\n}\n\n.dashboard-toc-toolbar {\n position: relative;\n width: 100%;\n margin: 0;\n padding: 0 2px;\n user-select: none;\n border-bottom: var(--jp-border-width) solid var(--jp-border-color2);\n height: 36px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.dashboard-toc-toolbar-compartment {\n display: flex;\n}\n\n.dashboard-toc-entry-holder {\n flex-grow: 1;\n display: flex;\n flex-direction: row;\n padding: 2px 0;\n margin: 0;\n overflow: hidden;\n}\n\n.dashboard-toc-cell-item {\n padding-left: 10px;\n font-size: var(--jp-ui-font-size1);\n\n /* single line */\n white-space: nowrap;\n overflow: hidden;\n\n /* add ellipsis (...) if content overflows */\n text-overflow: ellipsis;\n}\n\n.dashboard-toc-Collapser-child {\n display: block;\n background: transparent;\n width: 100%;\n box-sizing: border-box;\n position: absolute;\n top: 0;\n bottom: 0;\n}\n\n.dashboard-toc-Collapser-child:hover {\n box-shadow: var(--jp-elevation-z2);\n background: var(--jp-brand-color1);\n opacity: var(--jp-cell-collapser-not-active-hover-opacity);\n}\n\n.dashboard-toc-active-cell .dashboard-toc-Collapser-child {\n background: var(--jp-brand-color1);\n}\n\n.dashboard-toc-entry-holder:hover .dashboard-toc-Collapser-child {\n box-shadow: var(--jp-elevation-z2);\n background: var(--jp-brand-color1);\n opacity: var(--jp-cell-collapser-not-active-hover-opacity);\n}\n\n.dashboard-toc-active-cell .dashboard-toc-Collapser-child:hover {\n background: var(--jp-brand-color0);\n opacity: 1;\n}\n\n.dashboard-toc-active-cell:hover .dashboard-toc-Collapser-child {\n background: var(--jp-brand-color0);\n opacity: 1;\n}\n\n.dashboard-TableOfContents-content code {\n font-size: inherit;\n}\n\n.dashboard-toc-Ellipses {\n height: 16px;\n margin-left: auto;\n}\n\n.dashboard-toc-Ellipses:hover {\n border: 1px solid var(--jp-border-color1);\n box-shadow: 0 0 2px 0 rgba(0 0 0 / 25%);\n background-color: var(--jp-layout-color0);\n}\n\n.dashboard-toc-level-size-2 {\n margin-left: 16px;\n}\n\n.dashboard-toc-level-size-3 {\n margin-left: 36px;\n}\n\n.dashboard-toc-level-size-4 {\n margin-left: 56px;\n}\n\n.dashboard-toc-level-size-5 {\n margin-left: 76px;\n}\n\n.dashboard-TableOfContents-placeholder {\n text-align: center;\n}\n\n.dashboard-TableOfContents-placeholderContent {\n color: var(--jp-content-font-color2);\n padding: 25px 30px 8px;\n}\n\n.dashboard-toc-react-component {\n display: flex;\n align-items: center;\n border-radius: 2px;\n padding: 2px;\n min-width: 52px;\n margin-left: 5px;\n font-size: small;\n text-align: center;\n word-wrap: break-word;\n}\n\n.dashboard-toc-react-text {\n width: 100%;\n color: var(--jp-inverse-layout-color0);\n}\n\n.dashboard-toc-header-title {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n margin-right: 5px;\n}\n\n.dashboard-toc-download-button {\n cursor: pointer;\n padding: 3px 6px;\n border-radius: 2px;\n display: flex;\n align-items: center;\n color: white;\n background-color: var(--jp-brand-color1);\n}\n\n.dashboard-toc-download-button:hover {\n background-color: var(--jp-brand-color0);\n}\n\n.dashboard-toc-download-button-disabled {\n cursor: wait;\n padding: 3px 6px;\n border-radius: 2px;\n display: flex;\n align-items: center;\n color: white;\n background-color: #575b5b;\n}\n\n.dashboard-toc-download-icon {\n margin-right: 4px;\n}\n\n.dashboard-toc-download-icon .jp-icon3 {\n fill: white;\n}\n",""]);const d=i},3612:(n,o,e)=>{e.d(o,{Z:()=>d});var r=e(8081),t=e.n(r),a=e(3645),i=e.n(a)()(t());i.push([n.id,".dashboard-toc-code-cell-div {\n display: inline-flex;\n overflow: hidden;\n flex-grow: 1;\n}\n\n.dashboard-toc-code-span {\n width: 100%;\n overflow: hidden;\n cursor: pointer;\n background: var(--jp-layout-color0);\n border: var(--jp-border-width) solid var(--jp-layout-color3);\n max-height: 38px;\n min-height: 24px;\n}\n\n/* target all children of dashboard-toc-cell-input and change the font-size */\n.dashboard-toc-cell-input * {\n font-size: 9px;\n overflow: hidden;\n}\n\n.dashboard-toc-code-cell-prompt {\n flex: 0 0 27px;\n color: var(--jp-cell-prompt-not-active-font-color);\n opacity: var(--jp-cell-prompt-not-active-opacity);\n font-family: var(--jp-cell-prompt-font-family);\n padding: var(--jp-code-padding);\n padding-right: 0;\n padding-left: 0;\n letter-spacing: var(--jp-cell-prompt-letter-spacing);\n line-height: var(--jp-code-line-height);\n font-size: 8px;\n border: var(--jp-border-width) solid transparent;\n text-align: left;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n",""]);const d=i},939:(n,o,e)=>{e.d(o,{Z:()=>d});var r=e(8081),t=e.n(r),a=e(3645),i=e.n(a)()(t());i.push([n.id,".unianalytics-link-container {\n border: 1px solid var(--jp-inverse-layout-color4);\n border-radius: 5px;\n display: flex;\n align-items: center;\n margin: 0;\n padding: 0;\n}\n\n.unianalytics-link {\n padding: 5px 15px;\n flex: 1;\n max-width: 90%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.unianalytics-link-button-container {\n padding: 5px;\n border-left: 1px solid var(--jp-inverse-layout-color4);\n display: flex;\n align-items: center;\n margin-left: auto;\n}\n\n.unianalytics-link-button {\n border: none;\n background: transparent;\n cursor: pointer;\n display: flex;\n align-items: center;\n}\n",""]);const d=i},3645:n=>{n.exports=function(n){var o=[];return o.toString=function(){return this.map((function(o){var e="",r=void 0!==o[5];return o[4]&&(e+="@supports (".concat(o[4],") {")),o[2]&&(e+="@media ".concat(o[2]," {")),r&&(e+="@layer".concat(o[5].length>0?" ".concat(o[5]):""," {")),e+=n(o),r&&(e+="}"),o[2]&&(e+="}"),o[4]&&(e+="}"),e})).join("")},o.i=function(n,e,r,t,a){"string"==typeof n&&(n=[[null,n,void 0]]);var i={};if(r)for(var d=0;d<this.length;d++){var l=this[d][0];null!=l&&(i[l]=!0)}for(var c=0;c<n.length;c++){var p=[].concat(n[c]);r&&i[p[0]]||(void 0!==a&&(void 0===p[5]||(p[1]="@layer".concat(p[5].length>0?" ".concat(p[5]):""," {").concat(p[1],"}")),p[5]=a),e&&(p[2]?(p[1]="@media ".concat(p[2]," {").concat(p[1],"}"),p[2]=e):p[2]=e),t&&(p[4]?(p[1]="@supports (".concat(p[4],") {").concat(p[1],"}"),p[4]=t):p[4]="".concat(t)),o.push(p))}},o}},8081:n=>{n.exports=function(n){return n[1]}},3379:n=>{var o=[];function e(n){for(var e=-1,r=0;r<o.length;r++)if(o[r].identifier===n){e=r;break}return e}function r(n,r){for(var a={},i=[],d=0;d<n.length;d++){var l=n[d],c=r.base?l[0]+r.base:l[0],p=a[c]||0,s="".concat(c," ").concat(p);a[c]=p+1;var b=e(s),u={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==b)o[b].references++,o[b].updater(u);else{var h=t(u,r);r.byIndex=d,o.splice(d,0,{identifier:s,updater:h,references:1})}i.push(s)}return i}function t(n,o){var e=o.domAPI(o);return e.update(n),function(o){if(o){if(o.css===n.css&&o.media===n.media&&o.sourceMap===n.sourceMap&&o.supports===n.supports&&o.layer===n.layer)return;e.update(n=o)}else e.remove()}}n.exports=function(n,t){var a=r(n=n||[],t=t||{});return function(n){n=n||[];for(var i=0;i<a.length;i++){var d=e(a[i]);o[d].references--}for(var l=r(n,t),c=0;c<a.length;c++){var p=e(a[c]);0===o[p].references&&(o[p].updater(),o.splice(p,1))}a=l}}},569:n=>{var o={};n.exports=function(n,e){var r=function(n){if(void 0===o[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(n){e=null}o[n]=e}return o[n]}(n);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(e)}},9216:n=>{n.exports=function(n){var o=document.createElement("style");return n.setAttributes(o,n.attributes),n.insert(o,n.options),o}},3565:(n,o,e)=>{n.exports=function(n){var o=e.nc;o&&n.setAttribute("nonce",o)}},7795:n=>{n.exports=function(n){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var o=n.insertStyleElement(n);return{update:function(e){!function(n,o,e){var r="";e.supports&&(r+="@supports (".concat(e.supports,") {")),e.media&&(r+="@media ".concat(e.media," {"));var t=void 0!==e.layer;t&&(r+="@layer".concat(e.layer.length>0?" ".concat(e.layer):""," {")),r+=e.css,t&&(r+="}"),e.media&&(r+="}"),e.supports&&(r+="}");var a=e.sourceMap;a&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),o.styleTagTransform(r,n,o.options)}(o,n,e)},remove:function(){!function(n){if(null===n.parentNode)return!1;n.parentNode.removeChild(n)}(o)}}}},4589:n=>{n.exports=function(n,o){if(o.styleSheet)o.styleSheet.cssText=n;else{for(;o.firstChild;)o.removeChild(o.firstChild);o.appendChild(document.createTextNode(n))}}},5546:(n,o,e)=>{e.r(o);var r=e(3379),t=e.n(r),a=e(7795),i=e.n(a),d=e(569),l=e.n(d),c=e(3565),p=e.n(c),s=e(9216),b=e.n(s),u=e(4589),h=e.n(u),f=e(1150),x={};x.styleTagTransform=h(),x.setAttributes=p(),x.insert=l().bind(null,"head"),x.domAPI=i(),x.insertStyleElement=b(),t()(f.Z,x),f.Z&&f.Z.locals&&f.Z.locals;var g=e(939),m={};m.styleTagTransform=h(),m.setAttributes=p(),m.insert=l().bind(null,"head"),m.domAPI=i(),m.insertStyleElement=b(),t()(g.Z,m),g.Z&&g.Z.locals&&g.Z.locals;var v=e(3630),y={};y.styleTagTransform=h(),y.setAttributes=p(),y.insert=l().bind(null,"head"),y.domAPI=i(),y.insertStyleElement=b(),t()(v.Z,y),v.Z&&v.Z.locals&&v.Z.locals;var w=e(7563),j={};j.styleTagTransform=h(),j.setAttributes=p(),j.insert=l().bind(null,"head"),j.domAPI=i(),j.insertStyleElement=b(),t()(w.Z,j),w.Z&&w.Z.locals&&w.Z.locals;var k=e(3612),z={};z.styleTagTransform=h(),z.setAttributes=p(),z.insert=l().bind(null,"head"),z.domAPI=i(),z.insertStyleElement=b(),t()(k.Z,z),k.Z&&k.Z.locals&&k.Z.locals}}]);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|