notebook 7.4.0a2__py3-none-any.whl → 7.4.0b0__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 (111) hide show
  1. notebook/_version.py +1 -1
  2. notebook/static/{131.ae628045345ebd7a085c.js → 131.c728b25b3e9d5fbfed0e.js} +3 -3
  3. notebook/static/{131.ae628045345ebd7a085c.js.map → 131.c728b25b3e9d5fbfed0e.js.map} +1 -1
  4. notebook/static/{1650.4a594c955e102170fba4.js → 1650.3994c2ae58820a51ef6e.js} +4 -4
  5. notebook/static/{1650.4a594c955e102170fba4.js.map → 1650.3994c2ae58820a51ef6e.js.map} +1 -1
  6. notebook/static/{1684.181747c0fff533fb7be1.js → 1684.ffb57250d6932201e986.js} +5 -5
  7. notebook/static/{1684.181747c0fff533fb7be1.js.map → 1684.ffb57250d6932201e986.js.map} +1 -1
  8. notebook/static/{2065.e9b5d8d0a8bec3304454.js → 2065.4ca1081010e8ed491cb3.js} +3 -3
  9. notebook/static/{2065.e9b5d8d0a8bec3304454.js.map → 2065.4ca1081010e8ed491cb3.js.map} +1 -1
  10. notebook/static/{3146.50775b118f3b16c03cf8.js → 3146.f7405571592f8081c229.js} +5 -5
  11. notebook/static/{3146.50775b118f3b16c03cf8.js.map → 3146.f7405571592f8081c229.js.map} +1 -1
  12. notebook/static/{3768.1c37846cbecbfb1cedf4.js → 3768.622e6043f171d5e91c22.js} +21 -21
  13. notebook/static/{7302.bae18f113fbc82bde8dd.js.map → 3768.622e6043f171d5e91c22.js.map} +1 -1
  14. notebook/static/{3797.861e562685aa1e1621bb.js → 3797.ad30e7a4bf8dc994e5be.js} +2 -2
  15. notebook/static/{3797.861e562685aa1e1621bb.js.map → 3797.ad30e7a4bf8dc994e5be.js.map} +1 -1
  16. notebook/static/{4382.c1adbfb7b5186a697e8f.js → 4382.24932cb1b66431a2cfc7.js} +3 -3
  17. notebook/static/{4382.c1adbfb7b5186a697e8f.js.map → 4382.24932cb1b66431a2cfc7.js.map} +1 -1
  18. notebook/static/{4406.aa6e48d547067e1f6a24.js → 4406.02ce3b8ea2a22f9d7909.js} +4 -4
  19. notebook/static/{4406.aa6e48d547067e1f6a24.js.map → 4406.02ce3b8ea2a22f9d7909.js.map} +1 -1
  20. notebook/static/{4645.442bd00fdfca9f0b5f06.js → 4645.f1cd6ed7dc083b4ee676.js} +5 -5
  21. notebook/static/{4645.442bd00fdfca9f0b5f06.js.map → 4645.f1cd6ed7dc083b4ee676.js.map} +1 -1
  22. notebook/static/{4837.3c1870387da3d1a7e16f.js → 4837.ecf66262e53d123e977f.js} +5 -5
  23. notebook/static/{4837.3c1870387da3d1a7e16f.js.map → 4837.ecf66262e53d123e977f.js.map} +1 -1
  24. notebook/static/{4926.c68927936b855fd893c5.js → 4926.7abeef2c6f94f22366bf.js} +4 -4
  25. notebook/static/{4926.c68927936b855fd893c5.js.map → 4926.7abeef2c6f94f22366bf.js.map} +1 -1
  26. notebook/static/{6008.b4fc0ceb2a3939eb8b68.js → 4951.d8baaf3632bee27d4888.js} +2 -2
  27. notebook/static/{6008.b4fc0ceb2a3939eb8b68.js.map → 4951.d8baaf3632bee27d4888.js.map} +1 -1
  28. notebook/static/{5135.0ecfc3d3763bbc747bc9.js → 5135.6f146bc83223b0a367d6.js} +13 -13
  29. notebook/static/{5135.0ecfc3d3763bbc747bc9.js.map → 5135.6f146bc83223b0a367d6.js.map} +1 -1
  30. notebook/static/{5573.11c29f783f9d08a1ef3f.js → 5573.5f13d58b4fb49bd20e96.js} +19 -19
  31. notebook/static/{5573.11c29f783f9d08a1ef3f.js.map → 5573.5f13d58b4fb49bd20e96.js.map} +1 -1
  32. notebook/static/{5601.9d6cca9449dad4be2d59.js → 5601.67eaf59e4443e7464bbc.js} +5 -5
  33. notebook/static/{5601.9d6cca9449dad4be2d59.js.map → 5601.67eaf59e4443e7464bbc.js.map} +1 -1
  34. notebook/static/{6345.be41f5ff79cb9a9bcf3e.js → 6345.ca03ab559d7d152f0bcf.js} +5 -5
  35. notebook/static/{6345.be41f5ff79cb9a9bcf3e.js.map → 6345.ca03ab559d7d152f0bcf.js.map} +1 -1
  36. notebook/static/{7302.bae18f113fbc82bde8dd.js → 7302.384fc5f4283ea3aba3cf.js} +21 -21
  37. notebook/static/{3768.1c37846cbecbfb1cedf4.js.map → 7302.384fc5f4283ea3aba3cf.js.map} +1 -1
  38. notebook/static/{7369.a065dc2ed2f56a44cb0f.js → 7369.5b8c5f78b70096907327.js} +3 -3
  39. notebook/static/{7369.a065dc2ed2f56a44cb0f.js.map → 7369.5b8c5f78b70096907327.js.map} +1 -1
  40. notebook/static/{7811.4e69e9d0823ec9b2d218.js → 7811.fa11577c84ea92d4102c.js} +5 -5
  41. notebook/static/{7811.4e69e9d0823ec9b2d218.js.map → 7811.fa11577c84ea92d4102c.js.map} +1 -1
  42. notebook/static/{7906.4fc1485cef75bc0cbd28.js → 7906.0591558f697337e877b8.js} +3 -3
  43. notebook/static/{7906.4fc1485cef75bc0cbd28.js.map → 7906.0591558f697337e877b8.js.map} +1 -1
  44. notebook/static/{8579.a1fe3d6050e65996b704.js → 8579.75044552fbfae5d3e169.js} +14 -14
  45. notebook/static/{8579.a1fe3d6050e65996b704.js.map → 8579.75044552fbfae5d3e169.js.map} +1 -1
  46. notebook/static/{8781.99c47de7d954e7d24451.js → 8781.93ded0db04e1cace2f46.js} +58 -61
  47. notebook/static/8781.93ded0db04e1cace2f46.js.map +1 -0
  48. notebook/static/{8875.315376360b0527f2d92e.js → 8875.55554006d7836a7e9685.js} +4 -4
  49. notebook/static/{8875.315376360b0527f2d92e.js.map → 8875.55554006d7836a7e9685.js.map} +1 -1
  50. notebook/static/{8929.b5b29c25d0b317812054.js → 8929.52734b044aa837e7132d.js} +29 -3
  51. notebook/static/8929.52734b044aa837e7132d.js.map +1 -0
  52. notebook/static/{9068.b2842f92bbfa2dcb3045.js → 9068.903efe1a91c5838e0d91.js} +3 -3
  53. notebook/static/{9068.b2842f92bbfa2dcb3045.js.map → 9068.903efe1a91c5838e0d91.js.map} +1 -1
  54. notebook/static/{9380.5271a4f758251fe9bd9a.js → 9380.ed0becd75cac76b98c1a.js} +5 -5
  55. notebook/static/{9380.5271a4f758251fe9bd9a.js.map → 9380.ed0becd75cac76b98c1a.js.map} +1 -1
  56. notebook/static/main.65ae09d99829c70c593d.js +1179 -0
  57. notebook/static/main.65ae09d99829c70c593d.js.map +1 -0
  58. notebook/static/{notebook_core.0dfd038c4062400eb2f0.js → notebook_core.37d09340001fe2b154a6.js} +1387 -1055
  59. notebook/static/{notebook_core.0dfd038c4062400eb2f0.js.map → notebook_core.37d09340001fe2b154a6.js.map} +1 -1
  60. notebook/static/third-party-licenses.json +104 -104
  61. notebook/templates/consoles.html +1 -1
  62. notebook/templates/edit.html +1 -1
  63. notebook/templates/error.html +1 -1
  64. notebook/templates/notebooks.html +1 -1
  65. notebook/templates/terminals.html +1 -1
  66. notebook/templates/tree.html +1 -1
  67. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/package.json.orig +15 -15
  68. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/documentsearch-extension/package.json.orig +5 -5
  69. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/help-extension/package.json.orig +7 -7
  70. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/notebook-extension/package.json.orig +10 -10
  71. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/tree-extension/package.json.orig +16 -16
  72. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/package.json +12 -12
  73. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/schemas/@jupyter-notebook/lab-extension/package.json.orig +11 -11
  74. notebook-7.4.0a2.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/534.b1feb1e5dee752bdfe43.js → notebook-7.4.0b0.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/507.64fd87004a86738ad850.js +1 -1
  75. notebook-7.4.0b0.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/568.ad0301c36223355b3801.js +1 -0
  76. notebook-7.4.0b0.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/928.2ba1817f535919acaab3.js +1 -0
  77. notebook-7.4.0b0.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/remoteEntry.8706c463a056a3aa7c83.js +1 -0
  78. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/third-party-licenses.json +2 -2
  79. {notebook-7.4.0a2.dist-info → notebook-7.4.0b0.dist-info}/METADATA +2 -2
  80. {notebook-7.4.0a2.dist-info → notebook-7.4.0b0.dist-info}/RECORD +104 -104
  81. notebook/static/8781.99c47de7d954e7d24451.js.map +0 -1
  82. notebook/static/8929.b5b29c25d0b317812054.js.map +0 -1
  83. notebook/static/main.d169897d1e63bbaa91cb.js +0 -1179
  84. notebook/static/main.d169897d1e63bbaa91cb.js.map +0 -1
  85. notebook-7.4.0a2.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/568.535717f1b07112110997.js +0 -1
  86. notebook-7.4.0a2.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/928.c9dae1baa4490d650ce9.js +0 -1
  87. notebook-7.4.0a2.data/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/remoteEntry.aa46dc8e35af2ba28d27.js +0 -1
  88. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/etc/jupyter/jupyter_server_config.d/notebook.json +0 -0
  89. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/applications/jupyter-notebook.desktop +0 -0
  90. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/icons/hicolor/scalable/apps/notebook.svg +0 -0
  91. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/menus.json +0 -0
  92. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/pages.json +0 -0
  93. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/shell.json +0 -0
  94. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/title.json +0 -0
  95. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/top.json +0 -0
  96. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/application-extension/zen.json +0 -0
  97. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/help-extension/open.json +0 -0
  98. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/notebook-extension/checkpoints.json +0 -0
  99. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/notebook-extension/edit-notebook-metadata.json +0 -0
  100. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/notebook-extension/full-width-notebook.json +0 -0
  101. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/notebook-extension/kernel-logo.json +0 -0
  102. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/notebook-extension/scroll-output.json +0 -0
  103. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/tree-extension/file-actions.json +0 -0
  104. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/lab/schemas/@jupyter-notebook/tree-extension/widget.json +0 -0
  105. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/schemas/@jupyter-notebook/lab-extension/interface-switcher.json +0 -0
  106. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/schemas/@jupyter-notebook/lab-extension/launch-tree.json +0 -0
  107. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/93.eae3497dd223d842d198.js +0 -0
  108. {notebook-7.4.0a2.data → notebook-7.4.0b0.data}/data/share/jupyter/labextensions/@jupyter-notebook/lab-extension/static/style.js +0 -0
  109. {notebook-7.4.0a2.dist-info → notebook-7.4.0b0.dist-info}/WHEEL +0 -0
  110. {notebook-7.4.0a2.dist-info → notebook-7.4.0b0.dist-info}/entry_points.txt +0 -0
  111. {notebook-7.4.0a2.dist-info → notebook-7.4.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -13,10 +13,10 @@ __webpack_require__.d(__webpack_exports__, {
13
13
  NotebookTreeWidget: () => (/* reexport */ NotebookTreeWidget)
14
14
  });
15
15
 
16
- // EXTERNAL MODULE: consume shared module (default) @jupyterlab/ui-components@~4.4.0-alpha.3 (singleton) (fallback: ../node_modules/@jupyterlab/ui-components/lib/index.js)
17
- var index_js_ = __webpack_require__(75386);
18
- // EXTERNAL MODULE: consume shared module (default) @lumino/widgets@~2.5.0 (singleton) (fallback: ../node_modules/@lumino/widgets/dist/index.es6.js)
19
- var index_es6_js_ = __webpack_require__(2260);
16
+ // EXTERNAL MODULE: consume shared module (default) @jupyterlab/ui-components@~4.4.0-beta.0 (singleton) (fallback: ../node_modules/@jupyterlab/ui-components/lib/index.js)
17
+ var index_js_ = __webpack_require__(83373);
18
+ // EXTERNAL MODULE: consume shared module (default) @lumino/widgets@~2.6.0 (singleton) (fallback: ../node_modules/@lumino/widgets/dist/index.es6.js)
19
+ var index_es6_js_ = __webpack_require__(63367);
20
20
  ;// CONCATENATED MODULE: ../packages/tree/lib/notebook-tree.js
21
21
 
22
22
 
@@ -54,4 +54,4 @@ const INotebookTree = new dist_index_js_.Token('@jupyter-notebook/tree:INotebook
54
54
  /***/ })
55
55
 
56
56
  }]);
