notebook 7.3.2__py3-none-any.whl → 7.3.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of notebook might be problematic. Click here for more details.

Files changed (134) hide show
  1. notebook/_version.py +1 -1
  2. notebook/static/{131.ae628045345ebd7a085c.js → 131.c84ccc55b083d2f63eb5.js} +31 -22
  3. notebook/static/131.c84ccc55b083d2f63eb5.js.map +1 -0
  4. notebook/static/{1326.9297038a97bfe38e02c5.js → 1326.ca053a9d8b69ac8e5d07.js} +2 -2
  5. notebook/static/{1326.9297038a97bfe38e02c5.js.map → 1326.ca053a9d8b69ac8e5d07.js.map} +1 -1
  6. notebook/static/{1650.8d7f95fed9378b01c97b.js → 1650.9ab35c6f8bc364d9c496.js} +4 -4
  7. notebook/static/{1650.8d7f95fed9378b01c97b.js.map → 1650.9ab35c6f8bc364d9c496.js.map} +1 -1
  8. notebook/static/{1684.17fc47c7fb30c0a8e713.js → 1684.181d3587b40531824b89.js} +5 -5
  9. notebook/static/{1684.17fc47c7fb30c0a8e713.js.map → 1684.181d3587b40531824b89.js.map} +1 -1
  10. notebook/static/{1871.29951b77779d94d726d1.js → 1871.bbb388c6015b8490c010.js} +4 -4
  11. notebook/static/{1871.29951b77779d94d726d1.js.map → 1871.bbb388c6015b8490c010.js.map} +1 -1
  12. notebook/static/{3146.0525c8e3f0097710544e.js → 3146.5a2c9c57f0ee140a9853.js} +3 -3
  13. notebook/static/{3146.0525c8e3f0097710544e.js.map → 3146.5a2c9c57f0ee140a9853.js.map} +1 -1
  14. notebook/static/{3488.405b2a619b7b87fc6f6b.js → 3488.4950efa0e3d80a841f23.js} +2 -2
  15. notebook/static/3488.4950efa0e3d80a841f23.js.map +1 -0
  16. notebook/static/{3768.409eda0ebb4676a30596.js → 3768.879ec647cb9a279eb309.js} +19 -19
  17. notebook/static/{7302.8dfb32b083b16efa038a.js.map → 3768.879ec647cb9a279eb309.js.map} +1 -1
  18. notebook/static/{4382.c3425ddaa226b75d1b57.js → 4382.11fbce1b6420d8976505.js} +3 -3
  19. notebook/static/{4382.c3425ddaa226b75d1b57.js.map → 4382.11fbce1b6420d8976505.js.map} +1 -1
  20. notebook/static/{4499.69ddcc73939e5bacc11c.js → 4499.e80329d16895102bbc12.js} +3 -3
  21. notebook/static/{4499.69ddcc73939e5bacc11c.js.map → 4499.e80329d16895102bbc12.js.map} +1 -1
  22. notebook/static/{4630.64ab2753f3286b5a778b.js → 4630.dd26ad6c2189ab26297a.js} +3 -3
  23. notebook/static/4630.dd26ad6c2189ab26297a.js.map +1 -0
  24. notebook/static/{4645.41cffc0184b6538b7e00.js → 4645.777b918de2a09b7b9a9b.js} +5 -5
  25. notebook/static/{4645.41cffc0184b6538b7e00.js.map → 4645.777b918de2a09b7b9a9b.js.map} +1 -1
  26. notebook/static/{4837.0e774b52bbcd51546b55.js → 4837.84a75547bf8a4a8e3759.js} +3 -3
  27. notebook/static/{4837.0e774b52bbcd51546b55.js.map → 4837.84a75547bf8a4a8e3759.js.map} +1 -1
  28. notebook/static/{4926.70b91208fd35ee838d65.js → 4926.c68927936b855fd893c5.js} +3 -3
  29. notebook/static/{4926.70b91208fd35ee838d65.js.map → 4926.c68927936b855fd893c5.js.map} +1 -1
  30. notebook/static/{5135.398f538011f4562d1fae.js → 5135.c7a9f8d53984219aba23.js} +11 -11
  31. notebook/static/{5135.398f538011f4562d1fae.js.map → 5135.c7a9f8d53984219aba23.js.map} +1 -1
  32. notebook/static/5448.a9016133a2b9389ac102.js +951 -0
  33. notebook/static/5448.a9016133a2b9389ac102.js.map +1 -0
  34. notebook/static/{5573.fadd0e2001b2575ccb0f.js → 5573.91bd2c782927c770f734.js} +18 -18
  35. notebook/static/5573.91bd2c782927c770f734.js.map +1 -0
  36. notebook/static/{5601.3e30eb7d151dda3b25ed.js → 5601.8f8d6c0ace5f7e929f35.js} +5 -5
  37. notebook/static/{5601.3e30eb7d151dda3b25ed.js.map → 5601.8f8d6c0ace5f7e929f35.js.map} +1 -1
  38. notebook/static/{6345.351e07d7802b67cb9d25.js → 6345.fa1f3ac32febb56fd8b9.js} +5 -5
  39. notebook/static/{6345.351e07d7802b67cb9d25.js.map → 6345.fa1f3ac32febb56fd8b9.js.map} +1 -1
  40. notebook/static/{7154.1ab03d07151bbd0aad06.js → 7154.cbe00782c73879782ae7.js} +5 -5
  41. notebook/static/{7154.1ab03d07151bbd0aad06.js.map → 7154.cbe00782c73879782ae7.js.map} +1 -1
  42. notebook/static/{7302.8dfb32b083b16efa038a.js → 7302.cbe9c1f18fe1a9d3a129.js} +19 -19
  43. notebook/static/{3768.409eda0ebb4676a30596.js.map → 7302.cbe9c1f18fe1a9d3a129.js.map} +1 -1
  44. notebook/static/{7369.286a75761c308381b0a4.js → 7369.8768f287c1cf1cc37db0.js} +25 -25
  45. notebook/static/{7369.286a75761c308381b0a4.js.map → 7369.8768f287c1cf1cc37db0.js.map} +1 -1
  46. notebook/static/{5157.325614b1326d23735fbe.js → 7534.e6ec4e7bd41255482e3e.js} +2 -2
  47. notebook/static/{5157.325614b1326d23735fbe.js.map → 7534.e6ec4e7bd41255482e3e.js.map} +1 -1
  48. notebook/static/{755.3d6eb3b7f81d035f52f4.js → 755.86950c1067a75cbbe902.js} +4 -4
  49. notebook/static/{755.3d6eb3b7f81d035f52f4.js.map → 755.86950c1067a75cbbe902.js.map} +1 -1
  50. notebook/static/{757.c9635937c6883f4b69fe.js → 757.86f80ac05f38c4f4be68.js} +97 -814
  51. notebook/static/757.86f80ac05f38c4f4be68.js.map +1 -0
  52. notebook/static/{7811.fa11577c84ea92d4102c.js → 7811.15b37088e4868dee449b.js} +5 -5
  53. notebook/static/{7811.fa11577c84ea92d4102c.js.map → 7811.15b37088e4868dee449b.js.map} +1 -1
  54. notebook/static/{7906.67e8d86ba7ed95cbac87.js → 7906.6b836133253dc69ada3b.js} +3 -3
  55. notebook/static/{7906.67e8d86ba7ed95cbac87.js.map → 7906.6b836133253dc69ada3b.js.map} +1 -1
  56. notebook/static/{7995.45be6443b704da1daafc.js → 7995.e6c73e8581b7790a84e7.js} +2 -2
  57. notebook/static/{7995.45be6443b704da1daafc.js.map → 7995.e6c73e8581b7790a84e7.js.map} +1 -1
  58. notebook/static/{6033.e5f43eeda4cc803965de.js → 8384.4a19822f320fec925f9b.js} +2 -2
  59. notebook/static/{6033.e5f43eeda4cc803965de.js.map → 8384.4a19822f320fec925f9b.js.map} +1 -1
  60. notebook/static/{8579.d7fc77346371c454ec00.js → 8579.b99b947f4531351037b0.js} +13 -13
  61. notebook/static/{8579.d7fc77346371c454ec00.js.map → 8579.b99b947f4531351037b0.js.map} +1 -1
  62. notebook/static/{8781.f58f42a24da8ac99623f.js → 8781.b7c620b7ec3a9833df1c.js} +58 -58
  63. notebook/static/{8781.f58f42a24da8ac99623f.js.map → 8781.b7c620b7ec3a9833df1c.js.map} +1 -1
  64. notebook/static/{8845.ac1c5acb78cea4acee08.js → 8845.4f41e164a0399572ddec.js} +14 -14
  65. notebook/static/{8845.ac1c5acb78cea4acee08.js.map → 8845.4f41e164a0399572ddec.js.map} +1 -1
  66. notebook/static/{8875.576e3c6503ecdf5c2124.js → 8875.934ae30259f7ed06908f.js} +4 -4
  67. notebook/static/{8875.576e3c6503ecdf5c2124.js.map → 8875.934ae30259f7ed06908f.js.map} +1 -1
  68. notebook/static/{9068.cb72a595212d6ed7de5e.js → 9068.a1663e3fbe550c0a2151.js} +3 -3
  69. notebook/static/{9068.cb72a595212d6ed7de5e.js.map → 9068.a1663e3fbe550c0a2151.js.map} +1 -1
  70. notebook/static/{9380.709f3e6308fc49ccb353.js → 9380.438b50b596a131ebbe9a.js} +5 -5
  71. notebook/static/{9380.709f3e6308fc49ccb353.js.map → 9380.438b50b596a131ebbe9a.js.map} +1 -1
  72. notebook/static/{9619.6f4ade981540ff20b8bd.js → 9619.82b5a1c798e28d4c26c5.js} +5 -5
  73. notebook/static/{9619.6f4ade981540ff20b8bd.js.map → 9619.82b5a1c798e28d4c26c5.js.map} +1 -1
  74. notebook/static/main.fa530803fa8c046b1a88.js +1174 -0
  75. notebook/static/main.fa530803fa8c046b1a88.js.map +1 -0
  76. notebook/static/{notebook_core.4799ce7e762b693682b6.js → notebook_core.c9e3f27c4be739a57674.js} +1073 -891
  77. notebook/static/{notebook_core.4799ce7e762b693682b6.js.map → notebook_core.c9e3f27c4be739a57674.js.map} +1 -1
  78. notebook/static/third-party-licenses.json +110 -122
  79. notebook/templates/consoles.html +1 -1
  80. notebook/templates/edit.html +1 -1
  81. notebook/templates/error.html +1 -1
  82. notebook/templates/notebooks.html +1 -1
  83. notebook/templates/terminals.html +1 -1
  84. notebook/templates/tree.html +1 -1
  85. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/package.json.orig +14 -14
  86. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/documentsearch-extension/package.json.orig +4 -4
  87. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/help-extension/package.json.orig +6 -6
  88. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/notebook-extension/package.json.orig +9 -9
  89. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/tree-extension/package.json.orig +15 -15
  90. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/package.json +11 -11
  91. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/schemas/@jupyter-notebook/lab-extension/package.json.orig +10 -10
  92. notebook-7.3.2.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/926.1e1698d53d81bf49c4ad.js → notebook-7.3.3.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/157.2df91472e02c447c6341.js +1 -1
  93. notebook-7.3.3.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/568.89eee0979a49b375da20.js +1 -0
  94. notebook-7.3.3.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/928.a483ccd28c27e3c44bf4.js +1 -0
  95. notebook-7.3.2.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/93.c48a681bb3e8043bbbd7.js → notebook-7.3.3.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/93.eae3497dd223d842d198.js +1 -1
  96. notebook-7.3.3.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/remoteEntry.1721422919ae05a29840.js +1 -0
  97. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/third-party-licenses.json +2 -2
  98. {notebook-7.3.2.dist-info → notebook-7.3.3.dist-info}/METADATA +2 -2
  99. {notebook-7.3.2.dist-info → notebook-7.3.3.dist-info}/RECORD +122 -122
  100. notebook/static/131.ae628045345ebd7a085c.js.map +0 -1
  101. notebook/static/3488.405b2a619b7b87fc6f6b.js.map +0 -1
  102. notebook/static/4630.64ab2753f3286b5a778b.js.map +0 -1
  103. notebook/static/5573.fadd0e2001b2575ccb0f.js.map +0 -1
  104. notebook/static/757.c9635937c6883f4b69fe.js.map +0 -1
  105. notebook/static/7796.ea7106c833e81e2e6a6d.js +0 -1608
  106. notebook/static/7796.ea7106c833e81e2e6a6d.js.map +0 -1
  107. notebook/static/main.407246dd27aed8010549.js +0 -1174
  108. notebook/static/main.407246dd27aed8010549.js.map +0 -1
  109. notebook-7.3.2.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/568.f1a870f262b5e8588c75.js +0 -1
  110. notebook-7.3.2.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/928.7261ac56728710cbd7f2.js +0 -1
  111. notebook-7.3.2.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/remoteEntry.cad89c571bc2aee4aff2.js +0 -1
  112. {notebook-7.3.2.data → notebook-7.3.3.data}/data/etc/jupyter/jupyter_server_config.d/notebook.json +0 -0
  113. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/applications/jupyter-notebook.desktop +0 -0
  114. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/icons/hicolor/scalable/apps/notebook.svg +0 -0
  115. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/menus.json +0 -0
  116. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/pages.json +0 -0
  117. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/shell.json +0 -0
  118. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/title.json +0 -0
  119. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/top.json +0 -0
  120. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/zen.json +0 -0
  121. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/help-extension/open.json +0 -0
  122. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/notebook-extension/checkpoints.json +0 -0
  123. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/notebook-extension/edit-notebook-metadata.json +0 -0
  124. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/notebook-extension/full-width-notebook.json +0 -0
  125. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/notebook-extension/kernel-logo.json +0 -0
  126. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/notebook-extension/scroll-output.json +0 -0
  127. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/tree-extension/file-actions.json +0 -0
  128. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/tree-extension/widget.json +0 -0
  129. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/schemas/@jupyter-notebook/lab-extension/interface-switcher.json +0 -0
  130. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/schemas/@jupyter-notebook/lab-extension/launch-tree.json +0 -0
  131. {notebook-7.3.2.data → notebook-7.3.3.data}/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/style.js +0 -0
  132. {notebook-7.3.2.dist-info → notebook-7.3.3.dist-info}/WHEEL +0 -0
  133. {notebook-7.3.2.dist-info → notebook-7.3.3.dist-info}/entry_points.txt +0 -0
  134. {notebook-7.3.2.dist-info → notebook-7.3.3.dist-info}/licenses/LICENSE +0 -0
