@opensumi/ide-notebook 3.4.5-next-1730119322.0

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.
Files changed (197) hide show
  1. package/README.md +33 -0
  2. package/lib/browser/index.d.ts +12 -0
  3. package/lib/browser/index.d.ts.map +1 -0
  4. package/lib/browser/index.js +49 -0
  5. package/lib/browser/index.js.map +1 -0
  6. package/lib/browser/kernel-panel/collapse/collapse-content.d.ts +10 -0
  7. package/lib/browser/kernel-panel/collapse/collapse-content.d.ts.map +1 -0
  8. package/lib/browser/kernel-panel/collapse/collapse-content.js +27 -0
  9. package/lib/browser/kernel-panel/collapse/collapse-content.js.map +1 -0
  10. package/lib/browser/kernel-panel/collapse/icon.d.ts +7 -0
  11. package/lib/browser/kernel-panel/collapse/icon.d.ts.map +1 -0
  12. package/lib/browser/kernel-panel/collapse/icon.js +64 -0
  13. package/lib/browser/kernel-panel/collapse/icon.js.map +1 -0
  14. package/lib/browser/kernel-panel/collapse/index.d.ts +5 -0
  15. package/lib/browser/kernel-panel/collapse/index.d.ts.map +1 -0
  16. package/lib/browser/kernel-panel/collapse/index.js +66 -0
  17. package/lib/browser/kernel-panel/collapse/index.js.map +1 -0
  18. package/lib/browser/kernel-panel/collapse/index.less +95 -0
  19. package/lib/browser/kernel-panel/collapse/kernel-collapse-content-item.d.ts +9 -0
  20. package/lib/browser/kernel-panel/collapse/kernel-collapse-content-item.d.ts.map +1 -0
  21. package/lib/browser/kernel-panel/collapse/kernel-collapse-content-item.js +41 -0
  22. package/lib/browser/kernel-panel/collapse/kernel-collapse-content-item.js.map +1 -0
  23. package/lib/browser/kernel-panel/collapse/kernel-collapse-content.d.ts +10 -0
  24. package/lib/browser/kernel-panel/collapse/kernel-collapse-content.d.ts.map +1 -0
  25. package/lib/browser/kernel-panel/collapse/kernel-collapse-content.js +4 -0
  26. package/lib/browser/kernel-panel/collapse/kernel-collapse-content.js.map +1 -0
  27. package/lib/browser/kernel-panel/collapse/page-collapse-content.d.ts +10 -0
  28. package/lib/browser/kernel-panel/collapse/page-collapse-content.d.ts.map +1 -0
  29. package/lib/browser/kernel-panel/collapse/page-collapse-content.js +32 -0
  30. package/lib/browser/kernel-panel/collapse/page-collapse-content.js.map +1 -0
  31. package/lib/browser/kernel-panel/index.d.ts +5 -0
  32. package/lib/browser/kernel-panel/index.d.ts.map +1 -0
  33. package/lib/browser/kernel-panel/index.js +5 -0
  34. package/lib/browser/kernel-panel/index.js.map +1 -0
  35. package/lib/browser/kernel-panel/index.less +20 -0
  36. package/lib/browser/kernel-panel/kernel-panel-view.d.ts +4 -0
  37. package/lib/browser/kernel-panel/kernel-panel-view.d.ts.map +1 -0
  38. package/lib/browser/kernel-panel/kernel-panel-view.js +72 -0
  39. package/lib/browser/kernel-panel/kernel-panel-view.js.map +1 -0
  40. package/lib/browser/kernel-panel/kernel.panel.color.tokens.d.ts +2 -0
  41. package/lib/browser/kernel-panel/kernel.panel.color.tokens.d.ts.map +1 -0
  42. package/lib/browser/kernel-panel/kernel.panel.color.tokens.js +10 -0
  43. package/lib/browser/kernel-panel/kernel.panel.color.tokens.js.map +1 -0
  44. package/lib/browser/kernel-panel/kernel.panel.contribution.d.ts +7 -0
  45. package/lib/browser/kernel-panel/kernel.panel.contribution.d.ts.map +1 -0
  46. package/lib/browser/kernel-panel/kernel.panel.contribution.js +32 -0
  47. package/lib/browser/kernel-panel/kernel.panel.contribution.js.map +1 -0
  48. package/lib/browser/kernel-panel/kernel.panel.protocol.d.ts +25 -0
  49. package/lib/browser/kernel-panel/kernel.panel.protocol.d.ts.map +1 -0
  50. package/lib/browser/kernel-panel/kernel.panel.protocol.js +7 -0
  51. package/lib/browser/kernel-panel/kernel.panel.protocol.js.map +1 -0
  52. package/lib/browser/libro/editor/editor-contribution.d.ts +13 -0
  53. package/lib/browser/libro/editor/editor-contribution.d.ts.map +1 -0
  54. package/lib/browser/libro/editor/editor-contribution.js +30 -0
  55. package/lib/browser/libro/editor/editor-contribution.js.map +1 -0
  56. package/lib/browser/libro/editor/index.less +48 -0
  57. package/lib/browser/libro/editor/keybind-handler.d.ts +14 -0
  58. package/lib/browser/libro/editor/keybind-handler.d.ts.map +1 -0
  59. package/lib/browser/libro/editor/keybind-handler.js +132 -0
  60. package/lib/browser/libro/editor/keybind-handler.js.map +1 -0
  61. package/lib/browser/libro/editor/module.d.ts +3 -0
  62. package/lib/browser/libro/editor/module.d.ts.map +1 -0
  63. package/lib/browser/libro/editor/module.js +22 -0
  64. package/lib/browser/libro/editor/module.js.map +1 -0
  65. package/lib/browser/libro/editor/opensumi-editor.d.ts +251 -0
  66. package/lib/browser/libro/editor/opensumi-editor.d.ts.map +1 -0
  67. package/lib/browser/libro/editor/opensumi-editor.js +567 -0
  68. package/lib/browser/libro/editor/opensumi-editor.js.map +1 -0
  69. package/lib/browser/libro/index.d.ts +4 -0
  70. package/lib/browser/libro/index.d.ts.map +1 -0
  71. package/lib/browser/libro/index.js +4 -0
  72. package/lib/browser/libro/index.js.map +1 -0
  73. package/lib/browser/libro/libro-opensumi-content-contribution.d.ts +9 -0
  74. package/lib/browser/libro/libro-opensumi-content-contribution.d.ts.map +1 -0
  75. package/lib/browser/libro/libro-opensumi-content-contribution.js +71 -0
  76. package/lib/browser/libro/libro-opensumi-content-contribution.js.map +1 -0
  77. package/lib/browser/libro/libro-opensumi-save-content-contribution.d.ts +10 -0
  78. package/lib/browser/libro/libro-opensumi-save-content-contribution.d.ts.map +1 -0
  79. package/lib/browser/libro/libro-opensumi-save-content-contribution.js +51 -0
  80. package/lib/browser/libro/libro-opensumi-save-content-contribution.js.map +1 -0
  81. package/lib/browser/libro/mana-module.d.ts +3 -0
  82. package/lib/browser/libro/mana-module.d.ts.map +1 -0
  83. package/lib/browser/libro/mana-module.js +8 -0
  84. package/lib/browser/libro/mana-module.js.map +1 -0
  85. package/lib/browser/libro-keybind-contribution.d.ts +19 -0
  86. package/lib/browser/libro-keybind-contribution.d.ts.map +1 -0
  87. package/lib/browser/libro-keybind-contribution.js +142 -0
  88. package/lib/browser/libro-keybind-contribution.js.map +1 -0
  89. package/lib/browser/libro-opener.d.ts +12 -0
  90. package/lib/browser/libro-opener.d.ts.map +1 -0
  91. package/lib/browser/libro-opener.js +83 -0
  92. package/lib/browser/libro-opener.js.map +1 -0
  93. package/lib/browser/libro.color.tokens.d.ts +2 -0
  94. package/lib/browser/libro.color.tokens.d.ts.map +1 -0
  95. package/lib/browser/libro.color.tokens.js +9 -0
  96. package/lib/browser/libro.color.tokens.js.map +1 -0
  97. package/lib/browser/libro.command.d.ts +6 -0
  98. package/lib/browser/libro.command.d.ts.map +1 -0
  99. package/lib/browser/libro.command.js +66 -0
  100. package/lib/browser/libro.command.js.map +1 -0
  101. package/lib/browser/libro.contribution.d.ts +29 -0
  102. package/lib/browser/libro.contribution.d.ts.map +1 -0
  103. package/lib/browser/libro.contribution.js +140 -0
  104. package/lib/browser/libro.contribution.js.map +1 -0
  105. package/lib/browser/libro.module.less +40 -0
  106. package/lib/browser/libro.protocol.d.ts +3 -0
  107. package/lib/browser/libro.protocol.d.ts.map +1 -0
  108. package/lib/browser/libro.protocol.js +3 -0
  109. package/lib/browser/libro.protocol.js.map +1 -0
  110. package/lib/browser/libro.service.d.ts +24 -0
  111. package/lib/browser/libro.service.d.ts.map +1 -0
  112. package/lib/browser/libro.service.js +68 -0
  113. package/lib/browser/libro.service.js.map +1 -0
  114. package/lib/browser/libro.view.d.ts +3 -0
  115. package/lib/browser/libro.view.d.ts.map +1 -0
  116. package/lib/browser/libro.view.js +54 -0
  117. package/lib/browser/libro.view.js.map +1 -0
  118. package/lib/browser/libro.view.tracker.d.ts +6 -0
  119. package/lib/browser/libro.view.tracker.d.ts.map +1 -0
  120. package/lib/browser/libro.view.tracker.js +28 -0
  121. package/lib/browser/libro.view.tracker.js.map +1 -0
  122. package/lib/browser/mana/index.d.ts +8 -0
  123. package/lib/browser/mana/index.d.ts.map +1 -0
  124. package/lib/browser/mana/index.js +15 -0
  125. package/lib/browser/mana/index.js.map +1 -0
  126. package/lib/browser/notebook-document-content-provider.d.ts +22 -0
  127. package/lib/browser/notebook-document-content-provider.d.ts.map +1 -0
  128. package/lib/browser/notebook-document-content-provider.js +80 -0
  129. package/lib/browser/notebook-document-content-provider.js.map +1 -0
  130. package/lib/browser/notebook.service.d.ts +27 -0
  131. package/lib/browser/notebook.service.d.ts.map +1 -0
  132. package/lib/browser/notebook.service.js +186 -0
  133. package/lib/browser/notebook.service.js.map +1 -0
  134. package/lib/browser/toc/index.d.ts +4 -0
  135. package/lib/browser/toc/index.d.ts.map +1 -0
  136. package/lib/browser/toc/index.js +4 -0
  137. package/lib/browser/toc/index.js.map +1 -0
  138. package/lib/browser/toc/toc.contribution.d.ts +6 -0
  139. package/lib/browser/toc/toc.contribution.d.ts.map +1 -0
  140. package/lib/browser/toc/toc.contribution.js +25 -0
  141. package/lib/browser/toc/toc.contribution.js.map +1 -0
  142. package/lib/browser/toc/toc.module.less +23 -0
  143. package/lib/browser/toc/toc.panel.color.tokens.d.ts +2 -0
  144. package/lib/browser/toc/toc.panel.color.tokens.d.ts.map +1 -0
  145. package/lib/browser/toc/toc.panel.color.tokens.js +6 -0
  146. package/lib/browser/toc/toc.panel.color.tokens.js.map +1 -0
  147. package/lib/browser/toc/toc.panel.d.ts +6 -0
  148. package/lib/browser/toc/toc.panel.d.ts.map +1 -0
  149. package/lib/browser/toc/toc.panel.js +61 -0
  150. package/lib/browser/toc/toc.panel.js.map +1 -0
  151. package/lib/index.d.ts +2 -0
  152. package/lib/index.d.ts.map +1 -0
  153. package/lib/index.js +2 -0
  154. package/lib/index.js.map +1 -0
  155. package/package.json +42 -0
  156. package/src/browser/index.ts +44 -0
  157. package/src/browser/kernel-panel/collapse/collapse-content.tsx +46 -0
  158. package/src/browser/kernel-panel/collapse/icon.tsx +171 -0
  159. package/src/browser/kernel-panel/collapse/index.less +95 -0
  160. package/src/browser/kernel-panel/collapse/index.tsx +111 -0
  161. package/src/browser/kernel-panel/collapse/kernel-collapse-content-item.tsx +77 -0
  162. package/src/browser/kernel-panel/collapse/kernel-collapse-content.tsx +17 -0
  163. package/src/browser/kernel-panel/collapse/page-collapse-content.tsx +53 -0
  164. package/src/browser/kernel-panel/index.less +20 -0
  165. package/src/browser/kernel-panel/index.ts +4 -0
  166. package/src/browser/kernel-panel/kernel-panel-view.tsx +104 -0
  167. package/src/browser/kernel-panel/kernel.panel.color.tokens.ts +39 -0
  168. package/src/browser/kernel-panel/kernel.panel.contribution.ts +32 -0
  169. package/src/browser/kernel-panel/kernel.panel.protocol.ts +24 -0
  170. package/src/browser/libro/editor/editor-contribution.ts +41 -0
  171. package/src/browser/libro/editor/index.less +48 -0
  172. package/src/browser/libro/editor/keybind-handler.ts +133 -0
  173. package/src/browser/libro/editor/module.ts +30 -0
  174. package/src/browser/libro/editor/opensumi-editor.ts +826 -0
  175. package/src/browser/libro/index.ts +3 -0
  176. package/src/browser/libro/libro-opensumi-content-contribution.ts +63 -0
  177. package/src/browser/libro/libro-opensumi-save-content-contribution.ts +43 -0
  178. package/src/browser/libro/mana-module.ts +9 -0
  179. package/src/browser/libro-keybind-contribution.ts +147 -0
  180. package/src/browser/libro-opener.ts +96 -0
  181. package/src/browser/libro.color.tokens.ts +32 -0
  182. package/src/browser/libro.command.ts +63 -0
  183. package/src/browser/libro.contribution.tsx +189 -0
  184. package/src/browser/libro.module.less +40 -0
  185. package/src/browser/libro.protocol.ts +2 -0
  186. package/src/browser/libro.service.ts +85 -0
  187. package/src/browser/libro.view.tracker.ts +18 -0
  188. package/src/browser/libro.view.tsx +62 -0
  189. package/src/browser/mana/index.ts +20 -0
  190. package/src/browser/notebook-document-content-provider.ts +100 -0
  191. package/src/browser/notebook.service.ts +195 -0
  192. package/src/browser/toc/index.ts +3 -0
  193. package/src/browser/toc/toc.contribution.ts +24 -0
  194. package/src/browser/toc/toc.module.less +23 -0
  195. package/src/browser/toc/toc.panel.color.tokens.ts +11 -0
  196. package/src/browser/toc/toc.panel.tsx +66 -0
  197. package/src/index.ts +1 -0