57
- //# sourceMappingURL=3146.50775b118f3b16c03cf8.js.map?v=50775b118f3b16c03cf8
57
+ //# sourceMappingURL=3146.f7405571592f8081c229.js.map?v=f7405571592f8081c229
@@ -1 +1 @@
1
- {"version":3,"file":"3146.50775b118f3b16c03cf8.js?v=50775b118f3b16c03cf8","mappings":";;;;;;;;;;;;;;;;;;;;AAAsD;AACX;AAC3C;AACA;AACA;AACO,iCAAiC,sBAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mBAAS;AAC/B,SAAS;AACT;AACA;AACA;;;;;ACjB0C;AAC1C;AACA;AACA;AACO,0BAA0B,oBAAK;;;ACJN;AACR","sources":["webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/tree/lib/notebook-tree.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/tree/lib/token.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/tree/lib/index.js"],"sourcesContent":["import { TabBarSvg } from '@jupyterlab/ui-components';\nimport { TabPanel } from '@lumino/widgets';\n/**\n * The widget added in main area of the tree view.\n */\nexport class NotebookTreeWidget extends TabPanel {\n /**\n * Constructor of the NotebookTreeWidget.\n */\n constructor() {\n super({\n tabPlacement: 'top',\n tabsMovable: true,\n renderer: TabBarSvg.defaultRenderer,\n });\n this.addClass('jp-TreePanel');\n }\n}\n","import { Token } from '@lumino/coreutils';\n/**\n * The INotebookTree token.\n */\nexport const INotebookTree = new Token('@jupyter-notebook/tree:INotebookTree');\n","export * from './notebook-tree';\nexport * from './token';\n"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"3146.f7405571592f8081c229.js?v=f7405571592f8081c229","mappings":";;;;;;;;;;;;;;;;;;;;AAAsD;AACX;AAC3C;AACA;AACA;AACO,iCAAiC,sBAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mBAAS;AAC/B,SAAS;AACT;AACA;AACA;;;;;ACjB0C;AAC1C;AACA;AACA;AACO,0BAA0B,oBAAK;;;ACJN;AACR","sources":["webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/tree/lib/notebook-tree.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/tree/lib/token.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/tree/lib/index.js"],"sourcesContent":["import { TabBarSvg } from '@jupyterlab/ui-components';\nimport { TabPanel } from '@lumino/widgets';\n/**\n * The widget added in main area of the tree view.\n */\nexport class NotebookTreeWidget extends TabPanel {\n /**\n * Constructor of the NotebookTreeWidget.\n */\n constructor() {\n super({\n tabPlacement: 'top',\n tabsMovable: true,\n renderer: TabBarSvg.defaultRenderer,\n });\n this.addClass('jp-TreePanel');\n }\n}\n","import { Token } from '@lumino/coreutils';\n/**\n * The INotebookTree token.\n */\nexport const INotebookTree = new Token('@jupyter-notebook/tree:INotebookTree');\n","export * from './notebook-tree';\nexport * from './token';\n"],"names":[],"sourceRoot":""}
@@ -12,28 +12,28 @@ __webpack_require__.d(__webpack_exports__, {
12
12
  "default": () => (/* binding */ lib)
13
13
  });
14
14
 
15
- // EXTERNAL MODULE: consume shared module (default) @jupyterlab/apputils@~4.5.0-alpha.3 (singleton) (fallback: ../node_modules/@jupyterlab/apputils/lib/index.js)
16
- var index_js_ = __webpack_require__(41088);
17
- // EXTERNAL MODULE: consume shared module (default) @jupyterlab/coreutils@~6.4.0-alpha.3 (singleton) (fallback: ../node_modules/@jupyterlab/coreutils/lib/index.js)
18
- var lib_index_js_ = __webpack_require__(34686);
19
- // EXTERNAL MODULE: consume shared module (default) @jupyterlab/filebrowser@~4.4.0-alpha.3 (singleton) (fallback: ../node_modules/@jupyterlab/filebrowser/lib/index.js)
20
- var filebrowser_lib_index_js_ = __webpack_require__(74010);
21
- // EXTERNAL MODULE: consume shared module (default) @jupyterlab/settingregistry@~4.4.0-alpha.3 (singleton) (fallback: ../node_modules/@jupyterlab/settingregistry/lib/index.js)
22
- var settingregistry_lib_index_js_ = __webpack_require__(27853);
23
- // EXTERNAL MODULE: consume shared module (default) @jupyterlab/running@^4.4.0-alpha.3 (strict) (fallback: ../node_modules/@jupyterlab/running/lib/index.js)
24
- var running_lib_index_js_ = __webpack_require__(91775);
25
- // EXTERNAL MODULE: consume shared module (default) @jupyterlab/settingeditor@~4.4.0-alpha.3 (singleton) (fallback: ../node_modules/@jupyterlab/settingeditor/lib/index.js)
26
- var settingeditor_lib_index_js_ = __webpack_require__(34505);
27
- // EXTERNAL MODULE: consume shared module (default) @jupyterlab/translation@~4.4.0-alpha.3 (singleton) (fallback: ../node_modules/@jupyterlab/translation/lib/index.js)
28
- var translation_lib_index_js_ = __webpack_require__(66737);
29
- // EXTERNAL MODULE: consume shared module (default) @jupyterlab/ui-components@~4.4.0-alpha.3 (singleton) (fallback: ../node_modules/@jupyterlab/ui-components/lib/index.js)
30
- var ui_components_lib_index_js_ = __webpack_require__(75386);
15
+ // EXTERNAL MODULE: consume shared module (default) @jupyterlab/apputils@~4.5.0-beta.0 (singleton) (fallback: ../node_modules/@jupyterlab/apputils/lib/index.js)
16
+ var index_js_ = __webpack_require__(31962);
17
+ // EXTERNAL MODULE: consume shared module (default) @jupyterlab/coreutils@~6.4.0-beta.0 (singleton) (fallback: ../node_modules/@jupyterlab/coreutils/lib/index.js)
18
+ var lib_index_js_ = __webpack_require__(3152);
19
+ // EXTERNAL MODULE: consume shared module (default) @jupyterlab/filebrowser@~4.4.0-beta.0 (singleton) (fallback: ../node_modules/@jupyterlab/filebrowser/lib/index.js)
20
+ var filebrowser_lib_index_js_ = __webpack_require__(91953);
21
+ // EXTERNAL MODULE: consume shared module (default) @jupyterlab/settingregistry@~4.4.0-beta.0 (singleton) (fallback: ../node_modules/@jupyterlab/settingregistry/lib/index.js)
22
+ var settingregistry_lib_index_js_ = __webpack_require__(3635);
23
+ // EXTERNAL MODULE: consume shared module (default) @jupyterlab/running@^4.4.0-beta.0 (strict) (fallback: ../node_modules/@jupyterlab/running/lib/index.js)
24
+ var running_lib_index_js_ = __webpack_require__(17407);
25
+ // EXTERNAL MODULE: consume shared module (default) @jupyterlab/settingeditor@~4.4.0-beta.0 (singleton) (fallback: ../node_modules/@jupyterlab/settingeditor/lib/index.js)
26
+ var settingeditor_lib_index_js_ = __webpack_require__(37962);
27
+ // EXTERNAL MODULE: consume shared module (default) @jupyterlab/translation@~4.4.0-beta.0 (singleton) (fallback: ../node_modules/@jupyterlab/translation/lib/index.js)
28
+ var translation_lib_index_js_ = __webpack_require__(11148);
29
+ // EXTERNAL MODULE: consume shared module (default) @jupyterlab/ui-components@~4.4.0-beta.0 (singleton) (fallback: ../node_modules/@jupyterlab/ui-components/lib/index.js)
30
+ var ui_components_lib_index_js_ = __webpack_require__(83373);
31
31
  // EXTERNAL MODULE: consume shared module (default) @lumino/signaling@~2.1.3 (singleton) (fallback: ../node_modules/@lumino/signaling/dist/index.es6.js)
32
32
  var index_es6_js_ = __webpack_require__(2159);
33
- // EXTERNAL MODULE: consume shared module (default) @lumino/widgets@~2.5.0 (singleton) (fallback: ../node_modules/@lumino/widgets/dist/index.es6.js)
34
- var dist_index_es6_js_ = __webpack_require__(2260);
35
- // EXTERNAL MODULE: consume shared module (default) @jupyter-notebook/tree@~7.4.0-alpha.2 (singleton) (fallback: ../packages/tree/lib/index.js)
36
- var tree_lib_index_js_ = __webpack_require__(48897);
33
+ // EXTERNAL MODULE: consume shared module (default) @lumino/widgets@~2.6.0 (singleton) (fallback: ../node_modules/@lumino/widgets/dist/index.es6.js)
34
+ var dist_index_es6_js_ = __webpack_require__(63367);
35
+ // EXTERNAL MODULE: consume shared module (default) @jupyter-notebook/tree@~7.4.0-beta.0 (singleton) (fallback: ../packages/tree/lib/index.js)
36
+ var tree_lib_index_js_ = __webpack_require__(69266);
37
37
  // EXTERNAL MODULE: consume shared module (default) react@~18.2.0 (singleton) (fallback: ../node_modules/react/index.js)
38
38
  var react_index_js_ = __webpack_require__(78156);
39
39
  var react_index_js_default = /*#__PURE__*/__webpack_require__.n(react_index_js_);
@@ -443,4 +443,4 @@ const plugins = [
443
443
  /***/ })
444
444
 
445
445
  }]);
