jupyterlab-unianalytics-dashboard 4.0.20__tar.gz → 5.0.0__tar.gz
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-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/.copier-answers.yml +3 -3
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/CHANGELOG.md +23 -2
- jupyterlab_unianalytics_dashboard-5.0.0/LICENSE +21 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/PKG-INFO +56 -36
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/README.md +33 -5
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/_version.py +1 -1
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/package.json +8 -8
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/schemas/jupyterlab_unianalytics_dashboard/package.json.orig +7 -7
- jupyterlab_unianalytics_dashboard-4.0.20/jupyterlab_unianalytics_dashboard/labextension/static/546.e745443081cac1b9a637.js → jupyterlab_unianalytics_dashboard-5.0.0/jupyterlab_unianalytics_dashboard/labextension/static/546.61a6a427e418e90a1a97.js +1 -1
- jupyterlab_unianalytics_dashboard-5.0.0/jupyterlab_unianalytics_dashboard/labextension/static/686.bf9cd46d07e4efd4cb75.js +1 -0
- jupyterlab_unianalytics_dashboard-5.0.0/jupyterlab_unianalytics_dashboard/labextension/static/remoteEntry.8aa4bf574e381fd9c607.js +1 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/package.json +7 -7
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/pyproject.toml +1 -1
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/chat-dashboard/ChatContainer.tsx +7 -45
- jupyterlab_unianalytics_dashboard-5.0.0/src/dashboard-widgets/WebsocketManager.ts +125 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/index.ts +2 -1
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/plugins/dashboards.ts +56 -13
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/plugins/login.tsx +3 -0
- jupyterlab_unianalytics_dashboard-5.0.0/src/plugins/pushNotebookUpdate.ts +269 -0
- jupyterlab_unianalytics_dashboard-5.0.0/src/side-dashboard/components/common/DashboardSummaryCards.tsx +137 -0
- jupyterlab_unianalytics_dashboard-5.0.0/src/side-dashboard/components/common/GroupFilter.tsx +176 -0
- jupyterlab_unianalytics_dashboard-5.0.0/src/side-dashboard/components/common/SectionHeader.tsx +60 -0
- jupyterlab_unianalytics_dashboard-5.0.0/src/side-dashboard/components/notebook/CellExecutionProgressChart.tsx +341 -0
- jupyterlab_unianalytics_dashboard-5.0.0/src/side-dashboard/components/notebook/PendingUpdatesChart.tsx +1255 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/side-dashboard/pages/Notebook.tsx +3 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/utils/constants.ts +4 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/style/reactVisu.css +58 -4
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/tsconfig.json +1 -0
- jupyterlab_unianalytics_dashboard-4.0.20/LICENSE +0 -29
- jupyterlab_unianalytics_dashboard-4.0.20/jupyterlab_unianalytics_dashboard/labextension/static/221.5b20a4004934fcc0c54c.js +0 -1
- jupyterlab_unianalytics_dashboard-4.0.20/jupyterlab_unianalytics_dashboard/labextension/static/remoteEntry.2d559f5ab3111c3892dd.js +0 -1
- jupyterlab_unianalytics_dashboard-4.0.20/src/dashboard-widgets/WebsocketManager.ts +0 -76
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/.gitignore +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/.prettierignore +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/.yarnrc.yml +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/RELEASE.md +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/babel.config.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/conftest.py +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/install.json +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jest.config.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/junit.xml +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyter-config/server-config/jupyterlab_unianalytics_dashboard.json +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/__init__.py +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/handlers.py +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/schemas/jupyterlab_unianalytics_dashboard/endpoint.json +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/schemas/jupyterlab_unianalytics_dashboard/plugin.json +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/static/10.1e5c908a94fc4b83c2e5.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/static/18.759fbf2374edc42b5c3e.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/static/18.759fbf2374edc42b5c3e.js.LICENSE.txt +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/static/308.d9da4ce35f354c6f12e1.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/static/39.5a3b28a79ba693a9b627.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/static/426.a7015f9dfda310972c1b.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/static/533.f7a454b11ba5cd79dc0c.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/static/563.b613f734176cb51510ef.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/static/638.d37271636c4d956096de.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/static/708.323c3614d31a5918cfaf.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/static/708.323c3614d31a5918cfaf.js.LICENSE.txt +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/static/738.f4338fb8d8276b96c3f3.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/static/744.329dc4d1ed2f5c918266.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/static/798.33a8f0893a66574e9259.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/static/817.6437962faf359015be36.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/static/981.ebb9e1d6122980b5ff0e.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/static/981.ebb9e1d6122980b5ff0e.js.LICENSE.txt +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/static/style.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/labextension/static/third-party-licenses.json +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/tests/__init__.py +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/jupyterlab_unianalytics_dashboard/tests/test_handlers.py +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/schema/endpoint.json +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/schema/plugin.json +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/setup.py +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/__tests__/jupyterlab_unianalytics_dashboard.spec.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/chat-dashboard/ConnectionComponent.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/dashboard-widgets/ChatDashboardPanel.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/dashboard-widgets/DashboardPanel.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/dashboard-widgets/PanelManager.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/dashboard-widgets/PlaybackWidget.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/dashboard-widgets/TocDashboardPanel.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/dashboard-widgets/VisuDashboardPanel.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/icons/index.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/icons/react-app-env.d.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/playback/PlaybackComponent.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/plugins/uploadNotebook.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/redux/reducers/CommonDashboardReducer.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/redux/reducers/SideDashboardReducer.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/redux/reducers/ToCDashboardReducer.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/redux/store.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/redux/types.d.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/side-dashboard/PageRouter.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/side-dashboard/components/buttons/GroupDropDown.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/side-dashboard/components/buttons/SortDropDown.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/side-dashboard/components/buttons/TimeDropDown.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/side-dashboard/components/cell/CellInput.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/side-dashboard/components/cell/CellOutput.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/side-dashboard/components/cell/ExecutionComponent.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/side-dashboard/components/cell/MarkdownComponent.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/side-dashboard/components/layout/GridSystem.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/side-dashboard/components/layout/TopBreadcrumb.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/side-dashboard/components/notebook/CellDurationComponent.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/side-dashboard/components/notebook/ChartContainer.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/side-dashboard/components/notebook/CodeExecComponent.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/side-dashboard/components/placeholder/Loader.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/side-dashboard/components/placeholder/NoData.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/side-dashboard/components/placeholder/SidebarPlaceholder.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/side-dashboard/pages/Cell.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/toc-dashboard/ExportCSVButton.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/toc-dashboard/TocReactComponent.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/toc-dashboard/generator/index.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/toc-dashboard/generator/options_manager.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/toc-dashboard/generator/render.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/toc-dashboard/generator/toolbar_generator.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/toc-dashboard/generator/utils.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/toc-dashboard/tocDashboardItem.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/toc-dashboard/tocDashboardTree.tsx +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/utils/chartOptions.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/utils/compatibility.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/utils/headings.d.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/utils/interactionRecorder.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/utils/interfaces.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/utils/utils.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/widget-extensions/CellButton.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/widget-extensions/PlaybackButton.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/src/widget-extensions/index.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/style/base.css +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/style/icons/analytics.svg +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/style/icons/analyticsGen.svg +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/style/icons/analyticsLoginGen.svg +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/style/icons/analyticsReplayGen.svg +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/style/icons/eyeFill.svg +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/style/icons/eyeSlash.svg +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/style/icons/folder.svg +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/style/icons/notebook.svg +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/style/index.css +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/style/index.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/style/tocDashboard.css +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/style/tocDashboardEditor.css +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/style/upload.css +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/tsconfig.test.json +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/ui-tests/README.md +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/ui-tests/jupyter_server_test_config.py +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/ui-tests/package.json +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/ui-tests/playwright.config.js +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/ui-tests/tests/jupyterlab_unianalytics_dashboard.spec.ts +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/ui-tests/yarn.lock +0 -0
- {jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/yarn.lock +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
|
|
2
2
|
_commit: v4.2.5
|
|
3
3
|
_src_path: https://github.com/jupyterlab/extension-template
|
|
4
|
-
author_email:
|
|
5
|
-
author_name:
|
|
4
|
+
author_email: unianalytics.jupyterlab@hotmail.com
|
|
5
|
+
author_name: Uni Analytics
|
|
6
6
|
data_format: string
|
|
7
7
|
file_extension: ''
|
|
8
8
|
has_binder: true
|
|
@@ -14,7 +14,7 @@ mimetype_name: ''
|
|
|
14
14
|
project_short_description: A JupyterLab dashboard extension to visualize data from
|
|
15
15
|
students.
|
|
16
16
|
python_name: jupyterlab_unianalytics_dashboard
|
|
17
|
-
repository: https://github.com/chili-epfl/jupyter-dashboard
|
|
17
|
+
repository: https://github.com/chili-epfl/jupyter-analytics-dashboard
|
|
18
18
|
test: true
|
|
19
19
|
viewer_name: ''
|
|
20
20
|
|
{jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/CHANGELOG.md
RENAMED
|
@@ -2,12 +2,33 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- <START NEW CHANGELOG ENTRY> -->
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 5.0.0
|
|
6
|
+
|
|
7
|
+
([Full Changelog](https://github.com/chili-epfl/jupyter-analytics-dashboard/compare/v4.0.21...ad1c9cadc7a47e77e689b2bc4dee929787fd2d28))
|
|
8
|
+
|
|
9
|
+
### Merged PRs
|
|
10
|
+
|
|
11
|
+
- feat: add PendingUpdatesChart component for visualizing student update actions and response times [#1](https://github.com/chili-epfl/jupyter-analytics-dashboard/pull/1) ([@Harkeerat2002](https://github.com/Harkeerat2002), [@zy-cai](https://github.com/zy-cai))
|
|
12
|
+
|
|
13
|
+
### Contributors to this release
|
|
14
|
+
|
|
15
|
+
The following people contributed discussions, new ideas, code and documentation contributions, and review.
|
|
16
|
+
See [our definition of contributors](https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports).
|
|
17
|
+
|
|
18
|
+
([GitHub contributors page for this release](https://github.com/chili-epfl/jupyter-analytics-dashboard/graphs/contributors?from=2025-04-23&to=2026-02-04&type=c))
|
|
6
19
|
|
|
7
|
-
|
|
20
|
+
@Harkeerat2002 ([activity](https://github.com/search?q=repo%3Achili-epfl%2Fjupyter-analytics-dashboard+involves%3AHarkeerat2002+updated%3A2025-04-23..2026-02-04&type=Issues)) | @zy-cai ([activity](https://github.com/search?q=repo%3Achili-epfl%2Fjupyter-analytics-dashboard+involves%3Azy-cai+updated%3A2025-04-23..2026-02-04&type=Issues))
|
|
8
21
|
|
|
9
22
|
<!-- <END NEW CHANGELOG ENTRY> -->
|
|
10
23
|
|
|
24
|
+
## 4.0.21
|
|
25
|
+
|
|
26
|
+
Adding a real-time sync functionality that allows the teacher to push notebook and cell-level updates to the connected students.
|
|
27
|
+
|
|
28
|
+
## 4.0.20
|
|
29
|
+
|
|
30
|
+
No merged PRs
|
|
31
|
+
|
|
11
32
|
## 4.0.19
|
|
12
33
|
|
|
13
34
|
No merged PRs
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023-2025 CHILI Lab @ EPFL
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
{jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/PKG-INFO
RENAMED
|
@@ -1,48 +1,40 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: jupyterlab_unianalytics_dashboard
|
|
3
|
-
Version:
|
|
3
|
+
Version: 5.0.0
|
|
4
4
|
Dynamic: Keywords
|
|
5
5
|
Summary: A JupyterLab dashboard extension to visualize data from students.
|
|
6
|
-
Project-URL: Homepage, https://github.com/chili-epfl/jupyter-dashboard
|
|
7
|
-
Project-URL: Bug Tracker, https://github.com/chili-epfl/jupyter-dashboard
|
|
8
|
-
Project-URL: Repository, https://github.com/chili-epfl/jupyter-dashboard
|
|
9
|
-
Author-email:
|
|
10
|
-
License:
|
|
6
|
+
Project-URL: Homepage, https://github.com/chili-epfl/jupyter-analytics-dashboard
|
|
7
|
+
Project-URL: Bug Tracker, https://github.com/chili-epfl/jupyter-analytics-dashboard/issues
|
|
8
|
+
Project-URL: Repository, https://github.com/chili-epfl/jupyter-analytics-dashboard.git
|
|
9
|
+
Author-email: Uni Analytics <unianalytics.jupyterlab@hotmail.com>
|
|
10
|
+
License: MIT License
|
|
11
11
|
|
|
12
|
-
Copyright (c)
|
|
13
|
-
All rights reserved.
|
|
12
|
+
Copyright (c) 2023-2025 CHILI Lab @ EPFL
|
|
14
13
|
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
15
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
16
|
+
in the Software without restriction, including without limitation the rights
|
|
17
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
18
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
19
|
+
furnished to do so, subject to the following conditions:
|
|
17
20
|
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
The above copyright notice and this permission notice shall be included in all
|
|
22
|
+
copies or substantial portions of the Software.
|
|
20
23
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
30
|
-
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
31
|
-
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
32
|
-
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
33
|
-
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
34
|
-
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
35
|
-
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
36
|
-
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
37
|
-
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
38
|
-
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
24
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
25
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
26
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
27
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
28
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
29
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
30
|
+
SOFTWARE.
|
|
39
31
|
License-File: LICENSE
|
|
40
32
|
Classifier: Framework :: Jupyter
|
|
41
33
|
Classifier: Framework :: Jupyter :: JupyterLab
|
|
42
34
|
Classifier: Framework :: Jupyter :: JupyterLab :: 4
|
|
43
35
|
Classifier: Framework :: Jupyter :: JupyterLab :: Extensions
|
|
44
36
|
Classifier: Framework :: Jupyter :: JupyterLab :: Extensions :: Prebuilt
|
|
45
|
-
Classifier: License :: OSI Approved ::
|
|
37
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
46
38
|
Classifier: Programming Language :: Python
|
|
47
39
|
Classifier: Programming Language :: Python :: 3
|
|
48
40
|
Classifier: Programming Language :: Python :: 3.8
|
|
@@ -60,13 +52,13 @@ Requires-Dist: pytest-cov; extra == 'test'
|
|
|
60
52
|
Requires-Dist: pytest-jupyter[server]>=0.6.0; extra == 'test'
|
|
61
53
|
Description-Content-Type: text/markdown
|
|
62
54
|
|
|
63
|
-
#
|
|
55
|
+
# Jupyter Analytics Dashboard
|
|
64
56
|
|
|
65
|
-
[](https://github.com/chili-epfl/jupyter-analytics-dashboard/actions/workflows/binder-on-pr.yml)
|
|
58
|
+
[](https://github.com/chili-epfl/jupyter-analytics-dashboard/actions/workflows/build.yml)
|
|
59
|
+
[](https://github.com/chili-epfl/jupyter-analytics-dashboard/actions/workflows/check-release.yml)
|
|
68
60
|
|
|
69
|
-
|
|
61
|
+
This repository is part of the learning analytics system ([**Jupyter Analytics**](https://github.com/chili-epfl/jupyter-analytics)). It builds a JupyterLab extension that communicates with the [**Backend**](https://github.com/chili-epfl/jupyter-analytics-backend) and provides real-time visualizations of the interaction data collected by [**Telemetry**](https://github.com/chili-epfl/jupyter-analytics-telemetry).
|
|
70
62
|
|
|
71
63
|
## Requirements
|
|
72
64
|
|
|
@@ -197,3 +189,31 @@ More information are provided within the [ui-tests](./ui-tests/README.md) README
|
|
|
197
189
|
### Packaging the extension
|
|
198
190
|
|
|
199
191
|
See [RELEASE](RELEASE.md)
|
|
192
|
+
|
|
193
|
+
## Credits
|
|
194
|
+
|
|
195
|
+
- [Raphaël Mariétan](https://github.com/Rmarieta) (main developer)
|
|
196
|
+
- [Richard Davis](https://github.com/richarddavis) (developer, project manager, researcher)
|
|
197
|
+
- [Zhenyu Cai](https://github.com/zy-cai) (developer, researcher)
|
|
198
|
+
- [Pierre Dillenbourg](https://scholar.google.com/citations?user=FdvKJcIAAAAJ) (principle investigator, research advisor)
|
|
199
|
+
- [Roland Tormey](https://scholar.google.com/citations?user=IHrqibEAAAAJ) (research advisor)
|
|
200
|
+
|
|
201
|
+
This project is part of the "[Uni Analytics](https://data.snf.ch/grants/grant/187534)" project funded by SNSF (Swiss National Science Foundation). That's why in the source code we put "unianalytics" as the identifier. 😃
|
|
202
|
+
|
|
203
|
+
## Citation
|
|
204
|
+
|
|
205
|
+
If you find this repository useful, please cite our paper:
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
Cai, Z., Davis, R., Mariétan, R., Tormey, R., & Dillenbourg, P. (2025).
|
|
209
|
+
Jupyter Analytics: A Toolkit for Collecting, Analyzing, and Visualizing Distributed Student Activity in Jupyter Notebooks.
|
|
210
|
+
In Proceedings of the 56th ACM Technical Symposium on Computer Science Education (SIGCSE TS 2025).
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
## Copyright
|
|
214
|
+
|
|
215
|
+
© All rights reserved. ECOLE POLYTECHNIQUE FEDERALE DE LAUSANNE (EPFL), Switzerland, Computer-Human Interaction Lab for Learning & Instruction (CHILI), 2025
|
|
216
|
+
|
|
217
|
+
## License
|
|
218
|
+
|
|
219
|
+
This project is licensed under the MIT License. See the [LICENSE](https://github.com/chili-epfl/jupyter-analytics-telemetry/blob/main/LICENSE) file for details.
|
{jupyterlab_unianalytics_dashboard-4.0.20 → jupyterlab_unianalytics_dashboard-5.0.0}/README.md
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Jupyter Analytics Dashboard
|
|
2
2
|
|
|
3
|
-
[](https://github.com/chili-epfl/jupyter-analytics-dashboard/actions/workflows/binder-on-pr.yml)
|
|
4
|
+
[](https://github.com/chili-epfl/jupyter-analytics-dashboard/actions/workflows/build.yml)
|
|
5
|
+
[](https://github.com/chili-epfl/jupyter-analytics-dashboard/actions/workflows/check-release.yml)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
This repository is part of the learning analytics system ([**Jupyter Analytics**](https://github.com/chili-epfl/jupyter-analytics)). It builds a JupyterLab extension that communicates with the [**Backend**](https://github.com/chili-epfl/jupyter-analytics-backend) and provides real-time visualizations of the interaction data collected by [**Telemetry**](https://github.com/chili-epfl/jupyter-analytics-telemetry).
|
|
8
8
|
|
|
9
9
|
## Requirements
|
|
10
10
|
|
|
@@ -135,3 +135,31 @@ More information are provided within the [ui-tests](./ui-tests/README.md) README
|
|
|
135
135
|
### Packaging the extension
|
|
136
136
|
|
|
137
137
|
See [RELEASE](RELEASE.md)
|
|
138
|
+
|
|
139
|
+
## Credits
|
|
140
|
+
|
|
141
|
+
- [Raphaël Mariétan](https://github.com/Rmarieta) (main developer)
|
|
142
|
+
- [Richard Davis](https://github.com/richarddavis) (developer, project manager, researcher)
|
|
143
|
+
- [Zhenyu Cai](https://github.com/zy-cai) (developer, researcher)
|
|
144
|
+
- [Pierre Dillenbourg](https://scholar.google.com/citations?user=FdvKJcIAAAAJ) (principle investigator, research advisor)
|
|
145
|
+
- [Roland Tormey](https://scholar.google.com/citations?user=IHrqibEAAAAJ) (research advisor)
|
|
146
|
+
|
|
147
|
+
This project is part of the "[Uni Analytics](https://data.snf.ch/grants/grant/187534)" project funded by SNSF (Swiss National Science Foundation). That's why in the source code we put "unianalytics" as the identifier. 😃
|
|
148
|
+
|
|
149
|
+
## Citation
|
|
150
|
+
|
|
151
|
+
If you find this repository useful, please cite our paper:
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
Cai, Z., Davis, R., Mariétan, R., Tormey, R., & Dillenbourg, P. (2025).
|
|
155
|
+
Jupyter Analytics: A Toolkit for Collecting, Analyzing, and Visualizing Distributed Student Activity in Jupyter Notebooks.
|
|
156
|
+
In Proceedings of the 56th ACM Technical Symposium on Computer Science Education (SIGCSE TS 2025).
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## Copyright
|
|
160
|
+
|
|
161
|
+
© All rights reserved. ECOLE POLYTECHNIQUE FEDERALE DE LAUSANNE (EPFL), Switzerland, Computer-Human Interaction Lab for Learning & Instruction (CHILI), 2025
|
|
162
|
+
|
|
163
|
+
## License
|
|
164
|
+
|
|
165
|
+
This project is licensed under the MIT License. See the [LICENSE](https://github.com/chili-epfl/jupyter-analytics-telemetry/blob/main/LICENSE) file for details.
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jupyterlab_unianalytics_dashboard",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0",
|
|
4
4
|
"description": "A JupyterLab dashboard extension to visualize data from students.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jupyter",
|
|
7
7
|
"jupyterlab",
|
|
8
8
|
"jupyterlab-extension"
|
|
9
9
|
],
|
|
10
|
-
"homepage": "https://github.com/chili-epfl/jupyter-dashboard
|
|
10
|
+
"homepage": "https://github.com/chili-epfl/jupyter-analytics-dashboard",
|
|
11
11
|
"bugs": {
|
|
12
|
-
"url": "https://github.com/chili-epfl/jupyter-dashboard
|
|
12
|
+
"url": "https://github.com/chili-epfl/jupyter-analytics-dashboard/issues"
|
|
13
13
|
},
|
|
14
|
-
"license": "
|
|
14
|
+
"license": "MIT",
|
|
15
15
|
"author": {
|
|
16
|
-
"name": "
|
|
17
|
-
"email": "
|
|
16
|
+
"name": "Uni Analytics",
|
|
17
|
+
"email": "unianalytics.jupyterlab@hotmail.com"
|
|
18
18
|
},
|
|
19
19
|
"files": [
|
|
20
20
|
"lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"style": "style/index.css",
|
|
28
28
|
"repository": {
|
|
29
29
|
"type": "git",
|
|
30
|
-
"url": "https://github.com/chili-epfl/jupyter-dashboard
|
|
30
|
+
"url": "https://github.com/chili-epfl/jupyter-analytics-dashboard.git"
|
|
31
31
|
},
|
|
32
32
|
"scripts": {
|
|
33
33
|
"build": "jlpm build:lib && jlpm build:labextension:dev",
|
|
@@ -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.8aa4bf574e381fd9c607.js",
|
|
129
129
|
"extension": "./extension",
|
|
130
130
|
"style": "./style"
|
|
131
131
|
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jupyterlab_unianalytics_dashboard",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0",
|
|
4
4
|
"description": "A JupyterLab dashboard extension to visualize data from students.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jupyter",
|
|
7
7
|
"jupyterlab",
|
|
8
8
|
"jupyterlab-extension"
|
|
9
9
|
],
|
|
10
|
-
"homepage": "https://github.com/chili-epfl/jupyter-dashboard
|
|
10
|
+
"homepage": "https://github.com/chili-epfl/jupyter-analytics-dashboard",
|
|
11
11
|
"bugs": {
|
|
12
|
-
"url": "https://github.com/chili-epfl/jupyter-dashboard
|
|
12
|
+
"url": "https://github.com/chili-epfl/jupyter-analytics-dashboard/issues"
|
|
13
13
|
},
|
|
14
|
-
"license": "
|
|
14
|
+
"license": "MIT",
|
|
15
15
|
"author": {
|
|
16
|
-
"name": "
|
|
17
|
-
"email": "
|
|
16
|
+
"name": "Uni Analytics",
|
|
17
|
+
"email": "unianalytics.jupyterlab@hotmail.com"
|
|
18
18
|
},
|
|
19
19
|
"files": [
|
|
20
20
|
"lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"style": "style/index.css",
|
|
28
28
|
"repository": {
|
|
29
29
|
"type": "git",
|
|
30
|
-
"url": "https://github.com/chili-epfl/jupyter-dashboard
|
|
30
|
+
"url": "https://github.com/chili-epfl/jupyter-analytics-dashboard.git"
|
|
31
31
|
},
|
|
32
32
|
"scripts": {
|
|
33
33
|
"build": "jlpm build:lib && jlpm build:labextension:dev",
|
|
@@ -1 +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-component:hover {\n filter: brightness(1.2);\n transform: scale(1.05);\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
|
+
"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: var(--jp-ui-font-color1);\n cursor: pointer;\n background-color: var(--jp-layout-color0);\n transition: background-color 0.2s ease;\n}\n\n.connectionid-container:hover {\n background-color: var(--jp-layout-color2); /* subtle contrast on hover */\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.chat-title {\n color: var(--jp-ui-font-color1);\n font-size: 20px;\n font-weight: 500;\n}\n\n.chat-container {\n height: 50%;\n border-top: 1px solid var(--jp-border-color0);\n padding-top: 10px;\n}\n\n.chat-with-label {\n color: var(--jp-ui-font-color1);\n padding: 5px 0 15px;\n font-weight: 400;\n flex: 1;\n}\n\n.chat-input-container {\n display: flex;\n align-items: center;\n justify-content: space-between;\n border: 1px solid var(--jp-border-color0);\n border-radius: 2px;\n padding: 2px 0 2px 3px;\n}\n\n.chat-input {\n flex: 1;\n color: var(--jp-ui-font-color1);\n font-size: 14px;\n background: transparent;\n border: none;\n border-right: 1px solid var(--jp-border-color0);\n outline: none;\n}\n\n.chat-send-button {\n background: transparent;\n border: none;\n cursor: pointer;\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-current-username {\n margin-top: 15px;\n text-align: center;\n}\n\n.dashboard-loginbox-response-container {\n height: 50px;\n margin: 15px 0;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\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: 14px;\n color: var(--jp-brand-color1);\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-component:hover {\n filter: brightness(1.2);\n transform: scale(1.05);\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}}]);
|