@@ -20,20 +20,20 @@ __webpack_require__.d(__webpack_exports__, {
20
20
  defaultNotebookPathOpener: () => (/* reexport */ defaultNotebookPathOpener)
21
21
  });
22
22
 
23
- // EXTERNAL MODULE: consume shared module (default) @jupyterlab/application@~4.3.4 (singleton) (fallback: ../node_modules/@jupyterlab/application/lib/index.js)
24
- var index_js_ = __webpack_require__(38075);
25
- // EXTERNAL MODULE: consume shared module (default) @jupyterlab/docregistry@~4.3.4 (strict) (fallback: ../node_modules/@jupyterlab/docregistry/lib/index.js)
26
- var lib_index_js_ = __webpack_require__(10615);
23
+ // EXTERNAL MODULE: consume shared module (default) @jupyterlab/application@~4.3.6 (singleton) (fallback: ../node_modules/@jupyterlab/application/lib/index.js)
24
+ var index_js_ = __webpack_require__(30934);
25
+ // EXTERNAL MODULE: consume shared module (default) @jupyterlab/docregistry@~4.3.6 (strict) (fallback: ../node_modules/@jupyterlab/docregistry/lib/index.js)
26
+ var lib_index_js_ = __webpack_require__(49043);
27
27
  // EXTERNAL MODULE: ../node_modules/@jupyterlab/application/lib/mimerenderers.js
28
28
  var mimerenderers = __webpack_require__(75677);
29
29
  // EXTERNAL MODULE: ../node_modules/@jupyterlab/application/lib/status.js
30
30
  var lib_status = __webpack_require__(20389);
31
- // EXTERNAL MODULE: consume shared module (default) @jupyterlab/coreutils@~6.3.4 (singleton) (fallback: ../node_modules/@jupyterlab/coreutils/lib/index.js)
32
- var coreutils_lib_index_js_ = __webpack_require__(76107);
31
+ // EXTERNAL MODULE: consume shared module (default) @jupyterlab/coreutils@~6.3.6 (singleton) (fallback: ../node_modules/@jupyterlab/coreutils/lib/index.js)
32
+ var coreutils_lib_index_js_ = __webpack_require__(79761);
33
33
  // EXTERNAL MODULE: consume shared module (default) @lumino/polling@^2.1.3 (strict) (fallback: ../node_modules/@lumino/polling/dist/index.es6.js)
34
34
  var index_es6_js_ = __webpack_require__(32406);
35
- // EXTERNAL MODULE: consume shared module (default) @jupyterlab/translation@~4.3.4 (singleton) (fallback: ../node_modules/@jupyterlab/translation/lib/index.js)
36
- var translation_lib_index_js_ = __webpack_require__(7801);
35
+ // EXTERNAL MODULE: consume shared module (default) @jupyterlab/translation@~4.3.6 (singleton) (fallback: ../node_modules/@jupyterlab/translation/lib/index.js)
36
+ var translation_lib_index_js_ = __webpack_require__(94672);
37
37
  // EXTERNAL MODULE: consume shared module (default) @lumino/algorithm@~2.0.2 (singleton) (fallback: ../node_modules/@lumino/algorithm/dist/index.es6.js)
38
38
  var dist_index_es6_js_ = __webpack_require__(14931);
39
39
  // EXTERNAL MODULE: consume shared module (default) @lumino/coreutils@~2.2.0 (singleton) (fallback: ../node_modules/@lumino/coreutils/dist/index.js)
@@ -42,8 +42,8 @@ var dist_index_js_ = __webpack_require__(21961);
42
42
  var signaling_dist_index_es6_js_ = __webpack_require__(2159);
43
43
  // EXTERNAL MODULE: consume shared module (default) @lumino/widgets@~2.5.0 (singleton) (fallback: ../node_modules/@lumino/widgets/dist/index.es6.js)
44
44
  var widgets_dist_index_es6_js_ = __webpack_require__(2260);
45
- // EXTERNAL MODULE: consume shared module (default) @jupyterlab/ui-components@~4.3.4 (singleton) (fallback: ../node_modules/@jupyterlab/ui-components/lib/index.js)
46
- var ui_components_lib_index_js_ = __webpack_require__(29072);
45
+ // EXTERNAL MODULE: consume shared module (default) @jupyterlab/ui-components@~4.3.6 (singleton) (fallback: ../node_modules/@jupyterlab/ui-components/lib/index.js)
46
+ var ui_components_lib_index_js_ = __webpack_require__(13077);
47
47
  // EXTERNAL MODULE: consume shared module (default) @lumino/messaging@~2.0.2 (singleton) (fallback: ../node_modules/@lumino/messaging/dist/index.es6.js)
48
48
  var messaging_dist_index_es6_js_ = __webpack_require__(62633);
49
49
  ;// CONCATENATED MODULE: ../packages/application/lib/panelhandler.js
@@ -982,4 +982,4 @@ const INotebookPathOpener = new dist_index_js_.Token('@jupyter-notebook/applicat
982
982
  /***/ })
983
983
 
984
984
  }]);