446
- //# sourceMappingURL=3768.1c37846cbecbfb1cedf4.js.map?v=1c37846cbecbfb1cedf4
446
+ //# sourceMappingURL=3768.622e6043f171d5e91c22.js.map?v=622e6043f171d5e91c22
@@ -1 +1 @@
1
- {"version":3,"file":"7302.bae18f113fbc82bde8dd.js?v=bae18f113fbc82bde8dd","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACmF;AACzD;AACnB;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yCAAyC;AACzD;AACA;AACA,4BAA4B,qBAAW,QAAQ,sCAAmB,UAAU,oBAAoB;AAChG;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAW,QAAQ,sCAAmB,CAAC,uCAA6B,IAAI,oDAAoD,OAAO,WAAW,eAAe,mBAAmB;AAC3M,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnDA;AACA;AACkH;AAC/D;AAC2C;AAC/B;AACgB;AACe;AACxC;AAC8B;AACzC;AACK;AAC2B;AACxB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qCAAW;AAC1B,eAAe,gCAAsB;AACrC;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA,4BAA4B,0BAAO;AACnC,4BAA4B,uBAAI,GAAG,UAAU;AAC7C;AACA,6BAA6B,yCAAa;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,oCAAoC;AAChE;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,SAAS;AAC3C,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,oCAAoC,0BAAO;AAC3C;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,6CAAmB,EAAE,gCAAsB,EAAE,qCAAW;AACvE;AACA;AACA;AACA,qCAAqC,oBAAM;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,gBAAgB,WAAW;AAC3B,gCAAgC,kBAAkB;AAClD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,6CAAmB;AAClC,eAAe,8CAAgB;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,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAe;AAC9B;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,8CAAgB;AAC/B;AACA,gBAAgB,aAAa,EAAE,wBAAU;AACzC;AACA,iCAAiC,wBAAU;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,GAAG;AACpE;AACA,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gCAAa,EAAE,6CAAmB;AACjD;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,6CAAmB;AAC3B,QAAQ,qCAAW;AACnB,QAAQ,8CAAgB;AACxB,QAAQ,gCAAsB;AAC9B,QAAQ,6CAAmB;AAC3B;AACA;AACA,QAAQ,6CAAuB;AAC/B,QAAQ,iDAAqB;AAC7B,QAAQ,qDAAyB;AACjC;AACA;AACA,cAAc,gCAAa;AAC3B;AACA,iCAAiC,qCAAkB;AACnD;AACA;AACA;AACA;AACA,6BAA6B,sCAAU;AACvC;AACA;AACA;AACA,sFAAsF,kCAAQ;AAC9F;AACA;AACA;AACA,SAAS;AACT,QAAQ,wBAAU,UAAU,kCAAoB;AAChD;AACA,gCAAgC,qCAAe;AAC/C;AACA;AACA,iCAAiC,uCAAW;AAC5C;AACA;AACA;AACA,8CAA8C,WAAW;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAe,OAAO,EAAC","sources":["webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/tree-extension/lib/fileactions.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/tree-extension/lib/index.js"],"sourcesContent":["// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { CommandToolbarButtonComponent, ReactWidget, } from '@jupyterlab/apputils';\nimport React from 'react';\nexport class FilesActionButtons {\n /**\n * The constructor of FilesActionButtons.\n * @param options\n */\n constructor(options) {\n /**\n * Triggered when the selection change in file browser.\n */\n this._onSelectionChanged = () => {\n var _a, _b, _c, _d, _e, _f;\n const selectedItems = Array.from(this._browser.selectedItems());\n const selection = selectedItems.length > 0;\n const oneFolder = selectedItems.some((item) => item.type === 'directory');\n (_a = this._widgets.get('placeholder')) === null || _a === void 0 ? void 0 : _a.setHidden(selection);\n (_b = this._widgets.get('delete')) === null || _b === void 0 ? void 0 : _b.setHidden(!selection);\n (_c = this._widgets.get('duplicate')) === null || _c === void 0 ? void 0 : _c.setHidden(!selection || oneFolder);\n (_d = this._widgets.get('download')) === null || _d === void 0 ? void 0 : _d.setHidden(!selection || oneFolder);\n (_e = this._widgets.get('open')) === null || _e === void 0 ? void 0 : _e.setHidden(!selection || oneFolder);\n (_f = this._widgets.get('rename')) === null || _f === void 0 ? void 0 : _f.setHidden(selectedItems.length !== 1);\n };\n this._widgets = new Map();\n this._browser = options.browser;\n const { commands, selectionChanged, translator } = options;\n const trans = translator.load('notebook');\n // Placeholder, when no file is selected.\n const placeholder = ReactWidget.create(React.createElement(\"div\", { key: 'placeholder' }, trans.__('Select items to perform actions on them.')));\n placeholder.id = 'fileAction-placeholder';\n this._widgets.set('placeholder', placeholder);\n // The action buttons.\n const actions = ['open', 'download', 'rename', 'duplicate', 'delete'];\n actions.forEach((action) => {\n const widget = ReactWidget.create(React.createElement(CommandToolbarButtonComponent, { key: action, commands: commands, id: `filebrowser:${action}`, args: { toolbar: true }, icon: undefined }));\n widget.id = `fileAction-${action}`;\n widget.addClass('jp-ToolbarButton');\n widget.addClass('jp-FileAction');\n this._widgets.set(action, widget);\n });\n selectionChanged.connect(this._onSelectionChanged, this);\n this._onSelectionChanged();\n }\n /**\n * Return an iterator with all the action widgets.\n */\n get widgets() {\n return this._widgets.values();\n }\n}\n","// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { ICommandPalette, IToolbarWidgetRegistry, createToolbarFactory, setToolbar, } from '@jupyterlab/apputils';\nimport { PageConfig } from '@jupyterlab/coreutils';\nimport { Uploader, IDefaultFileBrowser, IFileBrowserFactory, } from '@jupyterlab/filebrowser';\nimport { ISettingRegistry } from '@jupyterlab/settingregistry';\nimport { IRunningSessionManagers, RunningSessions } from '@jupyterlab/running';\nimport { IJSONSettingEditorTracker, ISettingEditorTracker, } from '@jupyterlab/settingeditor';\nimport { ITranslator } from '@jupyterlab/translation';\nimport { caretDownIcon, folderIcon, runningIcon, } from '@jupyterlab/ui-components';\nimport { Signal } from '@lumino/signaling';\nimport { Menu, MenuBar } from '@lumino/widgets';\nimport { NotebookTreeWidget, INotebookTree } from '@jupyter-notebook/tree';\nimport { FilesActionButtons } from './fileactions';\n/**\n * The file browser factory.\n */\nconst FILE_BROWSER_FACTORY = 'FileBrowser';\n/**\n * The file browser plugin id.\n */\nconst FILE_BROWSER_PLUGIN_ID = '@jupyterlab/filebrowser-extension:browser';\n/**\n * The namespace for command IDs.\n */\nvar CommandIDs;\n(function (CommandIDs) {\n // The command to activate the filebrowser widget in tree view.\n CommandIDs.activate = 'filebrowser:activate';\n // Activate the file filter in the file browser\n CommandIDs.toggleFileFilter = 'filebrowser:toggle-file-filter';\n})(CommandIDs || (CommandIDs = {}));\n/**\n * Plugin to add extra commands to the file browser to create\n * new notebooks, files, consoles and terminals\n */\nconst createNew = {\n id: '@jupyter-notebook/tree-extension:new',\n description: 'Plugin to add extra commands to the file browser to create new notebooks, files, consoles and terminals.',\n requires: [ITranslator],\n optional: [IToolbarWidgetRegistry],\n autoStart: true,\n activate: (app, translator, toolbarRegistry) => {\n var _a;\n const { commands, serviceManager } = app;\n const trans = translator.load('notebook');\n const overflowOptions = {\n overflowMenuOptions: { isVisible: false },\n };\n const menubar = new MenuBar(overflowOptions);\n const newMenu = new Menu({ commands });\n newMenu.title.label = trans.__('New');\n newMenu.title.icon = caretDownIcon;\n menubar.addMenu(newMenu);\n const populateNewMenu = () => {\n var _a, _b;\n // create an entry per kernel spec for creating a new notebook\n const specs = (_b = (_a = serviceManager.kernelspecs) === null || _a === void 0 ? void 0 : _a.specs) === null || _b === void 0 ? void 0 : _b.kernelspecs;\n for (const name in specs) {\n newMenu.addItem({\n args: { kernelName: name, isLauncher: true },\n command: 'notebook:create-new',\n });\n }\n const baseCommands = [\n 'terminal:create-new',\n 'console:create',\n 'filebrowser:create-new-file',\n 'filebrowser:create-new-directory',\n ];\n baseCommands.forEach((command) => {\n newMenu.addItem({ command });\n });\n };\n (_a = serviceManager.kernelspecs) === null || _a === void 0 ? void 0 : _a.specsChanged.connect(() => {\n newMenu.clearItems();\n populateNewMenu();\n });\n populateNewMenu();\n if (toolbarRegistry) {\n toolbarRegistry.addFactory(FILE_BROWSER_FACTORY, 'new-dropdown', (browser) => {\n const menubar = new MenuBar(overflowOptions);\n menubar.addMenu(newMenu);\n menubar.addClass('jp-DropdownMenu');\n return menubar;\n });\n }\n },\n};\n/**\n * A plugin to add file browser actions to the file browser toolbar.\n */\nconst fileActions = {\n id: '@jupyter-notebook/tree-extension:file-actions',\n description: 'A plugin to add file browser actions to the file browser toolbar.',\n autoStart: true,\n requires: [IDefaultFileBrowser, IToolbarWidgetRegistry, ITranslator],\n activate: (app, browser, toolbarRegistry, translator) => {\n // TODO: use upstream signal when available to detect selection changes\n // https://github.com/jupyterlab/jupyterlab/issues/14598\n const selectionChanged = new Signal(browser);\n const methods = [\n '_selectItem',\n '_handleMultiSelect',\n 'handleFileSelect',\n ];\n methods.forEach((method) => {\n const original = browser['listing'][method];\n browser['listing'][method] = (...args) => {\n original.call(browser['listing'], ...args);\n selectionChanged.emit(void 0);\n };\n });\n browser.model.pathChanged.connect(() => {\n selectionChanged.emit(void 0);\n });\n // Create a toolbar item that adds buttons to the file browser toolbar\n // to perform actions on the files\n const { commands } = app;\n const fileActions = new FilesActionButtons({\n commands,\n browser,\n selectionChanged,\n translator,\n });\n for (const widget of fileActions.widgets) {\n toolbarRegistry.addFactory(FILE_BROWSER_FACTORY, widget.id, () => widget);\n }\n },\n};\n/**\n * A plugin to set the default file browser settings.\n */\nconst fileBrowserSettings = {\n id: '@jupyter-notebook/tree-extension:settings',\n description: 'Set up the default file browser settings',\n requires: [IDefaultFileBrowser],\n optional: [ISettingRegistry],\n autoStart: true,\n activate: (app, browser, settingRegistry) => {\n // Default config for notebook.\n // This is a different set of defaults than JupyterLab.\n const defaultFileBrowserConfig = {\n navigateToCurrentDirectory: false,\n singleClickNavigation: true,\n showLastModifiedColumn: true,\n showFileSizeColumn: true,\n showHiddenFiles: false,\n showFileCheckboxes: true,\n sortNotebooksFirst: true,\n showFullPath: false,\n };\n // Apply defaults on plugin activation\n let key;\n for (key in defaultFileBrowserConfig) {\n browser[key] = defaultFileBrowserConfig[key];\n }\n if (settingRegistry) {\n void settingRegistry.load(FILE_BROWSER_PLUGIN_ID).then((settings) => {\n function onSettingsChanged(settings) {\n let key;\n for (key in defaultFileBrowserConfig) {\n const value = settings.get(key).user;\n // only set the setting if it is defined by the user\n if (value !== undefined) {\n browser[key] = value;\n }\n }\n }\n settings.changed.connect(onSettingsChanged);\n onSettingsChanged(settings);\n });\n }\n },\n};\n/**\n * A plugin to add the file filter toggle command to the palette\n */\nconst fileFilterCommand = {\n id: '@jupyter-notebook/tree-extension:file-filter-command',\n description: 'A plugin to add file filter command to the palette.',\n autoStart: true,\n optional: [ICommandPalette],\n activate: (app, palette) => {\n if (palette) {\n palette.addItem({\n command: CommandIDs.toggleFileFilter,\n category: 'File Browser',\n });\n }\n },\n};\n/**\n * Plugin to load the default plugins that are loaded on all the Notebook pages\n * (tree, edit, view, etc.) so they are visible in the settings editor.\n */\nconst loadPlugins = {\n id: '@jupyter-notebook/tree-extension:load-plugins',\n description: 'Plugin to load the default plugins that are loaded on all the Notebook pages (tree, edit, view, etc.) so they are visible in the settings editor.',\n autoStart: true,\n requires: [ISettingRegistry],\n activate(app, settingRegistry) {\n const { isDisabled } = PageConfig.Extension;\n const connector = settingRegistry.connector;\n const allPluginsOption = PageConfig.getOption('allPlugins');\n if (!allPluginsOption) {\n return;\n }\n // build the list of plugins shipped by default on the all the notebook pages\n // this avoid explicitly loading `'all'` plugins such as the ones used\n // in JupyterLab only\n const allPlugins = JSON.parse(allPluginsOption);\n const pluginsSet = new Set();\n Object.keys(allPlugins).forEach((key) => {\n const extensionsAndPlugins = allPlugins[key];\n Object.keys(extensionsAndPlugins).forEach((plugin) => {\n const value = extensionsAndPlugins[plugin];\n if (typeof value === 'boolean' && value) {\n pluginsSet.add(plugin);\n }\n else if (Array.isArray(value)) {\n value.forEach((v) => {\n pluginsSet.add(v);\n });\n }\n });\n });\n app.restored.then(async () => {\n const plugins = await connector.list('all');\n plugins.ids.forEach(async (id) => {\n const [extension] = id.split(':');\n // load the plugin if it is built-in the notebook application explicitly\n // either included as an extension or as a plugin directly\n const hasPlugin = pluginsSet.has(extension) || pluginsSet.has(id);\n if (!hasPlugin || isDisabled(id) || id in settingRegistry.plugins) {\n return;\n }\n try {\n await settingRegistry.load(id);\n }\n catch (error) {\n console.warn(`Settings failed to load for (${id})`, error);\n }\n });\n });\n },\n};\n/**\n * A plugin to add file browser commands for the tree view.\n */\nconst openFileBrowser = {\n id: '@jupyter-notebook/tree-extension:open-file-browser',\n description: 'A plugin to add file browser commands for the tree view.',\n requires: [INotebookTree, IDefaultFileBrowser],\n autoStart: true,\n activate: (app, notebookTree, browser) => {\n const { commands } = app;\n commands.addCommand(CommandIDs.activate, {\n execute: () => {\n notebookTree.currentWidget = browser;\n },\n });\n },\n};\n/**\n * A plugin to add the file browser widget to an INotebookShell\n */\nconst notebookTreeWidget = {\n id: '@jupyter-notebook/tree-extension:widget',\n description: 'A plugin to add the file browser widget to an INotebookShell.',\n requires: [\n IDefaultFileBrowser,\n ITranslator,\n ISettingRegistry,\n IToolbarWidgetRegistry,\n IFileBrowserFactory,\n ],\n optional: [\n IRunningSessionManagers,\n ISettingEditorTracker,\n IJSONSettingEditorTracker,\n ],\n autoStart: true,\n provides: INotebookTree,\n activate: (app, browser, translator, settingRegistry, toolbarRegistry, factory, manager, settingEditorTracker, jsonSettingEditorTracker) => {\n const nbTreeWidget = new NotebookTreeWidget();\n const trans = translator.load('notebook');\n browser.title.label = trans.__('Files');\n browser.node.setAttribute('role', 'region');\n browser.node.setAttribute('aria-label', trans.__('File Browser Section'));\n browser.title.icon = folderIcon;\n nbTreeWidget.addWidget(browser);\n nbTreeWidget.tabBar.addTab(browser.title);\n nbTreeWidget.tabsMovable = false;\n toolbarRegistry.addFactory(FILE_BROWSER_FACTORY, 'uploader', (browser) => new Uploader({\n model: browser.model,\n translator,\n label: trans.__('Upload'),\n }));\n setToolbar(browser, createToolbarFactory(toolbarRegistry, settingRegistry, FILE_BROWSER_FACTORY, notebookTreeWidget.id, translator));\n if (manager) {\n const running = new RunningSessions(manager, translator);\n running.id = 'jp-running-sessions-tree';\n running.title.label = trans.__('Running');\n running.title.icon = runningIcon;\n nbTreeWidget.addWidget(running);\n nbTreeWidget.tabBar.addTab(running.title);\n }\n app.shell.add(nbTreeWidget, 'main', { rank: 100 });\n // add a separate tab for each setting editor\n [settingEditorTracker, jsonSettingEditorTracker].forEach((editorTracker) => {\n if (editorTracker) {\n editorTracker.widgetAdded.connect((_, editor) => {\n nbTreeWidget.addWidget(editor);\n nbTreeWidget.tabBar.addTab(editor.title);\n nbTreeWidget.currentWidget = editor;\n });\n }\n });\n const { tracker } = factory;\n // TODO: remove\n // Workaround to force the focus on the default file browser\n // See https://github.com/jupyterlab/jupyterlab/issues/15629 for more info\n const setCurrentToDefaultBrower = () => {\n tracker['_pool'].current = browser;\n };\n tracker.widgetAdded.connect((sender, widget) => {\n setCurrentToDefaultBrower();\n });\n setCurrentToDefaultBrower();\n return nbTreeWidget;\n },\n};\n/**\n * Export the plugins as default.\n */\nconst plugins = [\n createNew,\n fileActions,\n fileBrowserSettings,\n fileFilterCommand,\n loadPlugins,\n openFileBrowser,\n notebookTreeWidget,\n];\nexport default plugins;\n"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"3768.622e6043f171d5e91c22.js?v=622e6043f171d5e91c22","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACmF;AACzD;AACnB;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yCAAyC;AACzD;AACA;AACA,4BAA4B,qBAAW,QAAQ,sCAAmB,UAAU,oBAAoB;AAChG;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAW,QAAQ,sCAAmB,CAAC,uCAA6B,IAAI,oDAAoD,OAAO,WAAW,eAAe,mBAAmB;AAC3M,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnDA;AACA;AACkH;AAC/D;AAC2C;AAC/B;AACgB;AACe;AACxC;AAC8B;AACzC;AACK;AAC2B;AACxB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qCAAW;AAC1B,eAAe,gCAAsB;AACrC;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA,4BAA4B,0BAAO;AACnC,4BAA4B,uBAAI,GAAG,UAAU;AAC7C;AACA,6BAA6B,yCAAa;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,oCAAoC;AAChE;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,SAAS;AAC3C,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,oCAAoC,0BAAO;AAC3C;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,6CAAmB,EAAE,gCAAsB,EAAE,qCAAW;AACvE;AACA;AACA;AACA,qCAAqC,oBAAM;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,gBAAgB,WAAW;AAC3B,gCAAgC,kBAAkB;AAClD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,6CAAmB;AAClC,eAAe,8CAAgB;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,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAe;AAC9B;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,8CAAgB;AAC/B;AACA,gBAAgB,aAAa,EAAE,wBAAU;AACzC;AACA,iCAAiC,wBAAU;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,GAAG;AACpE;AACA,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gCAAa,EAAE,6CAAmB;AACjD;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,6CAAmB;AAC3B,QAAQ,qCAAW;AACnB,QAAQ,8CAAgB;AACxB,QAAQ,gCAAsB;AAC9B,QAAQ,6CAAmB;AAC3B;AACA;AACA,QAAQ,6CAAuB;AAC/B,QAAQ,iDAAqB;AAC7B,QAAQ,qDAAyB;AACjC;AACA;AACA,cAAc,gCAAa;AAC3B;AACA,iCAAiC,qCAAkB;AACnD;AACA;AACA;AACA;AACA,6BAA6B,sCAAU;AACvC;AACA;AACA;AACA,sFAAsF,kCAAQ;AAC9F;AACA;AACA;AACA,SAAS;AACT,QAAQ,wBAAU,UAAU,kCAAoB;AAChD;AACA,gCAAgC,qCAAe;AAC/C;AACA;AACA,iCAAiC,uCAAW;AAC5C;AACA;AACA;AACA,8CAA8C,WAAW;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAe,OAAO,EAAC","sources":["webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/tree-extension/lib/fileactions.js","webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/tree-extension/lib/index.js"],"sourcesContent":["// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { CommandToolbarButtonComponent, ReactWidget, } from '@jupyterlab/apputils';\nimport React from 'react';\nexport class FilesActionButtons {\n /**\n * The constructor of FilesActionButtons.\n * @param options\n */\n constructor(options) {\n /**\n * Triggered when the selection change in file browser.\n */\n this._onSelectionChanged = () => {\n var _a, _b, _c, _d, _e, _f;\n const selectedItems = Array.from(this._browser.selectedItems());\n const selection = selectedItems.length > 0;\n const oneFolder = selectedItems.some((item) => item.type === 'directory');\n (_a = this._widgets.get('placeholder')) === null || _a === void 0 ? void 0 : _a.setHidden(selection);\n (_b = this._widgets.get('delete')) === null || _b === void 0 ? void 0 : _b.setHidden(!selection);\n (_c = this._widgets.get('duplicate')) === null || _c === void 0 ? void 0 : _c.setHidden(!selection || oneFolder);\n (_d = this._widgets.get('download')) === null || _d === void 0 ? void 0 : _d.setHidden(!selection || oneFolder);\n (_e = this._widgets.get('open')) === null || _e === void 0 ? void 0 : _e.setHidden(!selection || oneFolder);\n (_f = this._widgets.get('rename')) === null || _f === void 0 ? void 0 : _f.setHidden(selectedItems.length !== 1);\n };\n this._widgets = new Map();\n this._browser = options.browser;\n const { commands, selectionChanged, translator } = options;\n const trans = translator.load('notebook');\n // Placeholder, when no file is selected.\n const placeholder = ReactWidget.create(React.createElement(\"div\", { key: 'placeholder' }, trans.__('Select items to perform actions on them.')));\n placeholder.id = 'fileAction-placeholder';\n this._widgets.set('placeholder', placeholder);\n // The action buttons.\n const actions = ['open', 'download', 'rename', 'duplicate', 'delete'];\n actions.forEach((action) => {\n const widget = ReactWidget.create(React.createElement(CommandToolbarButtonComponent, { key: action, commands: commands, id: `filebrowser:${action}`, args: { toolbar: true }, icon: undefined }));\n widget.id = `fileAction-${action}`;\n widget.addClass('jp-ToolbarButton');\n widget.addClass('jp-FileAction');\n this._widgets.set(action, widget);\n });\n selectionChanged.connect(this._onSelectionChanged, this);\n this._onSelectionChanged();\n }\n /**\n * Return an iterator with all the action widgets.\n */\n get widgets() {\n return this._widgets.values();\n }\n}\n","// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nimport { ICommandPalette, IToolbarWidgetRegistry, createToolbarFactory, setToolbar, } from '@jupyterlab/apputils';\nimport { PageConfig } from '@jupyterlab/coreutils';\nimport { Uploader, IDefaultFileBrowser, IFileBrowserFactory, } from '@jupyterlab/filebrowser';\nimport { ISettingRegistry } from '@jupyterlab/settingregistry';\nimport { IRunningSessionManagers, RunningSessions } from '@jupyterlab/running';\nimport { IJSONSettingEditorTracker, ISettingEditorTracker, } from '@jupyterlab/settingeditor';\nimport { ITranslator } from '@jupyterlab/translation';\nimport { caretDownIcon, folderIcon, runningIcon, } from '@jupyterlab/ui-components';\nimport { Signal } from '@lumino/signaling';\nimport { Menu, MenuBar } from '@lumino/widgets';\nimport { NotebookTreeWidget, INotebookTree } from '@jupyter-notebook/tree';\nimport { FilesActionButtons } from './fileactions';\n/**\n * The file browser factory.\n */\nconst FILE_BROWSER_FACTORY = 'FileBrowser';\n/**\n * The file browser plugin id.\n */\nconst FILE_BROWSER_PLUGIN_ID = '@jupyterlab/filebrowser-extension:browser';\n/**\n * The namespace for command IDs.\n */\nvar CommandIDs;\n(function (CommandIDs) {\n // The command to activate the filebrowser widget in tree view.\n CommandIDs.activate = 'filebrowser:activate';\n // Activate the file filter in the file browser\n CommandIDs.toggleFileFilter = 'filebrowser:toggle-file-filter';\n})(CommandIDs || (CommandIDs = {}));\n/**\n * Plugin to add extra commands to the file browser to create\n * new notebooks, files, consoles and terminals\n */\nconst createNew = {\n id: '@jupyter-notebook/tree-extension:new',\n description: 'Plugin to add extra commands to the file browser to create new notebooks, files, consoles and terminals.',\n requires: [ITranslator],\n optional: [IToolbarWidgetRegistry],\n autoStart: true,\n activate: (app, translator, toolbarRegistry) => {\n var _a;\n const { commands, serviceManager } = app;\n const trans = translator.load('notebook');\n const overflowOptions = {\n overflowMenuOptions: { isVisible: false },\n };\n const menubar = new MenuBar(overflowOptions);\n const newMenu = new Menu({ commands });\n newMenu.title.label = trans.__('New');\n newMenu.title.icon = caretDownIcon;\n menubar.addMenu(newMenu);\n const populateNewMenu = () => {\n var _a, _b;\n // create an entry per kernel spec for creating a new notebook\n const specs = (_b = (_a = serviceManager.kernelspecs) === null || _a === void 0 ? void 0 : _a.specs) === null || _b === void 0 ? void 0 : _b.kernelspecs;\n for (const name in specs) {\n newMenu.addItem({\n args: { kernelName: name, isLauncher: true },\n command: 'notebook:create-new',\n });\n }\n const baseCommands = [\n 'terminal:create-new',\n 'console:create',\n 'filebrowser:create-new-file',\n 'filebrowser:create-new-directory',\n ];\n baseCommands.forEach((command) => {\n newMenu.addItem({ command });\n });\n };\n (_a = serviceManager.kernelspecs) === null || _a === void 0 ? void 0 : _a.specsChanged.connect(() => {\n newMenu.clearItems();\n populateNewMenu();\n });\n populateNewMenu();\n if (toolbarRegistry) {\n toolbarRegistry.addFactory(FILE_BROWSER_FACTORY, 'new-dropdown', (browser) => {\n const menubar = new MenuBar(overflowOptions);\n menubar.addMenu(newMenu);\n menubar.addClass('jp-DropdownMenu');\n return menubar;\n });\n }\n },\n};\n/**\n * A plugin to add file browser actions to the file browser toolbar.\n */\nconst fileActions = {\n id: '@jupyter-notebook/tree-extension:file-actions',\n description: 'A plugin to add file browser actions to the file browser toolbar.',\n autoStart: true,\n requires: [IDefaultFileBrowser, IToolbarWidgetRegistry, ITranslator],\n activate: (app, browser, toolbarRegistry, translator) => {\n // TODO: use upstream signal when available to detect selection changes\n // https://github.com/jupyterlab/jupyterlab/issues/14598\n const selectionChanged = new Signal(browser);\n const methods = [\n '_selectItem',\n '_handleMultiSelect',\n 'handleFileSelect',\n ];\n methods.forEach((method) => {\n const original = browser['listing'][method];\n browser['listing'][method] = (...args) => {\n original.call(browser['listing'], ...args);\n selectionChanged.emit(void 0);\n };\n });\n browser.model.pathChanged.connect(() => {\n selectionChanged.emit(void 0);\n });\n // Create a toolbar item that adds buttons to the file browser toolbar\n // to perform actions on the files\n const { commands } = app;\n const fileActions = new FilesActionButtons({\n commands,\n browser,\n selectionChanged,\n translator,\n });\n for (const widget of fileActions.widgets) {\n toolbarRegistry.addFactory(FILE_BROWSER_FACTORY, widget.id, () => widget);\n }\n },\n};\n/**\n * A plugin to set the default file browser settings.\n */\nconst fileBrowserSettings = {\n id: '@jupyter-notebook/tree-extension:settings',\n description: 'Set up the default file browser settings',\n requires: [IDefaultFileBrowser],\n optional: [ISettingRegistry],\n autoStart: true,\n activate: (app, browser, settingRegistry) => {\n // Default config for notebook.\n // This is a different set of defaults than JupyterLab.\n const defaultFileBrowserConfig = {\n navigateToCurrentDirectory: false,\n singleClickNavigation: true,\n showLastModifiedColumn: true,\n showFileSizeColumn: true,\n showHiddenFiles: false,\n showFileCheckboxes: true,\n sortNotebooksFirst: true,\n showFullPath: false,\n };\n // Apply defaults on plugin activation\n let key;\n for (key in defaultFileBrowserConfig) {\n browser[key] = defaultFileBrowserConfig[key];\n }\n if (settingRegistry) {\n void settingRegistry.load(FILE_BROWSER_PLUGIN_ID).then((settings) => {\n function onSettingsChanged(settings) {\n let key;\n for (key in defaultFileBrowserConfig) {\n const value = settings.get(key).user;\n // only set the setting if it is defined by the user\n if (value !== undefined) {\n browser[key] = value;\n }\n }\n }\n settings.changed.connect(onSettingsChanged);\n onSettingsChanged(settings);\n });\n }\n },\n};\n/**\n * A plugin to add the file filter toggle command to the palette\n */\nconst fileFilterCommand = {\n id: '@jupyter-notebook/tree-extension:file-filter-command',\n description: 'A plugin to add file filter command to the palette.',\n autoStart: true,\n optional: [ICommandPalette],\n activate: (app, palette) => {\n if (palette) {\n palette.addItem({\n command: CommandIDs.toggleFileFilter,\n category: 'File Browser',\n });\n }\n },\n};\n/**\n * Plugin to load the default plugins that are loaded on all the Notebook pages\n * (tree, edit, view, etc.) so they are visible in the settings editor.\n */\nconst loadPlugins = {\n id: '@jupyter-notebook/tree-extension:load-plugins',\n description: 'Plugin to load the default plugins that are loaded on all the Notebook pages (tree, edit, view, etc.) so they are visible in the settings editor.',\n autoStart: true,\n requires: [ISettingRegistry],\n activate(app, settingRegistry) {\n const { isDisabled } = PageConfig.Extension;\n const connector = settingRegistry.connector;\n const allPluginsOption = PageConfig.getOption('allPlugins');\n if (!allPluginsOption) {\n return;\n }\n // build the list of plugins shipped by default on the all the notebook pages\n // this avoid explicitly loading `'all'` plugins such as the ones used\n // in JupyterLab only\n const allPlugins = JSON.parse(allPluginsOption);\n const pluginsSet = new Set();\n Object.keys(allPlugins).forEach((key) => {\n const extensionsAndPlugins = allPlugins[key];\n Object.keys(extensionsAndPlugins).forEach((plugin) => {\n const value = extensionsAndPlugins[plugin];\n if (typeof value === 'boolean' && value) {\n pluginsSet.add(plugin);\n }\n else if (Array.isArray(value)) {\n value.forEach((v) => {\n pluginsSet.add(v);\n });\n }\n });\n });\n app.restored.then(async () => {\n const plugins = await connector.list('all');\n plugins.ids.forEach(async (id) => {\n const [extension] = id.split(':');\n // load the plugin if it is built-in the notebook application explicitly\n // either included as an extension or as a plugin directly\n const hasPlugin = pluginsSet.has(extension) || pluginsSet.has(id);\n if (!hasPlugin || isDisabled(id) || id in settingRegistry.plugins) {\n return;\n }\n try {\n await settingRegistry.load(id);\n }\n catch (error) {\n console.warn(`Settings failed to load for (${id})`, error);\n }\n });\n });\n },\n};\n/**\n * A plugin to add file browser commands for the tree view.\n */\nconst openFileBrowser = {\n id: '@jupyter-notebook/tree-extension:open-file-browser',\n description: 'A plugin to add file browser commands for the tree view.',\n requires: [INotebookTree, IDefaultFileBrowser],\n autoStart: true,\n activate: (app, notebookTree, browser) => {\n const { commands } = app;\n commands.addCommand(CommandIDs.activate, {\n execute: () => {\n notebookTree.currentWidget = browser;\n },\n });\n },\n};\n/**\n * A plugin to add the file browser widget to an INotebookShell\n */\nconst notebookTreeWidget = {\n id: '@jupyter-notebook/tree-extension:widget',\n description: 'A plugin to add the file browser widget to an INotebookShell.',\n requires: [\n IDefaultFileBrowser,\n ITranslator,\n ISettingRegistry,\n IToolbarWidgetRegistry,\n IFileBrowserFactory,\n ],\n optional: [\n IRunningSessionManagers,\n ISettingEditorTracker,\n IJSONSettingEditorTracker,\n ],\n autoStart: true,\n provides: INotebookTree,\n activate: (app, browser, translator, settingRegistry, toolbarRegistry, factory, manager, settingEditorTracker, jsonSettingEditorTracker) => {\n const nbTreeWidget = new NotebookTreeWidget();\n const trans = translator.load('notebook');\n browser.title.label = trans.__('Files');\n browser.node.setAttribute('role', 'region');\n browser.node.setAttribute('aria-label', trans.__('File Browser Section'));\n browser.title.icon = folderIcon;\n nbTreeWidget.addWidget(browser);\n nbTreeWidget.tabBar.addTab(browser.title);\n nbTreeWidget.tabsMovable = false;\n toolbarRegistry.addFactory(FILE_BROWSER_FACTORY, 'uploader', (browser) => new Uploader({\n model: browser.model,\n translator,\n label: trans.__('Upload'),\n }));\n setToolbar(browser, createToolbarFactory(toolbarRegistry, settingRegistry, FILE_BROWSER_FACTORY, notebookTreeWidget.id, translator));\n if (manager) {\n const running = new RunningSessions(manager, translator);\n running.id = 'jp-running-sessions-tree';\n running.title.label = trans.__('Running');\n running.title.icon = runningIcon;\n nbTreeWidget.addWidget(running);\n nbTreeWidget.tabBar.addTab(running.title);\n }\n app.shell.add(nbTreeWidget, 'main', { rank: 100 });\n // add a separate tab for each setting editor\n [settingEditorTracker, jsonSettingEditorTracker].forEach((editorTracker) => {\n if (editorTracker) {\n editorTracker.widgetAdded.connect((_, editor) => {\n nbTreeWidget.addWidget(editor);\n nbTreeWidget.tabBar.addTab(editor.title);\n nbTreeWidget.currentWidget = editor;\n });\n }\n });\n const { tracker } = factory;\n // TODO: remove\n // Workaround to force the focus on the default file browser\n // See https://github.com/jupyterlab/jupyterlab/issues/15629 for more info\n const setCurrentToDefaultBrower = () => {\n tracker['_pool'].current = browser;\n };\n tracker.widgetAdded.connect((sender, widget) => {\n setCurrentToDefaultBrower();\n });\n setCurrentToDefaultBrower();\n return nbTreeWidget;\n },\n};\n/**\n * Export the plugins as default.\n */\nconst plugins = [\n createNew,\n fileActions,\n fileBrowserSettings,\n fileFilterCommand,\n loadPlugins,\n openFileBrowser,\n notebookTreeWidget,\n];\nexport default plugins;\n"],"names":[],"sourceRoot":""}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  (self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] = self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] || []).push([[3797],{
3
3
 
4
- /***/ 16041:
4
+ /***/ 23797:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
6
 
7
7
  __webpack_require__.r(__webpack_exports__);
@@ -912,4 +912,4 @@ const classHighlighter = tagHighlighter([
912
912
  /***/ })
913
913
 
914
914
  }]);