@@ -0,0 +1,186 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { CellUri, LibroJupyterView, LibroService, MIME } from '@difizen/libro-jupyter/noeditor';
3
+ import { Container, getOrigin } from '@difizen/mana-app';
4
+ import { Autowired, Injectable } from '@opensumi/di';
5
+ import { ClientAppContribution, URI } from '@opensumi/ide-core-browser';
6
+ import { Domain, Uri } from '@opensumi/ide-core-common';
7
+ import { CellKind, NotebookCellsChangeType, WorkbenchEditorService, } from '@opensumi/ide-editor';
8
+ import { IEditorDocumentModelService } from '@opensumi/ide-editor/lib/browser/doc-model/types';
9
+ import { NotebookService } from '@opensumi/ide-editor/lib/browser/notebook.service';
10
+ import { LIBRO_COMPONENTS_SCHEME_ID } from './libro.protocol';
11
+ import { ILibroOpensumiService } from './libro.service';
12
+ import { ManaContainer } from './mana';
13
+ let NotebookServiceOverride = class NotebookServiceOverride extends NotebookService {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.notebookVersions = new Map();
17
+ this.handleOpenNotebook = async (libroView) => {
18
+ if (!this.isValidNotebook(libroView)) {
19
+ return;
20
+ }
21
+ await libroView.initialized;
22
+ this.updateNotebookVersion(libroView);
23
+ this._onDidOpenNotebookDocument.fire(this.asNotebook(libroView));
24
+ };
25
+ }
26
+ onDidStart() {
27
+ this.listenLibro();
28
+ this.listenEditor();
29
+ }
30
+ listenEditor() {
31
+ this.workbenchEditorService.onActiveResourceChange((e) => {
32
+ var _a;
33
+ if (((_a = e === null || e === void 0 ? void 0 : e.uri) === null || _a === void 0 ? void 0 : _a.path.ext) === `.${LIBRO_COMPONENTS_SCHEME_ID}`) {
34
+ this.libroOpensumiService.getOrCreatLibroView(e.uri).then((libroView) => {
35
+ this.handleOpenNotebook(libroView);
36
+ });
37
+ }
38
+ });
39
+ }
40
+ getNotebookVersion(libroView) {
41
+ var _a;
42
+ const uri = this.getNotebookUri(libroView).toString();
43
+ return (_a = this.notebookVersions.get(uri)) !== null && _a !== void 0 ? _a : 1;
44
+ }
45
+ deleteNotebookVersion(libroView) {
46
+ const uri = this.getNotebookUri(libroView).toString();
47
+ return this.notebookVersions.delete(uri);
48
+ }
49
+ updateNotebookVersion(libroView) {
50
+ var _a;
51
+ const uri = this.getNotebookUri(libroView).toString();
52
+ const versionId = (_a = this.notebookVersions.get(uri)) !== null && _a !== void 0 ? _a : 1;
53
+ this.notebookVersions.set(uri, versionId + 1);
54
+ }
55
+ isValidNotebook(view) {
56
+ if (view instanceof LibroJupyterView) {
57
+ return true;
58
+ }
59
+ return false;
60
+ }
61
+ isCodeCell(mime) {
62
+ return [MIME.odpssql, MIME.python].includes(mime);
63
+ }
64
+ getCellURI(cell) {
65
+ return CellUri.from(cell.parent.model.id, cell.model.id);
66
+ }
67
+ getCellModelRef(cell) {
68
+ return this.editorModelService.getModelReference(URI.parse(this.getCellURI(cell).toString()));
69
+ }
70
+ asNotebookCell(cell) {
71
+ var _a;
72
+ return {
73
+ cellKind: this.isCodeCell(cell.model.mimeType) ? CellKind.Code : CellKind.Markup,
74
+ eol: '\n',
75
+ handle: 1,
76
+ language: (_a = this.libroOpensumiService.getCellLangauge(cell)) !== null && _a !== void 0 ? _a : 'plaintext',
77
+ mime: cell.model.mimeType,
78
+ outputs: [],
79
+ source: cell.model.value.split('\n'),
80
+ uri: Uri.parse(this.getCellURI(cell).toString()),
81
+ };
82
+ }
83
+ getNotebookUri(notebook) {
84
+ return Uri.parse(notebook.model.filePath);
85
+ }
86
+ asNotebook(notebook) {
87
+ return {
88
+ uri: this.getNotebookUri(notebook),
89
+ viewType: 'jupyter-notebook',
90
+ versionId: this.getNotebookVersion(notebook),
91
+ cells: notebook.model.cells.map((item) => this.asNotebookCell(item)),
92
+ };
93
+ }
94
+ listenLibro() {
95
+ const libroService = this.manaContainer.get(LibroService);
96
+ libroService.onNotebookViewCreated(this.handleOpenNotebook);
97
+ libroService.onNotebookViewClosed((libroView) => {
98
+ if (!this.isValidNotebook(libroView)) {
99
+ return;
100
+ }
101
+ this.deleteNotebookVersion(libroView);
102
+ this._onDidCloseNotebookDocument.fire(this.getNotebookUri(libroView));
103
+ });
104
+ libroService.onNotebookViewSaved((libroView) => {
105
+ if (!this.isValidNotebook(libroView)) {
106
+ return;
107
+ }
108
+ this.updateNotebookVersion(libroView);
109
+ this._onDidSaveNotebookDocument.fire(this.getNotebookUri(libroView));
110
+ });
111
+ libroService.onNotebookViewChanged((event) => {
112
+ if (!this.isValidNotebook(event.libroView)) {
113
+ return;
114
+ }
115
+ if (!event.libroView.model.isInitialized) {
116
+ return;
117
+ }
118
+ const events = [];
119
+ if (event.contentChanges) {
120
+ event.contentChanges.forEach((item) => {
121
+ if (item.addedCells.length > 0) {
122
+ events.push({
123
+ kind: NotebookCellsChangeType.ModelChange,
124
+ changes: [[item.range.start, 0, item.addedCells.map((cell) => this.asNotebookCell(cell))]],
125
+ });
126
+ }
127
+ if (item.removedCells.length > 0) {
128
+ events.push({
129
+ kind: NotebookCellsChangeType.ModelChange,
130
+ changes: [[item.range.start, item.range.end - item.range.start, []]],
131
+ });
132
+ }
133
+ });
134
+ }
135
+ this.updateNotebookVersion(event.libroView);
136
+ this._onDidChangeNotebookDocument.fire({
137
+ uri: this.getNotebookUri(event.libroView),
138
+ event: {
139
+ rawEvents: events,
140
+ versionId: 1,
141
+ },
142
+ isDirty: getOrigin(event.libroView.model.dirty),
143
+ });
144
+ });
145
+ libroService.onNotebookCellChanged((event) => {
146
+ var _a;
147
+ const events = [];
148
+ const index = event.cell.parent.findCellIndex(event.cell);
149
+ const modelRef = this.getCellModelRef(event.cell);
150
+ events.push({
151
+ kind: NotebookCellsChangeType.ChangeCellContent,
152
+ index,
153
+ });
154
+ this._onDidChangeNotebookDocument.fire({
155
+ uri: this.getNotebookUri(event.cell.parent),
156
+ event: {
157
+ rawEvents: events,
158
+ versionId: (_a = modelRef === null || modelRef === void 0 ? void 0 : modelRef.instance.getMonacoModel().getVersionId()) !== null && _a !== void 0 ? _a : 1,
159
+ },
160
+ isDirty: getOrigin(event.cell.parent.model.dirty),
161
+ });
162
+ });
163
+ }
164
+ };
165
+ __decorate([
166
+ Autowired(ManaContainer),
167
+ __metadata("design:type", Container)
168
+ ], NotebookServiceOverride.prototype, "manaContainer", void 0);
169
+ __decorate([
170
+ Autowired(IEditorDocumentModelService),
171
+ __metadata("design:type", Object)
172
+ ], NotebookServiceOverride.prototype, "editorModelService", void 0);
173
+ __decorate([
174
+ Autowired(WorkbenchEditorService),
175
+ __metadata("design:type", WorkbenchEditorService)
176
+ ], NotebookServiceOverride.prototype, "workbenchEditorService", void 0);
177
+ __decorate([
178
+ Autowired(ILibroOpensumiService),
179
+ __metadata("design:type", Object)
180
+ ], NotebookServiceOverride.prototype, "libroOpensumiService", void 0);
181
+ NotebookServiceOverride = __decorate([
182
+ Injectable(),
183
+ Domain(ClientAppContribution)
184
+ ], NotebookServiceOverride);
185
+ export { NotebookServiceOverride };
186
+ //# sourceMappingURL=notebook.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook.service.js","sourceRoot":"","sources":["../../src/browser/notebook.service.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAY,gBAAgB,EAAE,YAAY,EAAa,IAAI,EAAE,MAAM,iCAAiC,CAAC;AACrH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,MAAM,EAAgB,GAAG,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EACL,QAAQ,EAGR,uBAAuB,EAEvB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAEpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAIhC,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,eAAe;IAArD;;QAyBK,qBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;QA0I7C,uBAAkB,GAAG,KAAK,EAAE,SAAoB,EAAE,EAAE;YAC5D,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YACD,MAAM,SAAS,CAAC,WAAW,CAAC;YAC5B,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAA6B,CAAC,CAAC,CAAC;QACvF,CAAC,CAAC;IACJ,CAAC;IAjKC,UAAU;QACR,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,YAAY;QACV,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,EAAE;;YACvD,IAAI,CAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,GAAG,0CAAE,IAAI,CAAC,GAAG,MAAK,IAAI,0BAA0B,EAAE,EAAE,CAAC;gBAC1D,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;oBACtE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAIS,kBAAkB,CAAC,SAAoB;;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,SAA6B,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1E,OAAO,MAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,CAAC,CAAC;IAC7C,CAAC;IAES,qBAAqB,CAAC,SAAoB;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,SAA6B,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1E,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAES,qBAAqB,CAAC,SAAoB;;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,SAA6B,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1E,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,CAAC,CAAC;QACtD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAES,eAAe,CAAC,IAAe;QACvC,IAAI,IAAI,YAAY,gBAAgB,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,OAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,UAAU,CAAC,IAAc;QACvB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,eAAe,CAAC,IAAc;QAC5B,OAAO,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,cAAc,CAAC,IAAc;;QAC3B,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM;YAChF,GAAG,EAAE,IAAI;YACT,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,MAAA,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,mCAAI,WAAW;YACxE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YACzB,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YACpC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;SACjD,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,QAA0B;QACvC,OAAO,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,UAAU,CAAC,QAA0B;QACnC,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YAClC,QAAQ,EAAE,kBAAkB;YAC5B,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;YAC5C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SACrE,CAAC;IACJ,CAAC;IAED,WAAW;QACT,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1D,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC5D,YAAY,CAAC,oBAAoB,CAAC,CAAC,SAAS,EAAE,EAAE;YAC9C,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAA6B,CAAC,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,mBAAmB,CAAC,CAAC,SAAS,EAAE,EAAE;YAC7C,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAA6B,CAAC,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3C,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3C,OAAO;YACT,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;gBACzC,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAiC,EAAE,CAAC;YAEhD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzB,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACpC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC/B,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,uBAAuB,CAAC,WAAW;4BACzC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBAC3F,CAAC,CAAC;oBACL,CAAC;oBACD,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACjC,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,uBAAuB,CAAC,WAAW;4BACzC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;yBACrE,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC;gBACrC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAA6B,CAAC;gBAC7D,KAAK,EAAE;oBACL,SAAS,EAAE,MAAM;oBACjB,SAAS,EAAE,CAAC;iBACb;gBACD,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;aAChD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,YAAY,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,EAAE;;YAC3C,MAAM,MAAM,GAAiC,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,uBAAuB,CAAC,iBAAiB;gBAC/C,KAAK;aACN,CAAC,CAAC;YACH,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC;gBACrC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,MAA0B,CAAC;gBAC/D,KAAK,EAAE;oBACL,SAAS,EAAE,MAAM;oBACjB,SAAS,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAAC,cAAc,GAAG,YAAY,EAAE,mCAAI,CAAC;iBACnE;gBACD,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;aAClD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CAUF,CAAA;AAzKkB;IADhB,SAAS,CAAC,aAAa,CAAC;8BACO,SAAS;8DAAC;AAEzB;IADhB,SAAS,CAAC,2BAA2B,CAAC;;mEAC0B;AAEhD;IADhB,SAAS,CAAC,sBAAsB,CAAC;8BACO,sBAAsB;uEAAC;AAE/C;IADhB,SAAS,CAAC,qBAAqB,CAAC;;qEAC4B;AARlD,uBAAuB;IAFnC,UAAU,EAAE;IACZ,MAAM,CAAC,qBAAqB,CAAC;GACjB,uBAAuB,CA2KnC"}
@@ -0,0 +1,4 @@
1
+ export * from './toc.contribution';
2
+ export * from './toc.panel';
3
+ export * from './toc.panel.color.tokens';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/browser/toc/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './toc.contribution';
2
+ export * from './toc.panel';
3
+ export * from './toc.panel.color.tokens';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/browser/toc/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { MainLayoutContribution } from '@opensumi/ide-main-layout';
2
+ export declare class TocContribution implements MainLayoutContribution {
3
+ private mainLayoutService;
4
+ onDidRender(): void;
5
+ }
6
+ //# sourceMappingURL=toc.contribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toc.contribution.d.ts","sourceRoot":"","sources":["../../../src/browser/toc/toc.contribution.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsB,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAIvF,qBACa,eAAgB,YAAW,sBAAsB;IAE5D,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,WAAW;CAWZ"}
@@ -0,0 +1,25 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Autowired } from '@opensumi/di';
3
+ import { Domain, localize } from '@opensumi/ide-core-browser';
4
+ import { EXPLORER_CONTAINER_ID } from '@opensumi/ide-explorer/lib/browser/explorer-contribution';
5
+ import { IMainLayoutService, MainLayoutContribution } from '@opensumi/ide-main-layout';
6
+ import { TocPanel } from './toc.panel';
7
+ let TocContribution = class TocContribution {
8
+ onDidRender() {
9
+ this.mainLayoutService.collectViewComponent({
10
+ component: TocPanel,
11
+ collapsed: true,
12
+ id: 'outline-view',
13
+ name: localize('outline.title'),
14
+ }, EXPLORER_CONTAINER_ID);
15
+ }
16
+ };
17
+ __decorate([
18
+ Autowired(IMainLayoutService),
19
+ __metadata("design:type", Object)
20
+ ], TocContribution.prototype, "mainLayoutService", void 0);
21
+ TocContribution = __decorate([
22
+ Domain(MainLayoutContribution)
23
+ ], TocContribution);
24
+ export { TocContribution };
25
+ //# sourceMappingURL=toc.contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toc.contribution.js","sourceRoot":"","sources":["../../../src/browser/toc/toc.contribution.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0DAA0D,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEvF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGhC,IAAM,eAAe,GAArB,MAAM,eAAe;IAI1B,WAAW;QACT,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CACzC;YACE,SAAS,EAAE,QAAQ;YACnB,SAAS,EAAE,IAAI;YACf,EAAE,EAAE,cAAc;YAClB,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC;SAChC,EACD,qBAAqB,CACtB,CAAC;IACJ,CAAC;CACF,CAAA;AAbS;IADP,SAAS,CAAC,kBAAkB,CAAC;;0DACgB;AAFnC,eAAe;IAD3B,MAAM,CAAC,sBAAsB,CAAC;GAClB,eAAe,CAe3B"}
@@ -0,0 +1,23 @@
1
+ .toc {
2
+ :global {
3
+ .libro-toc-collapsed {
4
+ svg {
5
+ vertical-align: sub;
6
+ }
7
+ }
8
+
9
+ .markdown-toc-container {
10
+ width: 100%;
11
+
12
+ .markdown-toc-container-anchor {
13
+ color: var(--toc-panel-text-color);
14
+ font-size: 12px;
15
+ line-height: 20px;
16
+ }
17
+
18
+ .markdown-toc-container-title {
19
+ display: none;
20
+ }
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,2 @@
1
+ export declare const initTocPanelColorToken: () => void;
2
+ //# sourceMappingURL=toc.panel.color.tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toc.panel.color.tokens.d.ts","sourceRoot":"","sources":["../../../src/browser/toc/toc.panel.color.tokens.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,sBAAsB,YAOlC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { localize } from '@opensumi/ide-core-browser';
2
+ import { registerColor } from '@opensumi/ide-theme/lib/common';
3
+ export const initTocPanelColorToken = () => {
4
+ registerColor('toc.panel.text.color', { dark: '#A6AAAD', light: '#363C42', hcDark: null, hcLight: null }, localize('toc.panel.text.color', 'the text color of toc panel'), true);
5
+ };
6
+ //# sourceMappingURL=toc.panel.color.tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toc.panel.color.tokens.js","sourceRoot":"","sources":["../../../src/browser/toc/toc.panel.color.tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACzC,aAAa,CACX,sBAAsB,EACtB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAClE,QAAQ,CAAC,sBAAsB,EAAE,6BAA6B,CAAC,EAC/D,IAAI,CACL,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ import { ViewState } from '@opensumi/ide-core-browser';
3
+ export declare const TocPanel: ({ viewState }: PropsWithChildren<{
4
+ viewState: ViewState;
5
+ }>) => React.JSX.Element;
6
+ //# sourceMappingURL=toc.panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toc.panel.d.ts","sourceRoot":"","sources":["../../../src/browser/toc/toc.panel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAO,SAAS,EAAiB,MAAM,4BAA4B,CAAC;AAW3E,eAAO,MAAM,QAAQ,kBAAmB,iBAAiB,CAAC;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,CAAC,sBAkDlF,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { TOCView } from '@difizen/libro-toc';
2
+ import { ViewManager, ViewRender } from '@difizen/mana-app';
3
+ import React, { useEffect, useState } from 'react';
4
+ import { useInjectable } from '@opensumi/ide-core-browser';
5
+ import { WorkbenchEditorService } from '@opensumi/ide-editor';
6
+ import { OutlinePanel } from '@opensumi/ide-outline/lib/browser/outline';
7
+ import { LIBRO_COMPONENTS_SCHEME_ID } from '../libro.protocol';
8
+ import { ILibroOpensumiService } from '../libro.service';
9
+ import { ManaContainer } from '../mana';
10
+ import styles from './toc.module.less';
11
+ export const TocPanel = ({ viewState }) => {
12
+ const editorService = useInjectable(WorkbenchEditorService);
13
+ const libroOpensumiService = useInjectable(ILibroOpensumiService);
14
+ const manaContainer = useInjectable(ManaContainer);
15
+ const [libroTocView, setLibroTocView] = useState();
16
+ useEffect(() => {
17
+ var _a;
18
+ if (((_a = editorService.currentResource) === null || _a === void 0 ? void 0 : _a.uri.path.ext) === `.${LIBRO_COMPONENTS_SCHEME_ID}`) {
19
+ libroOpensumiService.getOrCreatLibroView(editorService.currentResource.uri).then((libro) => {
20
+ var _a;
21
+ const viewManager = manaContainer.get(ViewManager);
22
+ viewManager
23
+ .getOrCreateView(TOCView, {
24
+ id: ((_a = editorService.currentResource) === null || _a === void 0 ? void 0 : _a.uri).toString(),
25
+ })
26
+ .then((libroTocView) => {
27
+ libroTocView.parent = libro;
28
+ setLibroTocView(libroTocView);
29
+ return;
30
+ });
31
+ });
32
+ }
33
+ editorService.onActiveResourceChange((e) => {
34
+ if ((e === null || e === void 0 ? void 0 : e.uri.path.ext) === `.${LIBRO_COMPONENTS_SCHEME_ID}`) {
35
+ libroOpensumiService.getOrCreatLibroView(e.uri).then((libro) => {
36
+ const viewManager = manaContainer.get(ViewManager);
37
+ viewManager
38
+ .getOrCreateView(TOCView, {
39
+ id: e.uri.toString(),
40
+ })
41
+ .then((libroTocView) => {
42
+ libroTocView.parent = libro;
43
+ setLibroTocView(libroTocView);
44
+ return;
45
+ });
46
+ });
47
+ }
48
+ else {
49
+ setLibroTocView(undefined);
50
+ }
51
+ });
52
+ });
53
+ if (libroTocView) {
54
+ return (React.createElement("div", { className: styles.toc },
55
+ React.createElement(ViewRender, { view: libroTocView })));
56
+ }
57
+ else {
58
+ return React.createElement(OutlinePanel, { viewState: viewState });
59
+ }
60
+ };
61
+ //# sourceMappingURL=toc.panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toc.panel.js","sourceRoot":"","sources":["../../../src/browser/toc/toc.panel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAa,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,EAAqB,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAkB,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAEzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,SAAS,EAA+C,EAAE,EAAE;IACrF,MAAM,aAAa,GAAG,aAAa,CAA6B,sBAAsB,CAAC,CAAC;IACxF,MAAM,oBAAoB,GAAG,aAAa,CAAwB,qBAAqB,CAAC,CAAC;IACzF,MAAM,aAAa,GAAG,aAAa,CAAY,aAAa,CAAC,CAAC;IAE9D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAAuB,CAAC;IAExE,SAAS,CAAC,GAAG,EAAE;;QACb,IAAI,CAAA,MAAA,aAAa,CAAC,eAAe,0CAAE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAK,IAAI,0BAA0B,EAAE,EAAE,CAAC;YACrF,oBAAoB,CAAC,mBAAmB,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;;gBACzF,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACnD,WAAW;qBACR,eAAe,CAAU,OAAO,EAAE;oBACjC,EAAE,EAAE,CAAC,MAAA,aAAa,CAAC,eAAe,0CAAE,GAAW,CAAA,CAAC,QAAQ,EAAE;iBAC3D,CAAC;qBACD,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;oBACrB,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC;oBAC5B,eAAe,CAAC,YAAY,CAAC,CAAC;oBAC9B,OAAO;gBACT,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACL,CAAC;QACD,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,EAAE;YACzC,IAAI,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAK,IAAI,0BAA0B,EAAE,EAAE,CAAC;gBACzD,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC7D,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACnD,WAAW;yBACR,eAAe,CAAU,OAAO,EAAE;wBACjC,EAAE,EAAG,CAAC,CAAC,GAAW,CAAC,QAAQ,EAAE;qBAC9B,CAAC;yBACD,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;wBACrB,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC;wBAC5B,eAAe,CAAC,YAAY,CAAC,CAAC;wBAC9B,OAAO;oBACT,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,eAAe,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CACL,6BAAK,SAAS,EAAE,MAAM,CAAC,GAAG;YACxB,oBAAC,UAAU,IAAC,IAAI,EAAE,YAAY,GAAe,CACzC,CACP,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,oBAAC,YAAY,IAAC,SAAS,EAAE,SAAS,GAAiB,CAAC;IAC7D,CAAC;AACH,CAAC,CAAC"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './browser';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
package/lib/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from './browser';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@opensumi/ide-notebook",
3
+ "version": "3.4.5-next-1730119322.0",
4
+ "license": "MIT",
5
+ "main": "lib/index.js",
6
+ "typings": "lib/index.d.ts",
7
+ "files": [
8
+ "lib",
9
+ "src"
10
+ ],
11
+ "publishConfig": {
12
+ "access": "public",
13
+ "registry": "https://registry.npmjs.org/"
14
+ },
15
+ "scripts": {
16
+ "build": "tsc --build ../../configs/ts/references/tsconfig.notebook.json",
17
+ "prepublishOnly": "yarn run build"
18
+ },
19
+ "dependencies": {
20
+ "@ant-design/icons": "^4.6.4",
21
+ "@difizen/libro-code-editor": "0.0.0-snapshot-20241017090244",
22
+ "@difizen/libro-common": "0.0.0-snapshot-20241017090244",
23
+ "@difizen/libro-core": "0.0.0-snapshot-20241017090244",
24
+ "@difizen/libro-jupyter": "0.0.0-snapshot-20241017090244",
25
+ "@difizen/libro-kernel": "0.0.0-snapshot-20241017090244",
26
+ "@difizen/libro-lsp": "0.0.0-snapshot-20241017090244",
27
+ "@difizen/libro-toc": "0.0.0-snapshot-20241017090244",
28
+ "@difizen/mana-app": "^0.1.27",
29
+ "@opensumi/ide-core-browser": "workspace:*",
30
+ "@opensumi/ide-core-common": "workspace:*",
31
+ "@opensumi/ide-editor": "workspace:*",
32
+ "@opensumi/ide-explorer": "workspace:*",
33
+ "@opensumi/ide-file-service": "workspace:*",
34
+ "@opensumi/ide-main-layout": "workspace:*",
35
+ "@opensumi/ide-monaco": "workspace:*",
36
+ "@opensumi/ide-outline": "workspace:*",
37
+ "@opensumi/ide-overlay": "workspace:*",
38
+ "@opensumi/ide-theme": "workspace:*",
39
+ "@opensumi/monaco-editor-core": "0.47.0-patch.15",
40
+ "antd": "^5.21.4"
41
+ }
42
+ }
@@ -0,0 +1,44 @@
1
+ import { Injectable, Provider } from '@opensumi/di';
2
+ import { BrowserModule } from '@opensumi/ide-core-browser';
3
+ import { INotebookService } from '@opensumi/ide-editor';
4
+
5
+ import { KernelPanelContribution } from './kernel-panel/kernel.panel.contribution';
6
+ import { LibroKeybindContribition } from './libro-keybind-contribution';
7
+ import { LibroOpener } from './libro-opener';
8
+ import { LibroCommandContribution } from './libro.command';
9
+ import { LibroContribution } from './libro.contribution';
10
+ import { ILibroOpensumiService, LibroOpensumiService } from './libro.service';
11
+ import { LibroTracker } from './libro.view.tracker';
12
+ import { NotebookDocumentContentProvider } from './notebook-document-content-provider';
13
+ import { NotebookServiceOverride } from './notebook.service';
14
+ import { TocContribution } from './toc/toc.contribution';
15
+
16
+ export * from './kernel-panel';
17
+ export * from './libro.color.tokens';
18
+ export * from './libro.contribution';
19
+ export * from './libro.protocol';
20
+ export * from './libro.service';
21
+ export * from './toc/index';
22
+
23
+ @Injectable()
24
+ export class NotebookModule extends BrowserModule {
25
+ providers: Provider[] = [
26
+ LibroContribution,
27
+ LibroCommandContribution,
28
+ TocContribution,
29
+ LibroTracker,
30
+ {
31
+ token: ILibroOpensumiService,
32
+ useClass: LibroOpensumiService,
33
+ },
34
+ NotebookDocumentContentProvider,
35
+ LibroOpener,
36
+ LibroKeybindContribition,
37
+ {
38
+ token: INotebookService,
39
+ useClass: NotebookServiceOverride,
40
+ override: true,
41
+ },
42
+ KernelPanelContribution,
43
+ ];
44
+ }
@@ -0,0 +1,46 @@
1
+ import { CloseOutlined } from '@ant-design/icons';
2
+ import { message } from 'antd';
3
+ import React from 'react';
4
+
5
+ import { LibroPanelCollapseItem, LibroPanelCollapseItemType } from '../kernel.panel.protocol';
6
+
7
+ import { OpenedPage, RunningKernel } from './icon';
8
+
9
+ export const getIcon = (type: LibroPanelCollapseItemType) => {
10
+ switch (type) {
11
+ case LibroPanelCollapseItemType.PAGE:
12
+ return <OpenedPage></OpenedPage>;
13
+ case LibroPanelCollapseItemType.KERNEL:
14
+ return <RunningKernel></RunningKernel>;
15
+ }
16
+ };
17
+
18
+ interface Props {
19
+ type: LibroPanelCollapseItemType;
20
+ items: LibroPanelCollapseItem[];
21
+ }
22
+
23
+ export const LibroCollapseContent: React.FC<Props> = (props: Props) => (
24
+ <>
25
+ {props.items.map((item) => (
26
+ <div className='libro-panel-collapse-item' key={item.id}>
27
+ <div className='libro-panel-collapse-item-icon'>{getIcon(props.type)}</div>
28
+ <div className='libro-panel-collapse-item-label'>{item.name}</div>
29
+ <div
30
+ className='libro-panel-collapse-item-close'
31
+ onClick={(e) => {
32
+ e.stopPropagation();
33
+ e.preventDefault();
34
+ if (item.shutdown) {
35
+ item.shutdown().catch((error) => {
36
+ message.error(`shutdown ${props.type} failed`);
37
+ });
38
+ }
39
+ }}
40
+ >
41
+ <CloseOutlined />
42
+ </div>
43
+ </div>
44
+ ))}
45
+ </>
46
+ );