985
- //# sourceMappingURL=5135.398f538011f4562d1fae.js.map?v=398f538011f4562d1fae
985
+ //# sourceMappingURL=5135.c7a9f8d53984219aba23.js.map?v=c7a9f8d53984219aba23
@@ -1 +1 @@
1
- {"version":3,"file":"5135.398f538011f4562d1fae.js?v=398f538011f4562d1fae","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACsD;AACH;AACH;AACL;AACmB;AAC9D;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2BAAQ;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,gCAAK;AAC/B,QAAQ,wCAAW;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,sBAAsB,2BAAQ;AAC9B,QAAQ,2BAAQ;AAChB;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,mCAAM;AACtC,kCAAkC,mCAAM;AACxC;AACA;AACA;AACA;AACA,gCAAgC,uCAAY;AAC5C;AACA;AACA,QAAQ,qCAAS;AACjB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iCAAM,GAAG,yBAAyB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,QAAQ,2BAAQ;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,2BAAQ;AACvB;AACA;AACA;AACA;AACA;AACA,eAAe,2BAAQ;AACvB;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAAI;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,2BAAQ;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,qBAAqB;AACpD;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0BAA0B;;;ACvU3B;AACA;AACyD;AAChB;AAC2B;AACzB;AAC6B;AACR;AAChE;AACA;AACA;AACO,2BAA2B,oBAAK;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACO,4BAA4B,iCAAM;AACzC;AACA;AACA,2BAA2B,wCAAc;AACzC,mCAAmC,mCAAM;AACzC,qCAAqC,8BAAe;AACpD;AACA;AACA,+BAA+B,YAAY;AAC3C,gCAAgC,YAAY;AAC5C,gCAAgC,gBAAgB;AAChD,iCAAiC,gBAAgB;AACjD,yBAAyB,gCAAK;AAC9B,mDAAmD,gCAAK;AACxD,qDAAqD,gCAAK;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,iCAAM;AACrC;AACA,kCAAkC,iCAAM;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,oCAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,oCAAS;AAC1C;AACA;AACA,SAAS;AACT,QAAQ,oCAAS;AACjB,QAAQ,oCAAS;AACjB,QAAQ,oCAAS;AACjB,gCAAgC,gCAAK,GAAG,sBAAsB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,qCAAU;AAC1C;AACA;AACA,QAAQ,oCAAS;AACjB,QAAQ,qCAAU;AAClB,QAAQ,qCAAU;AAClB,QAAQ,qCAAU;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAO;AACvB,gEAAgE,SAAS;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,wCAAc;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,sBAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,2BAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,KAAK;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,KAAK;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAI,aAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,iCAAM;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE,aAAO,KAAK,aAAO,KAAK;;;AC3Y3B;AACA;AACuE;AACV;AACuB;AACrB;AACZ;AACP;AACJ;AACxC;AACA;AACA;AACO,0BAA0B,yBAAe;AAChD;AACA;AACA;AACA;AACA;AACA,4BAA4B,WAAW,aAAa,IAAI;AACxD;AACA,gBAAgB,6EAA6E,aAAa,IAAI;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,2BAAS;AACnC;AACA;AACA;AACA,6BAA6B,kCAAU;AACvC,qBAAqB,oBAAU;AAC/B,8BAA8B,uBAAS;AACvC,YAAY,WAAO;AACnB,SAAS;AACT;AACA,6CAA6C,gCAAkB;AAC/D;AACA,iCAAiC,iDAAuB;AACxD;AACA;AACA;AACA;AACA,iCAAiC,oBAAU;AAC3C;AACA;AACA;AACA;AACA,SAAS,IAAI;AACb;AACA,uBAAuB,GAAG,oBAAU;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kCAAU;AAChC,0BAA0B,kCAAU;AACpC,qBAAqB,kCAAU;AAC/B,wBAAwB,kCAAU;AAClC,0BAA0B,kCAAU;AACpC,wBAAwB,kCAAU;AAClC,qBAAqB,kCAAU;AAC/B,8BAA8B,kCAAU;AACxC,yBAAyB,kCAAU;AACnC,2BAA2B,kCAAU;AACrC,yBAAyB,kCAAU;AACnC,+BAA+B,kCAAU;AACzC,aAAa;AACb;AACA,6BAA6B,kCAAU;AACvC,yBAAyB,kCAAU;AACnC,wBAAwB,kCAAU;AAClC,2BAA2B,kCAAU;AACrC,wBAAwB,kCAAU;AAClC,8BAA8B,kCAAU;AACxC,4BAA4B,kCAAU;AACtC,4BAA4B,kCAAU;AACtC,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,IAAI,WAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE,WAAO,KAAK,WAAO,KAAK;;;AChK3B;AACA;AAC+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,+CAA+C;AAC/D,4BAA4B,8BAAM;AAClC;AACA;AACA;AACA;AACA;AACA;AACO;;;ACnBmC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACO,gCAAgC,oBAAK;;;ACP5C;AACA;AACsB;AACE;AACO;AACF;AACJ","sources":["webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/application/lib/panelhandler.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/application/lib/shell.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/application/lib/app.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/application/lib/pathopener.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/application/lib/tokens.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/application/lib/index.js"],"sourcesContent":["// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { closeIcon } from '@jupyterlab/ui-components';\nimport { ArrayExt, find } from '@lumino/algorithm';\nimport { MessageLoop } from '@lumino/messaging';\nimport { Signal } from '@lumino/signaling';\nimport { Panel, StackedPanel, Widget } from '@lumino/widgets';\n/**\n * A class which manages a panel and sorts its widgets by rank.\n */\nexport class PanelHandler {\n constructor() {\n /**\n * A message hook for child remove messages on the panel handler.\n */\n this._panelChildHook = (handler, msg) => {\n switch (msg.type) {\n case 'child-removed':\n {\n const widget = msg.child;\n ArrayExt.removeFirstWhere(this._items, (v) => v.widget === widget);\n }\n break;\n default:\n break;\n }\n return true;\n };\n this._items = new Array();\n this._panel = new Panel();\n MessageLoop.installMessageHook(this._panel, this._panelChildHook);\n }\n /**\n * Get the panel managed by the handler.\n */\n get panel() {\n return this._panel;\n }\n /**\n * Add a widget to the panel.\n *\n * If the widget is already added, it will be moved.\n */\n addWidget(widget, rank) {\n widget.parent = null;\n const item = { widget, rank };\n const index = ArrayExt.upperBound(this._items, item, Private.itemCmp);\n ArrayExt.insert(this._items, index, item);\n this._panel.insertWidget(index, widget);\n }\n}\n/**\n * A class which manages a side panel that can show at most one widget at a time.\n */\nexport class SidePanelHandler extends PanelHandler {\n /**\n * Construct a new side panel handler.\n */\n constructor(area) {\n super();\n this._isHiddenByUser = false;\n this._widgetAdded = new Signal(this);\n this._widgetRemoved = new Signal(this);\n this._area = area;\n this._panel.hide();\n this._currentWidget = null;\n this._lastCurrentWidget = null;\n this._widgetPanel = new StackedPanel();\n this._widgetPanel.widgetRemoved.connect(this._onWidgetRemoved, this);\n this._closeButton = document.createElement('button');\n closeIcon.element({\n container: this._closeButton,\n height: '16px',\n width: 'auto',\n });\n this._closeButton.onclick = () => {\n this.collapse();\n this.hide();\n };\n this._closeButton.className = 'jp-Button jp-SidePanel-collapse';\n this._closeButton.title = 'Collapse side panel';\n const icon = new Widget({ node: this._closeButton });\n this._panel.addWidget(icon);\n this._panel.addWidget(this._widgetPanel);\n }\n /**\n * Get the current widget in the sidebar panel.\n */\n get currentWidget() {\n return (this._currentWidget ||\n this._lastCurrentWidget ||\n (this._items.length > 0 ? this._items[0].widget : null));\n }\n /**\n * Get the area of the side panel\n */\n get area() {\n return this._area;\n }\n /**\n * Whether the panel is visible\n */\n get isVisible() {\n return this._panel.isVisible;\n }\n /**\n * Get the stacked panel managed by the handler\n */\n get panel() {\n return this._panel;\n }\n /**\n * Get the widgets list.\n */\n get widgets() {\n return this._items.map((obj) => obj.widget);\n }\n /**\n * Signal fired when a widget is added to the panel\n */\n get widgetAdded() {\n return this._widgetAdded;\n }\n /**\n * Signal fired when a widget is removed from the panel\n */\n get widgetRemoved() {\n return this._widgetRemoved;\n }\n /**\n * Get the close button element.\n */\n get closeButton() {\n return this._closeButton;\n }\n /**\n * Expand the sidebar.\n *\n * #### Notes\n * This will open the most recently used widget, or the first widget\n * if there is no most recently used.\n */\n expand(id) {\n if (id) {\n if (this._currentWidget && this._currentWidget.id === id) {\n this.collapse();\n this.hide();\n }\n else {\n this.collapse();\n this.hide();\n this.activate(id);\n this.show();\n }\n }\n else if (this.currentWidget) {\n this._currentWidget = this.currentWidget;\n this.activate(this._currentWidget.id);\n this.show();\n }\n }\n /**\n * Activate a widget residing in the stacked panel by ID.\n *\n * @param id - The widget's unique ID.\n */\n activate(id) {\n const widget = this._findWidgetByID(id);\n if (widget) {\n this._currentWidget = widget;\n widget.show();\n widget.activate();\n }\n }\n /**\n * Test whether the sidebar has the given widget by id.\n */\n has(id) {\n return this._findWidgetByID(id) !== null;\n }\n /**\n * Collapse the sidebar so no items are expanded.\n */\n collapse() {\n var _a;\n (_a = this._currentWidget) === null || _a === void 0 ? void 0 : _a.hide();\n this._currentWidget = null;\n }\n /**\n * Add a widget and its title to the stacked panel.\n *\n * If the widget is already added, it will be moved.\n */\n addWidget(widget, rank) {\n widget.parent = null;\n widget.hide();\n const item = { widget, rank };\n const index = this._findInsertIndex(item);\n ArrayExt.insert(this._items, index, item);\n this._widgetPanel.insertWidget(index, widget);\n this._refreshVisibility();\n this._widgetAdded.emit(widget);\n }\n /**\n * Hide the side panel\n */\n hide() {\n this._isHiddenByUser = true;\n this._refreshVisibility();\n }\n /**\n * Show the side panel\n */\n show() {\n this._isHiddenByUser = false;\n this._refreshVisibility();\n }\n /**\n * Find the insertion index for a rank item.\n */\n _findInsertIndex(item) {\n return ArrayExt.upperBound(this._items, item, Private.itemCmp);\n }\n /**\n * Find the index of the item with the given widget, or `-1`.\n */\n _findWidgetIndex(widget) {\n return ArrayExt.findFirstIndex(this._items, (i) => i.widget === widget);\n }\n /**\n * Find the widget with the given id, or `null`.\n */\n _findWidgetByID(id) {\n const item = find(this._items, (value) => value.widget.id === id);\n return item ? item.widget : null;\n }\n /**\n * Refresh the visibility of the stacked panel.\n */\n _refreshVisibility() {\n this._panel.setHidden(this._isHiddenByUser);\n }\n /*\n * Handle the `widgetRemoved` signal from the panel.\n */\n _onWidgetRemoved(sender, widget) {\n if (widget === this._lastCurrentWidget) {\n this._lastCurrentWidget = null;\n }\n ArrayExt.removeAt(this._items, this._findWidgetIndex(widget));\n this._refreshVisibility();\n this._widgetRemoved.emit(widget);\n }\n}\n/**\n * A class to manages the palette entries associated to the side panels.\n */\nexport class SidePanelPalette {\n /**\n * Construct a new side panel palette.\n */\n constructor(options) {\n this._items = [];\n this._commandPalette = options.commandPalette;\n this._command = options.command;\n }\n /**\n * Get a command palette item from the widget id and the area.\n */\n getItem(widget, area) {\n const itemList = this._items;\n for (let i = 0; i < itemList.length; i++) {\n const item = itemList[i];\n if (item.widgetId === widget.id && item.area === area) {\n return item;\n }\n }\n return null;\n }\n /**\n * Add an item to the command palette.\n */\n addItem(widget, area) {\n // Check if the item does not already exist.\n if (this.getItem(widget, area)) {\n return;\n }\n // Add a new item in command palette.\n const disposableDelegate = this._commandPalette.addItem({\n command: this._command,\n category: 'View',\n args: {\n side: area,\n title: `Show ${widget.title.caption}`,\n id: widget.id,\n },\n });\n // Keep the disposableDelegate object to be able to dispose of the item if the widget\n // is remove from the side panel.\n this._items.push({\n widgetId: widget.id,\n area: area,\n disposable: disposableDelegate,\n });\n }\n /**\n * Remove an item from the command palette.\n */\n removeItem(widget, area) {\n const item = this.getItem(widget, area);\n if (item) {\n item.disposable.dispose();\n }\n }\n}\n/**\n * A namespace for private module data.\n */\nvar Private;\n(function (Private) {\n /**\n * A less-than comparison function for side bar rank items.\n */\n function itemCmp(first, second) {\n return first.rank - second.rank;\n }\n Private.itemCmp = itemCmp;\n})(Private || (Private = {}));\n","// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { nullTranslator } from '@jupyterlab/translation';\nimport { find } from '@lumino/algorithm';\nimport { JSONExt, PromiseDelegate, Token } from '@lumino/coreutils';\nimport { Signal } from '@lumino/signaling';\nimport { BoxLayout, Panel, SplitPanel, Widget, } from '@lumino/widgets';\nimport { PanelHandler, SidePanelHandler } from './panelhandler';\n/**\n * The Jupyter Notebook application shell token.\n */\nexport const INotebookShell = new Token('@jupyter-notebook/application:INotebookShell');\n/**\n * The default rank for ranked panels.\n */\nconst DEFAULT_RANK = 900;\n/**\n * The application shell.\n */\nexport class NotebookShell extends Widget {\n constructor() {\n super();\n this._translator = nullTranslator;\n this._currentChanged = new Signal(this);\n this._mainWidgetLoaded = new PromiseDelegate();\n this.id = 'main';\n this._userLayout = {};\n this._topHandler = new PanelHandler();\n this._menuHandler = new PanelHandler();\n this._leftHandler = new SidePanelHandler('left');\n this._rightHandler = new SidePanelHandler('right');\n this._main = new Panel();\n const topWrapper = (this._topWrapper = new Panel());\n const menuWrapper = (this._menuWrapper = new Panel());\n this._topHandler.panel.id = 'top-panel';\n this._topHandler.panel.node.setAttribute('role', 'banner');\n this._menuHandler.panel.id = 'menu-panel';\n this._menuHandler.panel.node.setAttribute('role', 'navigation');\n this._main.id = 'main-panel';\n this._main.node.setAttribute('role', 'main');\n this._spacer_top = new Widget();\n this._spacer_top.id = 'spacer-widget-top';\n this._spacer_bottom = new Widget();\n this._spacer_bottom.id = 'spacer-widget-bottom';\n // create wrappers around the top and menu areas\n topWrapper.id = 'top-panel-wrapper';\n topWrapper.addWidget(this._topHandler.panel);\n menuWrapper.id = 'menu-panel-wrapper';\n menuWrapper.addWidget(this._menuHandler.panel);\n const rootLayout = new BoxLayout();\n const leftHandler = this._leftHandler;\n const rightHandler = this._rightHandler;\n leftHandler.panel.id = 'jp-left-stack';\n leftHandler.panel.node.setAttribute('role', 'complementary');\n rightHandler.panel.id = 'jp-right-stack';\n rightHandler.panel.node.setAttribute('role', 'complementary');\n // Hide the side panels by default.\n leftHandler.hide();\n rightHandler.hide();\n const middleLayout = new BoxLayout({\n spacing: 0,\n direction: 'top-to-bottom',\n });\n BoxLayout.setStretch(this._topWrapper, 0);\n BoxLayout.setStretch(this._menuWrapper, 0);\n BoxLayout.setStretch(this._main, 1);\n const middlePanel = new Panel({ layout: middleLayout });\n middlePanel.addWidget(this._topWrapper);\n middlePanel.addWidget(this._menuWrapper);\n middlePanel.addWidget(this._spacer_top);\n middlePanel.addWidget(this._main);\n middlePanel.addWidget(this._spacer_bottom);\n middlePanel.layout = middleLayout;\n // TODO: Consider storing this as an attribute this._hsplitPanel if saving/restoring layout needed\n const hsplitPanel = new SplitPanel();\n hsplitPanel.id = 'main-split-panel';\n hsplitPanel.spacing = 1;\n BoxLayout.setStretch(hsplitPanel, 1);\n SplitPanel.setStretch(leftHandler.panel, 0);\n SplitPanel.setStretch(rightHandler.panel, 0);\n SplitPanel.setStretch(middlePanel, 1);\n hsplitPanel.addWidget(leftHandler.panel);\n hsplitPanel.addWidget(middlePanel);\n hsplitPanel.addWidget(rightHandler.panel);\n // Use relative sizing to set the width of the side panels.\n // This will still respect the min-size of children widget in the stacked\n // panel.\n hsplitPanel.setRelativeSizes([1, 2.5, 1]);\n rootLayout.spacing = 0;\n rootLayout.addWidget(hsplitPanel);\n this.layout = rootLayout;\n // Added Skip to Main Link\n const skipLinkWidgetHandler = (this._skipLinkWidgetHandler =\n new Private.SkipLinkWidgetHandler(this));\n this.add(skipLinkWidgetHandler.skipLinkWidget, 'top', { rank: 0 });\n this._skipLinkWidgetHandler.show();\n }\n /**\n * A signal emitted when the current widget changes.\n */\n get currentChanged() {\n return this._currentChanged;\n }\n /**\n * The current widget in the shell's main area.\n */\n get currentWidget() {\n var _a;\n return (_a = this._main.widgets[0]) !== null && _a !== void 0 ? _a : null;\n }\n /**\n * Get the top area wrapper panel\n */\n get top() {\n return this._topWrapper;\n }\n /**\n * Get the menu area wrapper panel\n */\n get menu() {\n return this._menuWrapper;\n }\n /**\n * Get the left area handler\n */\n get leftHandler() {\n return this._leftHandler;\n }\n /**\n * Get the right area handler\n */\n get rightHandler() {\n return this._rightHandler;\n }\n /**\n * Is the left sidebar visible?\n */\n get leftCollapsed() {\n return !(this._leftHandler.isVisible && this._leftHandler.panel.isVisible);\n }\n /**\n * Is the right sidebar visible?\n */\n get rightCollapsed() {\n return !(this._rightHandler.isVisible && this._rightHandler.panel.isVisible);\n }\n /**\n * Promise that resolves when the main widget is loaded\n */\n get restored() {\n return this._mainWidgetLoaded.promise;\n }\n /**\n * Getter and setter for the translator.\n */\n get translator() {\n var _a;\n return (_a = this._translator) !== null && _a !== void 0 ? _a : nullTranslator;\n }\n set translator(value) {\n if (value !== this._translator) {\n this._translator = value;\n const trans = value.load('notebook');\n this._leftHandler.closeButton.title = trans.__('Collapse %1 side panel', this._leftHandler.area);\n this._rightHandler.closeButton.title = trans.__('Collapse %1 side panel', this._rightHandler.area);\n }\n }\n /**\n * User custom shell layout.\n */\n get userLayout() {\n return JSONExt.deepCopy(this._userLayout);\n }\n /**\n * Activate a widget in its area.\n */\n activateById(id) {\n // Search all areas that can have widgets for this widget, starting with main.\n for (const area of ['main', 'top', 'left', 'right', 'menu']) {\n const widget = find(this.widgets(area), (w) => w.id === id);\n if (widget) {\n if (area === 'left') {\n this.expandLeft(id);\n }\n else if (area === 'right') {\n this.expandRight(id);\n }\n else {\n widget.activate();\n }\n }\n }\n }\n /**\n * Add a widget to the application shell.\n *\n * @param widget - The widget being added.\n *\n * @param area - Optional region in the shell into which the widget should\n * be added.\n *\n * @param options - Optional open options.\n *\n */\n add(widget, area, options) {\n var _a, _b;\n let userPosition;\n if ((options === null || options === void 0 ? void 0 : options.type) && this._userLayout[options.type]) {\n userPosition = this._userLayout[options.type];\n }\n else {\n userPosition = this._userLayout[widget.id];\n }\n area = (_a = userPosition === null || userPosition === void 0 ? void 0 : userPosition.area) !== null && _a !== void 0 ? _a : area;\n options =\n options || (userPosition === null || userPosition === void 0 ? void 0 : userPosition.options)\n ? {\n ...options,\n ...userPosition === null || userPosition === void 0 ? void 0 : userPosition.options,\n }\n : undefined;\n const rank = (_b = options === null || options === void 0 ? void 0 : options.rank) !== null && _b !== void 0 ? _b : DEFAULT_RANK;\n switch (area) {\n case 'top':\n return this._topHandler.addWidget(widget, rank);\n case 'menu':\n return this._menuHandler.addWidget(widget, rank);\n case 'main':\n case undefined: {\n if (this._main.widgets.length > 0) {\n // do not add the widget if there is already one\n return;\n }\n const previousWidget = this.currentWidget;\n this._main.addWidget(widget);\n this._main.update();\n this._currentChanged.emit({\n newValue: widget,\n oldValue: previousWidget,\n });\n this._mainWidgetLoaded.resolve();\n break;\n }\n case 'left':\n return this._leftHandler.addWidget(widget, rank);\n case 'right':\n return this._rightHandler.addWidget(widget, rank);\n default:\n console.warn(`Cannot add widget to area: ${area}`);\n }\n }\n /**\n * Collapse the top area and the spacer to make the view more compact.\n */\n collapseTop() {\n this._topWrapper.setHidden(true);\n this._spacer_top.setHidden(true);\n }\n /**\n * Expand the top area to show the header and the spacer.\n */\n expandTop() {\n this._topWrapper.setHidden(false);\n this._spacer_top.setHidden(false);\n }\n /**\n * Return the list of widgets for the given area.\n *\n * @param area The area\n */\n *widgets(area) {\n switch (area !== null && area !== void 0 ? area : 'main') {\n case 'top':\n yield* this._topHandler.panel.widgets;\n return;\n case 'menu':\n yield* this._menuHandler.panel.widgets;\n return;\n case 'main':\n yield* this._main.widgets;\n return;\n case 'left':\n yield* this._leftHandler.widgets;\n return;\n case 'right':\n yield* this._rightHandler.widgets;\n return;\n default:\n console.error(`This shell has no area called \"${area}\"`);\n return;\n }\n }\n /**\n * Expand the left panel to show the sidebar with its widget.\n */\n expandLeft(id) {\n this._leftHandler.panel.show();\n this._leftHandler.expand(id); // Show the current widget, if any\n }\n /**\n * Collapse the left panel\n */\n collapseLeft() {\n this._leftHandler.collapse();\n this._leftHandler.panel.hide();\n }\n /**\n * Expand the right panel to show the sidebar with its widget.\n */\n expandRight(id) {\n this._rightHandler.panel.show();\n this._rightHandler.expand(id); // Show the current widget, if any\n }\n /**\n * Collapse the right panel\n */\n collapseRight() {\n this._rightHandler.collapse();\n this._rightHandler.panel.hide();\n }\n /**\n * Restore the layout state and configuration for the application shell.\n */\n async restoreLayout(configuration) {\n this._userLayout = configuration;\n }\n}\nexport var Private;\n(function (Private) {\n class SkipLinkWidgetHandler {\n /**\n * Construct a new skipLink widget handler.\n */\n constructor(shell) {\n this._isDisposed = false;\n const skipLinkWidget = (this._skipLinkWidget = new Widget());\n const skipToMain = document.createElement('a');\n skipToMain.href = '#first-cell';\n skipToMain.tabIndex = 1;\n skipToMain.text = 'Skip to Main';\n skipToMain.className = 'skip-link';\n skipToMain.addEventListener('click', this);\n skipLinkWidget.addClass('jp-skiplink');\n skipLinkWidget.id = 'jp-skiplink';\n skipLinkWidget.node.appendChild(skipToMain);\n }\n handleEvent(event) {\n switch (event.type) {\n case 'click':\n this._focusMain();\n break;\n }\n }\n _focusMain() {\n const input = document.querySelector('#main-panel .jp-InputArea-editor');\n input.tabIndex = 1;\n input.focus();\n }\n /**\n * Get the input element managed by the handler.\n */\n get skipLinkWidget() {\n return this._skipLinkWidget;\n }\n /**\n * Dispose of the handler and the resources it holds.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._isDisposed = true;\n this._skipLinkWidget.node.removeEventListener('click', this);\n this._skipLinkWidget.dispose();\n }\n /**\n * Hide the skipLink widget.\n */\n hide() {\n this._skipLinkWidget.hide();\n }\n /**\n * Show the skipLink widget.\n */\n show() {\n this._skipLinkWidget.show();\n }\n /**\n * Test whether the handler has been disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n }\n Private.SkipLinkWidgetHandler = SkipLinkWidgetHandler;\n})(Private || (Private = {}));\n","// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { JupyterLab, JupyterFrontEnd, } from '@jupyterlab/application';\nimport { Base64ModelFactory } from '@jupyterlab/docregistry';\nimport { createRendermimePlugins } from '@jupyterlab/application/lib/mimerenderers';\nimport { LabStatus } from '@jupyterlab/application/lib/status';\nimport { PageConfig } from '@jupyterlab/coreutils';\nimport { Throttler } from '@lumino/polling';\nimport { NotebookShell } from './shell';\n/**\n * App is the main application class. It is instantiated once and shared.\n */\nexport class NotebookApp extends JupyterFrontEnd {\n /**\n * Construct a new NotebookApp object.\n *\n * @param options The instantiation options for an application.\n */\n constructor(options = { shell: new NotebookShell() }) {\n var _a, _b;\n super({ ...options, shell: (_a = options.shell) !== null && _a !== void 0 ? _a : new NotebookShell() });\n /**\n * The name of the application.\n */\n this.name = 'Jupyter Notebook';\n /**\n * A namespace/prefix plugins may use to denote their provenance.\n */\n this.namespace = this.name;\n /**\n * The application busy and dirty status signals and flags.\n */\n this.status = new LabStatus(this);\n /**\n * The version of the application.\n */\n this.version = (_b = PageConfig.getOption('appVersion')) !== null && _b !== void 0 ? _b : 'unknown';\n this._info = JupyterLab.defaultInfo;\n this._formatter = new Throttler(() => {\n Private.setFormat(this);\n }, 250);\n // Add initial model factory.\n this.docRegistry.addModelFactory(new Base64ModelFactory());\n if (options.mimeExtensions) {\n for (const plugin of createRendermimePlugins(options.mimeExtensions)) {\n this.registerPlugin(plugin);\n }\n }\n // Create an IInfo dictionary from the options to override the defaults.\n const info = Object.keys(JupyterLab.defaultInfo).reduce((acc, val) => {\n if (val in options) {\n acc[val] = JSON.parse(JSON.stringify(options[val]));\n }\n return acc;\n }, {});\n // Populate application info.\n this._info = { ...JupyterLab.defaultInfo, ...info };\n this.restored = this.shell.restored;\n this.restored.then(() => this._formatter.invoke());\n }\n /**\n * The NotebookApp application information dictionary.\n */\n get info() {\n return this._info;\n }\n /**\n * The JupyterLab application paths dictionary.\n */\n get paths() {\n return {\n urls: {\n base: PageConfig.getOption('baseUrl'),\n notFound: PageConfig.getOption('notFoundUrl'),\n app: PageConfig.getOption('appUrl'),\n static: PageConfig.getOption('staticUrl'),\n settings: PageConfig.getOption('settingsUrl'),\n themes: PageConfig.getOption('themesUrl'),\n doc: PageConfig.getOption('docUrl'),\n translations: PageConfig.getOption('translationsApiUrl'),\n hubHost: PageConfig.getOption('hubHost') || undefined,\n hubPrefix: PageConfig.getOption('hubPrefix') || undefined,\n hubUser: PageConfig.getOption('hubUser') || undefined,\n hubServerName: PageConfig.getOption('hubServerName') || undefined,\n },\n directories: {\n appSettings: PageConfig.getOption('appSettingsDir'),\n schemas: PageConfig.getOption('schemasDir'),\n static: PageConfig.getOption('staticDir'),\n templates: PageConfig.getOption('templatesDir'),\n themes: PageConfig.getOption('themesDir'),\n userSettings: PageConfig.getOption('userSettingsDir'),\n serverRoot: PageConfig.getOption('serverRoot'),\n workspaces: PageConfig.getOption('workspacesDir'),\n },\n };\n }\n /**\n * Handle the DOM events for the application.\n *\n * @param event - The DOM event sent to the application.\n */\n handleEvent(event) {\n super.handleEvent(event);\n if (event.type === 'resize') {\n void this._formatter.invoke();\n }\n }\n /**\n * Register plugins from a plugin module.\n *\n * @param mod - The plugin module to register.\n */\n registerPluginModule(mod) {\n let data = mod.default;\n // Handle commonjs exports.\n if (!Object.prototype.hasOwnProperty.call(mod, '__esModule')) {\n data = mod;\n }\n if (!Array.isArray(data)) {\n data = [data];\n }\n data.forEach((item) => {\n try {\n this.registerPlugin(item);\n }\n catch (error) {\n console.error(error);\n }\n });\n }\n /**\n * Register the plugins from multiple plugin modules.\n *\n * @param mods - The plugin modules to register.\n */\n registerPluginModules(mods) {\n mods.forEach((mod) => {\n this.registerPluginModule(mod);\n });\n }\n}\n/**\n * A namespace for module-private functionality.\n */\nvar Private;\n(function (Private) {\n /**\n * Media query for mobile devices.\n */\n const MOBILE_QUERY = 'only screen and (max-width: 760px)';\n /**\n * Sets the `format` of a Jupyter front-end application.\n *\n * @param app The front-end application whose format is set.\n */\n function setFormat(app) {\n app.format = window.matchMedia(MOBILE_QUERY).matches ? 'mobile' : 'desktop';\n }\n Private.setFormat = setFormat;\n})(Private || (Private = {}));\n","// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { URLExt } from '@jupyterlab/coreutils';\n/**\n * A class to open paths in new browser tabs in the Notebook application.\n */\nclass DefaultNotebookPathOpener {\n /**\n * Open a path in a new browser tab.\n */\n open(options) {\n const { prefix, path, searchParams, target, features } = options;\n const url = new URL(URLExt.join(prefix, path !== null && path !== void 0 ? path : ''), window.location.origin);\n if (searchParams) {\n url.search = searchParams.toString();\n }\n return window.open(url, target, features);\n }\n}\nexport const defaultNotebookPathOpener = new DefaultNotebookPathOpener();\n","import { Token } from '@lumino/coreutils';\n/**\n * The INotebookPathOpener token.\n * The main purpose of this token is to allow other extensions or downstream applications\n * to override the default behavior of opening a notebook in a new tab.\n * It also allows passing the path as a URL search parameter, or other options to the window.open call.\n */\nexport const INotebookPathOpener = new Token('@jupyter-notebook/application:INotebookPathOpener');\n","// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nexport * from './app';\nexport * from './shell';\nexport * from './panelhandler';\nexport * from './pathopener';\nexport * from './tokens';\n"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"5135.c7a9f8d53984219aba23.js?v=c7a9f8d53984219aba23","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACsD;AACH;AACH;AACL;AACmB;AAC9D;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2BAAQ;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,gCAAK;AAC/B,QAAQ,wCAAW;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,sBAAsB,2BAAQ;AAC9B,QAAQ,2BAAQ;AAChB;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,mCAAM;AACtC,kCAAkC,mCAAM;AACxC;AACA;AACA;AACA;AACA,gCAAgC,uCAAY;AAC5C;AACA;AACA,QAAQ,qCAAS;AACjB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iCAAM,GAAG,yBAAyB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,QAAQ,2BAAQ;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,2BAAQ;AACvB;AACA;AACA;AACA;AACA;AACA,eAAe,2BAAQ;AACvB;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAAI;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,2BAAQ;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,qBAAqB;AACpD;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0BAA0B;;;ACvU3B;AACA;AACyD;AAChB;AAC2B;AACzB;AAC6B;AACR;AAChE;AACA;AACA;AACO,2BAA2B,oBAAK;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACO,4BAA4B,iCAAM;AACzC;AACA;AACA,2BAA2B,wCAAc;AACzC,mCAAmC,mCAAM;AACzC,qCAAqC,8BAAe;AACpD;AACA;AACA,+BAA+B,YAAY;AAC3C,gCAAgC,YAAY;AAC5C,gCAAgC,gBAAgB;AAChD,iCAAiC,gBAAgB;AACjD,yBAAyB,gCAAK;AAC9B,mDAAmD,gCAAK;AACxD,qDAAqD,gCAAK;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,iCAAM;AACrC;AACA,kCAAkC,iCAAM;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,oCAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,oCAAS;AAC1C;AACA;AACA,SAAS;AACT,QAAQ,oCAAS;AACjB,QAAQ,oCAAS;AACjB,QAAQ,oCAAS;AACjB,gCAAgC,gCAAK,GAAG,sBAAsB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,qCAAU;AAC1C;AACA;AACA,QAAQ,oCAAS;AACjB,QAAQ,qCAAU;AAClB,QAAQ,qCAAU;AAClB,QAAQ,qCAAU;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAO;AACvB,gEAAgE,SAAS;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,wCAAc;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,sBAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,2BAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,KAAK;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,KAAK;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAI,aAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,iCAAM;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE,aAAO,KAAK,aAAO,KAAK;;;AC3Y3B;AACA;AACuE;AACV;AACuB;AACrB;AACZ;AACP;AACJ;AACxC;AACA;AACA;AACO,0BAA0B,yBAAe;AAChD;AACA;AACA;AACA;AACA;AACA,4BAA4B,WAAW,aAAa,IAAI;AACxD;AACA,gBAAgB,6EAA6E,aAAa,IAAI;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,2BAAS;AACnC;AACA;AACA;AACA,6BAA6B,kCAAU;AACvC,qBAAqB,oBAAU;AAC/B,8BAA8B,uBAAS;AACvC,YAAY,WAAO;AACnB,SAAS;AACT;AACA,6CAA6C,gCAAkB;AAC/D;AACA,iCAAiC,iDAAuB;AACxD;AACA;AACA;AACA;AACA,iCAAiC,oBAAU;AAC3C;AACA;AACA;AACA;AACA,SAAS,IAAI;AACb;AACA,uBAAuB,GAAG,oBAAU;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kCAAU;AAChC,0BAA0B,kCAAU;AACpC,qBAAqB,kCAAU;AAC/B,wBAAwB,kCAAU;AAClC,0BAA0B,kCAAU;AACpC,wBAAwB,kCAAU;AAClC,qBAAqB,kCAAU;AAC/B,8BAA8B,kCAAU;AACxC,yBAAyB,kCAAU;AACnC,2BAA2B,kCAAU;AACrC,yBAAyB,kCAAU;AACnC,+BAA+B,kCAAU;AACzC,aAAa;AACb;AACA,6BAA6B,kCAAU;AACvC,yBAAyB,kCAAU;AACnC,wBAAwB,kCAAU;AAClC,2BAA2B,kCAAU;AACrC,wBAAwB,kCAAU;AAClC,8BAA8B,kCAAU;AACxC,4BAA4B,kCAAU;AACtC,4BAA4B,kCAAU;AACtC,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,IAAI,WAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE,WAAO,KAAK,WAAO,KAAK;;;AChK3B;AACA;AAC+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,+CAA+C;AAC/D,4BAA4B,8BAAM;AAClC;AACA;AACA;AACA;AACA;AACA;AACO;;;ACnBmC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACO,gCAAgC,oBAAK;;;ACP5C;AACA;AACsB;AACE;AACO;AACF;AACJ","sources":["webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/application/lib/panelhandler.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/application/lib/shell.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/application/lib/app.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/application/lib/pathopener.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/application/lib/tokens.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/application/lib/index.js"],"sourcesContent":["// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { closeIcon } from '@jupyterlab/ui-components';\nimport { ArrayExt, find } from '@lumino/algorithm';\nimport { MessageLoop } from '@lumino/messaging';\nimport { Signal } from '@lumino/signaling';\nimport { Panel, StackedPanel, Widget } from '@lumino/widgets';\n/**\n * A class which manages a panel and sorts its widgets by rank.\n */\nexport class PanelHandler {\n constructor() {\n /**\n * A message hook for child remove messages on the panel handler.\n */\n this._panelChildHook = (handler, msg) => {\n switch (msg.type) {\n case 'child-removed':\n {\n const widget = msg.child;\n ArrayExt.removeFirstWhere(this._items, (v) => v.widget === widget);\n }\n break;\n default:\n break;\n }\n return true;\n };\n this._items = new Array();\n this._panel = new Panel();\n MessageLoop.installMessageHook(this._panel, this._panelChildHook);\n }\n /**\n * Get the panel managed by the handler.\n */\n get panel() {\n return this._panel;\n }\n /**\n * Add a widget to the panel.\n *\n * If the widget is already added, it will be moved.\n */\n addWidget(widget, rank) {\n widget.parent = null;\n const item = { widget, rank };\n const index = ArrayExt.upperBound(this._items, item, Private.itemCmp);\n ArrayExt.insert(this._items, index, item);\n this._panel.insertWidget(index, widget);\n }\n}\n/**\n * A class which manages a side panel that can show at most one widget at a time.\n */\nexport class SidePanelHandler extends PanelHandler {\n /**\n * Construct a new side panel handler.\n */\n constructor(area) {\n super();\n this._isHiddenByUser = false;\n this._widgetAdded = new Signal(this);\n this._widgetRemoved = new Signal(this);\n this._area = area;\n this._panel.hide();\n this._currentWidget = null;\n this._lastCurrentWidget = null;\n this._widgetPanel = new StackedPanel();\n this._widgetPanel.widgetRemoved.connect(this._onWidgetRemoved, this);\n this._closeButton = document.createElement('button');\n closeIcon.element({\n container: this._closeButton,\n height: '16px',\n width: 'auto',\n });\n this._closeButton.onclick = () => {\n this.collapse();\n this.hide();\n };\n this._closeButton.className = 'jp-Button jp-SidePanel-collapse';\n this._closeButton.title = 'Collapse side panel';\n const icon = new Widget({ node: this._closeButton });\n this._panel.addWidget(icon);\n this._panel.addWidget(this._widgetPanel);\n }\n /**\n * Get the current widget in the sidebar panel.\n */\n get currentWidget() {\n return (this._currentWidget ||\n this._lastCurrentWidget ||\n (this._items.length > 0 ? this._items[0].widget : null));\n }\n /**\n * Get the area of the side panel\n */\n get area() {\n return this._area;\n }\n /**\n * Whether the panel is visible\n */\n get isVisible() {\n return this._panel.isVisible;\n }\n /**\n * Get the stacked panel managed by the handler\n */\n get panel() {\n return this._panel;\n }\n /**\n * Get the widgets list.\n */\n get widgets() {\n return this._items.map((obj) => obj.widget);\n }\n /**\n * Signal fired when a widget is added to the panel\n */\n get widgetAdded() {\n return this._widgetAdded;\n }\n /**\n * Signal fired when a widget is removed from the panel\n */\n get widgetRemoved() {\n return this._widgetRemoved;\n }\n /**\n * Get the close button element.\n */\n get closeButton() {\n return this._closeButton;\n }\n /**\n * Expand the sidebar.\n *\n * #### Notes\n * This will open the most recently used widget, or the first widget\n * if there is no most recently used.\n */\n expand(id) {\n if (id) {\n if (this._currentWidget && this._currentWidget.id === id) {\n this.collapse();\n this.hide();\n }\n else {\n this.collapse();\n this.hide();\n this.activate(id);\n this.show();\n }\n }\n else if (this.currentWidget) {\n this._currentWidget = this.currentWidget;\n this.activate(this._currentWidget.id);\n this.show();\n }\n }\n /**\n * Activate a widget residing in the stacked panel by ID.\n *\n * @param id - The widget's unique ID.\n */\n activate(id) {\n const widget = this._findWidgetByID(id);\n if (widget) {\n this._currentWidget = widget;\n widget.show();\n widget.activate();\n }\n }\n /**\n * Test whether the sidebar has the given widget by id.\n */\n has(id) {\n return this._findWidgetByID(id) !== null;\n }\n /**\n * Collapse the sidebar so no items are expanded.\n */\n collapse() {\n var _a;\n (_a = this._currentWidget) === null || _a === void 0 ? void 0 : _a.hide();\n this._currentWidget = null;\n }\n /**\n * Add a widget and its title to the stacked panel.\n *\n * If the widget is already added, it will be moved.\n */\n addWidget(widget, rank) {\n widget.parent = null;\n widget.hide();\n const item = { widget, rank };\n const index = this._findInsertIndex(item);\n ArrayExt.insert(this._items, index, item);\n this._widgetPanel.insertWidget(index, widget);\n this._refreshVisibility();\n this._widgetAdded.emit(widget);\n }\n /**\n * Hide the side panel\n */\n hide() {\n this._isHiddenByUser = true;\n this._refreshVisibility();\n }\n /**\n * Show the side panel\n */\n show() {\n this._isHiddenByUser = false;\n this._refreshVisibility();\n }\n /**\n * Find the insertion index for a rank item.\n */\n _findInsertIndex(item) {\n return ArrayExt.upperBound(this._items, item, Private.itemCmp);\n }\n /**\n * Find the index of the item with the given widget, or `-1`.\n */\n _findWidgetIndex(widget) {\n return ArrayExt.findFirstIndex(this._items, (i) => i.widget === widget);\n }\n /**\n * Find the widget with the given id, or `null`.\n */\n _findWidgetByID(id) {\n const item = find(this._items, (value) => value.widget.id === id);\n return item ? item.widget : null;\n }\n /**\n * Refresh the visibility of the stacked panel.\n */\n _refreshVisibility() {\n this._panel.setHidden(this._isHiddenByUser);\n }\n /*\n * Handle the `widgetRemoved` signal from the panel.\n */\n _onWidgetRemoved(sender, widget) {\n if (widget === this._lastCurrentWidget) {\n this._lastCurrentWidget = null;\n }\n ArrayExt.removeAt(this._items, this._findWidgetIndex(widget));\n this._refreshVisibility();\n this._widgetRemoved.emit(widget);\n }\n}\n/**\n * A class to manages the palette entries associated to the side panels.\n */\nexport class SidePanelPalette {\n /**\n * Construct a new side panel palette.\n */\n constructor(options) {\n this._items = [];\n this._commandPalette = options.commandPalette;\n this._command = options.command;\n }\n /**\n * Get a command palette item from the widget id and the area.\n */\n getItem(widget, area) {\n const itemList = this._items;\n for (let i = 0; i < itemList.length; i++) {\n const item = itemList[i];\n if (item.widgetId === widget.id && item.area === area) {\n return item;\n }\n }\n return null;\n }\n /**\n * Add an item to the command palette.\n */\n addItem(widget, area) {\n // Check if the item does not already exist.\n if (this.getItem(widget, area)) {\n return;\n }\n // Add a new item in command palette.\n const disposableDelegate = this._commandPalette.addItem({\n command: this._command,\n category: 'View',\n args: {\n side: area,\n title: `Show ${widget.title.caption}`,\n id: widget.id,\n },\n });\n // Keep the disposableDelegate object to be able to dispose of the item if the widget\n // is remove from the side panel.\n this._items.push({\n widgetId: widget.id,\n area: area,\n disposable: disposableDelegate,\n });\n }\n /**\n * Remove an item from the command palette.\n */\n removeItem(widget, area) {\n const item = this.getItem(widget, area);\n if (item) {\n item.disposable.dispose();\n }\n }\n}\n/**\n * A namespace for private module data.\n */\nvar Private;\n(function (Private) {\n /**\n * A less-than comparison function for side bar rank items.\n */\n function itemCmp(first, second) {\n return first.rank - second.rank;\n }\n Private.itemCmp = itemCmp;\n})(Private || (Private = {}));\n","// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { nullTranslator } from '@jupyterlab/translation';\nimport { find } from '@lumino/algorithm';\nimport { JSONExt, PromiseDelegate, Token } from '@lumino/coreutils';\nimport { Signal } from '@lumino/signaling';\nimport { BoxLayout, Panel, SplitPanel, Widget, } from '@lumino/widgets';\nimport { PanelHandler, SidePanelHandler } from './panelhandler';\n/**\n * The Jupyter Notebook application shell token.\n */\nexport const INotebookShell = new Token('@jupyter-notebook/application:INotebookShell');\n/**\n * The default rank for ranked panels.\n */\nconst DEFAULT_RANK = 900;\n/**\n * The application shell.\n */\nexport class NotebookShell extends Widget {\n constructor() {\n super();\n this._translator = nullTranslator;\n this._currentChanged = new Signal(this);\n this._mainWidgetLoaded = new PromiseDelegate();\n this.id = 'main';\n this._userLayout = {};\n this._topHandler = new PanelHandler();\n this._menuHandler = new PanelHandler();\n this._leftHandler = new SidePanelHandler('left');\n this._rightHandler = new SidePanelHandler('right');\n this._main = new Panel();\n const topWrapper = (this._topWrapper = new Panel());\n const menuWrapper = (this._menuWrapper = new Panel());\n this._topHandler.panel.id = 'top-panel';\n this._topHandler.panel.node.setAttribute('role', 'banner');\n this._menuHandler.panel.id = 'menu-panel';\n this._menuHandler.panel.node.setAttribute('role', 'navigation');\n this._main.id = 'main-panel';\n this._main.node.setAttribute('role', 'main');\n this._spacer_top = new Widget();\n this._spacer_top.id = 'spacer-widget-top';\n this._spacer_bottom = new Widget();\n this._spacer_bottom.id = 'spacer-widget-bottom';\n // create wrappers around the top and menu areas\n topWrapper.id = 'top-panel-wrapper';\n topWrapper.addWidget(this._topHandler.panel);\n menuWrapper.id = 'menu-panel-wrapper';\n menuWrapper.addWidget(this._menuHandler.panel);\n const rootLayout = new BoxLayout();\n const leftHandler = this._leftHandler;\n const rightHandler = this._rightHandler;\n leftHandler.panel.id = 'jp-left-stack';\n leftHandler.panel.node.setAttribute('role', 'complementary');\n rightHandler.panel.id = 'jp-right-stack';\n rightHandler.panel.node.setAttribute('role', 'complementary');\n // Hide the side panels by default.\n leftHandler.hide();\n rightHandler.hide();\n const middleLayout = new BoxLayout({\n spacing: 0,\n direction: 'top-to-bottom',\n });\n BoxLayout.setStretch(this._topWrapper, 0);\n BoxLayout.setStretch(this._menuWrapper, 0);\n BoxLayout.setStretch(this._main, 1);\n const middlePanel = new Panel({ layout: middleLayout });\n middlePanel.addWidget(this._topWrapper);\n middlePanel.addWidget(this._menuWrapper);\n middlePanel.addWidget(this._spacer_top);\n middlePanel.addWidget(this._main);\n middlePanel.addWidget(this._spacer_bottom);\n middlePanel.layout = middleLayout;\n // TODO: Consider storing this as an attribute this._hsplitPanel if saving/restoring layout needed\n const hsplitPanel = new SplitPanel();\n hsplitPanel.id = 'main-split-panel';\n hsplitPanel.spacing = 1;\n BoxLayout.setStretch(hsplitPanel, 1);\n SplitPanel.setStretch(leftHandler.panel, 0);\n SplitPanel.setStretch(rightHandler.panel, 0);\n SplitPanel.setStretch(middlePanel, 1);\n hsplitPanel.addWidget(leftHandler.panel);\n hsplitPanel.addWidget(middlePanel);\n hsplitPanel.addWidget(rightHandler.panel);\n // Use relative sizing to set the width of the side panels.\n // This will still respect the min-size of children widget in the stacked\n // panel.\n hsplitPanel.setRelativeSizes([1, 2.5, 1]);\n rootLayout.spacing = 0;\n rootLayout.addWidget(hsplitPanel);\n this.layout = rootLayout;\n // Added Skip to Main Link\n const skipLinkWidgetHandler = (this._skipLinkWidgetHandler =\n new Private.SkipLinkWidgetHandler(this));\n this.add(skipLinkWidgetHandler.skipLinkWidget, 'top', { rank: 0 });\n this._skipLinkWidgetHandler.show();\n }\n /**\n * A signal emitted when the current widget changes.\n */\n get currentChanged() {\n return this._currentChanged;\n }\n /**\n * The current widget in the shell's main area.\n */\n get currentWidget() {\n var _a;\n return (_a = this._main.widgets[0]) !== null && _a !== void 0 ? _a : null;\n }\n /**\n * Get the top area wrapper panel\n */\n get top() {\n return this._topWrapper;\n }\n /**\n * Get the menu area wrapper panel\n */\n get menu() {\n return this._menuWrapper;\n }\n /**\n * Get the left area handler\n */\n get leftHandler() {\n return this._leftHandler;\n }\n /**\n * Get the right area handler\n */\n get rightHandler() {\n return this._rightHandler;\n }\n /**\n * Is the left sidebar visible?\n */\n get leftCollapsed() {\n return !(this._leftHandler.isVisible && this._leftHandler.panel.isVisible);\n }\n /**\n * Is the right sidebar visible?\n */\n get rightCollapsed() {\n return !(this._rightHandler.isVisible && this._rightHandler.panel.isVisible);\n }\n /**\n * Promise that resolves when the main widget is loaded\n */\n get restored() {\n return this._mainWidgetLoaded.promise;\n }\n /**\n * Getter and setter for the translator.\n */\n get translator() {\n var _a;\n return (_a = this._translator) !== null && _a !== void 0 ? _a : nullTranslator;\n }\n set translator(value) {\n if (value !== this._translator) {\n this._translator = value;\n const trans = value.load('notebook');\n this._leftHandler.closeButton.title = trans.__('Collapse %1 side panel', this._leftHandler.area);\n this._rightHandler.closeButton.title = trans.__('Collapse %1 side panel', this._rightHandler.area);\n }\n }\n /**\n * User custom shell layout.\n */\n get userLayout() {\n return JSONExt.deepCopy(this._userLayout);\n }\n /**\n * Activate a widget in its area.\n */\n activateById(id) {\n // Search all areas that can have widgets for this widget, starting with main.\n for (const area of ['main', 'top', 'left', 'right', 'menu']) {\n const widget = find(this.widgets(area), (w) => w.id === id);\n if (widget) {\n if (area === 'left') {\n this.expandLeft(id);\n }\n else if (area === 'right') {\n this.expandRight(id);\n }\n else {\n widget.activate();\n }\n }\n }\n }\n /**\n * Add a widget to the application shell.\n *\n * @param widget - The widget being added.\n *\n * @param area - Optional region in the shell into which the widget should\n * be added.\n *\n * @param options - Optional open options.\n *\n */\n add(widget, area, options) {\n var _a, _b;\n let userPosition;\n if ((options === null || options === void 0 ? void 0 : options.type) && this._userLayout[options.type]) {\n userPosition = this._userLayout[options.type];\n }\n else {\n userPosition = this._userLayout[widget.id];\n }\n area = (_a = userPosition === null || userPosition === void 0 ? void 0 : userPosition.area) !== null && _a !== void 0 ? _a : area;\n options =\n options || (userPosition === null || userPosition === void 0 ? void 0 : userPosition.options)\n ? {\n ...options,\n ...userPosition === null || userPosition === void 0 ? void 0 : userPosition.options,\n }\n : undefined;\n const rank = (_b = options === null || options === void 0 ? void 0 : options.rank) !== null && _b !== void 0 ? _b : DEFAULT_RANK;\n switch (area) {\n case 'top':\n return this._topHandler.addWidget(widget, rank);\n case 'menu':\n return this._menuHandler.addWidget(widget, rank);\n case 'main':\n case undefined: {\n if (this._main.widgets.length > 0) {\n // do not add the widget if there is already one\n return;\n }\n const previousWidget = this.currentWidget;\n this._main.addWidget(widget);\n this._main.update();\n this._currentChanged.emit({\n newValue: widget,\n oldValue: previousWidget,\n });\n this._mainWidgetLoaded.resolve();\n break;\n }\n case 'left':\n return this._leftHandler.addWidget(widget, rank);\n case 'right':\n return this._rightHandler.addWidget(widget, rank);\n default:\n console.warn(`Cannot add widget to area: ${area}`);\n }\n }\n /**\n * Collapse the top area and the spacer to make the view more compact.\n */\n collapseTop() {\n this._topWrapper.setHidden(true);\n this._spacer_top.setHidden(true);\n }\n /**\n * Expand the top area to show the header and the spacer.\n */\n expandTop() {\n this._topWrapper.setHidden(false);\n this._spacer_top.setHidden(false);\n }\n /**\n * Return the list of widgets for the given area.\n *\n * @param area The area\n */\n *widgets(area) {\n switch (area !== null && area !== void 0 ? area : 'main') {\n case 'top':\n yield* this._topHandler.panel.widgets;\n return;\n case 'menu':\n yield* this._menuHandler.panel.widgets;\n return;\n case 'main':\n yield* this._main.widgets;\n return;\n case 'left':\n yield* this._leftHandler.widgets;\n return;\n case 'right':\n yield* this._rightHandler.widgets;\n return;\n default:\n console.error(`This shell has no area called \"${area}\"`);\n return;\n }\n }\n /**\n * Expand the left panel to show the sidebar with its widget.\n */\n expandLeft(id) {\n this._leftHandler.panel.show();\n this._leftHandler.expand(id); // Show the current widget, if any\n }\n /**\n * Collapse the left panel\n */\n collapseLeft() {\n this._leftHandler.collapse();\n this._leftHandler.panel.hide();\n }\n /**\n * Expand the right panel to show the sidebar with its widget.\n */\n expandRight(id) {\n this._rightHandler.panel.show();\n this._rightHandler.expand(id); // Show the current widget, if any\n }\n /**\n * Collapse the right panel\n */\n collapseRight() {\n this._rightHandler.collapse();\n this._rightHandler.panel.hide();\n }\n /**\n * Restore the layout state and configuration for the application shell.\n */\n async restoreLayout(configuration) {\n this._userLayout = configuration;\n }\n}\nexport var Private;\n(function (Private) {\n class SkipLinkWidgetHandler {\n /**\n * Construct a new skipLink widget handler.\n */\n constructor(shell) {\n this._isDisposed = false;\n const skipLinkWidget = (this._skipLinkWidget = new Widget());\n const skipToMain = document.createElement('a');\n skipToMain.href = '#first-cell';\n skipToMain.tabIndex = 1;\n skipToMain.text = 'Skip to Main';\n skipToMain.className = 'skip-link';\n skipToMain.addEventListener('click', this);\n skipLinkWidget.addClass('jp-skiplink');\n skipLinkWidget.id = 'jp-skiplink';\n skipLinkWidget.node.appendChild(skipToMain);\n }\n handleEvent(event) {\n switch (event.type) {\n case 'click':\n this._focusMain();\n break;\n }\n }\n _focusMain() {\n const input = document.querySelector('#main-panel .jp-InputArea-editor');\n input.tabIndex = 1;\n input.focus();\n }\n /**\n * Get the input element managed by the handler.\n */\n get skipLinkWidget() {\n return this._skipLinkWidget;\n }\n /**\n * Dispose of the handler and the resources it holds.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._isDisposed = true;\n this._skipLinkWidget.node.removeEventListener('click', this);\n this._skipLinkWidget.dispose();\n }\n /**\n * Hide the skipLink widget.\n */\n hide() {\n this._skipLinkWidget.hide();\n }\n /**\n * Show the skipLink widget.\n */\n show() {\n this._skipLinkWidget.show();\n }\n /**\n * Test whether the handler has been disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n }\n Private.SkipLinkWidgetHandler = SkipLinkWidgetHandler;\n})(Private || (Private = {}));\n","// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { JupyterLab, JupyterFrontEnd, } from '@jupyterlab/application';\nimport { Base64ModelFactory } from '@jupyterlab/docregistry';\nimport { createRendermimePlugins } from '@jupyterlab/application/lib/mimerenderers';\nimport { LabStatus } from '@jupyterlab/application/lib/status';\nimport { PageConfig } from '@jupyterlab/coreutils';\nimport { Throttler } from '@lumino/polling';\nimport { NotebookShell } from './shell';\n/**\n * App is the main application class. It is instantiated once and shared.\n */\nexport class NotebookApp extends JupyterFrontEnd {\n /**\n * Construct a new NotebookApp object.\n *\n * @param options The instantiation options for an application.\n */\n constructor(options = { shell: new NotebookShell() }) {\n var _a, _b;\n super({ ...options, shell: (_a = options.shell) !== null && _a !== void 0 ? _a : new NotebookShell() });\n /**\n * The name of the application.\n */\n this.name = 'Jupyter Notebook';\n /**\n * A namespace/prefix plugins may use to denote their provenance.\n */\n this.namespace = this.name;\n /**\n * The application busy and dirty status signals and flags.\n */\n this.status = new LabStatus(this);\n /**\n * The version of the application.\n */\n this.version = (_b = PageConfig.getOption('appVersion')) !== null && _b !== void 0 ? _b : 'unknown';\n this._info = JupyterLab.defaultInfo;\n this._formatter = new Throttler(() => {\n Private.setFormat(this);\n }, 250);\n // Add initial model factory.\n this.docRegistry.addModelFactory(new Base64ModelFactory());\n if (options.mimeExtensions) {\n for (const plugin of createRendermimePlugins(options.mimeExtensions)) {\n this.registerPlugin(plugin);\n }\n }\n // Create an IInfo dictionary from the options to override the defaults.\n const info = Object.keys(JupyterLab.defaultInfo).reduce((acc, val) => {\n if (val in options) {\n acc[val] = JSON.parse(JSON.stringify(options[val]));\n }\n return acc;\n }, {});\n // Populate application info.\n this._info = { ...JupyterLab.defaultInfo, ...info };\n this.restored = this.shell.restored;\n this.restored.then(() => this._formatter.invoke());\n }\n /**\n * The NotebookApp application information dictionary.\n */\n get info() {\n return this._info;\n }\n /**\n * The JupyterLab application paths dictionary.\n */\n get paths() {\n return {\n urls: {\n base: PageConfig.getOption('baseUrl'),\n notFound: PageConfig.getOption('notFoundUrl'),\n app: PageConfig.getOption('appUrl'),\n static: PageConfig.getOption('staticUrl'),\n settings: PageConfig.getOption('settingsUrl'),\n themes: PageConfig.getOption('themesUrl'),\n doc: PageConfig.getOption('docUrl'),\n translations: PageConfig.getOption('translationsApiUrl'),\n hubHost: PageConfig.getOption('hubHost') || undefined,\n hubPrefix: PageConfig.getOption('hubPrefix') || undefined,\n hubUser: PageConfig.getOption('hubUser') || undefined,\n hubServerName: PageConfig.getOption('hubServerName') || undefined,\n },\n directories: {\n appSettings: PageConfig.getOption('appSettingsDir'),\n schemas: PageConfig.getOption('schemasDir'),\n static: PageConfig.getOption('staticDir'),\n templates: PageConfig.getOption('templatesDir'),\n themes: PageConfig.getOption('themesDir'),\n userSettings: PageConfig.getOption('userSettingsDir'),\n serverRoot: PageConfig.getOption('serverRoot'),\n workspaces: PageConfig.getOption('workspacesDir'),\n },\n };\n }\n /**\n * Handle the DOM events for the application.\n *\n * @param event - The DOM event sent to the application.\n */\n handleEvent(event) {\n super.handleEvent(event);\n if (event.type === 'resize') {\n void this._formatter.invoke();\n }\n }\n /**\n * Register plugins from a plugin module.\n *\n * @param mod - The plugin module to register.\n */\n registerPluginModule(mod) {\n let data = mod.default;\n // Handle commonjs exports.\n if (!Object.prototype.hasOwnProperty.call(mod, '__esModule')) {\n data = mod;\n }\n if (!Array.isArray(data)) {\n data = [data];\n }\n data.forEach((item) => {\n try {\n this.registerPlugin(item);\n }\n catch (error) {\n console.error(error);\n }\n });\n }\n /**\n * Register the plugins from multiple plugin modules.\n *\n * @param mods - The plugin modules to register.\n */\n registerPluginModules(mods) {\n mods.forEach((mod) => {\n this.registerPluginModule(mod);\n });\n }\n}\n/**\n * A namespace for module-private functionality.\n */\nvar Private;\n(function (Private) {\n /**\n * Media query for mobile devices.\n */\n const MOBILE_QUERY = 'only screen and (max-width: 760px)';\n /**\n * Sets the `format` of a Jupyter front-end application.\n *\n * @param app The front-end application whose format is set.\n */\n function setFormat(app) {\n app.format = window.matchMedia(MOBILE_QUERY).matches ? 'mobile' : 'desktop';\n }\n Private.setFormat = setFormat;\n})(Private || (Private = {}));\n","// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { URLExt } from '@jupyterlab/coreutils';\n/**\n * A class to open paths in new browser tabs in the Notebook application.\n */\nclass DefaultNotebookPathOpener {\n /**\n * Open a path in a new browser tab.\n */\n open(options) {\n const { prefix, path, searchParams, target, features } = options;\n const url = new URL(URLExt.join(prefix, path !== null && path !== void 0 ? path : ''), window.location.origin);\n if (searchParams) {\n url.search = searchParams.toString();\n }\n return window.open(url, target, features);\n }\n}\nexport const defaultNotebookPathOpener = new DefaultNotebookPathOpener();\n","import { Token } from '@lumino/coreutils';\n/**\n * The INotebookPathOpener token.\n * The main purpose of this token is to allow other extensions or downstream applications\n * to override the default behavior of opening a notebook in a new tab.\n * It also allows passing the path as a URL search parameter, or other options to the window.open call.\n */\nexport const INotebookPathOpener = new Token('@jupyter-notebook/application:INotebookPathOpener');\n","// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nexport * from './app';\nexport * from './shell';\nexport * from './panelhandler';\nexport * from './pathopener';\nexport * from './tokens';\n"],"names":[],"sourceRoot":""}