915
- //# sourceMappingURL=3797.861e562685aa1e1621bb.js.map?v=861e562685aa1e1621bb
915
+ //# sourceMappingURL=3797.ad30e7a4bf8dc994e5be.js.map?v=ad30e7a4bf8dc994e5be
@@ -1 +1 @@
1
- {"version":3,"file":"3797.861e562685aa1e1621bb.js?v=861e562685aa1e1621bb","mappings":";;;;;;;;;;;;;;;;;;;AAAyC;;AAEzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,kBAAkB;AACtC,yCAAyC,OAAO;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,mDAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,oBAAoB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,mDAAQ;AAC9D;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mCAAmC;AACzC,MAAM,yCAAyC;AAC/C,MAAM,2CAA2C;AACjD,MAAM,uCAAuC;AAC7C,MAAM,yCAAyC;AAC/C,MAAM,mCAAmC;AACzC,MAAM,mCAAmC;AACzC,MAAM,iCAAiC;AACvC,MAAM,6CAA6C;AACnD,MAAM,2CAA2C;AACjD,MAAM,yCAAyC;AAC/C,MAAM,yCAAyC;AAC/C,MAAM,uCAAuC;AAC7C,MAAM,uCAAuC;AAC7C,MAAM,kFAAkF;AACxF,MAAM,mDAAmD;AACzD,MAAM,yEAAyE;AAC/E,MAAM,mFAAmF;AACzF,MAAM,kEAAkE;AACxE,MAAM,mFAAmF;AACzF,MAAM,2CAA2C;AACjD,MAAM,6CAA6C;AACnD,MAAM,6CAA6C;AACnD,MAAM,6CAA6C;AACnD,MAAM,mDAAmD;AACzD,MAAM,2CAA2C;AACjD,MAAM,yCAAyC;AAC/C,MAAM,mCAAmC;AACzC,MAAM,yCAAyC;AAC/C,MAAM;AACN;;AAE8G","sources":["webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@lezer/highlight/dist/index.js"],"sourcesContent":["import { NodeProp } from '@lezer/common';\n\nlet nextTagID = 0;\n/**\nHighlighting tags are markers that denote a highlighting category.\nThey are [associated](#highlight.styleTags) with parts of a syntax\ntree by a language mode, and then mapped to an actual CSS style by\na [highlighter](#highlight.Highlighter).\n\nBecause syntax tree node types and highlight styles have to be\nable to talk the same language, CodeMirror uses a mostly _closed_\n[vocabulary](#highlight.tags) of syntax tags (as opposed to\ntraditional open string-based systems, which make it hard for\nhighlighting themes to cover all the tokens produced by the\nvarious languages).\n\nIt _is_ possible to [define](#highlight.Tag^define) your own\nhighlighting tags for system-internal use (where you control both\nthe language package and the highlighter), but such tags will not\nbe picked up by regular highlighters (though you can derive them\nfrom standard tags to allow highlighters to fall back to those).\n*/\nclass Tag {\n /**\n @internal\n */\n constructor(\n /**\n The set of this tag and all its parent tags, starting with\n this one itself and sorted in order of decreasing specificity.\n */\n set, \n /**\n The base unmodified tag that this one is based on, if it's\n modified @internal\n */\n base, \n /**\n The modifiers applied to this.base @internal\n */\n modified) {\n this.set = set;\n this.base = base;\n this.modified = modified;\n /**\n @internal\n */\n this.id = nextTagID++;\n }\n /**\n Define a new tag. If `parent` is given, the tag is treated as a\n sub-tag of that parent, and\n [highlighters](#highlight.tagHighlighter) that don't mention\n this tag will try to fall back to the parent tag (or grandparent\n tag, etc).\n */\n static define(parent) {\n if (parent === null || parent === void 0 ? void 0 : parent.base)\n throw new Error(\"Can not derive from a modified tag\");\n let tag = new Tag([], null, []);\n tag.set.push(tag);\n if (parent)\n for (let t of parent.set)\n tag.set.push(t);\n return tag;\n }\n /**\n Define a tag _modifier_, which is a function that, given a tag,\n will return a tag that is a subtag of the original. Applying the\n same modifier to a twice tag will return the same value (`m1(t1)\n == m1(t1)`) and applying multiple modifiers will, regardless or\n order, produce the same tag (`m1(m2(t1)) == m2(m1(t1))`).\n \n When multiple modifiers are applied to a given base tag, each\n smaller set of modifiers is registered as a parent, so that for\n example `m1(m2(m3(t1)))` is a subtype of `m1(m2(t1))`,\n `m1(m3(t1)`, and so on.\n */\n static defineModifier() {\n let mod = new Modifier;\n return (tag) => {\n if (tag.modified.indexOf(mod) > -1)\n return tag;\n return Modifier.get(tag.base || tag, tag.modified.concat(mod).sort((a, b) => a.id - b.id));\n };\n }\n}\nlet nextModifierID = 0;\nclass Modifier {\n constructor() {\n this.instances = [];\n this.id = nextModifierID++;\n }\n static get(base, mods) {\n if (!mods.length)\n return base;\n let exists = mods[0].instances.find(t => t.base == base && sameArray(mods, t.modified));\n if (exists)\n return exists;\n let set = [], tag = new Tag(set, base, mods);\n for (let m of mods)\n m.instances.push(tag);\n let configs = powerSet(mods);\n for (let parent of base.set)\n if (!parent.modified.length)\n for (let config of configs)\n set.push(Modifier.get(parent, config));\n return tag;\n }\n}\nfunction sameArray(a, b) {\n return a.length == b.length && a.every((x, i) => x == b[i]);\n}\nfunction powerSet(array) {\n let sets = [[]];\n for (let i = 0; i < array.length; i++) {\n for (let j = 0, e = sets.length; j < e; j++) {\n sets.push(sets[j].concat(array[i]));\n }\n }\n return sets.sort((a, b) => b.length - a.length);\n}\n/**\nThis function is used to add a set of tags to a language syntax\nvia [`NodeSet.extend`](#common.NodeSet.extend) or\n[`LRParser.configure`](#lr.LRParser.configure).\n\nThe argument object maps node selectors to [highlighting\ntags](#highlight.Tag) or arrays of tags.\n\nNode selectors may hold one or more (space-separated) node paths.\nSuch a path can be a [node name](#common.NodeType.name), or\nmultiple node names (or `*` wildcards) separated by slash\ncharacters, as in `\"Block/Declaration/VariableName\"`. Such a path\nmatches the final node but only if its direct parent nodes are the\nother nodes mentioned. A `*` in such a path matches any parent,\nbut only a single level—wildcards that match multiple parents\naren't supported, both for efficiency reasons and because Lezer\ntrees make it rather hard to reason about what they would match.)\n\nA path can be ended with `/...` to indicate that the tag assigned\nto the node should also apply to all child nodes, even if they\nmatch their own style (by default, only the innermost style is\nused).\n\nWhen a path ends in `!`, as in `Attribute!`, no further matching\nhappens for the node's child nodes, and the entire node gets the\ngiven style.\n\nIn this notation, node names that contain `/`, `!`, `*`, or `...`\nmust be quoted as JSON strings.\n\nFor example:\n\n```javascript\nparser.withProps(\n styleTags({\n // Style Number and BigNumber nodes\n \"Number BigNumber\": tags.number,\n // Style Escape nodes whose parent is String\n \"String/Escape\": tags.escape,\n // Style anything inside Attributes nodes\n \"Attributes!\": tags.meta,\n // Add a style to all content inside Italic nodes\n \"Italic/...\": tags.emphasis,\n // Style InvalidString nodes as both `string` and `invalid`\n \"InvalidString\": [tags.string, tags.invalid],\n // Style the node named \"/\" as punctuation\n '\"/\"': tags.punctuation\n })\n)\n```\n*/\nfunction styleTags(spec) {\n let byName = Object.create(null);\n for (let prop in spec) {\n let tags = spec[prop];\n if (!Array.isArray(tags))\n tags = [tags];\n for (let part of prop.split(\" \"))\n if (part) {\n let pieces = [], mode = 2 /* Mode.Normal */, rest = part;\n for (let pos = 0;;) {\n if (rest == \"...\" && pos > 0 && pos + 3 == part.length) {\n mode = 1 /* Mode.Inherit */;\n break;\n }\n let m = /^\"(?:[^\"\\\\]|\\\\.)*?\"|[^\\/!]+/.exec(rest);\n if (!m)\n throw new RangeError(\"Invalid path: \" + part);\n pieces.push(m[0] == \"*\" ? \"\" : m[0][0] == '\"' ? JSON.parse(m[0]) : m[0]);\n pos += m[0].length;\n if (pos == part.length)\n break;\n let next = part[pos++];\n if (pos == part.length && next == \"!\") {\n mode = 0 /* Mode.Opaque */;\n break;\n }\n if (next != \"/\")\n throw new RangeError(\"Invalid path: \" + part);\n rest = part.slice(pos);\n }\n let last = pieces.length - 1, inner = pieces[last];\n if (!inner)\n throw new RangeError(\"Invalid path: \" + part);\n let rule = new Rule(tags, mode, last > 0 ? pieces.slice(0, last) : null);\n byName[inner] = rule.sort(byName[inner]);\n }\n }\n return ruleNodeProp.add(byName);\n}\nconst ruleNodeProp = new NodeProp();\nclass Rule {\n constructor(tags, mode, context, next) {\n this.tags = tags;\n this.mode = mode;\n this.context = context;\n this.next = next;\n }\n get opaque() { return this.mode == 0 /* Mode.Opaque */; }\n get inherit() { return this.mode == 1 /* Mode.Inherit */; }\n sort(other) {\n if (!other || other.depth < this.depth) {\n this.next = other;\n return this;\n }\n other.next = this.sort(other.next);\n return other;\n }\n get depth() { return this.context ? this.context.length : 0; }\n}\nRule.empty = new Rule([], 2 /* Mode.Normal */, null);\n/**\nDefine a [highlighter](#highlight.Highlighter) from an array of\ntag/class pairs. Classes associated with more specific tags will\ntake precedence.\n*/\nfunction tagHighlighter(tags, options) {\n let map = Object.create(null);\n for (let style of tags) {\n if (!Array.isArray(style.tag))\n map[style.tag.id] = style.class;\n else\n for (let tag of style.tag)\n map[tag.id] = style.class;\n }\n let { scope, all = null } = options || {};\n return {\n style: (tags) => {\n let cls = all;\n for (let tag of tags) {\n for (let sub of tag.set) {\n let tagClass = map[sub.id];\n if (tagClass) {\n cls = cls ? cls + \" \" + tagClass : tagClass;\n break;\n }\n }\n }\n return cls;\n },\n scope\n };\n}\nfunction highlightTags(highlighters, tags) {\n let result = null;\n for (let highlighter of highlighters) {\n let value = highlighter.style(tags);\n if (value)\n result = result ? result + \" \" + value : value;\n }\n return result;\n}\n/**\nHighlight the given [tree](#common.Tree) with the given\n[highlighter](#highlight.Highlighter). Often, the higher-level\n[`highlightCode`](#highlight.highlightCode) function is easier to\nuse.\n*/\nfunction highlightTree(tree, highlighter, \n/**\nAssign styling to a region of the text. Will be called, in order\nof position, for any ranges where more than zero classes apply.\n`classes` is a space separated string of CSS classes.\n*/\nputStyle, \n/**\nThe start of the range to highlight.\n*/\nfrom = 0, \n/**\nThe end of the range.\n*/\nto = tree.length) {\n let builder = new HighlightBuilder(from, Array.isArray(highlighter) ? highlighter : [highlighter], putStyle);\n builder.highlightRange(tree.cursor(), from, to, \"\", builder.highlighters);\n builder.flush(to);\n}\n/**\nHighlight the given tree with the given highlighter, calling\n`putText` for every piece of text, either with a set of classes or\nwith the empty string when unstyled, and `putBreak` for every line\nbreak.\n*/\nfunction highlightCode(code, tree, highlighter, putText, putBreak, from = 0, to = code.length) {\n let pos = from;\n function writeTo(p, classes) {\n if (p <= pos)\n return;\n for (let text = code.slice(pos, p), i = 0;;) {\n let nextBreak = text.indexOf(\"\\n\", i);\n let upto = nextBreak < 0 ? text.length : nextBreak;\n if (upto > i)\n putText(text.slice(i, upto), classes);\n if (nextBreak < 0)\n break;\n putBreak();\n i = nextBreak + 1;\n }\n pos = p;\n }\n highlightTree(tree, highlighter, (from, to, classes) => {\n writeTo(from, \"\");\n writeTo(to, classes);\n }, from, to);\n writeTo(to, \"\");\n}\nclass HighlightBuilder {\n constructor(at, highlighters, span) {\n this.at = at;\n this.highlighters = highlighters;\n this.span = span;\n this.class = \"\";\n }\n startSpan(at, cls) {\n if (cls != this.class) {\n this.flush(at);\n if (at > this.at)\n this.at = at;\n this.class = cls;\n }\n }\n flush(to) {\n if (to > this.at && this.class)\n this.span(this.at, to, this.class);\n }\n highlightRange(cursor, from, to, inheritedClass, highlighters) {\n let { type, from: start, to: end } = cursor;\n if (start >= to || end <= from)\n return;\n if (type.isTop)\n highlighters = this.highlighters.filter(h => !h.scope || h.scope(type));\n let cls = inheritedClass;\n let rule = getStyleTags(cursor) || Rule.empty;\n let tagCls = highlightTags(highlighters, rule.tags);\n if (tagCls) {\n if (cls)\n cls += \" \";\n cls += tagCls;\n if (rule.mode == 1 /* Mode.Inherit */)\n inheritedClass += (inheritedClass ? \" \" : \"\") + tagCls;\n }\n this.startSpan(Math.max(from, start), cls);\n if (rule.opaque)\n return;\n let mounted = cursor.tree && cursor.tree.prop(NodeProp.mounted);\n if (mounted && mounted.overlay) {\n let inner = cursor.node.enter(mounted.overlay[0].from + start, 1);\n let innerHighlighters = this.highlighters.filter(h => !h.scope || h.scope(mounted.tree.type));\n let hasChild = cursor.firstChild();\n for (let i = 0, pos = start;; i++) {\n let next = i < mounted.overlay.length ? mounted.overlay[i] : null;\n let nextPos = next ? next.from + start : end;\n let rangeFrom = Math.max(from, pos), rangeTo = Math.min(to, nextPos);\n if (rangeFrom < rangeTo && hasChild) {\n while (cursor.from < rangeTo) {\n this.highlightRange(cursor, rangeFrom, rangeTo, inheritedClass, highlighters);\n this.startSpan(Math.min(rangeTo, cursor.to), cls);\n if (cursor.to >= nextPos || !cursor.nextSibling())\n break;\n }\n }\n if (!next || nextPos > to)\n break;\n pos = next.to + start;\n if (pos > from) {\n this.highlightRange(inner.cursor(), Math.max(from, next.from + start), Math.min(to, pos), \"\", innerHighlighters);\n this.startSpan(Math.min(to, pos), cls);\n }\n }\n if (hasChild)\n cursor.parent();\n }\n else if (cursor.firstChild()) {\n if (mounted)\n inheritedClass = \"\";\n do {\n if (cursor.to <= from)\n continue;\n if (cursor.from >= to)\n break;\n this.highlightRange(cursor, from, to, inheritedClass, highlighters);\n this.startSpan(Math.min(to, cursor.to), cls);\n } while (cursor.nextSibling());\n cursor.parent();\n }\n }\n}\n/**\nMatch a syntax node's [highlight rules](#highlight.styleTags). If\nthere's a match, return its set of tags, and whether it is\nopaque (uses a `!`) or applies to all child nodes (`/...`).\n*/\nfunction getStyleTags(node) {\n let rule = node.type.prop(ruleNodeProp);\n while (rule && rule.context && !node.matchContext(rule.context))\n rule = rule.next;\n return rule || null;\n}\nconst t = Tag.define;\nconst comment = t(), name = t(), typeName = t(name), propertyName = t(name), literal = t(), string = t(literal), number = t(literal), content = t(), heading = t(content), keyword = t(), operator = t(), punctuation = t(), bracket = t(punctuation), meta = t();\n/**\nThe default set of highlighting [tags](#highlight.Tag).\n\nThis collection is heavily biased towards programming languages,\nand necessarily incomplete. A full ontology of syntactic\nconstructs would fill a stack of books, and be impractical to\nwrite themes for. So try to make do with this set. If all else\nfails, [open an\nissue](https://github.com/codemirror/codemirror.next) to propose a\nnew tag, or [define](#highlight.Tag^define) a local custom tag for\nyour use case.\n\nNote that it is not obligatory to always attach the most specific\ntag possible to an element—if your grammar can't easily\ndistinguish a certain type of element (such as a local variable),\nit is okay to style it as its more general variant (a variable).\n\nFor tags that extend some parent tag, the documentation links to\nthe parent.\n*/\nconst tags = {\n /**\n A comment.\n */\n comment,\n /**\n A line [comment](#highlight.tags.comment).\n */\n lineComment: t(comment),\n /**\n A block [comment](#highlight.tags.comment).\n */\n blockComment: t(comment),\n /**\n A documentation [comment](#highlight.tags.comment).\n */\n docComment: t(comment),\n /**\n Any kind of identifier.\n */\n name,\n /**\n The [name](#highlight.tags.name) of a variable.\n */\n variableName: t(name),\n /**\n A type [name](#highlight.tags.name).\n */\n typeName: typeName,\n /**\n A tag name (subtag of [`typeName`](#highlight.tags.typeName)).\n */\n tagName: t(typeName),\n /**\n A property or field [name](#highlight.tags.name).\n */\n propertyName: propertyName,\n /**\n An attribute name (subtag of [`propertyName`](#highlight.tags.propertyName)).\n */\n attributeName: t(propertyName),\n /**\n The [name](#highlight.tags.name) of a class.\n */\n className: t(name),\n /**\n A label [name](#highlight.tags.name).\n */\n labelName: t(name),\n /**\n A namespace [name](#highlight.tags.name).\n */\n namespace: t(name),\n /**\n The [name](#highlight.tags.name) of a macro.\n */\n macroName: t(name),\n /**\n A literal value.\n */\n literal,\n /**\n A string [literal](#highlight.tags.literal).\n */\n string,\n /**\n A documentation [string](#highlight.tags.string).\n */\n docString: t(string),\n /**\n A character literal (subtag of [string](#highlight.tags.string)).\n */\n character: t(string),\n /**\n An attribute value (subtag of [string](#highlight.tags.string)).\n */\n attributeValue: t(string),\n /**\n A number [literal](#highlight.tags.literal).\n */\n number,\n /**\n An integer [number](#highlight.tags.number) literal.\n */\n integer: t(number),\n /**\n A floating-point [number](#highlight.tags.number) literal.\n */\n float: t(number),\n /**\n A boolean [literal](#highlight.tags.literal).\n */\n bool: t(literal),\n /**\n Regular expression [literal](#highlight.tags.literal).\n */\n regexp: t(literal),\n /**\n An escape [literal](#highlight.tags.literal), for example a\n backslash escape in a string.\n */\n escape: t(literal),\n /**\n A color [literal](#highlight.tags.literal).\n */\n color: t(literal),\n /**\n A URL [literal](#highlight.tags.literal).\n */\n url: t(literal),\n /**\n A language keyword.\n */\n keyword,\n /**\n The [keyword](#highlight.tags.keyword) for the self or this\n object.\n */\n self: t(keyword),\n /**\n The [keyword](#highlight.tags.keyword) for null.\n */\n null: t(keyword),\n /**\n A [keyword](#highlight.tags.keyword) denoting some atomic value.\n */\n atom: t(keyword),\n /**\n A [keyword](#highlight.tags.keyword) that represents a unit.\n */\n unit: t(keyword),\n /**\n A modifier [keyword](#highlight.tags.keyword).\n */\n modifier: t(keyword),\n /**\n A [keyword](#highlight.tags.keyword) that acts as an operator.\n */\n operatorKeyword: t(keyword),\n /**\n A control-flow related [keyword](#highlight.tags.keyword).\n */\n controlKeyword: t(keyword),\n /**\n A [keyword](#highlight.tags.keyword) that defines something.\n */\n definitionKeyword: t(keyword),\n /**\n A [keyword](#highlight.tags.keyword) related to defining or\n interfacing with modules.\n */\n moduleKeyword: t(keyword),\n /**\n An operator.\n */\n operator,\n /**\n An [operator](#highlight.tags.operator) that dereferences something.\n */\n derefOperator: t(operator),\n /**\n Arithmetic-related [operator](#highlight.tags.operator).\n */\n arithmeticOperator: t(operator),\n /**\n Logical [operator](#highlight.tags.operator).\n */\n logicOperator: t(operator),\n /**\n Bit [operator](#highlight.tags.operator).\n */\n bitwiseOperator: t(operator),\n /**\n Comparison [operator](#highlight.tags.operator).\n */\n compareOperator: t(operator),\n /**\n [Operator](#highlight.tags.operator) that updates its operand.\n */\n updateOperator: t(operator),\n /**\n [Operator](#highlight.tags.operator) that defines something.\n */\n definitionOperator: t(operator),\n /**\n Type-related [operator](#highlight.tags.operator).\n */\n typeOperator: t(operator),\n /**\n Control-flow [operator](#highlight.tags.operator).\n */\n controlOperator: t(operator),\n /**\n Program or markup punctuation.\n */\n punctuation,\n /**\n [Punctuation](#highlight.tags.punctuation) that separates\n things.\n */\n separator: t(punctuation),\n /**\n Bracket-style [punctuation](#highlight.tags.punctuation).\n */\n bracket,\n /**\n Angle [brackets](#highlight.tags.bracket) (usually `<` and `>`\n tokens).\n */\n angleBracket: t(bracket),\n /**\n Square [brackets](#highlight.tags.bracket) (usually `[` and `]`\n tokens).\n */\n squareBracket: t(bracket),\n /**\n Parentheses (usually `(` and `)` tokens). Subtag of\n [bracket](#highlight.tags.bracket).\n */\n paren: t(bracket),\n /**\n Braces (usually `{` and `}` tokens). Subtag of\n [bracket](#highlight.tags.bracket).\n */\n brace: t(bracket),\n /**\n Content, for example plain text in XML or markup documents.\n */\n content,\n /**\n [Content](#highlight.tags.content) that represents a heading.\n */\n heading,\n /**\n A level 1 [heading](#highlight.tags.heading).\n */\n heading1: t(heading),\n /**\n A level 2 [heading](#highlight.tags.heading).\n */\n heading2: t(heading),\n /**\n A level 3 [heading](#highlight.tags.heading).\n */\n heading3: t(heading),\n /**\n A level 4 [heading](#highlight.tags.heading).\n */\n heading4: t(heading),\n /**\n A level 5 [heading](#highlight.tags.heading).\n */\n heading5: t(heading),\n /**\n A level 6 [heading](#highlight.tags.heading).\n */\n heading6: t(heading),\n /**\n A prose separator (such as a horizontal rule).\n */\n contentSeparator: t(content),\n /**\n [Content](#highlight.tags.content) that represents a list.\n */\n list: t(content),\n /**\n [Content](#highlight.tags.content) that represents a quote.\n */\n quote: t(content),\n /**\n [Content](#highlight.tags.content) that is emphasized.\n */\n emphasis: t(content),\n /**\n [Content](#highlight.tags.content) that is styled strong.\n */\n strong: t(content),\n /**\n [Content](#highlight.tags.content) that is part of a link.\n */\n link: t(content),\n /**\n [Content](#highlight.tags.content) that is styled as code or\n monospace.\n */\n monospace: t(content),\n /**\n [Content](#highlight.tags.content) that has a strike-through\n style.\n */\n strikethrough: t(content),\n /**\n Inserted text in a change-tracking format.\n */\n inserted: t(),\n /**\n Deleted text.\n */\n deleted: t(),\n /**\n Changed text.\n */\n changed: t(),\n /**\n An invalid or unsyntactic element.\n */\n invalid: t(),\n /**\n Metadata or meta-instruction.\n */\n meta,\n /**\n [Metadata](#highlight.tags.meta) that applies to the entire\n document.\n */\n documentMeta: t(meta),\n /**\n [Metadata](#highlight.tags.meta) that annotates or adds\n attributes to a given syntactic element.\n */\n annotation: t(meta),\n /**\n Processing instruction or preprocessor directive. Subtag of\n [meta](#highlight.tags.meta).\n */\n processingInstruction: t(meta),\n /**\n [Modifier](#highlight.Tag^defineModifier) that indicates that a\n given element is being defined. Expected to be used with the\n various [name](#highlight.tags.name) tags.\n */\n definition: Tag.defineModifier(),\n /**\n [Modifier](#highlight.Tag^defineModifier) that indicates that\n something is constant. Mostly expected to be used with\n [variable names](#highlight.tags.variableName).\n */\n constant: Tag.defineModifier(),\n /**\n [Modifier](#highlight.Tag^defineModifier) used to indicate that\n a [variable](#highlight.tags.variableName) or [property\n name](#highlight.tags.propertyName) is being called or defined\n as a function.\n */\n function: Tag.defineModifier(),\n /**\n [Modifier](#highlight.Tag^defineModifier) that can be applied to\n [names](#highlight.tags.name) to indicate that they belong to\n the language's standard environment.\n */\n standard: Tag.defineModifier(),\n /**\n [Modifier](#highlight.Tag^defineModifier) that indicates a given\n [names](#highlight.tags.name) is local to some scope.\n */\n local: Tag.defineModifier(),\n /**\n A generic variant [modifier](#highlight.Tag^defineModifier) that\n can be used to tag language-specific alternative variants of\n some common tag. It is recommended for themes to define special\n forms of at least the [string](#highlight.tags.string) and\n [variable name](#highlight.tags.variableName) tags, since those\n come up a lot.\n */\n special: Tag.defineModifier()\n};\n/**\nThis is a highlighter that adds stable, predictable classes to\ntokens, for styling with external CSS.\n\nThe following tags are mapped to their name prefixed with `\"tok-\"`\n(for example `\"tok-comment\"`):\n\n* [`link`](#highlight.tags.link)\n* [`heading`](#highlight.tags.heading)\n* [`emphasis`](#highlight.tags.emphasis)\n* [`strong`](#highlight.tags.strong)\n* [`keyword`](#highlight.tags.keyword)\n* [`atom`](#highlight.tags.atom)\n* [`bool`](#highlight.tags.bool)\n* [`url`](#highlight.tags.url)\n* [`labelName`](#highlight.tags.labelName)\n* [`inserted`](#highlight.tags.inserted)\n* [`deleted`](#highlight.tags.deleted)\n* [`literal`](#highlight.tags.literal)\n* [`string`](#highlight.tags.string)\n* [`number`](#highlight.tags.number)\n* [`variableName`](#highlight.tags.variableName)\n* [`typeName`](#highlight.tags.typeName)\n* [`namespace`](#highlight.tags.namespace)\n* [`className`](#highlight.tags.className)\n* [`macroName`](#highlight.tags.macroName)\n* [`propertyName`](#highlight.tags.propertyName)\n* [`operator`](#highlight.tags.operator)\n* [`comment`](#highlight.tags.comment)\n* [`meta`](#highlight.tags.meta)\n* [`punctuation`](#highlight.tags.punctuation)\n* [`invalid`](#highlight.tags.invalid)\n\nIn addition, these mappings are provided:\n\n* [`regexp`](#highlight.tags.regexp),\n [`escape`](#highlight.tags.escape), and\n [`special`](#highlight.tags.special)[`(string)`](#highlight.tags.string)\n are mapped to `\"tok-string2\"`\n* [`special`](#highlight.tags.special)[`(variableName)`](#highlight.tags.variableName)\n to `\"tok-variableName2\"`\n* [`local`](#highlight.tags.local)[`(variableName)`](#highlight.tags.variableName)\n to `\"tok-variableName tok-local\"`\n* [`definition`](#highlight.tags.definition)[`(variableName)`](#highlight.tags.variableName)\n to `\"tok-variableName tok-definition\"`\n* [`definition`](#highlight.tags.definition)[`(propertyName)`](#highlight.tags.propertyName)\n to `\"tok-propertyName tok-definition\"`\n*/\nconst classHighlighter = tagHighlighter([\n { tag: tags.link, class: \"tok-link\" },\n { tag: tags.heading, class: \"tok-heading\" },\n { tag: tags.emphasis, class: \"tok-emphasis\" },\n { tag: tags.strong, class: \"tok-strong\" },\n { tag: tags.keyword, class: \"tok-keyword\" },\n { tag: tags.atom, class: \"tok-atom\" },\n { tag: tags.bool, class: \"tok-bool\" },\n { tag: tags.url, class: \"tok-url\" },\n { tag: tags.labelName, class: \"tok-labelName\" },\n { tag: tags.inserted, class: \"tok-inserted\" },\n { tag: tags.deleted, class: \"tok-deleted\" },\n { tag: tags.literal, class: \"tok-literal\" },\n { tag: tags.string, class: \"tok-string\" },\n { tag: tags.number, class: \"tok-number\" },\n { tag: [tags.regexp, tags.escape, tags.special(tags.string)], class: \"tok-string2\" },\n { tag: tags.variableName, class: \"tok-variableName\" },\n { tag: tags.local(tags.variableName), class: \"tok-variableName tok-local\" },\n { tag: tags.definition(tags.variableName), class: \"tok-variableName tok-definition\" },\n { tag: tags.special(tags.variableName), class: \"tok-variableName2\" },\n { tag: tags.definition(tags.propertyName), class: \"tok-propertyName tok-definition\" },\n { tag: tags.typeName, class: \"tok-typeName\" },\n { tag: tags.namespace, class: \"tok-namespace\" },\n { tag: tags.className, class: \"tok-className\" },\n { tag: tags.macroName, class: \"tok-macroName\" },\n { tag: tags.propertyName, class: \"tok-propertyName\" },\n { tag: tags.operator, class: \"tok-operator\" },\n { tag: tags.comment, class: \"tok-comment\" },\n { tag: tags.meta, class: \"tok-meta\" },\n { tag: tags.invalid, class: \"tok-invalid\" },\n { tag: tags.punctuation, class: \"tok-punctuation\" }\n]);\n\nexport { Tag, classHighlighter, getStyleTags, highlightCode, highlightTree, styleTags, tagHighlighter, tags };\n"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"3797.ad30e7a4bf8dc994e5be.js?v=ad30e7a4bf8dc994e5be","mappings":";;;;;;;;;;;;;;;;;;;AAAyC;;AAEzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,kBAAkB;AACtC,yCAAyC,OAAO;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,mDAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,oBAAoB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,mDAAQ;AAC9D;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mCAAmC;AACzC,MAAM,yCAAyC;AAC/C,MAAM,2CAA2C;AACjD,MAAM,uCAAuC;AAC7C,MAAM,yCAAyC;AAC/C,MAAM,mCAAmC;AACzC,MAAM,mCAAmC;AACzC,MAAM,iCAAiC;AACvC,MAAM,6CAA6C;AACnD,MAAM,2CAA2C;AACjD,MAAM,yCAAyC;AAC/C,MAAM,yCAAyC;AAC/C,MAAM,uCAAuC;AAC7C,MAAM,uCAAuC;AAC7C,MAAM,kFAAkF;AACxF,MAAM,mDAAmD;AACzD,MAAM,yEAAyE;AAC/E,MAAM,mFAAmF;AACzF,MAAM,kEAAkE;AACxE,MAAM,mFAAmF;AACzF,MAAM,2CAA2C;AACjD,MAAM,6CAA6C;AACnD,MAAM,6CAA6C;AACnD,MAAM,6CAA6C;AACnD,MAAM,mDAAmD;AACzD,MAAM,2CAA2C;AACjD,MAAM,yCAAyC;AAC/C,MAAM,mCAAmC;AACzC,MAAM,yCAAyC;AAC/C,MAAM;AACN;;AAE8G","sources":["webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@lezer/highlight/dist/index.js"],"sourcesContent":["import { NodeProp } from '@lezer/common';\n\nlet nextTagID = 0;\n/**\nHighlighting tags are markers that denote a highlighting category.\nThey are [associated](#highlight.styleTags) with parts of a syntax\ntree by a language mode, and then mapped to an actual CSS style by\na [highlighter](#highlight.Highlighter).\n\nBecause syntax tree node types and highlight styles have to be\nable to talk the same language, CodeMirror uses a mostly _closed_\n[vocabulary](#highlight.tags) of syntax tags (as opposed to\ntraditional open string-based systems, which make it hard for\nhighlighting themes to cover all the tokens produced by the\nvarious languages).\n\nIt _is_ possible to [define](#highlight.Tag^define) your own\nhighlighting tags for system-internal use (where you control both\nthe language package and the highlighter), but such tags will not\nbe picked up by regular highlighters (though you can derive them\nfrom standard tags to allow highlighters to fall back to those).\n*/\nclass Tag {\n /**\n @internal\n */\n constructor(\n /**\n The set of this tag and all its parent tags, starting with\n this one itself and sorted in order of decreasing specificity.\n */\n set, \n /**\n The base unmodified tag that this one is based on, if it's\n modified @internal\n */\n base, \n /**\n The modifiers applied to this.base @internal\n */\n modified) {\n this.set = set;\n this.base = base;\n this.modified = modified;\n /**\n @internal\n */\n this.id = nextTagID++;\n }\n /**\n Define a new tag. If `parent` is given, the tag is treated as a\n sub-tag of that parent, and\n [highlighters](#highlight.tagHighlighter) that don't mention\n this tag will try to fall back to the parent tag (or grandparent\n tag, etc).\n */\n static define(parent) {\n if (parent === null || parent === void 0 ? void 0 : parent.base)\n throw new Error(\"Can not derive from a modified tag\");\n let tag = new Tag([], null, []);\n tag.set.push(tag);\n if (parent)\n for (let t of parent.set)\n tag.set.push(t);\n return tag;\n }\n /**\n Define a tag _modifier_, which is a function that, given a tag,\n will return a tag that is a subtag of the original. Applying the\n same modifier to a twice tag will return the same value (`m1(t1)\n == m1(t1)`) and applying multiple modifiers will, regardless or\n order, produce the same tag (`m1(m2(t1)) == m2(m1(t1))`).\n \n When multiple modifiers are applied to a given base tag, each\n smaller set of modifiers is registered as a parent, so that for\n example `m1(m2(m3(t1)))` is a subtype of `m1(m2(t1))`,\n `m1(m3(t1)`, and so on.\n */\n static defineModifier() {\n let mod = new Modifier;\n return (tag) => {\n if (tag.modified.indexOf(mod) > -1)\n return tag;\n return Modifier.get(tag.base || tag, tag.modified.concat(mod).sort((a, b) => a.id - b.id));\n };\n }\n}\nlet nextModifierID = 0;\nclass Modifier {\n constructor() {\n this.instances = [];\n this.id = nextModifierID++;\n }\n static get(base, mods) {\n if (!mods.length)\n return base;\n let exists = mods[0].instances.find(t => t.base == base && sameArray(mods, t.modified));\n if (exists)\n return exists;\n let set = [], tag = new Tag(set, base, mods);\n for (let m of mods)\n m.instances.push(tag);\n let configs = powerSet(mods);\n for (let parent of base.set)\n if (!parent.modified.length)\n for (let config of configs)\n set.push(Modifier.get(parent, config));\n return tag;\n }\n}\nfunction sameArray(a, b) {\n return a.length == b.length && a.every((x, i) => x == b[i]);\n}\nfunction powerSet(array) {\n let sets = [[]];\n for (let i = 0; i < array.length; i++) {\n for (let j = 0, e = sets.length; j < e; j++) {\n sets.push(sets[j].concat(array[i]));\n }\n }\n return sets.sort((a, b) => b.length - a.length);\n}\n/**\nThis function is used to add a set of tags to a language syntax\nvia [`NodeSet.extend`](#common.NodeSet.extend) or\n[`LRParser.configure`](#lr.LRParser.configure).\n\nThe argument object maps node selectors to [highlighting\ntags](#highlight.Tag) or arrays of tags.\n\nNode selectors may hold one or more (space-separated) node paths.\nSuch a path can be a [node name](#common.NodeType.name), or\nmultiple node names (or `*` wildcards) separated by slash\ncharacters, as in `\"Block/Declaration/VariableName\"`. Such a path\nmatches the final node but only if its direct parent nodes are the\nother nodes mentioned. A `*` in such a path matches any parent,\nbut only a single level—wildcards that match multiple parents\naren't supported, both for efficiency reasons and because Lezer\ntrees make it rather hard to reason about what they would match.)\n\nA path can be ended with `/...` to indicate that the tag assigned\nto the node should also apply to all child nodes, even if they\nmatch their own style (by default, only the innermost style is\nused).\n\nWhen a path ends in `!`, as in `Attribute!`, no further matching\nhappens for the node's child nodes, and the entire node gets the\ngiven style.\n\nIn this notation, node names that contain `/`, `!`, `*`, or `...`\nmust be quoted as JSON strings.\n\nFor example:\n\n```javascript\nparser.withProps(\n styleTags({\n // Style Number and BigNumber nodes\n \"Number BigNumber\": tags.number,\n // Style Escape nodes whose parent is String\n \"String/Escape\": tags.escape,\n // Style anything inside Attributes nodes\n \"Attributes!\": tags.meta,\n // Add a style to all content inside Italic nodes\n \"Italic/...\": tags.emphasis,\n // Style InvalidString nodes as both `string` and `invalid`\n \"InvalidString\": [tags.string, tags.invalid],\n // Style the node named \"/\" as punctuation\n '\"/\"': tags.punctuation\n })\n)\n```\n*/\nfunction styleTags(spec) {\n let byName = Object.create(null);\n for (let prop in spec) {\n let tags = spec[prop];\n if (!Array.isArray(tags))\n tags = [tags];\n for (let part of prop.split(\" \"))\n if (part) {\n let pieces = [], mode = 2 /* Mode.Normal */, rest = part;\n for (let pos = 0;;) {\n if (rest == \"...\" && pos > 0 && pos + 3 == part.length) {\n mode = 1 /* Mode.Inherit */;\n break;\n }\n let m = /^\"(?:[^\"\\\\]|\\\\.)*?\"|[^\\/!]+/.exec(rest);\n if (!m)\n throw new RangeError(\"Invalid path: \" + part);\n pieces.push(m[0] == \"*\" ? \"\" : m[0][0] == '\"' ? JSON.parse(m[0]) : m[0]);\n pos += m[0].length;\n if (pos == part.length)\n break;\n let next = part[pos++];\n if (pos == part.length && next == \"!\") {\n mode = 0 /* Mode.Opaque */;\n break;\n }\n if (next != \"/\")\n throw new RangeError(\"Invalid path: \" + part);\n rest = part.slice(pos);\n }\n let last = pieces.length - 1, inner = pieces[last];\n if (!inner)\n throw new RangeError(\"Invalid path: \" + part);\n let rule = new Rule(tags, mode, last > 0 ? pieces.slice(0, last) : null);\n byName[inner] = rule.sort(byName[inner]);\n }\n }\n return ruleNodeProp.add(byName);\n}\nconst ruleNodeProp = new NodeProp();\nclass Rule {\n constructor(tags, mode, context, next) {\n this.tags = tags;\n this.mode = mode;\n this.context = context;\n this.next = next;\n }\n get opaque() { return this.mode == 0 /* Mode.Opaque */; }\n get inherit() { return this.mode == 1 /* Mode.Inherit */; }\n sort(other) {\n if (!other || other.depth < this.depth) {\n this.next = other;\n return this;\n }\n other.next = this.sort(other.next);\n return other;\n }\n get depth() { return this.context ? this.context.length : 0; }\n}\nRule.empty = new Rule([], 2 /* Mode.Normal */, null);\n/**\nDefine a [highlighter](#highlight.Highlighter) from an array of\ntag/class pairs. Classes associated with more specific tags will\ntake precedence.\n*/\nfunction tagHighlighter(tags, options) {\n let map = Object.create(null);\n for (let style of tags) {\n if (!Array.isArray(style.tag))\n map[style.tag.id] = style.class;\n else\n for (let tag of style.tag)\n map[tag.id] = style.class;\n }\n let { scope, all = null } = options || {};\n return {\n style: (tags) => {\n let cls = all;\n for (let tag of tags) {\n for (let sub of tag.set) {\n let tagClass = map[sub.id];\n if (tagClass) {\n cls = cls ? cls + \" \" + tagClass : tagClass;\n break;\n }\n }\n }\n return cls;\n },\n scope\n };\n}\nfunction highlightTags(highlighters, tags) {\n let result = null;\n for (let highlighter of highlighters) {\n let value = highlighter.style(tags);\n if (value)\n result = result ? result + \" \" + value : value;\n }\n return result;\n}\n/**\nHighlight the given [tree](#common.Tree) with the given\n[highlighter](#highlight.Highlighter). Often, the higher-level\n[`highlightCode`](#highlight.highlightCode) function is easier to\nuse.\n*/\nfunction highlightTree(tree, highlighter, \n/**\nAssign styling to a region of the text. Will be called, in order\nof position, for any ranges where more than zero classes apply.\n`classes` is a space separated string of CSS classes.\n*/\nputStyle, \n/**\nThe start of the range to highlight.\n*/\nfrom = 0, \n/**\nThe end of the range.\n*/\nto = tree.length) {\n let builder = new HighlightBuilder(from, Array.isArray(highlighter) ? highlighter : [highlighter], putStyle);\n builder.highlightRange(tree.cursor(), from, to, \"\", builder.highlighters);\n builder.flush(to);\n}\n/**\nHighlight the given tree with the given highlighter, calling\n`putText` for every piece of text, either with a set of classes or\nwith the empty string when unstyled, and `putBreak` for every line\nbreak.\n*/\nfunction highlightCode(code, tree, highlighter, putText, putBreak, from = 0, to = code.length) {\n let pos = from;\n function writeTo(p, classes) {\n if (p <= pos)\n return;\n for (let text = code.slice(pos, p), i = 0;;) {\n let nextBreak = text.indexOf(\"\\n\", i);\n let upto = nextBreak < 0 ? text.length : nextBreak;\n if (upto > i)\n putText(text.slice(i, upto), classes);\n if (nextBreak < 0)\n break;\n putBreak();\n i = nextBreak + 1;\n }\n pos = p;\n }\n highlightTree(tree, highlighter, (from, to, classes) => {\n writeTo(from, \"\");\n writeTo(to, classes);\n }, from, to);\n writeTo(to, \"\");\n}\nclass HighlightBuilder {\n constructor(at, highlighters, span) {\n this.at = at;\n this.highlighters = highlighters;\n this.span = span;\n this.class = \"\";\n }\n startSpan(at, cls) {\n if (cls != this.class) {\n this.flush(at);\n if (at > this.at)\n this.at = at;\n this.class = cls;\n }\n }\n flush(to) {\n if (to > this.at && this.class)\n this.span(this.at, to, this.class);\n }\n highlightRange(cursor, from, to, inheritedClass, highlighters) {\n let { type, from: start, to: end } = cursor;\n if (start >= to || end <= from)\n return;\n if (type.isTop)\n highlighters = this.highlighters.filter(h => !h.scope || h.scope(type));\n let cls = inheritedClass;\n let rule = getStyleTags(cursor) || Rule.empty;\n let tagCls = highlightTags(highlighters, rule.tags);\n if (tagCls) {\n if (cls)\n cls += \" \";\n cls += tagCls;\n if (rule.mode == 1 /* Mode.Inherit */)\n inheritedClass += (inheritedClass ? \" \" : \"\") + tagCls;\n }\n this.startSpan(Math.max(from, start), cls);\n if (rule.opaque)\n return;\n let mounted = cursor.tree && cursor.tree.prop(NodeProp.mounted);\n if (mounted && mounted.overlay) {\n let inner = cursor.node.enter(mounted.overlay[0].from + start, 1);\n let innerHighlighters = this.highlighters.filter(h => !h.scope || h.scope(mounted.tree.type));\n let hasChild = cursor.firstChild();\n for (let i = 0, pos = start;; i++) {\n let next = i < mounted.overlay.length ? mounted.overlay[i] : null;\n let nextPos = next ? next.from + start : end;\n let rangeFrom = Math.max(from, pos), rangeTo = Math.min(to, nextPos);\n if (rangeFrom < rangeTo && hasChild) {\n while (cursor.from < rangeTo) {\n this.highlightRange(cursor, rangeFrom, rangeTo, inheritedClass, highlighters);\n this.startSpan(Math.min(rangeTo, cursor.to), cls);\n if (cursor.to >= nextPos || !cursor.nextSibling())\n break;\n }\n }\n if (!next || nextPos > to)\n break;\n pos = next.to + start;\n if (pos > from) {\n this.highlightRange(inner.cursor(), Math.max(from, next.from + start), Math.min(to, pos), \"\", innerHighlighters);\n this.startSpan(Math.min(to, pos), cls);\n }\n }\n if (hasChild)\n cursor.parent();\n }\n else if (cursor.firstChild()) {\n if (mounted)\n inheritedClass = \"\";\n do {\n if (cursor.to <= from)\n continue;\n if (cursor.from >= to)\n break;\n this.highlightRange(cursor, from, to, inheritedClass, highlighters);\n this.startSpan(Math.min(to, cursor.to), cls);\n } while (cursor.nextSibling());\n cursor.parent();\n }\n }\n}\n/**\nMatch a syntax node's [highlight rules](#highlight.styleTags). If\nthere's a match, return its set of tags, and whether it is\nopaque (uses a `!`) or applies to all child nodes (`/...`).\n*/\nfunction getStyleTags(node) {\n let rule = node.type.prop(ruleNodeProp);\n while (rule && rule.context && !node.matchContext(rule.context))\n rule = rule.next;\n return rule || null;\n}\nconst t = Tag.define;\nconst comment = t(), name = t(), typeName = t(name), propertyName = t(name), literal = t(), string = t(literal), number = t(literal), content = t(), heading = t(content), keyword = t(), operator = t(), punctuation = t(), bracket = t(punctuation), meta = t();\n/**\nThe default set of highlighting [tags](#highlight.Tag).\n\nThis collection is heavily biased towards programming languages,\nand necessarily incomplete. A full ontology of syntactic\nconstructs would fill a stack of books, and be impractical to\nwrite themes for. So try to make do with this set. If all else\nfails, [open an\nissue](https://github.com/codemirror/codemirror.next) to propose a\nnew tag, or [define](#highlight.Tag^define) a local custom tag for\nyour use case.\n\nNote that it is not obligatory to always attach the most specific\ntag possible to an element—if your grammar can't easily\ndistinguish a certain type of element (such as a local variable),\nit is okay to style it as its more general variant (a variable).\n\nFor tags that extend some parent tag, the documentation links to\nthe parent.\n*/\nconst tags = {\n /**\n A comment.\n */\n comment,\n /**\n A line [comment](#highlight.tags.comment).\n */\n lineComment: t(comment),\n /**\n A block [comment](#highlight.tags.comment).\n */\n blockComment: t(comment),\n /**\n A documentation [comment](#highlight.tags.comment).\n */\n docComment: t(comment),\n /**\n Any kind of identifier.\n */\n name,\n /**\n The [name](#highlight.tags.name) of a variable.\n */\n variableName: t(name),\n /**\n A type [name](#highlight.tags.name).\n */\n typeName: typeName,\n /**\n A tag name (subtag of [`typeName`](#highlight.tags.typeName)).\n */\n tagName: t(typeName),\n /**\n A property or field [name](#highlight.tags.name).\n */\n propertyName: propertyName,\n /**\n An attribute name (subtag of [`propertyName`](#highlight.tags.propertyName)).\n */\n attributeName: t(propertyName),\n /**\n The [name](#highlight.tags.name) of a class.\n */\n className: t(name),\n /**\n A label [name](#highlight.tags.name).\n */\n labelName: t(name),\n /**\n A namespace [name](#highlight.tags.name).\n */\n namespace: t(name),\n /**\n The [name](#highlight.tags.name) of a macro.\n */\n macroName: t(name),\n /**\n A literal value.\n */\n literal,\n /**\n A string [literal](#highlight.tags.literal).\n */\n string,\n /**\n A documentation [string](#highlight.tags.string).\n */\n docString: t(string),\n /**\n A character literal (subtag of [string](#highlight.tags.string)).\n */\n character: t(string),\n /**\n An attribute value (subtag of [string](#highlight.tags.string)).\n */\n attributeValue: t(string),\n /**\n A number [literal](#highlight.tags.literal).\n */\n number,\n /**\n An integer [number](#highlight.tags.number) literal.\n */\n integer: t(number),\n /**\n A floating-point [number](#highlight.tags.number) literal.\n */\n float: t(number),\n /**\n A boolean [literal](#highlight.tags.literal).\n */\n bool: t(literal),\n /**\n Regular expression [literal](#highlight.tags.literal).\n */\n regexp: t(literal),\n /**\n An escape [literal](#highlight.tags.literal), for example a\n backslash escape in a string.\n */\n escape: t(literal),\n /**\n A color [literal](#highlight.tags.literal).\n */\n color: t(literal),\n /**\n A URL [literal](#highlight.tags.literal).\n */\n url: t(literal),\n /**\n A language keyword.\n */\n keyword,\n /**\n The [keyword](#highlight.tags.keyword) for the self or this\n object.\n */\n self: t(keyword),\n /**\n The [keyword](#highlight.tags.keyword) for null.\n */\n null: t(keyword),\n /**\n A [keyword](#highlight.tags.keyword) denoting some atomic value.\n */\n atom: t(keyword),\n /**\n A [keyword](#highlight.tags.keyword) that represents a unit.\n */\n unit: t(keyword),\n /**\n A modifier [keyword](#highlight.tags.keyword).\n */\n modifier: t(keyword),\n /**\n A [keyword](#highlight.tags.keyword) that acts as an operator.\n */\n operatorKeyword: t(keyword),\n /**\n A control-flow related [keyword](#highlight.tags.keyword).\n */\n controlKeyword: t(keyword),\n /**\n A [keyword](#highlight.tags.keyword) that defines something.\n */\n definitionKeyword: t(keyword),\n /**\n A [keyword](#highlight.tags.keyword) related to defining or\n interfacing with modules.\n */\n moduleKeyword: t(keyword),\n /**\n An operator.\n */\n operator,\n /**\n An [operator](#highlight.tags.operator) that dereferences something.\n */\n derefOperator: t(operator),\n /**\n Arithmetic-related [operator](#highlight.tags.operator).\n */\n arithmeticOperator: t(operator),\n /**\n Logical [operator](#highlight.tags.operator).\n */\n logicOperator: t(operator),\n /**\n Bit [operator](#highlight.tags.operator).\n */\n bitwiseOperator: t(operator),\n /**\n Comparison [operator](#highlight.tags.operator).\n */\n compareOperator: t(operator),\n /**\n [Operator](#highlight.tags.operator) that updates its operand.\n */\n updateOperator: t(operator),\n /**\n [Operator](#highlight.tags.operator) that defines something.\n */\n definitionOperator: t(operator),\n /**\n Type-related [operator](#highlight.tags.operator).\n */\n typeOperator: t(operator),\n /**\n Control-flow [operator](#highlight.tags.operator).\n */\n controlOperator: t(operator),\n /**\n Program or markup punctuation.\n */\n punctuation,\n /**\n [Punctuation](#highlight.tags.punctuation) that separates\n things.\n */\n separator: t(punctuation),\n /**\n Bracket-style [punctuation](#highlight.tags.punctuation).\n */\n bracket,\n /**\n Angle [brackets](#highlight.tags.bracket) (usually `<` and `>`\n tokens).\n */\n angleBracket: t(bracket),\n /**\n Square [brackets](#highlight.tags.bracket) (usually `[` and `]`\n tokens).\n */\n squareBracket: t(bracket),\n /**\n Parentheses (usually `(` and `)` tokens). Subtag of\n [bracket](#highlight.tags.bracket).\n */\n paren: t(bracket),\n /**\n Braces (usually `{` and `}` tokens). Subtag of\n [bracket](#highlight.tags.bracket).\n */\n brace: t(bracket),\n /**\n Content, for example plain text in XML or markup documents.\n */\n content,\n /**\n [Content](#highlight.tags.content) that represents a heading.\n */\n heading,\n /**\n A level 1 [heading](#highlight.tags.heading).\n */\n heading1: t(heading),\n /**\n A level 2 [heading](#highlight.tags.heading).\n */\n heading2: t(heading),\n /**\n A level 3 [heading](#highlight.tags.heading).\n */\n heading3: t(heading),\n /**\n A level 4 [heading](#highlight.tags.heading).\n */\n heading4: t(heading),\n /**\n A level 5 [heading](#highlight.tags.heading).\n */\n heading5: t(heading),\n /**\n A level 6 [heading](#highlight.tags.heading).\n */\n heading6: t(heading),\n /**\n A prose separator (such as a horizontal rule).\n */\n contentSeparator: t(content),\n /**\n [Content](#highlight.tags.content) that represents a list.\n */\n list: t(content),\n /**\n [Content](#highlight.tags.content) that represents a quote.\n */\n quote: t(content),\n /**\n [Content](#highlight.tags.content) that is emphasized.\n */\n emphasis: t(content),\n /**\n [Content](#highlight.tags.content) that is styled strong.\n */\n strong: t(content),\n /**\n [Content](#highlight.tags.content) that is part of a link.\n */\n link: t(content),\n /**\n [Content](#highlight.tags.content) that is styled as code or\n monospace.\n */\n monospace: t(content),\n /**\n [Content](#highlight.tags.content) that has a strike-through\n style.\n */\n strikethrough: t(content),\n /**\n Inserted text in a change-tracking format.\n */\n inserted: t(),\n /**\n Deleted text.\n */\n deleted: t(),\n /**\n Changed text.\n */\n changed: t(),\n /**\n An invalid or unsyntactic element.\n */\n invalid: t(),\n /**\n Metadata or meta-instruction.\n */\n meta,\n /**\n [Metadata](#highlight.tags.meta) that applies to the entire\n document.\n */\n documentMeta: t(meta),\n /**\n [Metadata](#highlight.tags.meta) that annotates or adds\n attributes to a given syntactic element.\n */\n annotation: t(meta),\n /**\n Processing instruction or preprocessor directive. Subtag of\n [meta](#highlight.tags.meta).\n */\n processingInstruction: t(meta),\n /**\n [Modifier](#highlight.Tag^defineModifier) that indicates that a\n given element is being defined. Expected to be used with the\n various [name](#highlight.tags.name) tags.\n */\n definition: Tag.defineModifier(),\n /**\n [Modifier](#highlight.Tag^defineModifier) that indicates that\n something is constant. Mostly expected to be used with\n [variable names](#highlight.tags.variableName).\n */\n constant: Tag.defineModifier(),\n /**\n [Modifier](#highlight.Tag^defineModifier) used to indicate that\n a [variable](#highlight.tags.variableName) or [property\n name](#highlight.tags.propertyName) is being called or defined\n as a function.\n */\n function: Tag.defineModifier(),\n /**\n [Modifier](#highlight.Tag^defineModifier) that can be applied to\n [names](#highlight.tags.name) to indicate that they belong to\n the language's standard environment.\n */\n standard: Tag.defineModifier(),\n /**\n [Modifier](#highlight.Tag^defineModifier) that indicates a given\n [names](#highlight.tags.name) is local to some scope.\n */\n local: Tag.defineModifier(),\n /**\n A generic variant [modifier](#highlight.Tag^defineModifier) that\n can be used to tag language-specific alternative variants of\n some common tag. It is recommended for themes to define special\n forms of at least the [string](#highlight.tags.string) and\n [variable name](#highlight.tags.variableName) tags, since those\n come up a lot.\n */\n special: Tag.defineModifier()\n};\n/**\nThis is a highlighter that adds stable, predictable classes to\ntokens, for styling with external CSS.\n\nThe following tags are mapped to their name prefixed with `\"tok-\"`\n(for example `\"tok-comment\"`):\n\n* [`link`](#highlight.tags.link)\n* [`heading`](#highlight.tags.heading)\n* [`emphasis`](#highlight.tags.emphasis)\n* [`strong`](#highlight.tags.strong)\n* [`keyword`](#highlight.tags.keyword)\n* [`atom`](#highlight.tags.atom)\n* [`bool`](#highlight.tags.bool)\n* [`url`](#highlight.tags.url)\n* [`labelName`](#highlight.tags.labelName)\n* [`inserted`](#highlight.tags.inserted)\n* [`deleted`](#highlight.tags.deleted)\n* [`literal`](#highlight.tags.literal)\n* [`string`](#highlight.tags.string)\n* [`number`](#highlight.tags.number)\n* [`variableName`](#highlight.tags.variableName)\n* [`typeName`](#highlight.tags.typeName)\n* [`namespace`](#highlight.tags.namespace)\n* [`className`](#highlight.tags.className)\n* [`macroName`](#highlight.tags.macroName)\n* [`propertyName`](#highlight.tags.propertyName)\n* [`operator`](#highlight.tags.operator)\n* [`comment`](#highlight.tags.comment)\n* [`meta`](#highlight.tags.meta)\n* [`punctuation`](#highlight.tags.punctuation)\n* [`invalid`](#highlight.tags.invalid)\n\nIn addition, these mappings are provided:\n\n* [`regexp`](#highlight.tags.regexp),\n [`escape`](#highlight.tags.escape), and\n [`special`](#highlight.tags.special)[`(string)`](#highlight.tags.string)\n are mapped to `\"tok-string2\"`\n* [`special`](#highlight.tags.special)[`(variableName)`](#highlight.tags.variableName)\n to `\"tok-variableName2\"`\n* [`local`](#highlight.tags.local)[`(variableName)`](#highlight.tags.variableName)\n to `\"tok-variableName tok-local\"`\n* [`definition`](#highlight.tags.definition)[`(variableName)`](#highlight.tags.variableName)\n to `\"tok-variableName tok-definition\"`\n* [`definition`](#highlight.tags.definition)[`(propertyName)`](#highlight.tags.propertyName)\n to `\"tok-propertyName tok-definition\"`\n*/\nconst classHighlighter = tagHighlighter([\n { tag: tags.link, class: \"tok-link\" },\n { tag: tags.heading, class: \"tok-heading\" },\n { tag: tags.emphasis, class: \"tok-emphasis\" },\n { tag: tags.strong, class: \"tok-strong\" },\n { tag: tags.keyword, class: \"tok-keyword\" },\n { tag: tags.atom, class: \"tok-atom\" },\n { tag: tags.bool, class: \"tok-bool\" },\n { tag: tags.url, class: \"tok-url\" },\n { tag: tags.labelName, class: \"tok-labelName\" },\n { tag: tags.inserted, class: \"tok-inserted\" },\n { tag: tags.deleted, class: \"tok-deleted\" },\n { tag: tags.literal, class: \"tok-literal\" },\n { tag: tags.string, class: \"tok-string\" },\n { tag: tags.number, class: \"tok-number\" },\n { tag: [tags.regexp, tags.escape, tags.special(tags.string)], class: \"tok-string2\" },\n { tag: tags.variableName, class: \"tok-variableName\" },\n { tag: tags.local(tags.variableName), class: \"tok-variableName tok-local\" },\n { tag: tags.definition(tags.variableName), class: \"tok-variableName tok-definition\" },\n { tag: tags.special(tags.variableName), class: \"tok-variableName2\" },\n { tag: tags.definition(tags.propertyName), class: \"tok-propertyName tok-definition\" },\n { tag: tags.typeName, class: \"tok-typeName\" },\n { tag: tags.namespace, class: \"tok-namespace\" },\n { tag: tags.className, class: \"tok-className\" },\n { tag: tags.macroName, class: \"tok-macroName\" },\n { tag: tags.propertyName, class: \"tok-propertyName\" },\n { tag: tags.operator, class: \"tok-operator\" },\n { tag: tags.comment, class: \"tok-comment\" },\n { tag: tags.meta, class: \"tok-meta\" },\n { tag: tags.invalid, class: \"tok-invalid\" },\n { tag: tags.punctuation, class: \"tok-punctuation\" }\n]);\n\nexport { Tag, classHighlighter, getStyleTags, highlightCode, highlightTree, styleTags, tagHighlighter, tags };\n"],"names":[],"sourceRoot":""}
@@ -8,9 +8,9 @@ __webpack_require__.r(__webpack_exports__);
8
8
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9
9
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
10
10
  /* harmony export */ });
