From f699e3486c616853a027a230e2c70309367f8ec0 Mon Sep 17 00:00:00 2001 From: camera-2018 <2907618001@qq.com> Date: Sun, 28 Jul 2024 20:28:44 +0800 Subject: [PATCH] fix(jupyter): remove jupyter --- .../theme/css/jupyterlab/cells/inputarea.css | 70 - .../theme/css/jupyterlab/cells/widget.css | 237 --- .vitepress/theme/css/jupyterlab/index.css | 7 - .../css/jupyterlab/lumino.widgets.widget.css | 26 - .../theme/css/jupyterlab/materialcolors.css | 267 --- .../theme/css/jupyterlab/notebook.base.css | 460 ----- .../theme/css/jupyterlab/output.area.base.css | 276 --- .../theme/css/jupyterlab/rendermine.base.css | 634 ------ components/RenderJupyterNotebook.vue | 103 - notebook.md | 8 - package-lock.json | 1609 +-------------- package.json | 11 +- utils/index.js | 1 - utils/notebook/codemirror.js | 50 - utils/notebook/codemirror.theme.js | 180 -- utils/notebook/index.js | 348 ---- utils/notebook/latex.js | 194 -- utils/notebook/lib/index.js | 108 - utils/notebook/markdown.js | 10 - utils/notebook/renderers.js | 701 ------- utils/notebook/sanitizer.js | 948 --------- utils/notebook/style/base.css | 15 - utils/notebook/style/index.css | 8 - utils/notebook/style/index.js | 8 - 特征工程.ipynb | 1803 ----------------- 特征工程.json | 1803 ----------------- 26 files changed, 65 insertions(+), 9820 deletions(-) delete mode 100644 .vitepress/theme/css/jupyterlab/cells/inputarea.css delete mode 100644 .vitepress/theme/css/jupyterlab/cells/widget.css delete mode 100644 .vitepress/theme/css/jupyterlab/index.css delete mode 100644 .vitepress/theme/css/jupyterlab/lumino.widgets.widget.css delete mode 100644 .vitepress/theme/css/jupyterlab/materialcolors.css delete mode 100644 .vitepress/theme/css/jupyterlab/notebook.base.css delete mode 100644 .vitepress/theme/css/jupyterlab/output.area.base.css delete mode 100644 .vitepress/theme/css/jupyterlab/rendermine.base.css delete mode 100644 components/RenderJupyterNotebook.vue delete mode 100644 notebook.md delete mode 100644 utils/index.js delete mode 100644 utils/notebook/codemirror.js delete mode 100644 utils/notebook/codemirror.theme.js delete mode 100644 utils/notebook/index.js delete mode 100644 utils/notebook/latex.js delete mode 100644 utils/notebook/lib/index.js delete mode 100644 utils/notebook/markdown.js delete mode 100644 utils/notebook/renderers.js delete mode 100644 utils/notebook/sanitizer.js delete mode 100644 utils/notebook/style/base.css delete mode 100644 utils/notebook/style/index.css delete mode 100644 utils/notebook/style/index.js delete mode 100644 特征工程.ipynb delete mode 100644 特征工程.json diff --git a/.vitepress/theme/css/jupyterlab/cells/inputarea.css b/.vitepress/theme/css/jupyterlab/cells/inputarea.css deleted file mode 100644 index 203709a..0000000 --- a/.vitepress/theme/css/jupyterlab/cells/inputarea.css +++ /dev/null @@ -1,70 +0,0 @@ -/* 源码地址:https://github.com/jupyterlab/jupyterlab/blob/master/packages/cells/style/inputarea.css */ - -/* ----------------------------------------------------------------------------- -| Copyright (c) Jupyter Development Team. -| Distributed under the terms of the Modified BSD License. -|---------------------------------------------------------------------------- */ - -/* ----------------------------------------------------------------------------- -| Input -|---------------------------------------------------------------------------- */ - -/* All input areas */ -.jp-InputArea { - display: table; - table-layout: fixed; - width: 100%; - overflow: hidden; -} - -.jp-InputArea-editor { - display: table-cell; - overflow: hidden; - vertical-align: top; - - /* This is the non-active, default styling */ - border: var(--jp-border-width) solid var(--jp-cell-editor-border-color); - border-radius: 0; - background: var(--jp-cell-editor-background); -} - -.jp-InputPrompt { - display: table-cell; - vertical-align: top; - width: var(--jp-cell-prompt-width); - color: var(--jp-cell-inprompt-font-color); - font-family: var(--jp-cell-prompt-font-family); - padding: var(--jp-code-padding); - letter-spacing: var(--jp-cell-prompt-letter-spacing); - opacity: var(--jp-cell-prompt-opacity); - line-height: var(--jp-code-line-height); - font-size: var(--jp-code-font-size); - border: var(--jp-border-width) solid transparent; - - /* Right align prompt text, don't wrap to handle large prompt numbers */ - text-align: right; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - - /* Disable text selection */ - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -/* ----------------------------------------------------------------------------- -| Mobile -|---------------------------------------------------------------------------- */ -@media only screen and (max-width: 760px) { - .jp-InputArea-editor { - display: table-row; - margin-left: var(--jp-notebook-padding); - } - - .jp-InputPrompt { - display: table-row; - text-align: left; - } -} diff --git a/.vitepress/theme/css/jupyterlab/cells/widget.css b/.vitepress/theme/css/jupyterlab/cells/widget.css deleted file mode 100644 index a8fb0c2..0000000 --- a/.vitepress/theme/css/jupyterlab/cells/widget.css +++ /dev/null @@ -1,237 +0,0 @@ -/* stylelint-disable no-descending-specificity */ - -/* 源码地址:https://github.com/jupyterlab/jupyterlab/blob/master/packages/cells/style/widget.css */ - -/* ----------------------------------------------------------------------------- -| Copyright (c) Jupyter Development Team. -| Distributed under the terms of the Modified BSD License. -|---------------------------------------------------------------------------- */ - -/* ----------------------------------------------------------------------------- -| Private CSS variables -|---------------------------------------------------------------------------- */ - -:root { - --jp-private-cell-scrolling-output-offset: 5px; -} - -/* ----------------------------------------------------------------------------- -| Cell -|---------------------------------------------------------------------------- */ - -.jp-Cell { - padding: var(--jp-cell-padding); - margin: 0; - border: none; - outline: none; - background: transparent; -} - -/* ----------------------------------------------------------------------------- -| Common input/output -|---------------------------------------------------------------------------- */ - -.jp-Cell-inputWrapper, -.jp-Cell-outputWrapper { - display: flex; - flex-direction: row; - padding: 0; - margin: 0; - - /* Added to reveal the box-shadow on the input and output collapsers. */ - overflow: visible; -} - -/* Only input/output areas inside cells */ -.jp-Cell-inputArea, -.jp-Cell-outputArea { - flex: 1 1 auto; -} - -/* ----------------------------------------------------------------------------- -| Collapser -|---------------------------------------------------------------------------- */ - -/* Make the output collapser disappear when there is not output, but do so - * in a manner that leaves it in the layout and preserves its width. - */ -.jp-Cell.jp-mod-noOutputs .jp-Cell-outputCollapser { - border: none !important; - background: transparent !important; -} - -.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputCollapser { - min-height: var(--jp-cell-collapser-min-height); -} - -/* ----------------------------------------------------------------------------- -| Output -|---------------------------------------------------------------------------- */ - -/* Put a space between input and output when there IS output */ -.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputWrapper { - margin-top: 5px; -} - -.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea { - overflow-y: auto; - max-height: 24em; - margin-left: var(--jp-private-cell-scrolling-output-offset); - resize: vertical; -} - -.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea[style*='height'] { - max-height: unset; -} - -.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea::after { - content: ' '; - box-shadow: inset 0 0 6px 2px rgb(0 0 0 / 30%); - width: 100%; - height: 100%; - position: sticky; - bottom: 0; - top: 0; - margin-top: -50%; - float: left; - display: block; - pointer-events: none; -} - -.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-child { - padding-top: 6px; -} - -.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-prompt { - width: - calc( - var(--jp-cell-prompt-width) - var(--jp-private-cell-scrolling-output-offset) - ); -} - -/* ----------------------------------------------------------------------------- -| CodeCell -|---------------------------------------------------------------------------- */ - -/* ----------------------------------------------------------------------------- -| MarkdownCell -|---------------------------------------------------------------------------- */ - -.jp-MarkdownOutput { - display: table-cell; - width: 100%; - margin-top: 0; - margin-bottom: 0; - padding-left: var(--jp-code-padding); -} - -.jp-MarkdownOutput.jp-RenderedHTMLCommon { - overflow: auto; -} - -/* collapseHeadingButton (show always if hiddenCellsButton is _not_ shown) */ -.jp-collapseHeadingButton { - display: flex; - min-height: var(--jp-cell-collapser-min-height); - font-size: var(--jp-code-font-size); - position: absolute; - background-color: transparent; - background-size: 25px; - background-repeat: no-repeat; - background-position-x: center; - background-position-y: top; - background-image: var(--jp-icon-caret-down); - right: 0; - top: 0; - bottom: 0; -} - -.jp-collapseHeadingButton.jp-mod-collapsed { - background-image: var(--jp-icon-caret-right); -} - -/* - set the container font size to match that of content - so that the nested collapse buttons have the right size -*/ -.jp-MarkdownCell .jp-InputPrompt { - font-size: var(--jp-content-font-size1); -} - -/* - Align collapseHeadingButton with cell top header - The font sizes are identical to the ones in packages/rendermime/style/base.css -*/ -.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='1'] { - font-size: var(--jp-content-font-size5); - background-position-y: calc(0.3 * var(--jp-content-font-size5)); -} - -.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='2'] { - font-size: var(--jp-content-font-size4); - background-position-y: calc(0.3 * var(--jp-content-font-size4)); -} - -.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='3'] { - font-size: var(--jp-content-font-size3); - background-position-y: calc(0.3 * var(--jp-content-font-size3)); -} - -.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='4'] { - font-size: var(--jp-content-font-size2); - background-position-y: calc(0.3 * var(--jp-content-font-size2)); -} - -.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='5'] { - font-size: var(--jp-content-font-size1); - background-position-y: top; -} - -.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='6'] { - font-size: var(--jp-content-font-size0); - background-position-y: top; -} - -/* collapseHeadingButton (show only on (hover,active) if hiddenCellsButton is shown) */ -.jp-Notebook.jp-mod-showHiddenCellsButton .jp-collapseHeadingButton { - display: none; -} - -.jp-Notebook.jp-mod-showHiddenCellsButton :is(.jp-MarkdownCell:hover, .jp-mod-active) .jp-collapseHeadingButton { - display: flex; -} - -/* showHiddenCellsButton (only show if jp-mod-showHiddenCellsButton is set, which -is a consequence of the showHiddenCellsButton option in Notebook Settings) */ -.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton { - margin-left: calc(var(--jp-cell-prompt-width) + 2 * var(--jp-code-padding)); - margin-top: var(--jp-code-padding); - border: 1px solid var(--jp-border-color2); - background-color: var(--jp-border-color3) !important; - color: var(--jp-content-font-color0) !important; - display: flex; -} - -.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton:hover { - background-color: var(--jp-border-color2) !important; -} - -.jp-showHiddenCellsButton { - display: none; -} - -/* ----------------------------------------------------------------------------- -| Printing -|---------------------------------------------------------------------------- */ - -/* -Using block instead of flex to allow the use of the break-inside CSS property for -cell outputs. -*/ - -@media print { - .jp-Cell-inputWrapper, - .jp-Cell-outputWrapper { - display: block; - } -} diff --git a/.vitepress/theme/css/jupyterlab/index.css b/.vitepress/theme/css/jupyterlab/index.css deleted file mode 100644 index 0ce68a2..0000000 --- a/.vitepress/theme/css/jupyterlab/index.css +++ /dev/null @@ -1,7 +0,0 @@ -@import url('./lumino.widgets.widget.css'); -@import url('./materialcolors.css'); -@import url('./rendermine.base.css'); -@import url('./output.area.base.css'); -@import url('./cells/inputarea.css'); -@import url('./cells/widget.css'); -@import url('./notebook.base.css'); diff --git a/.vitepress/theme/css/jupyterlab/lumino.widgets.widget.css b/.vitepress/theme/css/jupyterlab/lumino.widgets.widget.css deleted file mode 100644 index c189954..0000000 --- a/.vitepress/theme/css/jupyterlab/lumino.widgets.widget.css +++ /dev/null @@ -1,26 +0,0 @@ -/* 源码地址:https://github.com/jupyterlab/lumino/blob/main/packages/widgets/style/widget.css */ - -/* - * Copyright (c) Jupyter Development Team. - * Distributed under the terms of the Modified BSD License. - */ - -/* ----------------------------------------------------------------------------- -| Copyright (c) Jupyter Development Team. -| Copyright (c) 2014-2017, PhosphorJS Contributors -| -| Distributed under the terms of the BSD 3-Clause License. -| -| The full license is in the file LICENSE, distributed with this software. -|---------------------------------------------------------------------------- */ - -.lm-Widget { - box-sizing: border-box; - position: relative; - overflow: hidden; - cursor: default; -} - -.lm-Widget.lm-mod-hidden { - display: none !important; -} diff --git a/.vitepress/theme/css/jupyterlab/materialcolors.css b/.vitepress/theme/css/jupyterlab/materialcolors.css deleted file mode 100644 index 2714dbc..0000000 --- a/.vitepress/theme/css/jupyterlab/materialcolors.css +++ /dev/null @@ -1,267 +0,0 @@ -/* 源码地址:https://github.com/jupyterlab/jupyterlab/blob/master/packages/apputils/style/materialcolors.css */ - -/* - * Copyright (c) Jupyter Development Team. - * Distributed under the terms of the Modified BSD License. - */ - -/** - * google-material-color v1.2.6 - * https://github.com/danlevan/google-material-color - */ -:root { - --md-red-50: #ffebee; - --md-red-100: #ffcdd2; - --md-red-200: #ef9a9a; - --md-red-300: #e57373; - --md-red-400: #ef5350; - --md-red-500: #f44336; - --md-red-600: #e53935; - --md-red-700: #d32f2f; - --md-red-800: #c62828; - --md-red-900: #b71c1c; - --md-red-A100: #ff8a80; - --md-red-A200: #ff5252; - --md-red-A400: #ff1744; - --md-red-A700: #d50000; - --md-pink-50: #fce4ec; - --md-pink-100: #f8bbd0; - --md-pink-200: #f48fb1; - --md-pink-300: #f06292; - --md-pink-400: #ec407a; - --md-pink-500: #e91e63; - --md-pink-600: #d81b60; - --md-pink-700: #c2185b; - --md-pink-800: #ad1457; - --md-pink-900: #880e4f; - --md-pink-A100: #ff80ab; - --md-pink-A200: #ff4081; - --md-pink-A400: #f50057; - --md-pink-A700: #c51162; - --md-purple-50: #f3e5f5; - --md-purple-100: #e1bee7; - --md-purple-200: #ce93d8; - --md-purple-300: #ba68c8; - --md-purple-400: #ab47bc; - --md-purple-500: #9c27b0; - --md-purple-600: #8e24aa; - --md-purple-700: #7b1fa2; - --md-purple-800: #6a1b9a; - --md-purple-900: #4a148c; - --md-purple-A100: #ea80fc; - --md-purple-A200: #e040fb; - --md-purple-A400: #d500f9; - --md-purple-A700: #a0f; - --md-deep-purple-50: #ede7f6; - --md-deep-purple-100: #d1c4e9; - --md-deep-purple-200: #b39ddb; - --md-deep-purple-300: #9575cd; - --md-deep-purple-400: #7e57c2; - --md-deep-purple-500: #673ab7; - --md-deep-purple-600: #5e35b1; - --md-deep-purple-700: #512da8; - --md-deep-purple-800: #4527a0; - --md-deep-purple-900: #311b92; - --md-deep-purple-A100: #b388ff; - --md-deep-purple-A200: #7c4dff; - --md-deep-purple-A400: #651fff; - --md-deep-purple-A700: #6200ea; - --md-indigo-50: #e8eaf6; - --md-indigo-100: #c5cae9; - --md-indigo-200: #9fa8da; - --md-indigo-300: #7986cb; - --md-indigo-400: #5c6bc0; - --md-indigo-500: #3f51b5; - --md-indigo-600: #3949ab; - --md-indigo-700: #303f9f; - --md-indigo-800: #283593; - --md-indigo-900: #1a237e; - --md-indigo-A100: #8c9eff; - --md-indigo-A200: #536dfe; - --md-indigo-A400: #3d5afe; - --md-indigo-A700: #304ffe; - --md-blue-50: #e3f2fd; - --md-blue-100: #bbdefb; - --md-blue-200: #90caf9; - --md-blue-300: #64b5f6; - --md-blue-400: #42a5f5; - --md-blue-500: #2196f3; - --md-blue-600: #1e88e5; - --md-blue-700: #1976d2; - --md-blue-800: #1565c0; - --md-blue-900: #0d47a1; - --md-blue-A100: #82b1ff; - --md-blue-A200: #448aff; - --md-blue-A400: #2979ff; - --md-blue-A700: #2962ff; - --md-light-blue-50: #e1f5fe; - --md-light-blue-100: #b3e5fc; - --md-light-blue-200: #81d4fa; - --md-light-blue-300: #4fc3f7; - --md-light-blue-400: #29b6f6; - --md-light-blue-500: #03a9f4; - --md-light-blue-600: #039be5; - --md-light-blue-700: #0288d1; - --md-light-blue-800: #0277bd; - --md-light-blue-900: #01579b; - --md-light-blue-A100: #80d8ff; - --md-light-blue-A200: #40c4ff; - --md-light-blue-A400: #00b0ff; - --md-light-blue-A700: #0091ea; - --md-cyan-50: #e0f7fa; - --md-cyan-100: #b2ebf2; - --md-cyan-200: #80deea; - --md-cyan-300: #4dd0e1; - --md-cyan-400: #26c6da; - --md-cyan-500: #00bcd4; - --md-cyan-600: #00acc1; - --md-cyan-700: #0097a7; - --md-cyan-800: #00838f; - --md-cyan-900: #006064; - --md-cyan-A100: #84ffff; - --md-cyan-A200: #18ffff; - --md-cyan-A400: #00e5ff; - --md-cyan-A700: #00b8d4; - --md-teal-50: #e0f2f1; - --md-teal-100: #b2dfdb; - --md-teal-200: #80cbc4; - --md-teal-300: #4db6ac; - --md-teal-400: #26a69a; - --md-teal-500: #009688; - --md-teal-600: #00897b; - --md-teal-700: #00796b; - --md-teal-800: #00695c; - --md-teal-900: #004d40; - --md-teal-A100: #a7ffeb; - --md-teal-A200: #64ffda; - --md-teal-A400: #1de9b6; - --md-teal-A700: #00bfa5; - --md-green-50: #e8f5e9; - --md-green-100: #c8e6c9; - --md-green-200: #a5d6a7; - --md-green-300: #81c784; - --md-green-400: #66bb6a; - --md-green-500: #4caf50; - --md-green-600: #43a047; - --md-green-700: #388e3c; - --md-green-800: #2e7d32; - --md-green-900: #1b5e20; - --md-green-A100: #b9f6ca; - --md-green-A200: #69f0ae; - --md-green-A400: #00e676; - --md-green-A700: #00c853; - --md-light-green-50: #f1f8e9; - --md-light-green-100: #dcedc8; - --md-light-green-200: #c5e1a5; - --md-light-green-300: #aed581; - --md-light-green-400: #9ccc65; - --md-light-green-500: #8bc34a; - --md-light-green-600: #7cb342; - --md-light-green-700: #689f38; - --md-light-green-800: #558b2f; - --md-light-green-900: #33691e; - --md-light-green-A100: #ccff90; - --md-light-green-A200: #b2ff59; - --md-light-green-A400: #76ff03; - --md-light-green-A700: #64dd17; - --md-lime-50: #f9fbe7; - --md-lime-100: #f0f4c3; - --md-lime-200: #e6ee9c; - --md-lime-300: #dce775; - --md-lime-400: #d4e157; - --md-lime-500: #cddc39; - --md-lime-600: #c0ca33; - --md-lime-700: #afb42b; - --md-lime-800: #9e9d24; - --md-lime-900: #827717; - --md-lime-A100: #f4ff81; - --md-lime-A200: #eeff41; - --md-lime-A400: #c6ff00; - --md-lime-A700: #aeea00; - --md-yellow-50: #fffde7; - --md-yellow-100: #fff9c4; - --md-yellow-200: #fff59d; - --md-yellow-300: #fff176; - --md-yellow-400: #ffee58; - --md-yellow-500: #ffeb3b; - --md-yellow-600: #fdd835; - --md-yellow-700: #fbc02d; - --md-yellow-800: #f9a825; - --md-yellow-900: #f57f17; - --md-yellow-A100: #ffff8d; - --md-yellow-A200: #ff0; - --md-yellow-A400: #ffea00; - --md-yellow-A700: #ffd600; - --md-amber-50: #fff8e1; - --md-amber-100: #ffecb3; - --md-amber-200: #ffe082; - --md-amber-300: #ffd54f; - --md-amber-400: #ffca28; - --md-amber-500: #ffc107; - --md-amber-600: #ffb300; - --md-amber-700: #ffa000; - --md-amber-800: #ff8f00; - --md-amber-900: #ff6f00; - --md-amber-A100: #ffe57f; - --md-amber-A200: #ffd740; - --md-amber-A400: #ffc400; - --md-amber-A700: #ffab00; - --md-orange-50: #fff3e0; - --md-orange-100: #ffe0b2; - --md-orange-200: #ffcc80; - --md-orange-300: #ffb74d; - --md-orange-400: #ffa726; - --md-orange-500: #ff9800; - --md-orange-600: #fb8c00; - --md-orange-700: #f57c00; - --md-orange-800: #ef6c00; - --md-orange-900: #e65100; - --md-orange-A100: #ffd180; - --md-orange-A200: #ffab40; - --md-orange-A400: #ff9100; - --md-orange-A700: #ff6d00; - --md-deep-orange-50: #fbe9e7; - --md-deep-orange-100: #ffccbc; - --md-deep-orange-200: #ffab91; - --md-deep-orange-300: #ff8a65; - --md-deep-orange-400: #ff7043; - --md-deep-orange-500: #ff5722; - --md-deep-orange-600: #f4511e; - --md-deep-orange-700: #e64a19; - --md-deep-orange-800: #d84315; - --md-deep-orange-900: #bf360c; - --md-deep-orange-A100: #ff9e80; - --md-deep-orange-A200: #ff6e40; - --md-deep-orange-A400: #ff3d00; - --md-deep-orange-A700: #dd2c00; - --md-brown-50: #efebe9; - --md-brown-100: #d7ccc8; - --md-brown-200: #bcaaa4; - --md-brown-300: #a1887f; - --md-brown-400: #8d6e63; - --md-brown-500: #795548; - --md-brown-600: #6d4c41; - --md-brown-700: #5d4037; - --md-brown-800: #4e342e; - --md-brown-900: #3e2723; - --md-grey-50: #fafafa; - --md-grey-100: #f5f5f5; - --md-grey-200: #eee; - --md-grey-300: #e0e0e0; - --md-grey-400: #bdbdbd; - --md-grey-500: #9e9e9e; - --md-grey-600: #757575; - --md-grey-700: #616161; - --md-grey-800: #424242; - --md-grey-900: #212121; - --md-blue-grey-50: #eceff1; - --md-blue-grey-100: #cfd8dc; - --md-blue-grey-200: #b0bec5; - --md-blue-grey-300: #90a4ae; - --md-blue-grey-400: #78909c; - --md-blue-grey-500: #607d8b; - --md-blue-grey-600: #546e7a; - --md-blue-grey-700: #455a64; - --md-blue-grey-800: #37474f; - --md-blue-grey-900: #263238; -} diff --git a/.vitepress/theme/css/jupyterlab/notebook.base.css b/.vitepress/theme/css/jupyterlab/notebook.base.css deleted file mode 100644 index 8a613cc..0000000 --- a/.vitepress/theme/css/jupyterlab/notebook.base.css +++ /dev/null @@ -1,460 +0,0 @@ -/* stylelint-disable no-descending-specificity */ - -/* 源码地址:https://github.com/jupyterlab/jupyterlab/blob/master/packages/notebook/style/base.css */ - -/* ----------------------------------------------------------------------------- -| Copyright (c) Jupyter Development Team. -| Distributed under the terms of the Modified BSD License. -|---------------------------------------------------------------------------- */ - -/* ----------------------------------------------------------------------------- -| CSS variables -|---------------------------------------------------------------------------- */ - -:root { - --jp-side-by-side-output-size: 1fr; - --jp-side-by-side-resized-cell: var(--jp-side-by-side-output-size); - --jp-private-notebook-dragImage-width: 304px; - --jp-private-notebook-dragImage-height: 36px; - --jp-private-notebook-selected-color: var(--md-blue-400); - --jp-private-notebook-active-color: var(--md-green-400); -} - -/* ----------------------------------------------------------------------------- -| Notebook -|---------------------------------------------------------------------------- */ - -.jp-NotebookPanel { - display: block; - height: 100%; -} - -.jp-NotebookPanel.jp-Document { - min-width: 240px; - min-height: 120px; -} - -.jp-Notebook { - padding: var(--jp-notebook-padding); - outline: none; - overflow: auto; - background: var(--jp-layout-color0); -} - -.jp-Notebook.jp-mod-scrollPastEnd::after { - display: block; - content: ''; - min-height: var(--jp-notebook-scroll-padding); -} - -.jp-MainAreaWidget-ContainStrict .jp-Notebook * { - contain: strict; -} - -.jp-Notebook-render * { - contain: none !important; -} - -.jp-Notebook .jp-Cell { - overflow: visible; -} - -.jp-Notebook .jp-Cell .jp-InputPrompt { - cursor: move; -} - -/* ----------------------------------------------------------------------------- -| Notebook state related styling -| -| The notebook and cells each have states, here are the possibilities: -| -| - Notebook -| - Command -| - Edit -| - Cell -| - None -| - Active (only one can be active) -| - Selected (the cells actions are applied to) -| - Multiselected (when multiple selected, the cursor) -| - No outputs -|---------------------------------------------------------------------------- */ - -/* Command or edit modes */ - -.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-InputPrompt { - opacity: var(--jp-cell-prompt-not-active-opacity); - color: var(--jp-cell-prompt-not-active-font-color); -} - -.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-OutputPrompt { - opacity: var(--jp-cell-prompt-not-active-opacity); - color: var(--jp-cell-prompt-not-active-font-color); -} - -/* cell is active */ -.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser { - background: var(--jp-brand-color1); -} - -/* cell is dirty */ -.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt { - color: var(--jp-warn-color1); -} - -.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt::before { - color: var(--jp-warn-color1); - content: '•'; -} - -.jp-Notebook .jp-Cell.jp-mod-active.jp-mod-dirty .jp-Collapser { - background: var(--jp-warn-color1); -} - -/* collapser is hovered */ -.jp-Notebook .jp-Cell .jp-Collapser:hover { - box-shadow: var(--jp-elevation-z2); - background: var(--jp-brand-color1); - opacity: var(--jp-cell-collapser-not-active-hover-opacity); -} - -/* cell is active and collapser is hovered */ -.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser:hover { - background: var(--jp-brand-color0); - opacity: 1; -} - -/* Command mode */ - -.jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-selected { - background: var(--jp-notebook-multiselected-color); -} - -.jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-active.jp-mod-selected:not(.jp-mod-multiSelected) { - background: transparent; -} - -/* Edit mode */ - -.jp-Notebook.jp-mod-editMode .jp-Cell.jp-mod-active .jp-InputArea-editor { - border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color); - box-shadow: var(--jp-input-box-shadow); - background-color: var(--jp-cell-editor-active-background); -} - -/* ----------------------------------------------------------------------------- -| Notebook drag and drop -|---------------------------------------------------------------------------- */ - -.jp-Notebook-cell.jp-mod-dropSource { - opacity: 0.5; -} - -.jp-Notebook-cell.jp-mod-dropTarget, -.jp-Notebook.jp-mod-commandMode .jp-Notebook-cell.jp-mod-active.jp-mod-selected.jp-mod-dropTarget { - border-top-color: var(--jp-private-notebook-selected-color); - border-top-style: solid; - border-top-width: 2px; -} - -.jp-dragImage { - display: block; - flex-direction: row; - width: var(--jp-private-notebook-dragImage-width); - height: var(--jp-private-notebook-dragImage-height); - border: var(--jp-border-width) solid var(--jp-cell-editor-border-color); - background: var(--jp-cell-editor-background); - overflow: visible; -} - -.jp-dragImage-singlePrompt { - box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.12); -} - -.jp-dragImage .jp-dragImage-content { - flex: 1 1 auto; - z-index: 2; - font-size: var(--jp-code-font-size); - font-family: var(--jp-code-font-family); - line-height: var(--jp-code-line-height); - padding: var(--jp-code-padding); - border: var(--jp-border-width) solid var(--jp-cell-editor-border-color); - background: var(--jp-cell-editor-background-color); - color: var(--jp-content-font-color3); - text-align: left; - margin: 4px 4px 4px 0; -} - -.jp-dragImage .jp-dragImage-prompt { - flex: 0 0 auto; - min-width: 36px; - color: var(--jp-cell-inprompt-font-color); - padding: var(--jp-code-padding); - padding-left: 12px; - font-family: var(--jp-cell-prompt-font-family); - letter-spacing: var(--jp-cell-prompt-letter-spacing); - line-height: 1.9; - font-size: var(--jp-code-font-size); - border: var(--jp-border-width) solid transparent; -} - -.jp-dragImage-multipleBack { - z-index: -1; - position: absolute; - height: 32px; - width: 300px; - top: 8px; - left: 8px; - background: var(--jp-layout-color2); - border: var(--jp-border-width) solid var(--jp-input-border-color); - box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.12); -} - -/* ----------------------------------------------------------------------------- -| Cell toolbar -|---------------------------------------------------------------------------- */ - -.jp-NotebookTools { - display: block; - min-width: var(--jp-sidebar-min-width); - color: var(--jp-ui-font-color1); - background: var(--jp-layout-color1); - - /* This is needed so that all font sizing of children done in ems is - * relative to this base size */ - font-size: var(--jp-ui-font-size1); - overflow: auto; -} - -.jp-NotebookTools-tool { - padding: 0 12px; -} - -.jp-ActiveCellTool { - padding: 12px; - display: flex; -} - -.jp-ActiveCell-Content { - flex: 1 1 auto; -} - -.jp-ActiveCellTool .jp-Cell-Content { - background: var(--jp-cell-editor-background); - border: var(--jp-border-width) solid var(--jp-cell-editor-border-color); - border-radius: 0; - min-height: 29px; -} - -.jp-ActiveCellTool .jp-InputPrompt { - min-width: calc(var(--jp-cell-prompt-width) * 0.75); -} - -.jp-Cell-Content > pre { - padding: 5px 4px; - margin: 0; - white-space: normal; -} - -.jp-MetadataEditorTool { - flex-direction: column; - padding: 12px 0; -} - -.jp-RankedPanel > :not(:first-child) { - margin-top: 12px; -} - -.jp-KeySelector select.jp-mod-styled { - font-size: var(--jp-ui-font-size1); - color: var(--jp-ui-font-color0); - border: var(--jp-border-width) solid var(--jp-border-color1); -} - -.jp-KeySelector label, -.jp-MetadataEditorTool label, -.jp-NumberSetter label { - line-height: 1.4; -} - -.jp-NotebookTools .jp-select-wrapper { - margin-top: 4px; - margin-bottom: 0; -} - -.jp-NumberSetter input { - width: 100%; - margin-top: 4px; -} - -.jp-NotebookTools .jp-Collapse { - margin-top: 16px; -} - -/* ----------------------------------------------------------------------------- -| Presentation Mode (.jp-mod-presentationMode) -|---------------------------------------------------------------------------- */ - -.jp-mod-presentationMode .jp-Notebook { - --jp-content-font-size1: var(--jp-content-presentation-font-size1); - --jp-code-font-size: var(--jp-code-presentation-font-size); -} - -.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-InputPrompt, -.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-OutputPrompt { - flex: 0 0 110px; -} - -/* ----------------------------------------------------------------------------- -| Side-by-side Mode (.jp-mod-sideBySide) -|---------------------------------------------------------------------------- */ -.jp-mod-sideBySide.jp-Notebook .jp-Notebook-cell { - margin-top: 3em; - margin-bottom: 3em; - margin-left: 5%; - margin-right: 5%; -} - -.jp-mod-sideBySide.jp-Notebook .jp-CodeCell { - display: grid; - grid-template-columns: - minmax(0, 1fr) min-content minmax( - 0, - var(--jp-side-by-side-output-size) - ); - grid-template-rows: auto minmax(0, 1fr) auto; - grid-template-areas: - 'header header header' - 'input handle output' - 'footer footer footer'; -} - -.jp-mod-sideBySide.jp-Notebook .jp-CodeCell.jp-mod-resizedCell { - grid-template-columns: - minmax(0, 1fr) min-content minmax( - 0, - var(--jp-side-by-side-resized-cell) - ); -} - -.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellHeader { - grid-area: header; -} - -.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-inputWrapper { - grid-area: input; -} - -.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-outputWrapper { - /* overwrite the default margin (no vertical separation needed in side by side move */ - margin-top: 0; - grid-area: output; -} - -.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellFooter { - grid-area: footer; -} - -.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle { - grid-area: handle; - user-select: none; - display: block; - height: 100%; - cursor: ew-resize; - padding: 0 var(--jp-cell-padding); -} - -.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle::after { - content: ''; - display: block; - background: var(--jp-border-color2); - height: 100%; - width: 5px; -} - -.jp-mod-sideBySide.jp-Notebook .jp-CodeCell.jp-mod-resizedCell .jp-CellResizeHandle::after { - background: var(--jp-border-color0); -} - -.jp-CellResizeHandle { - display: none; -} - -/* ----------------------------------------------------------------------------- -| Placeholder -|---------------------------------------------------------------------------- */ - -.jp-Cell-Placeholder { - padding-left: 55px; -} - -.jp-Cell-Placeholder-wrapper { - background: #fff; - border: 1px solid; - border-color: #e5e6e9 #dfe0e4 #d0d1d5; - border-radius: 4px; - -webkit-border-radius: 4px; - margin: 10px 15px; -} - -.jp-Cell-Placeholder-wrapper-inner { - padding: 15px; - position: relative; -} - -.jp-Cell-Placeholder-wrapper-body { - background-repeat: repeat; - background-size: 50% auto; -} - -.jp-Cell-Placeholder-wrapper-body div { - background: #f6f7f8; - background-image: - -webkit-linear-gradient( - left, - #f6f7f8 0%, - #edeef1 20%, - #f6f7f8 40%, - #f6f7f8 100% - ); - background-repeat: no-repeat; - background-size: 800px 104px; - height: 104px; - position: absolute; - right: 15px; - left: 15px; - top: 15px; -} - -div.jp-Cell-Placeholder-h1 { - top: 20px; - height: 20px; - left: 15px; - width: 150px; -} - -div.jp-Cell-Placeholder-h2 { - left: 15px; - top: 50px; - height: 10px; - width: 100px; -} - -div.jp-Cell-Placeholder-content-1, -div.jp-Cell-Placeholder-content-2, -div.jp-Cell-Placeholder-content-3 { - left: 15px; - right: 15px; - height: 10px; -} - -div.jp-Cell-Placeholder-content-1 { - top: 100px; -} - -div.jp-Cell-Placeholder-content-2 { - top: 120px; -} - -div.jp-Cell-Placeholder-content-3 { - top: 140px; -} diff --git a/.vitepress/theme/css/jupyterlab/output.area.base.css b/.vitepress/theme/css/jupyterlab/output.area.base.css deleted file mode 100644 index 1c9a2b2..0000000 --- a/.vitepress/theme/css/jupyterlab/output.area.base.css +++ /dev/null @@ -1,276 +0,0 @@ -/* stylelint-disable no-descending-specificity */ - -/* 源码地址:https://github.com/jupyterlab/jupyterlab/blob/master/packages/outputarea/style/base.css */ - -/* ----------------------------------------------------------------------------- -| Copyright (c) Jupyter Development Team. -| Distributed under the terms of the Modified BSD License. -|---------------------------------------------------------------------------- */ - -/* ----------------------------------------------------------------------------- -| Main OutputArea -| OutputArea has a list of Outputs -|---------------------------------------------------------------------------- */ - -.jp-OutputArea { - overflow-y: auto; -} - -.jp-OutputArea-child { - display: table; - table-layout: fixed; - width: 100%; - overflow: hidden; -} - -.jp-OutputPrompt { - width: var(--jp-cell-prompt-width); - color: var(--jp-cell-outprompt-font-color); - font-family: var(--jp-cell-prompt-font-family); - padding: var(--jp-code-padding); - letter-spacing: var(--jp-cell-prompt-letter-spacing); - line-height: var(--jp-code-line-height); - font-size: var(--jp-code-font-size); - border: var(--jp-border-width) solid transparent; - opacity: var(--jp-cell-prompt-opacity); - - /* Right align prompt text, don't wrap to handle large prompt numbers */ - text-align: right; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - - /* Disable text selection */ - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.jp-OutputArea-prompt { - display: table-cell; - vertical-align: top; -} - -.jp-OutputArea-output { - display: table-cell; - width: 100%; - height: auto; - overflow: auto; - user-select: text; - -moz-user-select: text; - -webkit-user-select: text; - -ms-user-select: text; -} - -/** - * Isolated output. - */ -.jp-OutputArea-output.jp-mod-isolated { - width: 100%; - display: block; -} - -/* -When drag events occur, `lm-mod-override-cursor` is added to the body. -Because iframes steal all cursor events, the following two rules are necessary -to suppress pointer events while resize drags are occurring. There may be a -better solution to this problem. -*/ -body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated { - position: relative; -} - -body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated::before { - content: ''; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - background: transparent; -} - -/* pre */ - -.jp-OutputArea-output pre { - border: none; - margin: 0; - padding: 0; - overflow-x: auto; - overflow-y: auto; - word-break: break-all; - word-wrap: break-word; - white-space: pre-wrap; -} - -/* tables */ - -.jp-OutputArea-output.jp-RenderedHTMLCommon table { - margin-left: 0; - margin-right: 0; -} - -/* description lists */ - -.jp-OutputArea-output dl, -.jp-OutputArea-output dt, -.jp-OutputArea-output dd { - display: block; -} - -.jp-OutputArea-output dl { - width: 100%; - overflow: hidden; - padding: 0; - margin: 0; -} - -.jp-OutputArea-output dt { - font-weight: bold; - float: left; - width: 20%; - padding: 0; - margin: 0; -} - -.jp-OutputArea-output dd { - float: left; - width: 80%; - padding: 0; - margin: 0; -} - -.jp-TrimmedOutputs pre { - background: var(--jp-layout-color3); - font-size: calc(var(--jp-code-font-size) * 1.4); - text-align: center; - text-transform: uppercase; -} - -/* Hide the gutter in case of - * - nested output areas (e.g. in the case of output widgets) - * - mirrored output areas - */ -.jp-OutputArea .jp-OutputArea .jp-OutputArea-prompt { - display: none; -} - -/* Hide empty lines in the output area, for instance due to cleared widgets */ -.jp-OutputArea-prompt:empty { - padding: 0; - border: 0; -} - -/* ----------------------------------------------------------------------------- -| executeResult is added to any Output-result for the display of the object -| returned by a cell -|---------------------------------------------------------------------------- */ - -.jp-OutputArea-output.jp-OutputArea-executeResult { - margin-left: 0; - width: 100%; -} - -/* Text output with the Out[] prompt needs a top padding to match the - * alignment of the Out[] prompt itself. - */ -.jp-OutputArea-executeResult .jp-RenderedText.jp-OutputArea-output { - padding-top: var(--jp-code-padding); - border-top: var(--jp-border-width) solid transparent; -} - -/* ----------------------------------------------------------------------------- -| The Stdin output -|---------------------------------------------------------------------------- */ - -.jp-OutputArea-stdin { - line-height: var(--jp-code-line-height); - padding-top: var(--jp-code-padding); - display: flex; -} - -.jp-Stdin-prompt { - color: var(--jp-content-font-color0); - padding-right: var(--jp-code-padding); - vertical-align: baseline; - flex: 0 0 auto; -} - -.jp-Stdin-input { - font-family: var(--jp-code-font-family); - font-size: inherit; - color: inherit; - background-color: inherit; - width: 42%; - min-width: 200px; - - /* make sure input baseline aligns with prompt */ - vertical-align: baseline; - - /* padding + margin = 0.5em between prompt and cursor */ - padding: 0 0.25em; - margin: 0 0.25em; - flex: 0 0 70%; -} - -.jp-Stdin-input::placeholder { - opacity: 0; -} - -.jp-Stdin-input:focus { - box-shadow: none; -} - -.jp-Stdin-input:focus::placeholder { - opacity: 1; -} - -/* ----------------------------------------------------------------------------- -| Output Area View -|---------------------------------------------------------------------------- */ - -.jp-LinkedOutputView .jp-OutputArea { - height: 100%; - display: block; -} - -.jp-LinkedOutputView .jp-OutputArea-output:only-child { - height: 100%; -} - -/* ----------------------------------------------------------------------------- -| Printing -|---------------------------------------------------------------------------- */ - -@media print { - .jp-OutputArea-child { - break-inside: avoid-page; - } -} - -/* ----------------------------------------------------------------------------- -| Mobile -|---------------------------------------------------------------------------- */ -@media only screen and (max-width: 760px) { - .jp-OutputPrompt { - display: table-row; - text-align: left; - } - - .jp-OutputArea-child .jp-OutputArea-output { - display: table-row; - margin-left: var(--jp-notebook-padding); - } -} - -/* Trimmed outputs warning */ -.jp-TrimmedOutputs > a { - margin: 10px; - text-decoration: none; - cursor: pointer; -} - -.jp-TrimmedOutputs > a:hover { - text-decoration: none; -} diff --git a/.vitepress/theme/css/jupyterlab/rendermine.base.css b/.vitepress/theme/css/jupyterlab/rendermine.base.css deleted file mode 100644 index 84e695d..0000000 --- a/.vitepress/theme/css/jupyterlab/rendermine.base.css +++ /dev/null @@ -1,634 +0,0 @@ -/* stylelint-disable no-descending-specificity */ - -/* 源码地址:https://github.com/jupyterlab/jupyterlab/blob/master/packages/rendermime/style/base.css */ - -/* ----------------------------------------------------------------------------- -| Copyright (c) Jupyter Development Team. -| Distributed under the terms of the Modified BSD License. -|---------------------------------------------------------------------------- */ - -/* ----------------------------------------------------------------------------- -| RenderedText -|---------------------------------------------------------------------------- */ - -:root { - /* This is the padding value to fill the gaps between lines containing spans with background color. */ - --jp-private-code-span-padding: - calc( - (var(--jp-code-line-height) - 1) * var(--jp-code-font-size) / 2 - ); -} - -.jp-RenderedText { - text-align: left; - padding-left: var(--jp-code-padding); - line-height: var(--jp-code-line-height); - font-family: var(--jp-code-font-family); -} - -.jp-RenderedText pre, -.jp-RenderedJavaScript pre, -.jp-RenderedHTMLCommon pre { - color: var(--jp-content-font-color1); - font-size: var(--jp-code-font-size); - border: none; - margin: 0; - padding: 0; -} - -.jp-RenderedText pre a:link { - text-decoration: none; - color: var(--jp-content-link-color); -} - -.jp-RenderedText pre a:hover { - text-decoration: underline; - color: var(--jp-content-link-color); -} - -.jp-RenderedText pre a:visited { - text-decoration: none; - color: var(--jp-content-link-color); -} - -/* console foregrounds and backgrounds */ -.jp-RenderedText pre .ansi-black-fg { - color: #3e424d; -} - -.jp-RenderedText pre .ansi-red-fg { - color: #e75c58; -} - -.jp-RenderedText pre .ansi-green-fg { - color: #00a250; -} - -.jp-RenderedText pre .ansi-yellow-fg { - color: #ddb62b; -} - -.jp-RenderedText pre .ansi-blue-fg { - color: #208ffb; -} - -.jp-RenderedText pre .ansi-magenta-fg { - color: #d160c4; -} - -.jp-RenderedText pre .ansi-cyan-fg { - color: #60c6c8; -} - -.jp-RenderedText pre .ansi-white-fg { - color: #c5c1b4; -} - -.jp-RenderedText pre .ansi-black-bg { - background-color: #3e424d; - padding: var(--jp-private-code-span-padding) 0; -} - -.jp-RenderedText pre .ansi-red-bg { - background-color: #e75c58; - padding: var(--jp-private-code-span-padding) 0; -} - -.jp-RenderedText pre .ansi-green-bg { - background-color: #00a250; - padding: var(--jp-private-code-span-padding) 0; -} - -.jp-RenderedText pre .ansi-yellow-bg { - background-color: #ddb62b; - padding: var(--jp-private-code-span-padding) 0; -} - -.jp-RenderedText pre .ansi-blue-bg { - background-color: #208ffb; - padding: var(--jp-private-code-span-padding) 0; -} - -.jp-RenderedText pre .ansi-magenta-bg { - background-color: #d160c4; - padding: var(--jp-private-code-span-padding) 0; -} - -.jp-RenderedText pre .ansi-cyan-bg { - background-color: #60c6c8; - padding: var(--jp-private-code-span-padding) 0; -} - -.jp-RenderedText pre .ansi-white-bg { - background-color: #c5c1b4; - padding: var(--jp-private-code-span-padding) 0; -} - -.jp-RenderedText pre .ansi-black-intense-fg { - color: #282c36; -} - -.jp-RenderedText pre .ansi-red-intense-fg { - color: #b22b31; -} - -.jp-RenderedText pre .ansi-green-intense-fg { - color: #007427; -} - -.jp-RenderedText pre .ansi-yellow-intense-fg { - color: #b27d12; -} - -.jp-RenderedText pre .ansi-blue-intense-fg { - color: #0065ca; -} - -.jp-RenderedText pre .ansi-magenta-intense-fg { - color: #a03196; -} - -.jp-RenderedText pre .ansi-cyan-intense-fg { - color: #258f8f; -} - -.jp-RenderedText pre .ansi-white-intense-fg { - color: #a1a6b2; -} - -.jp-RenderedText pre .ansi-black-intense-bg { - background-color: #282c36; - padding: var(--jp-private-code-span-padding) 0; -} - -.jp-RenderedText pre .ansi-red-intense-bg { - background-color: #b22b31; - padding: var(--jp-private-code-span-padding) 0; -} - -.jp-RenderedText pre .ansi-green-intense-bg { - background-color: #007427; - padding: var(--jp-private-code-span-padding) 0; -} - -.jp-RenderedText pre .ansi-yellow-intense-bg { - background-color: #b27d12; - padding: var(--jp-private-code-span-padding) 0; -} - -.jp-RenderedText pre .ansi-blue-intense-bg { - background-color: #0065ca; - padding: var(--jp-private-code-span-padding) 0; -} - -.jp-RenderedText pre .ansi-magenta-intense-bg { - background-color: #a03196; - padding: var(--jp-private-code-span-padding) 0; -} - -.jp-RenderedText pre .ansi-cyan-intense-bg { - background-color: #258f8f; - padding: var(--jp-private-code-span-padding) 0; -} - -.jp-RenderedText pre .ansi-white-intense-bg { - background-color: #a1a6b2; - padding: var(--jp-private-code-span-padding) 0; -} - -.jp-RenderedText pre .ansi-default-inverse-fg { - color: var(--jp-ui-inverse-font-color0); -} - -.jp-RenderedText pre .ansi-default-inverse-bg { - background-color: var(--jp-inverse-layout-color0); - padding: var(--jp-private-code-span-padding) 0; -} - -.jp-RenderedText pre .ansi-bold { - font-weight: bold; -} - -.jp-RenderedText pre .ansi-underline { - text-decoration: underline; -} - -.jp-RenderedText[data-mime-type='application/vnd.jupyter.stderr'] { - background: var(--jp-rendermime-error-background); - padding-top: var(--jp-code-padding); -} - -/* ----------------------------------------------------------------------------- -| RenderedLatex -|---------------------------------------------------------------------------- */ - -.jp-RenderedLatex { - color: var(--jp-content-font-color1); - font-size: var(--jp-content-font-size1); - line-height: var(--jp-content-line-height); -} - -/* Left-justify outputs. */ -.jp-OutputArea-output.jp-RenderedLatex { - padding: var(--jp-code-padding); - text-align: left; -} - -/* ----------------------------------------------------------------------------- -| RenderedHTML -|---------------------------------------------------------------------------- */ - -.jp-RenderedHTMLCommon { - color: var(--jp-content-font-color1); - font-family: var(--jp-content-font-family); - font-size: var(--jp-content-font-size1); - line-height: var(--jp-content-line-height); - - /* Give a bit more R padding on Markdown text to keep line lengths reasonable */ - padding-right: 20px; -} - -.jp-RenderedHTMLCommon em { - font-style: italic; -} - -.jp-RenderedHTMLCommon strong { - font-weight: bold; -} - -.jp-RenderedHTMLCommon u { - text-decoration: underline; -} - -.jp-RenderedHTMLCommon a:link { - text-decoration: none; - color: var(--jp-content-link-color); -} - -.jp-RenderedHTMLCommon a:hover { - text-decoration: underline; - color: var(--jp-content-link-color); -} - -.jp-RenderedHTMLCommon a:visited { - text-decoration: none; - color: var(--jp-content-link-color); -} - -/* Headings */ - -.jp-RenderedHTMLCommon h1, -.jp-RenderedHTMLCommon h2, -.jp-RenderedHTMLCommon h3, -.jp-RenderedHTMLCommon h4, -.jp-RenderedHTMLCommon h5, -.jp-RenderedHTMLCommon h6 { - line-height: var(--jp-content-heading-line-height); - font-weight: var(--jp-content-heading-font-weight); - font-style: normal; - margin: - var(--jp-content-heading-margin-top) 0 - var(--jp-content-heading-margin-bottom) 0; -} - -.jp-RenderedHTMLCommon h1:first-child, -.jp-RenderedHTMLCommon h2:first-child, -.jp-RenderedHTMLCommon h3:first-child, -.jp-RenderedHTMLCommon h4:first-child, -.jp-RenderedHTMLCommon h5:first-child, -.jp-RenderedHTMLCommon h6:first-child { - margin-top: calc(0.5 * var(--jp-content-heading-margin-top)); -} - -.jp-RenderedHTMLCommon h1:last-child, -.jp-RenderedHTMLCommon h2:last-child, -.jp-RenderedHTMLCommon h3:last-child, -.jp-RenderedHTMLCommon h4:last-child, -.jp-RenderedHTMLCommon h5:last-child, -.jp-RenderedHTMLCommon h6:last-child { - margin-bottom: calc(0.5 * var(--jp-content-heading-margin-bottom)); -} - -.jp-RenderedHTMLCommon h1 { - font-size: var(--jp-content-font-size5); -} - -.jp-RenderedHTMLCommon h2 { - font-size: var(--jp-content-font-size4); -} - -.jp-RenderedHTMLCommon h3 { - font-size: var(--jp-content-font-size3); -} - -.jp-RenderedHTMLCommon h4 { - font-size: var(--jp-content-font-size2); -} - -.jp-RenderedHTMLCommon h5 { - font-size: var(--jp-content-font-size1); -} - -.jp-RenderedHTMLCommon h6 { - font-size: var(--jp-content-font-size0); -} - -/* Lists */ - -.jp-RenderedHTMLCommon ul:not(.list-inline), -.jp-RenderedHTMLCommon ol:not(.list-inline) { - padding-left: 2em; -} - -.jp-RenderedHTMLCommon ul { - list-style: disc; -} - -.jp-RenderedHTMLCommon ul ul { - list-style: square; -} - -.jp-RenderedHTMLCommon ul ul ul { - list-style: circle; -} - -.jp-RenderedHTMLCommon ol { - list-style: decimal; -} - -.jp-RenderedHTMLCommon ol ol { - list-style: upper-alpha; -} - -.jp-RenderedHTMLCommon ol ol ol { - list-style: lower-alpha; -} - -.jp-RenderedHTMLCommon ol ol ol ol { - list-style: lower-roman; -} - -.jp-RenderedHTMLCommon ol ol ol ol ol { - list-style: decimal; -} - -.jp-RenderedHTMLCommon ol, -.jp-RenderedHTMLCommon ul { - margin-bottom: 1em; -} - -.jp-RenderedHTMLCommon ul ul, -.jp-RenderedHTMLCommon ul ol, -.jp-RenderedHTMLCommon ol ul, -.jp-RenderedHTMLCommon ol ol { - margin-bottom: 0; -} - -.jp-RenderedHTMLCommon hr { - color: var(--jp-border-color2); - background-color: var(--jp-border-color1); - margin-top: 1em; - margin-bottom: 1em; -} - -.jp-RenderedHTMLCommon > pre { - margin: 1.5em 2em; -} - -.jp-RenderedHTMLCommon pre, -.jp-RenderedHTMLCommon code { - border: 0; - background-color: var(--jp-layout-color0); - color: var(--jp-content-font-color1); - font-family: var(--jp-code-font-family); - font-size: inherit; - line-height: var(--jp-code-line-height); - padding: 0; - white-space: pre-wrap; -} - -.jp-RenderedHTMLCommon :not(pre) > code { - background-color: var(--jp-layout-color2); - padding: 1px 5px; -} - -/* Tables */ - -.jp-RenderedHTMLCommon table { - border-collapse: collapse; - border-spacing: 0; - border: none; - color: var(--jp-ui-font-color1); - font-size: var(--jp-ui-font-size1); - table-layout: fixed; - margin-left: auto; - margin-bottom: 1em; - margin-right: auto; -} - -.jp-RenderedHTMLCommon thead { - border-bottom: var(--jp-border-width) solid var(--jp-border-color1); - vertical-align: bottom; -} - -.jp-RenderedHTMLCommon td, -.jp-RenderedHTMLCommon th, -.jp-RenderedHTMLCommon tr { - vertical-align: middle; - padding: 0.5em; - line-height: normal; - white-space: normal; - max-width: none; - border: none; -} - -.jp-RenderedMarkdown.jp-RenderedHTMLCommon td, -.jp-RenderedMarkdown.jp-RenderedHTMLCommon th { - max-width: none; -} - -:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon td, -:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon th, -:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon tr { - text-align: right; -} - -.jp-RenderedHTMLCommon th { - font-weight: bold; -} - -.jp-RenderedHTMLCommon tbody tr:nth-child(odd) { - background: var(--jp-layout-color0) !important; -} - -.jp-RenderedHTMLCommon tbody tr:nth-child(even) { - background: var(--jp-rendermime-table-row-background) !important; -} - -.jp-RenderedHTMLCommon tbody tr:hover { - background: var(--jp-rendermime-table-row-hover-background) !important; -} - -.jp-RenderedHTMLCommon p { - text-align: left; - margin: 0; - margin-bottom: 1em; -} - -.jp-RenderedHTMLCommon img { - -moz-force-broken-image-icon: 1; -} - -/* Restrict to direct children as other images could be nested in other content. */ -.jp-RenderedHTMLCommon > img { - display: block; - margin-left: 0; - margin-right: 0; - margin-bottom: 1em; -} - -/* Change color behind transparent images if they need it... */ -[data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-light-background { - background-color: var(--jp-inverse-layout-color1); -} - -[data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-dark-background { - background-color: var(--jp-inverse-layout-color1); -} - -.jp-RenderedHTMLCommon img, -.jp-RenderedImage img, -.jp-RenderedHTMLCommon svg, -.jp-RenderedSVG svg { - max-width: 100%; - height: auto; -} - -.jp-RenderedHTMLCommon img.jp-mod-unconfined, -.jp-RenderedImage img.jp-mod-unconfined, -.jp-RenderedHTMLCommon svg.jp-mod-unconfined, -.jp-RenderedSVG svg.jp-mod-unconfined { - max-width: none; -} - -.jp-RenderedHTMLCommon .alert { - padding: var(--jp-notebook-padding); - border: var(--jp-border-width) solid transparent; - border-radius: var(--jp-border-radius); - margin-bottom: 1em; -} - -.jp-RenderedHTMLCommon .alert-info { - color: var(--jp-info-color0); - background-color: var(--jp-info-color3); - border-color: var(--jp-info-color2); -} - -.jp-RenderedHTMLCommon .alert-info hr { - border-color: var(--jp-info-color3); -} - -.jp-RenderedHTMLCommon .alert-info > p:last-child, -.jp-RenderedHTMLCommon .alert-info > ul:last-child { - margin-bottom: 0; -} - -.jp-RenderedHTMLCommon .alert-warning { - color: var(--jp-warn-color0); - background-color: var(--jp-warn-color3); - border-color: var(--jp-warn-color2); -} - -.jp-RenderedHTMLCommon .alert-warning hr { - border-color: var(--jp-warn-color3); -} - -.jp-RenderedHTMLCommon .alert-warning > p:last-child, -.jp-RenderedHTMLCommon .alert-warning > ul:last-child { - margin-bottom: 0; -} - -.jp-RenderedHTMLCommon .alert-success { - color: var(--jp-success-color0); - background-color: var(--jp-success-color3); - border-color: var(--jp-success-color2); -} - -.jp-RenderedHTMLCommon .alert-success hr { - border-color: var(--jp-success-color3); -} - -.jp-RenderedHTMLCommon .alert-success > p:last-child, -.jp-RenderedHTMLCommon .alert-success > ul:last-child { - margin-bottom: 0; -} - -.jp-RenderedHTMLCommon .alert-danger { - color: var(--jp-error-color0); - background-color: var(--jp-error-color3); - border-color: var(--jp-error-color2); -} - -.jp-RenderedHTMLCommon .alert-danger hr { - border-color: var(--jp-error-color3); -} - -.jp-RenderedHTMLCommon .alert-danger > p:last-child, -.jp-RenderedHTMLCommon .alert-danger > ul:last-child { - margin-bottom: 0; -} - -.jp-RenderedHTMLCommon blockquote { - margin: 1em 2em; - padding: 0 1em; - border-left: 5px solid var(--jp-border-color2); -} - -a.jp-InternalAnchorLink { - visibility: hidden; - margin-left: 8px; - color: var(--md-blue-800); -} - -h1:hover .jp-InternalAnchorLink, -h2:hover .jp-InternalAnchorLink, -h3:hover .jp-InternalAnchorLink, -h4:hover .jp-InternalAnchorLink, -h5:hover .jp-InternalAnchorLink, -h6:hover .jp-InternalAnchorLink { - visibility: visible; -} - -.jp-RenderedHTMLCommon kbd { - background-color: var(--jp-rendermime-table-row-background); - border: 1px solid var(--jp-border-color0); - border-bottom-color: var(--jp-border-color2); - border-radius: 3px; - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); - display: inline-block; - font-size: var(--jp-ui-font-size0); - line-height: 1em; - padding: 0.2em 0.5em; -} - -/* Most direct children of .jp-RenderedHTMLCommon have a margin-bottom of 1.0. - * At the bottom of cells this is a bit too much as there is also spacing - * between cells. Going all the way to 0 gets too tight between markdown and - * code cells. - */ -.jp-RenderedHTMLCommon > *:last-child { - margin-bottom: 0.5em; -} - -.jp-mimeType-highlight { - background-color: - var( - --jp-search-unselected-match-background-color - ) !important; - color: var(--jp-search-unselected-match-color) !important; -} - -.jp-mod-selected.jp-mimeType-highlight { - background-color: var(--jp-search-selected-match-background-color) !important; - color: var(--jp-search-selected-match-color) !important; -} diff --git a/components/RenderJupyterNotebook.vue b/components/RenderJupyterNotebook.vue deleted file mode 100644 index 2de5b3c..0000000 --- a/components/RenderJupyterNotebook.vue +++ /dev/null @@ -1,103 +0,0 @@ - - - - - diff --git a/notebook.md b/notebook.md deleted file mode 100644 index 424a58d..0000000 --- a/notebook.md +++ /dev/null @@ -1,8 +0,0 @@ -
- -
- - \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 723a526..d4d9c4b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,10 +5,6 @@ "packages": { "": { "dependencies": { - "@codemirror/lang-python": "^6.1.6", - "@codemirror/lang-sql": "^6.7.0", - "@jupyterlab/mathjax2": "^3.6.7", - "@jupyterlab/theme-light-extension": "^4.2.4", "@vueuse/core": "^10.11.0", "canvas-confetti": "^1.9.3", "markdown-it": "^14.1.0", @@ -25,7 +21,6 @@ "@semantic-release/release-notes-generator": "^14.0.1", "@shikijs/vitepress-twoslash": "^1.10.3", "@vitejs/plugin-vue": "^5.0.5", - "cross-env": "^7.0.3", "markdown-it-mathjax3": "^4.3.2", "mermaid": "^10.9.1", "semantic-release": "^24.0.0", @@ -1946,76 +1941,6 @@ "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==", "dev": true }, - "node_modules/@codemirror/autocomplete": { - "version": "6.11.1", - "resolved": "https://registry.npmmirror.com/@codemirror/autocomplete/-/autocomplete-6.11.1.tgz", - "integrity": "sha512-L5UInv8Ffd6BPw0P3EF7JLYAMeEbclY7+6Q11REt8vhih8RuLreKtPy/xk8wPxs4EQgYqzI7cdgpiYwWlbS/ow==", - "dependencies": { - "@codemirror/language": "^6.0.0", - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.17.0", - "@lezer/common": "^1.0.0" - }, - "peerDependencies": { - "@codemirror/language": "^6.0.0", - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.0.0", - "@lezer/common": "^1.0.0" - } - }, - "node_modules/@codemirror/lang-python": { - "version": "6.1.6", - "resolved": "https://registry.npmmirror.com/@codemirror/lang-python/-/lang-python-6.1.6.tgz", - "integrity": "sha512-ai+01WfZhWqM92UqjnvorkxosZ2aq2u28kHvr+N3gu012XqY2CThD67JPMHnGceRfXPDBmn1HnyqowdpF57bNg==", - "dependencies": { - "@codemirror/autocomplete": "^6.3.2", - "@codemirror/language": "^6.8.0", - "@codemirror/state": "^6.0.0", - "@lezer/common": "^1.2.1", - "@lezer/python": "^1.1.4" - } - }, - "node_modules/@codemirror/lang-sql": { - "version": "6.7.0", - "resolved": "https://registry.npmmirror.com/@codemirror/lang-sql/-/lang-sql-6.7.0.tgz", - "integrity": "sha512-KMXp6rtyPYz6RaElvkh/77ClEAoQoHRPZo0zutRRialeFs/B/X8YaUJBCnAV2zqyeJPLZ4hgo48mG8TKoNXfZA==", - "dependencies": { - "@codemirror/autocomplete": "^6.0.0", - "@codemirror/language": "^6.0.0", - "@codemirror/state": "^6.0.0", - "@lezer/common": "^1.2.0", - "@lezer/highlight": "^1.0.0", - "@lezer/lr": "^1.0.0" - } - }, - "node_modules/@codemirror/language": { - "version": "6.9.3", - "resolved": "https://registry.npmmirror.com/@codemirror/language/-/language-6.9.3.tgz", - "integrity": "sha512-qq48pYzoi6ldYWV/52+Z9Ou6QouVI+8YwvxFbUypI33NbjG2UeRHKENRyhwljTTiOqjQ33FjyZj6EREQ9apAOQ==", - "dependencies": { - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.0.0", - "@lezer/common": "^1.1.0", - "@lezer/highlight": "^1.0.0", - "@lezer/lr": "^1.0.0", - "style-mod": "^4.0.0" - } - }, - "node_modules/@codemirror/state": { - "version": "6.4.1", - "resolved": "https://registry.npmmirror.com/@codemirror/state/-/state-6.4.1.tgz", - "integrity": "sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==" - }, - "node_modules/@codemirror/view": { - "version": "6.22.2", - "resolved": "https://registry.npmmirror.com/@codemirror/view/-/view-6.22.2.tgz", - "integrity": "sha512-cJp64cPXm7QfSBWEXK+76+hsZCGHupUgy8JAbSzMG6Lr0rfK73c1CaWITVW6hZVkOnAFxJTxd0PIuynNbzxYPw==", - "dependencies": { - "@codemirror/state": "^6.1.4", - "style-mod": "^4.1.0", - "w3c-keyname": "^2.2.4" - } - }, "node_modules/@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmmirror.com/@colors/colors/-/colors-1.5.0.tgz", @@ -2074,358 +1999,6 @@ } } }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/@esbuild/win32-x64": { "version": "0.21.5", "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", @@ -2466,15 +2039,6 @@ "integrity": "sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==", "dev": true }, - "node_modules/@fortawesome/fontawesome-free": { - "version": "5.15.4", - "resolved": "https://registry.npmmirror.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.4.tgz", - "integrity": "sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg==", - "hasInstallScript": true, - "engines": { - "node": ">=6" - } - }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.5", "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", @@ -2532,651 +2096,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@jupyter/react-components": { - "version": "0.15.3", - "resolved": "https://registry.npmmirror.com/@jupyter/react-components/-/react-components-0.15.3.tgz", - "integrity": "sha512-u85j88lxMSQ+2iVWuHPpMtFxek7nQnQsLh2eVJQFVv0ECX6H4s2WzIa4Ha1VRu4gjAXDtI/9wec9qUW6nezUnw==", - "dependencies": { - "@jupyter/web-components": "^0.15.3", - "@microsoft/fast-react-wrapper": "^0.3.22", - "react": ">=17.0.0 <19.0.0" - } - }, - "node_modules/@jupyter/web-components": { - "version": "0.15.3", - "resolved": "https://registry.npmmirror.com/@jupyter/web-components/-/web-components-0.15.3.tgz", - "integrity": "sha512-ZrbyXr9mcYowXZ0Ic09ee6W2T3+t7+HP7yYwd2u7wHmQ0etWq5r8+DNdp8uFHiAeTV1kFm6aogNufR9fH34MCw==", - "dependencies": { - "@microsoft/fast-colors": "^5.3.1", - "@microsoft/fast-element": "^1.12.0", - "@microsoft/fast-foundation": "^2.49.4", - "@microsoft/fast-web-utilities": "^5.4.1" - } - }, - "node_modules/@jupyter/ydoc": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/@jupyter/ydoc/-/ydoc-2.1.1.tgz", - "integrity": "sha512-NeEwqXQ2j1OyLq4uezeQmsMiI+Qo5k7dYIMqNByOM7dJp6sHeP0jQ96w7BEc9E4SmrxwcOT4cLvcJWJE8Xun4g==", - "dependencies": { - "@jupyterlab/nbformat": "^3.0.0 || ^4.0.0-alpha.21 || ^4.0.0", - "@lumino/coreutils": "^1.11.0 || ^2.0.0", - "@lumino/disposable": "^1.10.0 || ^2.0.0", - "@lumino/signaling": "^1.10.0 || ^2.0.0", - "y-protocols": "^1.0.5", - "yjs": "^13.5.40" - } - }, - "node_modules/@jupyterlab/application": { - "version": "4.2.4", - "resolved": "https://registry.npmmirror.com/@jupyterlab/application/-/application-4.2.4.tgz", - "integrity": "sha512-zGwhDOOiCA18cQPttiEmH5/ns0pnJVIgCvDqZGKwEgX/MnIXviZ4aMYKmlRC1fTW7oOZ/IbXMZJHmMxGwuV0FQ==", - "dependencies": { - "@fortawesome/fontawesome-free": "^5.12.0", - "@jupyterlab/apputils": "^4.3.4", - "@jupyterlab/coreutils": "^6.2.4", - "@jupyterlab/docregistry": "^4.2.4", - "@jupyterlab/rendermime": "^4.2.4", - "@jupyterlab/rendermime-interfaces": "^3.10.4", - "@jupyterlab/services": "^7.2.4", - "@jupyterlab/statedb": "^4.2.4", - "@jupyterlab/translation": "^4.2.4", - "@jupyterlab/ui-components": "^4.2.4", - "@lumino/algorithm": "^2.0.1", - "@lumino/application": "^2.3.1", - "@lumino/commands": "^2.3.0", - "@lumino/coreutils": "^2.1.2", - "@lumino/disposable": "^2.1.2", - "@lumino/messaging": "^2.0.1", - "@lumino/polling": "^2.1.2", - "@lumino/properties": "^2.0.1", - "@lumino/signaling": "^2.1.2", - "@lumino/widgets": "^2.3.2" - } - }, - "node_modules/@jupyterlab/application/node_modules/@lumino/coreutils": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-2.2.0.tgz", - "integrity": "sha512-x5wnQ/GjWBayJ6vXVaUi6+Q6ETDdcUiH9eSfpRZFbgMQyyM6pi6baKqJBK2CHkCc/YbAEl6ipApTgm3KOJ/I3g==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@jupyterlab/apputils": { - "version": "4.3.4", - "resolved": "https://registry.npmmirror.com/@jupyterlab/apputils/-/apputils-4.3.4.tgz", - "integrity": "sha512-13Wvm+N10czYub9C+52IWK+B0NTx5/NCMAkzPFxyyi/y136yZ3ePHkhAnbCi+QCZYE+LWUXTK6zApU1g5nGrFw==", - "dependencies": { - "@jupyterlab/coreutils": "^6.2.4", - "@jupyterlab/observables": "^5.2.4", - "@jupyterlab/rendermime-interfaces": "^3.10.4", - "@jupyterlab/services": "^7.2.4", - "@jupyterlab/settingregistry": "^4.2.4", - "@jupyterlab/statedb": "^4.2.4", - "@jupyterlab/statusbar": "^4.2.4", - "@jupyterlab/translation": "^4.2.4", - "@jupyterlab/ui-components": "^4.2.4", - "@lumino/algorithm": "^2.0.1", - "@lumino/commands": "^2.3.0", - "@lumino/coreutils": "^2.1.2", - "@lumino/disposable": "^2.1.2", - "@lumino/domutils": "^2.0.1", - "@lumino/messaging": "^2.0.1", - "@lumino/signaling": "^2.1.2", - "@lumino/virtualdom": "^2.0.1", - "@lumino/widgets": "^2.3.2", - "@types/react": "^18.0.26", - "react": "^18.2.0", - "sanitize-html": "~2.12.1" - } - }, - "node_modules/@jupyterlab/apputils/node_modules/@lumino/coreutils": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-2.2.0.tgz", - "integrity": "sha512-x5wnQ/GjWBayJ6vXVaUi6+Q6ETDdcUiH9eSfpRZFbgMQyyM6pi6baKqJBK2CHkCc/YbAEl6ipApTgm3KOJ/I3g==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@jupyterlab/codeeditor": { - "version": "4.2.4", - "resolved": "https://registry.npmmirror.com/@jupyterlab/codeeditor/-/codeeditor-4.2.4.tgz", - "integrity": "sha512-TkPTMK7s/PvI0yE3ospmLU7JrGVLvuWs3fk/VjkqG9cxjO6Q692fwAIC0WjPIZiA/WGFMiHFuZb70/tSgXzZVw==", - "dependencies": { - "@codemirror/state": "^6.4.1", - "@jupyter/ydoc": "^2.0.1", - "@jupyterlab/apputils": "^4.3.4", - "@jupyterlab/coreutils": "^6.2.4", - "@jupyterlab/nbformat": "^4.2.4", - "@jupyterlab/observables": "^5.2.4", - "@jupyterlab/statusbar": "^4.2.4", - "@jupyterlab/translation": "^4.2.4", - "@jupyterlab/ui-components": "^4.2.4", - "@lumino/coreutils": "^2.1.2", - "@lumino/disposable": "^2.1.2", - "@lumino/dragdrop": "^2.1.4", - "@lumino/messaging": "^2.0.1", - "@lumino/signaling": "^2.1.2", - "@lumino/widgets": "^2.3.2", - "react": "^18.2.0" - } - }, - "node_modules/@jupyterlab/codeeditor/node_modules/@lumino/coreutils": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-2.2.0.tgz", - "integrity": "sha512-x5wnQ/GjWBayJ6vXVaUi6+Q6ETDdcUiH9eSfpRZFbgMQyyM6pi6baKqJBK2CHkCc/YbAEl6ipApTgm3KOJ/I3g==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@jupyterlab/coreutils": { - "version": "6.2.4", - "resolved": "https://registry.npmmirror.com/@jupyterlab/coreutils/-/coreutils-6.2.4.tgz", - "integrity": "sha512-A3yHM3UgMYKKJU8JtcPEMGUWUHMlol3TFCdFQbeJnqj+uJmxV0ejkLvDlGk+mefjpcVm/z3cXaDrwoUVtY2FDw==", - "dependencies": { - "@lumino/coreutils": "^2.1.2", - "@lumino/disposable": "^2.1.2", - "@lumino/signaling": "^2.1.2", - "minimist": "~1.2.0", - "path-browserify": "^1.0.0", - "url-parse": "~1.5.4" - } - }, - "node_modules/@jupyterlab/coreutils/node_modules/@lumino/coreutils": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-2.2.0.tgz", - "integrity": "sha512-x5wnQ/GjWBayJ6vXVaUi6+Q6ETDdcUiH9eSfpRZFbgMQyyM6pi6baKqJBK2CHkCc/YbAEl6ipApTgm3KOJ/I3g==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@jupyterlab/docregistry": { - "version": "4.2.4", - "resolved": "https://registry.npmmirror.com/@jupyterlab/docregistry/-/docregistry-4.2.4.tgz", - "integrity": "sha512-E035ghyQBNGLw0QqjUfHyre4PCSuhpZKN4eJWikQwN0T879z7XPTVReOcZCSUlWRfkPfeG0WvMUwBYXXLM3NSw==", - "dependencies": { - "@jupyter/ydoc": "^2.0.1", - "@jupyterlab/apputils": "^4.3.4", - "@jupyterlab/codeeditor": "^4.2.4", - "@jupyterlab/coreutils": "^6.2.4", - "@jupyterlab/observables": "^5.2.4", - "@jupyterlab/rendermime": "^4.2.4", - "@jupyterlab/rendermime-interfaces": "^3.10.4", - "@jupyterlab/services": "^7.2.4", - "@jupyterlab/translation": "^4.2.4", - "@jupyterlab/ui-components": "^4.2.4", - "@lumino/algorithm": "^2.0.1", - "@lumino/coreutils": "^2.1.2", - "@lumino/disposable": "^2.1.2", - "@lumino/messaging": "^2.0.1", - "@lumino/properties": "^2.0.1", - "@lumino/signaling": "^2.1.2", - "@lumino/widgets": "^2.3.2", - "react": "^18.2.0" - } - }, - "node_modules/@jupyterlab/docregistry/node_modules/@lumino/coreutils": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-2.2.0.tgz", - "integrity": "sha512-x5wnQ/GjWBayJ6vXVaUi6+Q6ETDdcUiH9eSfpRZFbgMQyyM6pi6baKqJBK2CHkCc/YbAEl6ipApTgm3KOJ/I3g==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@jupyterlab/mathjax2": { - "version": "3.6.7", - "resolved": "https://registry.npmmirror.com/@jupyterlab/mathjax2/-/mathjax2-3.6.7.tgz", - "integrity": "sha512-ycTEU4XDst59+pGBGYAU1VYLjM9Zynntut7LBWs7F3HCIWSbunbMs+HfVMcInVtWXlahuz6nFdS0RJyrVzBa6A==", - "dependencies": { - "@jupyterlab/rendermime-interfaces": "^3.6.7", - "@lumino/coreutils": "^1.11.0" - } - }, - "node_modules/@jupyterlab/nbformat": { - "version": "4.2.4", - "resolved": "https://registry.npmmirror.com/@jupyterlab/nbformat/-/nbformat-4.2.4.tgz", - "integrity": "sha512-xR4qqvgjMSBeUQ7nUiRQAP6YDOZcqSHxNzIkds81dDL4wk5pj10oKpTg9lAqfwMImubjcGxTM4Msl8+N3cdpsw==", - "dependencies": { - "@lumino/coreutils": "^2.1.2" - } - }, - "node_modules/@jupyterlab/nbformat/node_modules/@lumino/coreutils": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-2.2.0.tgz", - "integrity": "sha512-x5wnQ/GjWBayJ6vXVaUi6+Q6ETDdcUiH9eSfpRZFbgMQyyM6pi6baKqJBK2CHkCc/YbAEl6ipApTgm3KOJ/I3g==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@jupyterlab/observables": { - "version": "5.2.4", - "resolved": "https://registry.npmmirror.com/@jupyterlab/observables/-/observables-5.2.4.tgz", - "integrity": "sha512-hppOKULd4RfOb49OgE0su7n51FOkMe1QrmlNU0l3l46NQdgJE/jNdahMtNiFaDmuKe4c5D8EH4HALwkZRVsqQg==", - "dependencies": { - "@lumino/algorithm": "^2.0.1", - "@lumino/coreutils": "^2.1.2", - "@lumino/disposable": "^2.1.2", - "@lumino/messaging": "^2.0.1", - "@lumino/signaling": "^2.1.2" - } - }, - "node_modules/@jupyterlab/observables/node_modules/@lumino/coreutils": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-2.2.0.tgz", - "integrity": "sha512-x5wnQ/GjWBayJ6vXVaUi6+Q6ETDdcUiH9eSfpRZFbgMQyyM6pi6baKqJBK2CHkCc/YbAEl6ipApTgm3KOJ/I3g==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@jupyterlab/rendermime": { - "version": "4.2.4", - "resolved": "https://registry.npmmirror.com/@jupyterlab/rendermime/-/rendermime-4.2.4.tgz", - "integrity": "sha512-gvSpxVMT2Xum51/Tb4CgfDCT4Y+2HMFWwXsvWDytbYqrUyVOABhoelEBHRLGAq/Ffjb6dPgeJxDfrdeFe9ZYjg==", - "dependencies": { - "@jupyterlab/apputils": "^4.3.4", - "@jupyterlab/coreutils": "^6.2.4", - "@jupyterlab/nbformat": "^4.2.4", - "@jupyterlab/observables": "^5.2.4", - "@jupyterlab/rendermime-interfaces": "^3.10.4", - "@jupyterlab/services": "^7.2.4", - "@jupyterlab/translation": "^4.2.4", - "@lumino/coreutils": "^2.1.2", - "@lumino/messaging": "^2.0.1", - "@lumino/signaling": "^2.1.2", - "@lumino/widgets": "^2.3.2", - "lodash.escape": "^4.0.1" - } - }, - "node_modules/@jupyterlab/rendermime-interfaces": { - "version": "3.10.4", - "resolved": "https://registry.npmmirror.com/@jupyterlab/rendermime-interfaces/-/rendermime-interfaces-3.10.4.tgz", - "integrity": "sha512-V4YlDjIrya+n1ks9Bwdi0oq2V/cqTcXJI74FYBPHFc3k0HPKiYawwLFJ0VvtL3kumhzsqJdEhYsqIyr0rAIGwg==", - "dependencies": { - "@lumino/coreutils": "^1.11.0 || ^2.1.2", - "@lumino/widgets": "^1.37.2 || ^2.3.2" - } - }, - "node_modules/@jupyterlab/rendermime/node_modules/@lumino/coreutils": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-2.2.0.tgz", - "integrity": "sha512-x5wnQ/GjWBayJ6vXVaUi6+Q6ETDdcUiH9eSfpRZFbgMQyyM6pi6baKqJBK2CHkCc/YbAEl6ipApTgm3KOJ/I3g==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@jupyterlab/services": { - "version": "7.2.4", - "resolved": "https://registry.npmmirror.com/@jupyterlab/services/-/services-7.2.4.tgz", - "integrity": "sha512-9a9945owJsuAExroT/afecPSCLlQ/dhhQuttRBpycZFRBEGdSXcXY3/1q9rGUDb9wEk0A4ySk7LTZIWZTNP2rg==", - "dependencies": { - "@jupyter/ydoc": "^2.0.1", - "@jupyterlab/coreutils": "^6.2.4", - "@jupyterlab/nbformat": "^4.2.4", - "@jupyterlab/settingregistry": "^4.2.4", - "@jupyterlab/statedb": "^4.2.4", - "@lumino/coreutils": "^2.1.2", - "@lumino/disposable": "^2.1.2", - "@lumino/polling": "^2.1.2", - "@lumino/properties": "^2.0.1", - "@lumino/signaling": "^2.1.2", - "ws": "^8.11.0" - } - }, - "node_modules/@jupyterlab/services/node_modules/@lumino/coreutils": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-2.2.0.tgz", - "integrity": "sha512-x5wnQ/GjWBayJ6vXVaUi6+Q6ETDdcUiH9eSfpRZFbgMQyyM6pi6baKqJBK2CHkCc/YbAEl6ipApTgm3KOJ/I3g==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@jupyterlab/settingregistry": { - "version": "4.2.4", - "resolved": "https://registry.npmmirror.com/@jupyterlab/settingregistry/-/settingregistry-4.2.4.tgz", - "integrity": "sha512-95eLd8uiufWE0pso/hlHKcF760NZKlQoubazG8uIphBuYCbSVhd621JoMViAIH6LqDwWi1LfdwYRMJp9hzTlfA==", - "dependencies": { - "@jupyterlab/nbformat": "^4.2.4", - "@jupyterlab/statedb": "^4.2.4", - "@lumino/commands": "^2.3.0", - "@lumino/coreutils": "^2.1.2", - "@lumino/disposable": "^2.1.2", - "@lumino/signaling": "^2.1.2", - "@rjsf/utils": "^5.13.4", - "ajv": "^8.12.0", - "json5": "^2.2.3" - }, - "peerDependencies": { - "react": ">=16" - } - }, - "node_modules/@jupyterlab/settingregistry/node_modules/@lumino/coreutils": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-2.2.0.tgz", - "integrity": "sha512-x5wnQ/GjWBayJ6vXVaUi6+Q6ETDdcUiH9eSfpRZFbgMQyyM6pi6baKqJBK2CHkCc/YbAEl6ipApTgm3KOJ/I3g==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@jupyterlab/statedb": { - "version": "4.2.4", - "resolved": "https://registry.npmmirror.com/@jupyterlab/statedb/-/statedb-4.2.4.tgz", - "integrity": "sha512-MzNCYEPZcQ55G4M9jExM0zOjC3Bldj63kVM5ontVUpykQgs+sbMjeGcHY7mcMi9gY6hiPPSSvpL3Rf0eZArqkQ==", - "dependencies": { - "@lumino/commands": "^2.3.0", - "@lumino/coreutils": "^2.1.2", - "@lumino/disposable": "^2.1.2", - "@lumino/properties": "^2.0.1", - "@lumino/signaling": "^2.1.2" - } - }, - "node_modules/@jupyterlab/statedb/node_modules/@lumino/coreutils": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-2.2.0.tgz", - "integrity": "sha512-x5wnQ/GjWBayJ6vXVaUi6+Q6ETDdcUiH9eSfpRZFbgMQyyM6pi6baKqJBK2CHkCc/YbAEl6ipApTgm3KOJ/I3g==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@jupyterlab/statusbar": { - "version": "4.2.4", - "resolved": "https://registry.npmmirror.com/@jupyterlab/statusbar/-/statusbar-4.2.4.tgz", - "integrity": "sha512-PnO9mdOs58kGrVK2Q0m5SyXd6o1kKPyAVZbWQdHBlaFguZg1oxgKXdwcDYPO4V4cpQJsxaBl4FunHH2GxZcrVg==", - "dependencies": { - "@jupyterlab/ui-components": "^4.2.4", - "@lumino/algorithm": "^2.0.1", - "@lumino/coreutils": "^2.1.2", - "@lumino/disposable": "^2.1.2", - "@lumino/messaging": "^2.0.1", - "@lumino/signaling": "^2.1.2", - "@lumino/widgets": "^2.3.2", - "react": "^18.2.0" - } - }, - "node_modules/@jupyterlab/statusbar/node_modules/@lumino/coreutils": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-2.2.0.tgz", - "integrity": "sha512-x5wnQ/GjWBayJ6vXVaUi6+Q6ETDdcUiH9eSfpRZFbgMQyyM6pi6baKqJBK2CHkCc/YbAEl6ipApTgm3KOJ/I3g==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@jupyterlab/theme-light-extension": { - "version": "4.2.4", - "resolved": "https://registry.npmmirror.com/@jupyterlab/theme-light-extension/-/theme-light-extension-4.2.4.tgz", - "integrity": "sha512-D+iSUWBkdZ2pb4W6GjeN67qUvJhV9QtCZKE+egJskSsiKEuSzgDqAaXt/C8Y5BO18SgAcPal+OZaEJb3OVx02A==", - "dependencies": { - "@jupyterlab/application": "^4.2.4", - "@jupyterlab/apputils": "^4.3.4", - "@jupyterlab/translation": "^4.2.4" - } - }, - "node_modules/@jupyterlab/translation": { - "version": "4.2.4", - "resolved": "https://registry.npmmirror.com/@jupyterlab/translation/-/translation-4.2.4.tgz", - "integrity": "sha512-4AHceh9tdqzHGCV7XI5ffAf/2/yzuiBlEwDMebmBWOawlJYUGmcY7Oq/JHjtArLzpKQXVTm6NdNUObZWi7skWA==", - "dependencies": { - "@jupyterlab/coreutils": "^6.2.4", - "@jupyterlab/rendermime-interfaces": "^3.10.4", - "@jupyterlab/services": "^7.2.4", - "@jupyterlab/statedb": "^4.2.4", - "@lumino/coreutils": "^2.1.2" - } - }, - "node_modules/@jupyterlab/translation/node_modules/@lumino/coreutils": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-2.2.0.tgz", - "integrity": "sha512-x5wnQ/GjWBayJ6vXVaUi6+Q6ETDdcUiH9eSfpRZFbgMQyyM6pi6baKqJBK2CHkCc/YbAEl6ipApTgm3KOJ/I3g==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@jupyterlab/ui-components": { - "version": "4.2.4", - "resolved": "https://registry.npmmirror.com/@jupyterlab/ui-components/-/ui-components-4.2.4.tgz", - "integrity": "sha512-mFSkWnaFIQNwPrMyN41pE0jBZRda/Jc4p6ejmUR/6HPOjJ9l2YXS74dUzSjXhy/eho8S3/j1XuDLMn0z37d82g==", - "dependencies": { - "@jupyter/react-components": "^0.15.3", - "@jupyter/web-components": "^0.15.3", - "@jupyterlab/coreutils": "^6.2.4", - "@jupyterlab/observables": "^5.2.4", - "@jupyterlab/rendermime-interfaces": "^3.10.4", - "@jupyterlab/translation": "^4.2.4", - "@lumino/algorithm": "^2.0.1", - "@lumino/commands": "^2.3.0", - "@lumino/coreutils": "^2.1.2", - "@lumino/disposable": "^2.1.2", - "@lumino/messaging": "^2.0.1", - "@lumino/polling": "^2.1.2", - "@lumino/properties": "^2.0.1", - "@lumino/signaling": "^2.1.2", - "@lumino/virtualdom": "^2.0.1", - "@lumino/widgets": "^2.3.2", - "@rjsf/core": "^5.13.4", - "@rjsf/utils": "^5.13.4", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "typestyle": "^2.0.4" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/@jupyterlab/ui-components/node_modules/@lumino/coreutils": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-2.2.0.tgz", - "integrity": "sha512-x5wnQ/GjWBayJ6vXVaUi6+Q6ETDdcUiH9eSfpRZFbgMQyyM6pi6baKqJBK2CHkCc/YbAEl6ipApTgm3KOJ/I3g==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@lezer/common": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/@lezer/common/-/common-1.2.1.tgz", - "integrity": "sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==" - }, - "node_modules/@lezer/highlight": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/@lezer/highlight/-/highlight-1.2.0.tgz", - "integrity": "sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==", - "dependencies": { - "@lezer/common": "^1.0.0" - } - }, - "node_modules/@lezer/lr": { - "version": "1.3.14", - "resolved": "https://registry.npmmirror.com/@lezer/lr/-/lr-1.3.14.tgz", - "integrity": "sha512-z5mY4LStlA3yL7aHT/rqgG614cfcvklS+8oFRFBYrs4YaWLJyKKM4+nN6KopToX0o9Hj6zmH6M5kinOYuy06ug==", - "dependencies": { - "@lezer/common": "^1.0.0" - } - }, - "node_modules/@lezer/python": { - "version": "1.1.9", - "resolved": "https://registry.npmmirror.com/@lezer/python/-/python-1.1.9.tgz", - "integrity": "sha512-8Ua3p8NdICXR6qWvRCnCx5CI1B0DklZGNtRLwOrIS/OHecHIugRHZyr0NsaaQO2H2Nn34EPlRtltXIirLsry5Q==", - "dependencies": { - "@lezer/highlight": "^1.0.0", - "@lezer/lr": "^1.0.0" - } - }, - "node_modules/@lumino/algorithm": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/@lumino/algorithm/-/algorithm-2.0.2.tgz", - "integrity": "sha512-cI8yJ2+QK1yM5ZRU3Kuaw9fJ/64JEDZEwWWp7+U0cd/mvcZ44BGdJJ29w+tIet1QXxPAvnsUleWyQ5qm4qUouA==" - }, - "node_modules/@lumino/application": { - "version": "2.4.0", - "resolved": "https://registry.npmmirror.com/@lumino/application/-/application-2.4.0.tgz", - "integrity": "sha512-OJigzztfhJFQ+pyZ5+1TWQ0iBUOl98VHd/A2cgSS37sVM1F+dm5rISv2JSnpnQN1ffSlmBkhrLByZeLsfMBizg==", - "dependencies": { - "@lumino/commands": "^2.3.1", - "@lumino/coreutils": "^2.2.0", - "@lumino/widgets": "^2.4.0" - } - }, - "node_modules/@lumino/application/node_modules/@lumino/coreutils": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-2.2.0.tgz", - "integrity": "sha512-x5wnQ/GjWBayJ6vXVaUi6+Q6ETDdcUiH9eSfpRZFbgMQyyM6pi6baKqJBK2CHkCc/YbAEl6ipApTgm3KOJ/I3g==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@lumino/collections": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/@lumino/collections/-/collections-2.0.2.tgz", - "integrity": "sha512-o0QmfV1D3WhAeA8GI1/YmEPaK89JtHVa764rQ5T0LdbDEwUtUDbjavHs1E/+y66tNTXz9RUJ4D2rcSb9tysYsg==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@lumino/commands": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/@lumino/commands/-/commands-2.3.1.tgz", - "integrity": "sha512-DpX1kkE4PhILpvK1T4ZnaFb6UP4+YTkdZifvN3nbiomD64O2CTd+wcWIBpZMgy6MMgbVgrE8dzHxHk1EsKxNxw==", - "dependencies": { - "@lumino/algorithm": "^2.0.2", - "@lumino/coreutils": "^2.2.0", - "@lumino/disposable": "^2.1.3", - "@lumino/domutils": "^2.0.2", - "@lumino/keyboard": "^2.0.2", - "@lumino/signaling": "^2.1.3", - "@lumino/virtualdom": "^2.0.2" - } - }, - "node_modules/@lumino/commands/node_modules/@lumino/coreutils": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-2.2.0.tgz", - "integrity": "sha512-x5wnQ/GjWBayJ6vXVaUi6+Q6ETDdcUiH9eSfpRZFbgMQyyM6pi6baKqJBK2CHkCc/YbAEl6ipApTgm3KOJ/I3g==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@lumino/coreutils": { - "version": "1.12.1", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-1.12.1.tgz", - "integrity": "sha512-JLu3nTHzJk9N8ohZ85u75YxemMrmDzJdNgZztfP7F7T7mxND3YVNCkJG35a6aJ7edu1sIgCjBxOvV+hv27iYvQ==", - "peerDependencies": { - "crypto": "1.0.1" - } - }, - "node_modules/@lumino/disposable": { - "version": "2.1.3", - "resolved": "https://registry.npmmirror.com/@lumino/disposable/-/disposable-2.1.3.tgz", - "integrity": "sha512-k5KXy/+T3UItiWHY4WwQawnsJnGo3aNtP5CTRKqo4+tbTNuhc3rTSvygJlNKIbEfIZXW2EWYnwfFDozkYx95eA==", - "dependencies": { - "@lumino/signaling": "^2.1.3" - } - }, - "node_modules/@lumino/domutils": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/@lumino/domutils/-/domutils-2.0.2.tgz", - "integrity": "sha512-2Kp6YHaMNI1rKB0PrALvOsZBHPy2EvVVAvJLWjlCm8MpWOVETjFp0MA9QpMubT9I76aKbaI5s1o1NJyZ8Y99pQ==" - }, - "node_modules/@lumino/dragdrop": { - "version": "2.1.5", - "resolved": "https://registry.npmmirror.com/@lumino/dragdrop/-/dragdrop-2.1.5.tgz", - "integrity": "sha512-zqwR4GakrQBKZOW6S5pj2nfrQDurOErAoe9x3HS3BKLa1AzWA+t9PD5NESOKd81NqXFHjiMirSyFkTUs6pw+uA==", - "dependencies": { - "@lumino/coreutils": "^2.2.0", - "@lumino/disposable": "^2.1.3" - } - }, - "node_modules/@lumino/dragdrop/node_modules/@lumino/coreutils": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-2.2.0.tgz", - "integrity": "sha512-x5wnQ/GjWBayJ6vXVaUi6+Q6ETDdcUiH9eSfpRZFbgMQyyM6pi6baKqJBK2CHkCc/YbAEl6ipApTgm3KOJ/I3g==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@lumino/keyboard": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/@lumino/keyboard/-/keyboard-2.0.2.tgz", - "integrity": "sha512-icRUpvswDaFjqmAJNbQRb/aTu6Iugo6Y2oC08TiIwhQtLS9W+Ee9VofdqvbPSvCm6DkyP+DCWMuA3KXZ4V4g4g==" - }, - "node_modules/@lumino/messaging": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/@lumino/messaging/-/messaging-2.0.2.tgz", - "integrity": "sha512-2sUF07cYA0f3mDil41Eh5sfBk0aGAH/mOh1I4+vyRUsKyBqp4WTUtpJFd8xVJGAntygxwnebIygkIaXXTIQvxA==", - "dependencies": { - "@lumino/algorithm": "^2.0.2", - "@lumino/collections": "^2.0.2" - } - }, - "node_modules/@lumino/polling": { - "version": "2.1.3", - "resolved": "https://registry.npmmirror.com/@lumino/polling/-/polling-2.1.3.tgz", - "integrity": "sha512-WEZk96ddK6eHEhdDkFUAAA40EOLit86QVbqQqnbPmhdGwFogek26Kq9b1U273LJeirv95zXCATOJAkjRyb7D+w==", - "dependencies": { - "@lumino/coreutils": "^2.2.0", - "@lumino/disposable": "^2.1.3", - "@lumino/signaling": "^2.1.3" - } - }, - "node_modules/@lumino/polling/node_modules/@lumino/coreutils": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-2.2.0.tgz", - "integrity": "sha512-x5wnQ/GjWBayJ6vXVaUi6+Q6ETDdcUiH9eSfpRZFbgMQyyM6pi6baKqJBK2CHkCc/YbAEl6ipApTgm3KOJ/I3g==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@lumino/properties": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/@lumino/properties/-/properties-2.0.2.tgz", - "integrity": "sha512-b312oA3Bh97WFK8efXejYmC3DVJmvzJk72LQB7H3fXhfqS5jUWvL7MSnNmgcQvGzl9fIhDWDWjhtSTi0KGYYBg==" - }, - "node_modules/@lumino/signaling": { - "version": "2.1.3", - "resolved": "https://registry.npmmirror.com/@lumino/signaling/-/signaling-2.1.3.tgz", - "integrity": "sha512-9Wd4iMk8F1i6pYjy65bqKuPlzQMicyL9xy1/ccS20kovPcfD074waneL/7BVe+3M8i+fGa3x2qjbWrBzOdTdNw==", - "dependencies": { - "@lumino/algorithm": "^2.0.2", - "@lumino/coreutils": "^2.2.0" - } - }, - "node_modules/@lumino/signaling/node_modules/@lumino/coreutils": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-2.2.0.tgz", - "integrity": "sha512-x5wnQ/GjWBayJ6vXVaUi6+Q6ETDdcUiH9eSfpRZFbgMQyyM6pi6baKqJBK2CHkCc/YbAEl6ipApTgm3KOJ/I3g==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@lumino/virtualdom": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/@lumino/virtualdom/-/virtualdom-2.0.2.tgz", - "integrity": "sha512-HYZThOtZSoknjdXA102xpy5CiXtTFCVz45EXdWeYLx3NhuEwuAIX93QBBIhupalmtFlRg1yhdDNV40HxJ4kcXg==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, - "node_modules/@lumino/widgets": { - "version": "2.4.0", - "resolved": "https://registry.npmmirror.com/@lumino/widgets/-/widgets-2.4.0.tgz", - "integrity": "sha512-n7MqRKj+g/aRnI3dl4EJw/Bkt5/LSwGcn3sA9opn88CMZmAzjC33ac+q6zijovjCX8yDud7KKK8yPFTwOFaxhg==", - "dependencies": { - "@lumino/algorithm": "^2.0.2", - "@lumino/commands": "^2.3.1", - "@lumino/coreutils": "^2.2.0", - "@lumino/disposable": "^2.1.3", - "@lumino/domutils": "^2.0.2", - "@lumino/dragdrop": "^2.1.5", - "@lumino/keyboard": "^2.0.2", - "@lumino/messaging": "^2.0.2", - "@lumino/properties": "^2.0.2", - "@lumino/signaling": "^2.1.3", - "@lumino/virtualdom": "^2.0.2" - } - }, - "node_modules/@lumino/widgets/node_modules/@lumino/coreutils": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/@lumino/coreutils/-/coreutils-2.2.0.tgz", - "integrity": "sha512-x5wnQ/GjWBayJ6vXVaUi6+Q6ETDdcUiH9eSfpRZFbgMQyyM6pi6baKqJBK2CHkCc/YbAEl6ipApTgm3KOJ/I3g==", - "dependencies": { - "@lumino/algorithm": "^2.0.2" - } - }, "node_modules/@mermaid-js/mermaid-mindmap": { "version": "9.3.0", "resolved": "https://registry.npmmirror.com/@mermaid-js/mermaid-mindmap/-/mermaid-mindmap-9.3.0.tgz", @@ -3192,52 +2111,6 @@ "non-layered-tidy-tree-layout": "^2.0.2" } }, - "node_modules/@microsoft/fast-colors": { - "version": "5.3.1", - "resolved": "https://registry.npmmirror.com/@microsoft/fast-colors/-/fast-colors-5.3.1.tgz", - "integrity": "sha512-72RZXVfCbwQzvo5sXXkuLXLT7rMeYaSf5r/6ewQiv/trBtqpWRm4DEH2EilHw/iWTBKOXs1qZNQndgUMa5n4LA==" - }, - "node_modules/@microsoft/fast-element": { - "version": "1.13.0", - "resolved": "https://registry.npmmirror.com/@microsoft/fast-element/-/fast-element-1.13.0.tgz", - "integrity": "sha512-iFhzKbbD0cFRo9cEzLS3Tdo9BYuatdxmCEKCpZs1Cro/93zNMpZ/Y9/Z7SknmW6fhDZbpBvtO8lLh9TFEcNVAQ==" - }, - "node_modules/@microsoft/fast-foundation": { - "version": "2.49.6", - "resolved": "https://registry.npmmirror.com/@microsoft/fast-foundation/-/fast-foundation-2.49.6.tgz", - "integrity": "sha512-DZVr+J/NIoskFC1Y6xnAowrMkdbf2d5o7UyWK6gW5AiQ6S386Ql8dw4KcC4kHaeE1yL2CKvweE79cj6ZhJhTvA==", - "dependencies": { - "@microsoft/fast-element": "^1.13.0", - "@microsoft/fast-web-utilities": "^5.4.1", - "tabbable": "^5.2.0", - "tslib": "^1.13.0" - } - }, - "node_modules/@microsoft/fast-foundation/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@microsoft/fast-react-wrapper": { - "version": "0.3.24", - "resolved": "https://registry.npmmirror.com/@microsoft/fast-react-wrapper/-/fast-react-wrapper-0.3.24.tgz", - "integrity": "sha512-sRnSBIKaO42p4mYoYR60spWVkg89wFxFAgQETIMazAm2TxtlsnsGszJnTwVhXq2Uz+XNiD8eKBkfzK5c/i6/Kw==", - "dependencies": { - "@microsoft/fast-element": "^1.13.0", - "@microsoft/fast-foundation": "^2.49.6" - }, - "peerDependencies": { - "react": ">=16.9.0" - } - }, - "node_modules/@microsoft/fast-web-utilities": { - "version": "5.4.1", - "resolved": "https://registry.npmmirror.com/@microsoft/fast-web-utilities/-/fast-web-utilities-5.4.1.tgz", - "integrity": "sha512-ReWYncndjV3c8D8iq9tp7NcFNc1vbVHvcBFPME2nNFKNbS1XCesYZGlIlf3ot5EmuOXPlrzUHOWzQ2vFpIkqDg==", - "dependencies": { - "exenv-es6": "^1.1.1" - } - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -3464,43 +2337,6 @@ "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==", "dev": true }, - "node_modules/@rjsf/core": { - "version": "5.19.3", - "resolved": "https://registry.npmmirror.com/@rjsf/core/-/core-5.19.3.tgz", - "integrity": "sha512-AAzolj+fcFlwk0/5THA7T2JkmYTIUa+fLPM5prFqPw55FwWOa0qC5zIOfkhPS95Z9bfwJv3BubOAiKZ7MOGe8Q==", - "dependencies": { - "lodash": "^4.17.21", - "lodash-es": "^4.17.21", - "markdown-to-jsx": "^7.4.1", - "nanoid": "^3.3.7", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@rjsf/utils": "^5.19.x", - "react": "^16.14.0 || >=17" - } - }, - "node_modules/@rjsf/utils": { - "version": "5.19.3", - "resolved": "https://registry.npmmirror.com/@rjsf/utils/-/utils-5.19.3.tgz", - "integrity": "sha512-1lG/uMMmnAJE48BHUl4laNY2W2j2gIR2LH4jsxeEMSuFloB06ZuUXLesD03Nz2zQjm66izNmnm5eAmAi3Pa1yQ==", - "dependencies": { - "json-schema-merge-allof": "^0.8.1", - "jsonpointer": "^5.0.1", - "lodash": "^4.17.21", - "lodash-es": "^4.17.21", - "react-is": "^18.2.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": "^16.14.0 || >=17" - } - }, "node_modules/@rollup/plugin-node-resolve": { "version": "15.2.3", "resolved": "https://registry.npmmirror.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", @@ -3578,6 +2414,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -3591,6 +2428,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -3604,6 +2442,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -3617,6 +2456,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -3630,6 +2470,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3643,6 +2484,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3656,6 +2498,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3669,6 +2512,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3682,6 +2526,7 @@ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3695,6 +2540,7 @@ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3708,18 +2554,20 @@ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.19.0", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.0.tgz", - "integrity": "sha512-HBndjQLP8OsdJNSxpNIN0einbDmRFg9+UQeZV1eiYupIRuZsDEoeGU43NQsS34Pp166DtwQOnpcbV/zQxM+rWA==", + "version": "4.19.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.1.tgz", + "integrity": "sha512-XUXeI9eM8rMP8aGvii/aOOiMvTs7xlCosq9xCjcqI9+5hBxtjDpD+7Abm1ZhVIFE1J2h2VIg0t2DX/gjespC2Q==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -3733,6 +2581,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3746,6 +2595,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -3759,6 +2609,7 @@ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -4962,12 +3813,18 @@ "node_modules/@types/prop-types": { "version": "15.7.12", "resolved": "https://registry.npmmirror.com/@types/prop-types/-/prop-types-15.7.12.tgz", - "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==" + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "dev": true, + "optional": true, + "peer": true }, "node_modules/@types/react": { "version": "18.2.79", "resolved": "https://registry.npmmirror.com/@types/react/-/react-18.2.79.tgz", "integrity": "sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -5854,6 +4711,7 @@ "version": "8.14.0", "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.14.0.tgz", "integrity": "sha512-oYs1UUtO97ZO2lJ4bwnWeQW8/zvOIQLGKcvPTsWmvc2SYgBb+upuNS5NxoLaMU4h8Ju3Nbj6Cq8mD2LQoqVKFA==", + "dev": true, "dependencies": { "fast-deep-equal": "^3.1.3", "json-schema-traverse": "^1.0.0", @@ -6615,27 +5473,6 @@ "dot-prop": "^5.1.0" } }, - "node_modules/compute-gcd": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/compute-gcd/-/compute-gcd-1.2.1.tgz", - "integrity": "sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg==", - "dependencies": { - "validate.io-array": "^1.0.3", - "validate.io-function": "^1.0.2", - "validate.io-integer-array": "^1.0.0" - } - }, - "node_modules/compute-lcm": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/compute-lcm/-/compute-lcm-1.1.2.tgz", - "integrity": "sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ==", - "dependencies": { - "compute-gcd": "^1.2.1", - "validate.io-array": "^1.0.3", - "validate.io-function": "^1.0.2", - "validate.io-integer-array": "^1.0.0" - } - }, "node_modules/computeds": { "version": "0.0.1", "resolved": "https://registry.npmmirror.com/computeds/-/computeds-0.0.1.tgz", @@ -6818,24 +5655,6 @@ } } }, - "node_modules/cross-env": { - "version": "7.0.3", - "resolved": "https://registry.npmmirror.com/cross-env/-/cross-env-7.0.3.tgz", - "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.1" - }, - "bin": { - "cross-env": "src/bin/cross-env.js", - "cross-env-shell": "src/bin/cross-env-shell.js" - }, - "engines": { - "node": ">=10.14", - "npm": ">=6", - "yarn": ">=1" - } - }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -6850,13 +5669,6 @@ "node": ">= 8" } }, - "node_modules/crypto": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/crypto/-/crypto-1.0.1.tgz", - "integrity": "sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==", - "deprecated": "This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in.", - "peer": true - }, "node_modules/crypto-random-string": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz", @@ -7498,6 +6310,7 @@ "version": "4.3.1", "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -7608,7 +6421,8 @@ "node_modules/domelementtype": { "version": "2.3.0", "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true }, "node_modules/domhandler": { "version": "4.3.1", @@ -7995,17 +6809,6 @@ "node": ">=10" } }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/esm": { "version": "3.2.25", "resolved": "https://registry.npmmirror.com/esm/-/esm-3.2.25.tgz", @@ -8083,15 +6886,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/exenv-es6": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/exenv-es6/-/exenv-es6-1.1.1.tgz", - "integrity": "sha512-vlVu3N8d6yEMpMsEm+7sUBAI81aqYYuEvfK0jNqmdb/OPXzzH7QWDDnVjMvDSY47JdHEqx/dfC/q8WkfoTmpGQ==" - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "node_modules/fast-glob": { "version": "3.3.2", @@ -8264,11 +7063,6 @@ "is-callable": "^1.1.3" } }, - "node_modules/free-style": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/free-style/-/free-style-3.1.0.tgz", - "integrity": "sha512-vJujYSIyT30iDoaoeigNAxX4yB1RUrh+N2ZMhIElMr3BvCuGXOw7XNJMEEJkDUeamK2Rnb/IKFGKRKlTWIGRWA==" - }, "node_modules/from2": { "version": "2.3.0", "resolved": "https://registry.npmmirror.com/from2/-/from2-2.3.0.tgz", @@ -8306,6 +7100,7 @@ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -9189,14 +7984,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmmirror.com/is-regex/-/is-regex-1.1.4.tgz", @@ -9342,15 +8129,6 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "node_modules/isomorphic.js": { - "version": "0.2.5", - "resolved": "https://registry.npmmirror.com/isomorphic.js/-/isomorphic.js-0.2.5.tgz", - "integrity": "sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==", - "funding": { - "type": "GitHub Sponsors ❤", - "url": "https://github.com/sponsors/dmonad" - } - }, "node_modules/issue-parser": { "version": "7.0.0", "resolved": "https://registry.npmmirror.com/issue-parser/-/issue-parser-7.0.0.tgz", @@ -9467,7 +8245,8 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "node_modules/js-yaml": { "version": "4.1.0", @@ -9511,36 +8290,17 @@ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true }, - "node_modules/json-schema-compare": { - "version": "0.2.2", - "resolved": "https://registry.npmmirror.com/json-schema-compare/-/json-schema-compare-0.2.2.tgz", - "integrity": "sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ==", - "dependencies": { - "lodash": "^4.17.4" - } - }, - "node_modules/json-schema-merge-allof": { - "version": "0.8.1", - "resolved": "https://registry.npmmirror.com/json-schema-merge-allof/-/json-schema-merge-allof-0.8.1.tgz", - "integrity": "sha512-CTUKmIlPJbsWfzRRnOXz+0MjIqvnleIXwFTzz+t9T86HnYX/Rozria6ZVGLktAU9e+NygNljveP+yxqtQp/Q4w==", - "dependencies": { - "compute-lcm": "^1.1.2", - "json-schema-compare": "^0.2.2", - "lodash": "^4.17.20" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, "bin": { "json5": "lib/cli.js" }, @@ -9564,6 +8324,7 @@ "version": "5.0.1", "resolved": "https://registry.npmmirror.com/jsonpointer/-/jsonpointer-5.0.1.tgz", "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -9651,26 +8412,6 @@ "node": ">=6" } }, - "node_modules/lib0": { - "version": "0.2.94", - "resolved": "https://registry.npmmirror.com/lib0/-/lib0-0.2.94.tgz", - "integrity": "sha512-hZ3p54jL4Wpu7IOg26uC7dnEWiMyNlUrb9KoG7+xYs45WkQwpVvKFndVq2+pqLYKe1u8Fp3+zAfZHVvTK34PvQ==", - "dependencies": { - "isomorphic.js": "^0.2.4" - }, - "bin": { - "0ecdsa-generate-keypair": "bin/0ecdsa-generate-keypair.js", - "0gentesthtml": "bin/gentesthtml.js", - "0serve": "bin/0serve.js" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "type": "GitHub Sponsors ❤", - "url": "https://github.com/sponsors/dmonad" - } - }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -9745,12 +8486,14 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, "node_modules/lodash-es": { "version": "4.17.21", "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "dev": true }, "node_modules/lodash.capitalize": { "version": "4.2.1", @@ -9764,11 +8507,6 @@ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true }, - "node_modules/lodash.escape": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/lodash.escape/-/lodash.escape-4.0.1.tgz", - "integrity": "sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==" - }, "node_modules/lodash.escaperegexp": { "version": "4.1.2", "resolved": "https://registry.npmmirror.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", @@ -9813,6 +8551,9 @@ "version": "1.4.0", "resolved": "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -9946,17 +8687,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/markdown-to-jsx": { - "version": "7.4.7", - "resolved": "https://registry.npmmirror.com/markdown-to-jsx/-/markdown-to-jsx-7.4.7.tgz", - "integrity": "sha512-0+ls1IQZdU6cwM1yu0ZjjiVWYtkbExSyUIFU2ZeDIFuZM1W42Mh4OlJ4nb4apX4H8smxDHRdFaoIVJGwfv5hkg==", - "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "react": ">= 0.14.0" - } - }, "node_modules/marked": { "version": "12.0.2", "resolved": "https://registry.npmmirror.com/marked/-/marked-12.0.2.tgz", @@ -13421,6 +12151,7 @@ "version": "1.2.8", "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -16261,6 +14992,7 @@ "version": "4.1.1", "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -16468,11 +15200,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse-srcset": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/parse-srcset/-/parse-srcset-1.0.2.tgz", - "integrity": "sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==" - }, "node_modules/parse5": { "version": "6.0.1", "resolved": "https://registry.npmmirror.com/parse5/-/parse5-6.0.1.tgz", @@ -16491,7 +15218,8 @@ "node_modules/path-browserify": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true }, "node_modules/path-exists": { "version": "3.0.0", @@ -16673,21 +15401,6 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmmirror.com/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, "node_modules/proto-list": { "version": "1.2.4", "resolved": "https://registry.npmmirror.com/proto-list/-/proto-list-1.2.4.tgz", @@ -16698,6 +15411,7 @@ "version": "2.3.1", "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, "engines": { "node": ">=6" } @@ -16710,11 +15424,6 @@ "node": ">=6" } }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -16763,6 +15472,9 @@ "version": "18.2.0", "resolved": "https://registry.npmmirror.com/react/-/react-18.2.0.tgz", "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -16774,6 +15486,9 @@ "version": "18.2.0", "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-18.2.0.tgz", "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.0" @@ -16782,11 +15497,6 @@ "react": "^18.2.0" } }, - "node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" - }, "node_modules/read-package-up": { "version": "11.0.0", "resolved": "https://registry.npmmirror.com/read-package-up/-/read-package-up-11.0.0.tgz", @@ -17017,15 +15727,11 @@ "version": "2.0.2", "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", @@ -17126,6 +15832,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -17246,77 +15953,6 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "node_modules/sanitize-html": { - "version": "2.12.1", - "resolved": "https://registry.npmmirror.com/sanitize-html/-/sanitize-html-2.12.1.tgz", - "integrity": "sha512-Plh+JAn0UVDpBRP/xEjsk+xDCoOvMBwQUf/K+/cBAVuTbtX8bj2VB7S1sL1dssVpykqp0/KPSesHrqXtokVBpA==", - "dependencies": { - "deepmerge": "^4.2.2", - "escape-string-regexp": "^4.0.0", - "htmlparser2": "^8.0.0", - "is-plain-object": "^5.0.0", - "parse-srcset": "^1.0.2", - "postcss": "^8.3.11" - } - }, - "node_modules/sanitize-html/node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/sanitize-html/node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/sanitize-html/node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/sanitize-html/node_modules/htmlparser2": { - "version": "8.0.2", - "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" - } - }, "node_modules/sax": { "version": "1.3.0", "resolved": "https://registry.npmmirror.com/sax/-/sax-1.3.0.tgz", @@ -17326,6 +15962,9 @@ "version": "0.23.0", "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.23.0.tgz", "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { "loose-envify": "^1.1.0" } @@ -17979,11 +16618,6 @@ "node": ">=0.10.0" } }, - "node_modules/style-mod": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/style-mod/-/style-mod-4.1.0.tgz", - "integrity": "sha512-Ca5ib8HrFn+f+0n4N4ScTIA9iTOQ7MaGS1ylHcoVqW9J7w2w8PzN6g9gKmTYgGEBH8e120+RCmhpje6jC5uGWA==" - }, "node_modules/stylis": { "version": "4.3.0", "resolved": "https://registry.npmmirror.com/stylis/-/stylis-4.3.0.tgz", @@ -18076,11 +16710,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tabbable": { - "version": "5.3.3", - "resolved": "https://registry.npmmirror.com/tabbable/-/tabbable-5.3.3.tgz", - "integrity": "sha512-QD9qKY3StfbZqWOPLp0++pOrAVb/HbUi5xCc8cUo4XjP19808oaMiDzn0leBY5mCespIBM0CIZePzZjgzR83kA==" - }, "node_modules/temp-dir": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/temp-dir/-/temp-dir-2.0.0.tgz", @@ -18411,20 +17040,6 @@ "node": ">=14.17" } }, - "node_modules/typestyle": { - "version": "2.4.0", - "resolved": "https://registry.npmmirror.com/typestyle/-/typestyle-2.4.0.tgz", - "integrity": "sha512-/d1BL6Qi+YlMLEydnUEB8KL/CAjAN8cyt3/UyGnOyBrWf7bLGcR/6yhmsaUstO2IcYwZfagjE7AIzuI2vUW9mg==", - "dependencies": { - "csstype": "3.0.10", - "free-style": "3.1.0" - } - }, - "node_modules/typestyle/node_modules/csstype": { - "version": "3.0.10", - "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.0.10.tgz", - "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==" - }, "node_modules/uc.micro": { "version": "2.1.0", "resolved": "https://registry.npmmirror.com/uc.micro/-/uc.micro-2.1.0.tgz", @@ -18793,6 +17408,7 @@ "version": "4.4.1", "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, "dependencies": { "punycode": "^2.1.0" } @@ -18806,15 +17422,6 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmmirror.com/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -18867,38 +17474,6 @@ "spdx-expression-parse": "^3.0.0" } }, - "node_modules/validate.io-array": { - "version": "1.0.6", - "resolved": "https://registry.npmmirror.com/validate.io-array/-/validate.io-array-1.0.6.tgz", - "integrity": "sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg==" - }, - "node_modules/validate.io-function": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/validate.io-function/-/validate.io-function-1.0.2.tgz", - "integrity": "sha512-LlFybRJEriSuBnUhQyG5bwglhh50EpTL2ul23MPIuR1odjO7XaMLFV8vHGwp7AZciFxtYOeiSCT5st+XSPONiQ==" - }, - "node_modules/validate.io-integer": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/validate.io-integer/-/validate.io-integer-1.0.5.tgz", - "integrity": "sha512-22izsYSLojN/P6bppBqhgUDjCkr5RY2jd+N2a3DCAUey8ydvrZ/OkGvFPR7qfOpwR2LC5p4Ngzxz36g5Vgr/hQ==", - "dependencies": { - "validate.io-number": "^1.0.3" - } - }, - "node_modules/validate.io-integer-array": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/validate.io-integer-array/-/validate.io-integer-array-1.0.0.tgz", - "integrity": "sha512-mTrMk/1ytQHtCY0oNO3dztafHYyGU88KL+jRxWuzfOmQb+4qqnWmI+gykvGp8usKZOM0H7keJHEbRaFiYA0VrA==", - "dependencies": { - "validate.io-array": "^1.0.3", - "validate.io-integer": "^1.0.4" - } - }, - "node_modules/validate.io-number": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/validate.io-number/-/validate.io-number-1.0.3.tgz", - "integrity": "sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg==" - }, "node_modules/vfile": { "version": "6.0.1", "resolved": "https://registry.npmmirror.com/vfile/-/vfile-6.0.1.tgz", @@ -19142,11 +17717,6 @@ "he": "^1.2.0" } }, - "node_modules/w3c-keyname": { - "version": "2.2.8", - "resolved": "https://registry.npmmirror.com/w3c-keyname/-/w3c-keyname-2.2.8.tgz", - "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" - }, "node_modules/web-resource-inliner": { "version": "6.0.1", "resolved": "https://registry.npmmirror.com/web-resource-inliner/-/web-resource-inliner-6.0.1.tgz", @@ -19641,26 +18211,6 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmmirror.com/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/xmldom-sre": { "version": "0.1.31", "resolved": "https://registry.npmmirror.com/xmldom-sre/-/xmldom-sre-0.1.31.tgz", @@ -19679,25 +18229,6 @@ "node": ">=0.4" } }, - "node_modules/y-protocols": { - "version": "1.0.6", - "resolved": "https://registry.npmmirror.com/y-protocols/-/y-protocols-1.0.6.tgz", - "integrity": "sha512-vHRF2L6iT3rwj1jub/K5tYcTT/mEYDUppgNPXwp8fmLpui9f7Yeq3OEtTLVF012j39QnV+KEQpNqoN7CWU7Y9Q==", - "dependencies": { - "lib0": "^0.2.85" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=8.0.0" - }, - "funding": { - "type": "GitHub Sponsors ❤", - "url": "https://github.com/sponsors/dmonad" - }, - "peerDependencies": { - "yjs": "^13.0.0" - } - }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", @@ -19740,22 +18271,6 @@ "node": ">=12" } }, - "node_modules/yjs": { - "version": "13.6.18", - "resolved": "https://registry.npmmirror.com/yjs/-/yjs-13.6.18.tgz", - "integrity": "sha512-GBTjO4QCmv2HFKFkYIJl7U77hIB1o22vSCSQD1Ge8ZxWbIbn8AltI4gyXbtL+g5/GJep67HCMq3Y5AmNwDSyEg==", - "dependencies": { - "lib0": "^0.2.86" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=8.0.0" - }, - "funding": { - "type": "GitHub Sponsors ❤", - "url": "https://github.com/sponsors/dmonad" - } - }, "node_modules/yoctocolors": { "version": "2.0.2", "resolved": "https://registry.npmmirror.com/yoctocolors/-/yoctocolors-2.0.2.tgz", diff --git a/package.json b/package.json index 47bdf8c..186b0db 100644 --- a/package.json +++ b/package.json @@ -1,15 +1,11 @@ { "type": "module", "scripts": { - "docs:dev": "cross-env NODE_OPTIONS='--max-old-space-size=8192' vitepress dev --host", - "docs:build": "cross-env NODE_OPTIONS='--max-old-space-size=8192' vitepress build", - "docs:preview": "cross-env NODE_OPTIONS='--max-old-space-size=8192' vitepress preview" + "docs:dev": "vitepress dev --host", + "docs:build": "vitepress build", + "docs:preview": "vitepress preview" }, "dependencies": { - "@codemirror/lang-python": "^6.1.6", - "@codemirror/lang-sql": "^6.7.0", - "@jupyterlab/mathjax2": "^3.6.7", - "@jupyterlab/theme-light-extension": "^4.2.4", "@vueuse/core": "^10.11.0", "canvas-confetti": "^1.9.3", "markdown-it": "^14.1.0", @@ -26,7 +22,6 @@ "@semantic-release/release-notes-generator": "^14.0.1", "@shikijs/vitepress-twoslash": "^1.10.3", "@vitejs/plugin-vue": "^5.0.5", - "cross-env": "^7.0.3", "markdown-it-mathjax3": "^4.3.2", "mermaid": "^10.9.1", "semantic-release": "^24.0.0", diff --git a/utils/index.js b/utils/index.js deleted file mode 100644 index acd6a2f..0000000 --- a/utils/index.js +++ /dev/null @@ -1 +0,0 @@ -export * from "./notebook"; diff --git a/utils/notebook/codemirror.js b/utils/notebook/codemirror.js deleted file mode 100644 index 10b612f..0000000 --- a/utils/notebook/codemirror.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 调用 codemirror 插件渲染code,并调用 jupyterlab 的 codemirror 主题样式做渲染 - * codemirror 插件: https://codemirror.net/ - */ - -import { EditorState } from "@codemirror/state"; -import { EditorView } from "@codemirror/view"; -import { python } from "@codemirror/lang-python"; -import { sql } from "@codemirror/lang-sql"; -import { Theme } from "./codemirror.theme"; - -// Codemirror 扩展配置 -const extensionsConfig = [ - EditorState.readOnly.of(true), - EditorView.editable.of(false), - Theme.getTheme("jupyter"), // 主题引入 - - /* 引入所需的编程语言 START */ - python(), - sql(), - /* 引入所需的编程语言 END */ -]; - -/** - * 调用codemirror插件渲染code - * - * @param {string} codeString 需要渲染的code字符串 - * @param {Element} parent 父元素,渲染成功后得元素将作为其的子元素 - * @returns {Element} 渲染完成后的父元素 - */ -export function createCodemirror(codeString, parent) { - if (codeString instanceof Array) codeString = codeString.join(""); - if (typeof codeString !== "string") - throw "Function createCodemirror: 参数 codeString 必须是字符串!"; - if (!parent) console.warn("Function createCodemirror: 参数 parent 不能为空"); - if (!("appendChild" in document.body)) { - console.warn( - "Function createCodemirror: 参数 parent 类型错误,需为HTML元素" - ); - codeString = document.body; - } - - return new EditorView({ - state: EditorState.create({ - doc: codeString || "", - extensions: extensionsConfig, - }), - parent: parent || document.body, - }); -} diff --git a/utils/notebook/codemirror.theme.js b/utils/notebook/codemirror.theme.js deleted file mode 100644 index 4891340..0000000 --- a/utils/notebook/codemirror.theme.js +++ /dev/null @@ -1,180 +0,0 @@ -// Copyright (c) Jupyter Development Team. -// Distributed under the terms of the Modified BSD License. - -/** - * 本文件为 Jupyter lab 源码。 - * 用于设置 codemirror 相关的主题,提供了 codemirror 以及 jupyter 两种主题。其中 jupyter 为默认主题 - * - * 源码TS版:https://github.com/jupyterlab/jupyterlab/blob/master/packages/codemirror/src/editortheme.ts - */ - -import { - defaultHighlightStyle, - HighlightStyle, - syntaxHighlighting, -} from "@codemirror/language"; -import { EditorView } from "@codemirror/view"; -import { tags as t } from "@lezer/highlight"; -export const jupyterEditorTheme = EditorView.theme({ - /** - * CodeMirror themes are handling the background/color in this way. This works - * fine for CodeMirror editors outside the notebook, but the notebook styles - * these things differently. - */ - "&": { - background: "var(--jp-layout-color0)", - color: "var(--jp-content-font-color1)", - }, - /* In the notebook, we want this styling to be handled by its container */ - ".jp-CodeConsole &, .jp-Notebook &": { - background: "transparent", - }, - ".cm-content": { - caretColor: "var(--jp-editor-cursor-color)", - }, - ".cm-cursor, .cm-dropCursor": { - borderLeft: - "var(--jp-code-cursor-width0) solid var(--jp-editor-cursor-color)", - }, - ".cm-selectionBackground, .cm-content ::selection": { - backgroundColor: "var(--jp-editor-selected-background)", - }, - "&.cm-focused .cm-selectionBackground": { - backgroundColor: "var(--jp-editor-selected-focused-background)", - }, - ".cm-gutters": { - borderRight: "1px solid var(--jp-border-color2)", - backgroundColor: "var(--jp-layout-color2)", - }, - ".cm-gutter, .cm-activeLine": { - backgroundColor: "var(--jp-layout-color2)", - }, - ".cm-searchMatch": { - backgroundColor: "var(--jp-search-unselected-match-background-color)", - color: "var(--jp-search-unselected-match-color)", - }, - ".cm-searchMatch.cm-searchMatch-selected": { - backgroundColor: - "var(--jp-search-selected-match-background-color) !important", - color: "var(--jp-search-selected-match-color) !important", - }, -}); -// The list of available tags for syntax highlighting is available at -// https://lezer.codemirror.net/docs/ref/#highlight.tags -export const jupyterHighlightStyle = HighlightStyle.define([ - // Order matters - a rule will override the previous ones; important for example for in headings styles. - { tag: t.meta, color: "var(--jp-mirror-editor-meta-color)" }, - { tag: t.heading, color: "var(--jp-mirror-editor-header-color)" }, - { - tag: [t.heading1, t.heading2, t.heading3, t.heading4], - color: "var(--jp-mirror-editor-header-color)", - fontWeight: "bold", - }, - { - tag: t.keyword, - color: "var(--jp-mirror-editor-keyword-color)", - fontWeight: "bold", - }, - { tag: t.atom, color: "var(--jp-mirror-editor-atom-color)" }, - { tag: t.number, color: "var(--jp-mirror-editor-number-color)" }, - { - tag: [t.definition(t.name), t.function(t.definition(t.variableName))], - color: "var(--jp-mirror-editor-def-color)", - }, - { tag: t.variableName, color: "var(--jp-mirror-editor-variable-color)" }, - { - tag: [t.special(t.variableName), t.self], - color: "var(--jp-mirror-editor-variable-2-color)", - }, - { tag: t.punctuation, color: "var(--jp-mirror-editor-punctuation-color)" }, - { tag: t.propertyName, color: "var(--jp-mirror-editor-property-color)" }, - { - tag: t.operator, - color: "var(--jp-mirror-editor-operator-color)", - fontWeight: "bold", - }, - { - tag: t.comment, - color: "var(--jp-mirror-editor-comment-color)", - fontStyle: "italic", - }, - { tag: t.string, color: "var(--jp-mirror-editor-string-color)" }, - { - tag: [t.labelName, t.monospace, t.special(t.string)], - color: "var(--jp-mirror-editor-string-2-color)", - }, - { tag: t.bracket, color: "var(--jp-mirror-editor-bracket-color)" }, - { tag: t.tagName, color: "var(--jp-mirror-editor-tag-color)" }, - { tag: t.attributeName, color: "var(--jp-mirror-editor-attribute-color)" }, - { tag: t.quote, color: "var(--jp-mirror-editor-quote-color)" }, - { - tag: t.link, - color: "var(--jp-mirror-editor-link-color)", - textDecoration: "underline", - }, - { tag: [t.separator, t.derefOperator, t.paren], color: "" }, - { tag: t.strong, fontWeight: "bold" }, - { tag: t.emphasis, fontStyle: "italic" }, - { tag: t.strikethrough, textDecoration: "line-through" }, -]); -/** - * JupyterLab CodeMirror 6 theme - */ -export const jupyterTheme = [ - jupyterEditorTheme, - syntaxHighlighting(jupyterHighlightStyle), -]; -/** - * A namespace to handle CodeMirror 6 theme - * - * @alpha - */ -export var Theme; -(function (Theme) { - /** - * CodeMirror 6 themes - */ - const themeMap = new Map([ - [ - "codemirror", - [EditorView.baseTheme({}), syntaxHighlighting(defaultHighlightStyle)], - ], - ["jupyter", jupyterTheme], - ]); - /** - * Get the default CodeMirror 6 theme for JupyterLab - * - * @alpha - * @returns Default theme - */ - function defaultTheme() { - return themeMap.get("jupyter"); - } - Theme.defaultTheme = defaultTheme; - /** - * Register a new theme. - * - * @alpha - * @param name Theme name - * @param theme Codemirror 6 theme extension - */ - function registerTheme(name, theme) { - themeMap.set(name, theme); - } - Theme.registerTheme = registerTheme; - /** - * Get a theme. - * - * #### Notes - * It falls back to the default theme - * - * @alpha - * @param name Theme name - * @returns Theme extension - */ - function getTheme(name) { - let ext = themeMap.get(name); - return ext !== null && ext !== void 0 ? ext : this.defaultTheme(); - } - Theme.getTheme = getTheme; -})(Theme || (Theme = {})); diff --git a/utils/notebook/index.js b/utils/notebook/index.js deleted file mode 100644 index 92824e1..0000000 --- a/utils/notebook/index.js +++ /dev/null @@ -1,348 +0,0 @@ -import "@jupyterlab/theme-light-extension/style/theme.css"; -import "../../.vitepress/theme/css/jupyterlab/index.css"; -import { createCodemirror } from "./codemirror"; -import { defaultSanitizer } from "./sanitizer"; -import { MathJaxTypesetter } from "./lib/index.js"; -import { - renderHTML, - renderImage, - renderLatex, - renderMarkdown, - renderSVG, - renderText, -} from "./renderers"; -import defaultMarkdownParser from "./markdown.js"; // 引入cngbdb-ui的markdown渲染逻辑 - -export class Notebook { - #source; // notebook源数据 - #cells; // notebook cell列表;cell表示一个最基础的渲染单元,例如inputCell,outputCell,outputResultCell - #fragment; // notebook 渲染结果片段,是个div元素 - #trusted; // 当前渲染字符是安全或者但求运行环境是否可信,涉及Script,SVG渲染 - #sanitizer; // 字符串无害化处理 - #shouldTypeset; // 是否对数学公式字符进行latex排版,这里默认为true - #latexTypesetter; // latex 插件实例 - #markdownParser; // markdown 渲染工具 - - /** - * 构造函数 - * @param {Object} sourceOfJson Notebook 源数据,JSON 对象 - * @param {Boolean} trusted 当前渲染字符是安全或者当前运行环境是否可信,涉及Script,SVG渲染,默认为False - * @param {Boolean} shouldTypeset 是否对数学公式字符进行latex排版,默认为true - * @param {*} markdownParser markdown 渲染工具 - */ - constructor(source, trusted, shouldTypeset, markdownParser) { - if (!source.cells || !(source.cells instanceof Array)) - throw "The Notebook is Error! Cells attribute is required and is Array!"; - this.#source = JSON.parse(JSON.stringify(source)); - const { cells } = this.#source; - this.#cells = cells; - this.#fragment = document.createElement("div"); // 创建一个新的空白的div片段,notebook渲染的结果都暂时存储在其中 - - /*---------- 默认配置项 START ----------*/ - this.#trusted = trusted || false; // 当前运行环境是否安全可信,涉及Script,SVG渲染 - this.#sanitizer = defaultSanitizer; // 字符串无害化处理 - this.#shouldTypeset = shouldTypeset || true; // 是否对数学公式字符进行latex排版,这里默认为true - this.#latexTypesetter = new MathJaxTypesetter({ - url: "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js", - config: "TeX-AMS_HTML-full,Safe", - }); // latex 插件实例化 - this.#markdownParser = markdownParser || defaultMarkdownParser; // markdown 渲染工具 - /*---------- 默认配置项 END ----------*/ - } - - // notebook渲染成HTML的结果 - get notebookHTML() { - return this.#fragment; - } - - /** - * cells 渲染 - * 此处是 notebook 渲染的总入口 - * - * 每个 cell 由input和output两个模块组成; - * input 分为三类数据,即cell_type = markdown/code/raw。其中只有code会有output; - * output 处理详见 renderCommonCell 方法; - * - * @author 王志杰 - * @returns {DocumentFragment} 返回一个 DocumentFragment 对象 - */ - async render() { - try { - for (let cell of this.#cells) { - let node = null; - let { cell_type, source } = cell; - cell.source = typeof source === "string" ? source : source.join(""); - switch (cell_type) { - case "markdown": - node = await this.#renderMarkdownCell(cell); - break; - case "code": - node = await this.#renderCodeCell(cell); - break; - case "raw": - node = await this.#renderRawCell(cell); - break; - } - this.#fragment.appendChild(node); - } - } catch (error) { - console.error(error); - } - return this.#fragment; - } - - /** - * 数据渲染总模块,input和output的数据渲染都经由这里分发到具体的渲染模块 - * - * @param {string} param0 type-数据模块类型,所支持的类型为output_type全部类型‘ - * @param {object} param1 options-渲染模块所需的参数 - */ - async #renderCommonCell({ type, options }) { - // 对未设置的配置项,设置为全局默认配置对应的属性值 - options.trusted = options.trusted || this.#trusted; - options.sanitizer = options.sanitizer || this.#sanitizer; - options.shouldTypeset = options.shouldTypeset || this.#shouldTypeset; - options.latexTypesetter = options.latexTypesetter || this.#latexTypesetter; - options.markdownParser = options.markdownParser || this.#markdownParser; - - switch (type) { - case "text/html": - await renderHTML(options); - break; - case "markdown": - case "text/markdown": - await renderMarkdown(options); - break; - case "text/plain": - case "application/vnd.jupyter.stdout": - case "application/vnd.jupyter.stderr": - await renderText(options); - break; - case "text/latex": - await renderLatex(options); - break; - case "image/bmp": - case "image/png": - case "image/jpeg": - case "image/gif": - case "image/webp": - await renderImage(options); - break; - case "image/svg+xml": - await renderSVG(options); - break; - case "text/javascript": - case "application/javascript": - // 禁止输出 JavaScript - options.source = "JavaScript output is disabled in JupyterLab"; - await renderText(options); - break; - default: - break; - } - } - - /** - * 渲染markdown DOM - * @param {Object} cell - */ - async #renderMarkdownCell(cell) { - let { source, execution_count: executionCount } = cell; - let contentNode = document.createElement("div"); - await this.#renderCommonCell({ - type: "text/markdown", - options: { host: contentNode, source: source }, - }); - return this.#createContainerNode( - "inputMarkdown", - contentNode, - executionCount - ); - } - - /** - * 渲染Code DOM - * @param {Object} cell - */ - async #renderCodeCell(cell) { - let node = null; - let { source, outputs, execution_count: executionCount } = cell; - let contentNode = document.createElement("div"); - contentNode.className = - "lm-Widget p-Widget jp-Cell jp-CodeCell jp-Notebook-cell "; - createCodemirror(source, contentNode); // input代码块渲染 - node = this.#createContainerNode("inputCode", contentNode, executionCount); - await this.#renderOutputCell(outputs, contentNode.parentNode.parentNode); - - return node; - } - - async #renderRawCell(cell) { - let { source } = cell; - let node = document.createElement("div"); - await this.#renderCommonCell({ - type: "text/plain", - options: { host: node, source: source }, - }); - return node; - } - - /** - * 渲染 outputs - * @param {Array} outputs - */ - async #renderOutputCell(outputs, parentNode) { - if (!outputs || !outputs.length) return; - const OutputAreaNode = document.createElement("div"); - OutputAreaNode.className = - "lm-Widget jp-OutputArea jp-Cell-outputArea q-mt-sm"; - parentNode.appendChild(OutputAreaNode); - for (let output of outputs) { - let sources = []; - switch (output.output_type) { - case "stream": // 文本流输出 - sources = output.text; - for (const source of sources) { - let node = document.createElement("div"); - await this.#renderCommonCell({ - type: "application/vnd.jupyter." + output.name, - options: { host: node, source: source }, - }); - - OutputAreaNode.appendChild( - this.#createContainerNode( - "application/vnd.jupyter." + output.name, - node, - "" - ) - ); - } - break; - case "display_data": - case "execute_result": { - // 富文本输出 - const { data: outputData, execution_count: executionCount } = output; - const keys = Object.keys(outputData); - const key = keys[0]; - let source = outputData[key]; - if (!source) return; - let node = document.createElement("div"); - source = typeof source === "string" ? source : source.join("\n"); - await this.#renderCommonCell({ - type: key, - options: { host: node, source: source }, - }); - - OutputAreaNode.appendChild( - this.#createContainerNode(key, node, executionCount) - ); - break; - } - case "error": // 错误信息输出 - sources = output.traceback; - for (const source of sources) { - let node = document.createElement("div"); - await this.#renderCommonCell({ - type: "application/vnd.jupyter.stderr", - options: { host: node, source: source }, - }); - OutputAreaNode.appendChild( - this.#createContainerNode( - "application/vnd.jupyter.stderr", - node, - "" - ) - ); - } - break; - } - } - } - - #createContainerNode(type, contentNode, executionCount) { - let node = document.createElement("div"); - let areaNode = document.createElement("div"); - let promptNode = document.createElement("div"); - if (executionCount || executionCount === null) { - promptNode.innerText = `[${executionCount === null ? " " : executionCount - }]`; - } - // prompt class设置。prompt 样式分为input和output两种 - ["inputMarkdown", "inputCode"].includes(type) - ? (promptNode.className = - "lm-Widget p-Widget jp-InputPrompt jp-InputArea-prompt") - : (promptNode.className = - "lm-Widget p-Widget jp-OutputPrompt jp-OutputArea-prompt"); - switch (type) { - case "inputMarkdown": { - node.className = - "lm-Widget p-Widget jp-Cell jp-MarkdownCell jp-mod-rendered jp-Notebook-cell"; - areaNode.className = - "lm-Widget p-Widget jp-InputArea jp-Cell-inputArea"; - contentNode.className = - "lm-Widget p-Widget jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput"; - contentNode.setAttribute("data-mime-type", "text/markdown"); - break; - } - case "inputCode": { - node.className = - "lm-Widget p-Widget jp-Cell jp-CodeCell jp-mod-noOutputs jp-Notebook-cell"; - areaNode.className = - "lm-Widget p-Widget jp-InputArea jp-Cell-inputArea"; - contentNode.className = - "lm-Widget p-Widget jp-CodeMirrorEditor jp-Editor jp-InputArea-editor"; - break; - } - case "application/vnd.jupyter.stdout": { - node.className = "lm-Widget lm-Panel jp-OutputArea-child"; - areaNode.className = - "lm-Widget p-Widget lm-Panel p-Panel jp-OutputArea-child"; - contentNode.className = - "lm-Widget p-Widget jp-RenderedText jp-OutputArea-output"; - contentNode.setAttribute( - "data-mime-type", - "application/vnd.jupyter.stdout" - ); - break; - } - case "application/vnd.jupyter.stderr": { - node.className = "lm-Widget lm-Panel jp-OutputArea-child"; - areaNode.className = - "lm-Widget p-Widget lm-Panel p-Panel jp-OutputArea-child"; - contentNode.className = - "lm-Widget p-Widget jp-RenderedText jp-OutputArea-output"; - contentNode.setAttribute( - "data-mime-type", - "application/vnd.jupyter.stderr" - ); - break; - } - default: { - const typeClassMap = new Map([ - ["image/bmp", "jp-RenderedImage"], - ["image/png", "jp-RenderedImage"], - ["image/jpeg", "jp-RenderedImage"], - ["image/gif", "jp-RenderedImage"], - ["image/webp", "jp-RenderedImage"], - ["text/latex", "jp-RenderedLatex"], - ["image/svg+xml", "jp-RenderedSVG"], - ["text/markdown", "jp-RenderedHTMLCommon jp-RenderedHTML"], - ]); - - node.className = - "lm-Widget p-Widget lm-Panel p-Panel jp-OutputArea-child jp-OutputArea-executeResult"; - areaNode.className = - "lm-Widget p-Widget lm-Panel p-Panel jp-OutputArea-child"; - contentNode.className = `lm-Widget p-Widget ${typeClassMap.get(type) || "jp-RenderedHTMLCommon" - } jp-OutputArea-output`; - contentNode.setAttribute("data-mime-type", type); - break; - } - } - areaNode.appendChild(promptNode); - areaNode.appendChild(contentNode); - node.appendChild(areaNode); - - return node; - } -} diff --git a/utils/notebook/latex.js b/utils/notebook/latex.js deleted file mode 100644 index e615730..0000000 --- a/utils/notebook/latex.js +++ /dev/null @@ -1,194 +0,0 @@ -/* ----------------------------------------------------------------------------- -| Copyright (c) Jupyter Development Team. -| Distributed under the terms of the Modified BSD License. -|----------------------------------------------------------------------------*/ -// Some magic for deferring mathematical expressions to MathJax -// by hiding them from the Markdown parser. -// Some of the code here is adapted with permission from Davide Cervone -// under the terms of the Apache2 license governing the MathJax project. -// Other minor modifications are also due to StackExchange and are used with -// permission. - -/** - * 本文件为 Jupyter lab 源码。 - * 用于 latex 字符渲染 - * - * 源码TS版:https://github.com/jupyterlab/jupyterlab/blob/master/packages/rendermime/src/latex.ts - */ - -const inline = "$"; // the inline math delimiter -// MATHSPLIT contains the pattern for math delimiters and special symbols -// needed for searching for math in the text input. -const MATHSPLIT = - /(\$\$?|\\(?:begin|end)\{[a-z]*\*?\}|\\[{}$]|[{}]|(?:\n\s*)+|@@\d+@@|\\\\(?:\(|\)|\[|\]))/i; -/** - * Break up the text into its component parts and search - * through them for math delimiters, braces, linebreaks, etc. - * Math delimiters must match and braces must balance. - * Don't allow math to pass through a double linebreak - * (which will be a paragraph). - */ -export function removeMath(text) { - const math = []; // stores math strings for later - let start = null; - let end = null; - let last = null; - let braces = 0; - let deTilde; - // Except for extreme edge cases, this should catch precisely those pieces of the markdown - // source that will later be turned into code spans. While MathJax will not TeXify code spans, - // we still have to consider them at this point; the following issue has happened several times: - // - // `$foo` and `$bar` are variables. --> $foo ` and `$bar are variables. - const hasCodeSpans = text.includes("`") || text.includes("~~~"); - if (hasCodeSpans) { - text = text - .replace(/~/g, "~T") - // note: the `fence` (three or more consecutive tildes or backticks) - // can be followed by an `info string` but this cannot include backticks, - // see specification: https://spec.commonmark.org/0.30/#info-string - .replace( - /^(?`{3,}|(~T){3,})[^`\n]*\n([\s\S]*?)^\k`*$/gm, - (wholematch) => wholematch.replace(/\$/g, "~D") - ) - .replace(/(^|[^\\])(`+)([^\n]*?[^`\n])\2(?!`)/gm, (wholematch) => - wholematch.replace(/\$/g, "~D") - ); - deTilde = (text) => { - return text.replace(/~([TD])/g, (wholematch, character) => - character === "T" ? "~" : inline - ); - }; - } else { - deTilde = (text) => { - return text; - }; - } - let blocks = text.replace(/\r\n?/g, "\n").split(MATHSPLIT); - for (let i = 1, m = blocks.length; i < m; i += 2) { - const block = blocks[i]; - if (block.charAt(0) === "@") { - // - // Things that look like our math markers will get - // stored and then retrieved along with the math. - // - blocks[i] = "@@" + math.length + "@@"; - math.push(block); - } else if (start !== null) { - // - // If we are in math, look for the end delimiter, - // but don't go past double line breaks, and - // and balance braces within the math. - // - if (block === end) { - if (braces) { - last = i; - } else { - blocks = processMath(start, i, deTilde, math, blocks); - start = null; - end = null; - last = null; - } - } else if (block.match(/\n.*\n/)) { - if (last !== null) { - i = last; - blocks = processMath(start, i, deTilde, math, blocks); - } - start = null; - end = null; - last = null; - braces = 0; - } else if (block === "{") { - braces++; - } else if (block === "}" && braces) { - braces--; - } - } else { - // - // Look for math start delimiters and when - // found, set up the end delimiter. - // - if (block === inline || block === "$$") { - start = i; - end = block; - braces = 0; - } else if (block === "\\\\(" || block === "\\\\[") { - start = i; - end = block.slice(-1) === "(" ? "\\\\)" : "\\\\]"; - braces = 0; - } else if (block.substr(1, 5) === "begin") { - start = i; - end = "\\end" + block.substr(6); - braces = 0; - } - } - } - if (start !== null && last !== null) { - blocks = processMath(start, last, deTilde, math, blocks); - start = null; - end = null; - last = null; - } - return { text: deTilde(blocks.join("")), math }; -} -/** - * Put back the math strings that were saved, - * and clear the math array (no need to keep it around). - */ -export function replaceMath(text, math) { - /** - * Replace a math placeholder with its corresponding group. - * The math delimiters "\\(", "\\[", "\\)" and "\\]" are replaced - * removing one backslash in order to be interpreted correctly by MathJax. - */ - const process = (match, n) => { - let group = math[n]; - if ( - group.substr(0, 3) === "\\\\(" && - group.substr(group.length - 3) === "\\\\)" - ) { - group = "\\(" + group.substring(3, group.length - 3) + "\\)"; - } else if ( - group.substr(0, 3) === "\\\\[" && - group.substr(group.length - 3) === "\\\\]" - ) { - group = "\\[" + group.substring(3, group.length - 3) + "\\]"; - } - return group; - }; - // Replace all the math group placeholders in the text - // with the saved strings. - return text.replace(/@@(\d+)@@/g, process); -} -/** - * Process math blocks. - * - * The math is in blocks i through j, so - * collect it into one block and clear the others. - * Replace &, <, and > by named entities. - * For IE, put
at the ends of comments since IE removes \n. - * Clear the current math positions and store the index of the - * math, then push the math string onto the storage array. - * The preProcess function is called on all blocks if it has been passed in - */ -function processMath(i, j, preProcess, math, blocks) { - let block = blocks - .slice(i, j + 1) - .join("") - .replace(/&/g, "&") // use HTML entity for & - .replace(//g, ">"); // use HTML entity for > - if (navigator && navigator.appName === "Microsoft Internet Explorer") { - block = block.replace(/(%[^\n]*)\n/g, "$1
\n"); - } - while (j > i) { - blocks[j] = ""; - j--; - } - blocks[i] = "@@" + math.length + "@@"; // replace the current block text with a unique tag to find later - if (preProcess) { - block = preProcess(block); - } - math.push(block); - return blocks; -} diff --git a/utils/notebook/lib/index.js b/utils/notebook/lib/index.js deleted file mode 100644 index 85c327c..0000000 --- a/utils/notebook/lib/index.js +++ /dev/null @@ -1,108 +0,0 @@ -/* ----------------------------------------------------------------------------- -| Copyright (c) Jupyter Development Team. -| Distributed under the terms of the Modified BSD License. -|----------------------------------------------------------------------------*/ -/** - * @packageDocumentation - * @module mathjax2 - */ -import { PromiseDelegate } from '@lumino/coreutils'; -/** - * The MathJax Typesetter. - */ -export class MathJaxTypesetter { - /** - * Create a new MathJax typesetter. - */ - constructor(options) { - this._initPromise = new PromiseDelegate(); - this._initialized = false; - this._url = options.url; - this._config = options.config; - } - /** - * Typeset the math in a node. - * - * #### Notes - * MathJax schedules the typesetting asynchronously, - * but there are not currently any callbacks or Promises - * firing when it is done. - */ - typeset(node) { - if (!this._initialized) { - this._init(); - } - void this._initPromise.promise.then(() => { - MathJax.Hub.Queue(['Typeset', MathJax.Hub, node]); - try { - MathJax.Hub.Queue(['Require', MathJax.Ajax, '[MathJax]/extensions/TeX/AMSmath.js'], () => { - MathJax.InputJax.TeX.resetEquationNumbers(); - }); - } - catch (e) { - console.error('Error queueing resetEquationNumbers:', e); - } - }); - } - /** - * Initialize MathJax. - */ - _init() { - const head = document.getElementsByTagName('head')[0]; - const script = document.createElement('script'); - script.type = 'text/javascript'; - script.src = `${this._url}?config=${this._config}&delayStartupUntil=configured`; - script.charset = 'utf-8'; - head.appendChild(script); - script.addEventListener('load', () => { - this._onLoad(); - }); - this._initialized = true; - } - /** - * Handle MathJax loading. - */ - _onLoad() { - MathJax.Hub.Config({ - tex2jax: { - inlineMath: [ - ['$', '$'], - ['\\(', '\\)'] - ], - displayMath: [ - ['$$', '$$'], - ['\\[', '\\]'] - ], - processEscapes: true, - processEnvironments: true - }, - // Center justify equations in code and markdown cells. Elsewhere - // we use CSS to left justify single line equations in code cells. - displayAlign: 'center', - CommonHTML: { - linebreaks: { automatic: true } - }, - 'HTML-CSS': { - availableFonts: [], - imageFont: null, - preferredFont: null, - webFont: 'STIX-Web', - styles: { '.MathJax_Display': { margin: 0 } }, - linebreaks: { automatic: true } - }, - skipStartupTypeset: true, - messageStyle: 'none' - }); - MathJax.Hub.Register.StartupHook('End Config', () => { - var _a, _b, _c, _d, _e, _f; - // Disable `:hover span` styles which cause performance issues in Chromium browsers - // c-f https://github.com/jupyterlab/jupyterlab/issues/9757 - // Note that we cannot overwrite them in config earlier due to how `CombineConfig` - // is implemented in MathJax 2 (it does not allow removing styles, just expanding). - (_c = (_b = (_a = MathJax.Hub) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.MathEvents) === null || _c === void 0 ? true : delete _c.styles['.MathJax_Hover_Arrow:hover span']; - (_f = (_e = (_d = MathJax.Hub) === null || _d === void 0 ? void 0 : _d.config) === null || _e === void 0 ? void 0 : _e.MathMenu) === null || _f === void 0 ? true : delete _f.styles['.MathJax_MenuClose:hover span']; - }); - MathJax.Hub.Configured(); - this._initPromise.resolve(void 0); - } -} \ No newline at end of file diff --git a/utils/notebook/markdown.js b/utils/notebook/markdown.js deleted file mode 100644 index 9c3f592..0000000 --- a/utils/notebook/markdown.js +++ /dev/null @@ -1,10 +0,0 @@ -import markdown from "markdown-it"; - -const MD = markdown({ - html: true, - xhtmlOut: true, - breaks: true, - linkify: true, -}); - -export default MD; diff --git a/utils/notebook/renderers.js b/utils/notebook/renderers.js deleted file mode 100644 index d502243..0000000 --- a/utils/notebook/renderers.js +++ /dev/null @@ -1,701 +0,0 @@ -/* eslint-disable no-func-assign */ -/* eslint-disable no-unused-vars */ -/* ----------------------------------------------------------------------------- -| Copyright (c) Jupyter Development Team. -| Distributed under the terms of the Modified BSD License. -|----------------------------------------------------------------------------*/ - -/** - * jupyter lab notebook output 渲染模块 - * 本模块基于 @jupyterlab\rendermime\lib\renderers.js 二次开发 - * 移除了部分功能,如:a 标签url处理,markdown 标题的自动生成对应链接等。 - * 此外还去除了所需传参:resolver、linkHandler、translator - * - * 源码TS版:https://github.com/jupyterlab/jupyterlab/blob/master/packages/rendermime/src/renderers.ts - * - */ - -import { removeMath, replaceMath } from "./latex"; -import { URLExt } from "@jupyterlab/coreutils"; -import escape from "lodash.escape"; -/** - * Render HTML into a host node. - * - * @param options - The options for rendering. - * - * @returns A promise which resolves when rendering is complete. - */ -export function renderHTML(options) { - // Unpack the options. - let { host, source, trusted, sanitizer, shouldTypeset, latexTypesetter } = - options; - let originalSource = source; - // Bail early if the source is empty. - if (!source) { - host.textContent = ""; - return Promise.resolve(undefined); - } - // Sanitize the source if it is not trusted. This removes all - // `