11
- /* harmony import */ var _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16977);
11
+ /* harmony import */ var _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45972);
12
12
  /* harmony import */ var _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_0__);
13
- /* harmony import */ var _jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(46343);
13
+ /* harmony import */ var _jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(77448);
14
14
  /* harmony import */ var _jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyter_notebook_application__WEBPACK_IMPORTED_MODULE_1__);
15
15
 
16
16
 
@@ -61,4 +61,4 @@ const plugins = [notebookShellWidgetListener];
61
61
  /***/ })
62
62
 
63
63
  }]);
64
- //# sourceMappingURL=4382.c1adbfb7b5186a697e8f.js.map?v=c1adbfb7b5186a697e8f
64
+ //# sourceMappingURL=4382.24932cb1b66431a2cfc7.js.map?v=24932cb1b66431a2cfc7
@@ -1 +1 @@
1
- {"version":3,"file":"4382.c1adbfb7b5186a697e8f.js?v=c1adbfb7b5186a697e8f","mappings":";;;;;;;;;;;;;;AAAqE;AACN;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yEAAc,EAAE,+EAAuB;AACtD;AACA;AACA;AACA;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,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iEAAe,OAAO,EAAC","sources":["webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/documentsearch-extension/lib/index.js"],"sourcesContent":["import { ISearchProviderRegistry } from '@jupyterlab/documentsearch';\nimport { INotebookShell } from '@jupyter-notebook/application';\nconst SEARCHABLE_CLASS = 'jp-mod-searchable';\n/**\n * A plugin to add document search functionalities.\n */\nconst notebookShellWidgetListener = {\n id: '@jupyter-notebook/documentsearch-extension:notebookShellWidgetListener',\n requires: [INotebookShell, ISearchProviderRegistry],\n autoStart: true,\n description: 'A plugin to add document search functionalities',\n activate: (app, notebookShell, registry) => {\n // If a given widget is searchable, apply the searchable class.\n // If it's not searchable, remove the class.\n const transformWidgetSearchability = (widget) => {\n if (!widget) {\n return;\n }\n if (registry.hasProvider(widget)) {\n widget.addClass(SEARCHABLE_CLASS);\n }\n else {\n widget.removeClass(SEARCHABLE_CLASS);\n }\n };\n // Update searchability of the active widget when the registry\n // changes, in case a provider for the current widget was added\n // or removed\n registry.changed.connect(() => transformWidgetSearchability(notebookShell.currentWidget));\n // Apply the searchable class only to the active widget if it is actually\n // searchable. Remove the searchable class from a widget when it's\n // no longer active.\n notebookShell.currentChanged.connect((_, args) => {\n if (notebookShell.currentWidget) {\n transformWidgetSearchability(notebookShell.currentWidget);\n }\n });\n },\n};\n/**\n * Export the plugins as default.\n */\nconst plugins = [notebookShellWidgetListener];\nexport default plugins;\n"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"4382.24932cb1b66431a2cfc7.js?v=24932cb1b66431a2cfc7","mappings":";;;;;;;;;;;;;;AAAqE;AACN;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yEAAc,EAAE,+EAAuB;AACtD;AACA;AACA;AACA;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,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iEAAe,OAAO,EAAC","sources":["webpack://_JUPYTERLAB.CORE_OUTPUT/../packages/documentsearch-extension/lib/index.js"],"sourcesContent":["import { ISearchProviderRegistry } from '@jupyterlab/documentsearch';\nimport { INotebookShell } from '@jupyter-notebook/application';\nconst SEARCHABLE_CLASS = 'jp-mod-searchable';\n/**\n * A plugin to add document search functionalities.\n */\nconst notebookShellWidgetListener = {\n id: '@jupyter-notebook/documentsearch-extension:notebookShellWidgetListener',\n requires: [INotebookShell, ISearchProviderRegistry],\n autoStart: true,\n description: 'A plugin to add document search functionalities',\n activate: (app, notebookShell, registry) => {\n // If a given widget is searchable, apply the searchable class.\n // If it's not searchable, remove the class.\n const transformWidgetSearchability = (widget) => {\n if (!widget) {\n return;\n }\n if (registry.hasProvider(widget)) {\n widget.addClass(SEARCHABLE_CLASS);\n }\n else {\n widget.removeClass(SEARCHABLE_CLASS);\n }\n };\n // Update searchability of the active widget when the registry\n // changes, in case a provider for the current widget was added\n // or removed\n registry.changed.connect(() => transformWidgetSearchability(notebookShell.currentWidget));\n // Apply the searchable class only to the active widget if it is actually\n // searchable. Remove the searchable class from a widget when it's\n // no longer active.\n notebookShell.currentChanged.connect((_, args) => {\n if (notebookShell.currentWidget) {\n transformWidgetSearchability(notebookShell.currentWidget);\n }\n });\n },\n};\n/**\n * Export the plugins as default.\n */\nconst plugins = [notebookShellWidgetListener];\nexport default plugins;\n"],"names":[],"sourceRoot":""}
@@ -2362,7 +2362,7 @@ const Utils = {
2362
2362
 
2363
2363
  /***/ }),
2364
2364
 
2365
- /***/ 91138:
2365
+ /***/ 28272:
2366
2366
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2367
2367
 
2368
2368
  "use strict";
@@ -2746,7 +2746,7 @@ Hash.prototype.set = _hashSet;
2746
2746
  /* harmony default export */ const _Hash = (Hash);
2747
2747
 
2748
2748
  // EXTERNAL MODULE: ../node_modules/lodash-es/_ListCache.js + 6 modules
2749
- var _ListCache = __webpack_require__(91138);
2749
+ var _ListCache = __webpack_require__(28272);
2750
2750
  // EXTERNAL MODULE: ../node_modules/lodash-es/_Map.js
2751
2751
  var _Map = __webpack_require__(81700);
2752
2752
  ;// CONCATENATED MODULE: ../node_modules/lodash-es/_mapCacheClear.js
@@ -2957,7 +2957,7 @@ __webpack_require__.d(__webpack_exports__, {
2957
2957
  });
2958
2958
 
2959
2959
  // EXTERNAL MODULE: ../node_modules/lodash-es/_ListCache.js + 6 modules
2960
- var _ListCache = __webpack_require__(91138);
2960
+ var _ListCache = __webpack_require__(28272);
2961
2961
  ;// CONCATENATED MODULE: ../node_modules/lodash-es/_stackClear.js
2962
2962
 
2963
2963
 
@@ -20913,4 +20913,4 @@ function dedent(templ) {
20913
20913
  /***/ })
20914
20914
 
20915
20915
  }]);
20916
- //# sourceMappingURL=4406.aa6e48d547067e1f6a24.js.map?v=aa6e48d547067e1f6a24
20916
+ //# sourceMappingURL=4406.02ce3b8ea2a22f9d7909.js.map?v=02ce3b8ea2a22f9d7909