@opensumi/ide-notebook 3.7.1-next-1739439717.0 → 3.7.1-next-1739521933.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 (81) hide show
  1. package/lib/browser/libro/diff-view/components/hooks.d.ts +10 -0
  2. package/lib/browser/libro/diff-view/components/hooks.d.ts.map +1 -0
  3. package/lib/browser/libro/diff-view/components/hooks.js +96 -0
  4. package/lib/browser/libro/diff-view/components/hooks.js.map +1 -0
  5. package/lib/browser/libro/diff-view/components/index.less +315 -0
  6. package/lib/browser/libro/diff-view/components/libro-diff-all-cells-same-components.d.ts +3 -0
  7. package/lib/browser/libro/diff-view/components/libro-diff-all-cells-same-components.d.ts.map +1 -0
  8. package/lib/browser/libro/diff-view/components/libro-diff-all-cells-same-components.js +11 -0
  9. package/lib/browser/libro/diff-view/components/libro-diff-all-cells-same-components.js.map +1 -0
  10. package/lib/browser/libro/diff-view/components/libro-diff-changed-cell-components.d.ts +5 -0
  11. package/lib/browser/libro/diff-view/components/libro-diff-changed-cell-components.d.ts.map +1 -0
  12. package/lib/browser/libro/diff-view/components/libro-diff-changed-cell-components.js +59 -0
  13. package/lib/browser/libro/diff-view/components/libro-diff-changed-cell-components.js.map +1 -0
  14. package/lib/browser/libro/diff-view/components/libro-diff-side-cell-components.d.ts +5 -0
  15. package/lib/browser/libro/diff-view/components/libro-diff-side-cell-components.d.ts.map +1 -0
  16. package/lib/browser/libro/diff-view/components/libro-diff-side-cell-components.js +58 -0
  17. package/lib/browser/libro/diff-view/components/libro-diff-side-cell-components.js.map +1 -0
  18. package/lib/browser/libro/diff-view/index.d.ts +5 -0
  19. package/lib/browser/libro/diff-view/index.d.ts.map +1 -0
  20. package/lib/browser/libro/diff-view/index.js +5 -0
  21. package/lib/browser/libro/diff-view/index.js.map +1 -0
  22. package/lib/browser/libro/diff-view/index.less +47 -0
  23. package/lib/browser/libro/diff-view/libro-diff-color-registry.d.ts +6 -0
  24. package/lib/browser/libro/diff-view/libro-diff-color-registry.d.ts.map +1 -0
  25. package/lib/browser/libro/diff-view/libro-diff-color-registry.js +110 -0
  26. package/lib/browser/libro/diff-view/libro-diff-color-registry.js.map +1 -0
  27. package/lib/browser/libro/diff-view/libro-diff-component.d.ts +6 -0
  28. package/lib/browser/libro/diff-view/libro-diff-component.d.ts.map +1 -0
  29. package/lib/browser/libro/diff-view/libro-diff-component.js +21 -0
  30. package/lib/browser/libro/diff-view/libro-diff-component.js.map +1 -0
  31. package/lib/browser/libro/diff-view/libro-diff-protocol.d.ts +58 -0
  32. package/lib/browser/libro/diff-view/libro-diff-protocol.d.ts.map +1 -0
  33. package/lib/browser/libro/diff-view/libro-diff-protocol.js +38 -0
  34. package/lib/browser/libro/diff-view/libro-diff-protocol.js.map +1 -0
  35. package/lib/browser/libro/diff-view/libro-diff-view.d.ts +48 -0
  36. package/lib/browser/libro/diff-view/libro-diff-view.d.ts.map +1 -0
  37. package/lib/browser/libro/diff-view/libro-diff-view.js +297 -0
  38. package/lib/browser/libro/diff-view/libro-diff-view.js.map +1 -0
  39. package/lib/browser/libro/diff-view/libro-version-manager.d.ts +16 -0
  40. package/lib/browser/libro/diff-view/libro-version-manager.d.ts.map +1 -0
  41. package/lib/browser/libro/diff-view/libro-version-manager.js +126 -0
  42. package/lib/browser/libro/diff-view/libro-version-manager.js.map +1 -0
  43. package/lib/browser/libro/diff-view/libro-version-view.d.ts +13 -0
  44. package/lib/browser/libro/diff-view/libro-version-view.d.ts.map +1 -0
  45. package/lib/browser/libro/diff-view/libro-version-view.js +40 -0
  46. package/lib/browser/libro/diff-view/libro-version-view.js.map +1 -0
  47. package/lib/browser/libro/diff-view/module.d.ts +3 -0
  48. package/lib/browser/libro/diff-view/module.d.ts.map +1 -0
  49. package/lib/browser/libro/diff-view/module.js +10 -0
  50. package/lib/browser/libro/diff-view/module.js.map +1 -0
  51. package/lib/browser/libro/libro-opensumi-content-contribution.d.ts.map +1 -1
  52. package/lib/browser/libro-preview.view.d.ts +3 -0
  53. package/lib/browser/libro-preview.view.d.ts.map +1 -0
  54. package/lib/browser/libro-preview.view.js +27 -0
  55. package/lib/browser/libro-preview.view.js.map +1 -0
  56. package/lib/browser/libro.contribution.d.ts.map +1 -1
  57. package/lib/browser/libro.contribution.js +38 -4
  58. package/lib/browser/libro.contribution.js.map +1 -1
  59. package/lib/browser/libro.protocol.d.ts +3 -1
  60. package/lib/browser/libro.protocol.d.ts.map +1 -1
  61. package/lib/browser/libro.protocol.js +3 -1
  62. package/lib/browser/libro.protocol.js.map +1 -1
  63. package/package.json +17 -14
  64. package/src/browser/libro/diff-view/components/hooks.tsx +123 -0
  65. package/src/browser/libro/diff-view/components/index.less +315 -0
  66. package/src/browser/libro/diff-view/components/libro-diff-all-cells-same-components.tsx +43 -0
  67. package/src/browser/libro/diff-view/components/libro-diff-changed-cell-components.tsx +88 -0
  68. package/src/browser/libro/diff-view/components/libro-diff-side-cell-components.tsx +84 -0
  69. package/src/browser/libro/diff-view/index.less +47 -0
  70. package/src/browser/libro/diff-view/index.ts +4 -0
  71. package/src/browser/libro/diff-view/libro-diff-color-registry.ts +132 -0
  72. package/src/browser/libro/diff-view/libro-diff-component.tsx +25 -0
  73. package/src/browser/libro/diff-view/libro-diff-protocol.ts +94 -0
  74. package/src/browser/libro/diff-view/libro-diff-view.tsx +351 -0
  75. package/src/browser/libro/diff-view/libro-version-manager.ts +135 -0
  76. package/src/browser/libro/diff-view/libro-version-view.tsx +41 -0
  77. package/src/browser/libro/diff-view/module.ts +11 -0
  78. package/src/browser/libro/libro-opensumi-content-contribution.ts +1 -1
  79. package/src/browser/libro-preview.view.tsx +33 -0
  80. package/src/browser/libro.contribution.tsx +43 -4
  81. package/src/browser/libro.protocol.ts +3 -1
@@ -0,0 +1,10 @@
1
+ import { ICodeEditor, IDiffEditor } from '@opensumi/ide-monaco';
2
+ export interface Size {
3
+ width?: number;
4
+ height?: number;
5
+ }
6
+ declare function useLatest<T>(value: T): import("react").MutableRefObject<T>;
7
+ export default useLatest;
8
+ export declare function useSize(fn: () => void, ref: React.ForwardedRef<HTMLDivElement>): void;
9
+ export declare function useEditorLayout(editor: ICodeEditor | IDiffEditor | undefined, editorTargetRef: React.RefObject<HTMLDivElement>, editorContainerRef: React.RefObject<HTMLDivElement>): void;
10
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../../src/browser/libro/diff-view/components/hooks.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,WAAW,IAAI;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iBAAS,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,uCAK7B;AAED,eAAe,SAAS,CAAC;AACzB,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,IAAI,CA2BrF;AA6CD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,SAAS,EAC7C,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,EAChD,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,QA6BpD"}
@@ -0,0 +1,96 @@
1
+ import { useCallback, useEffect, useLayoutEffect, useRef } from 'react';
2
+ import ResizeObserver from 'resize-observer-polyfill';
3
+ function useLatest(value) {
4
+ const ref = useRef(value);
5
+ ref.current = value;
6
+ return ref;
7
+ }
8
+ export default useLatest;
9
+ export function useSize(fn, ref) {
10
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
+ const callback = useLatest((size) => {
12
+ fn();
13
+ });
14
+ useLayoutEffect(() => {
15
+ if (typeof ref !== 'object') {
16
+ return () => { };
17
+ }
18
+ const el = ref === null || ref === void 0 ? void 0 : ref.current;
19
+ if (!el || !fn) {
20
+ return () => { };
21
+ }
22
+ const resizeObserver = new ResizeObserver((entries) => {
23
+ entries.forEach((entry) => {
24
+ callback.current({
25
+ width: entry.target.clientWidth,
26
+ height: entry.target.clientHeight,
27
+ });
28
+ });
29
+ });
30
+ resizeObserver.observe(el);
31
+ return () => {
32
+ resizeObserver.disconnect();
33
+ };
34
+ }, [callback, ref, fn]);
35
+ }
36
+ const setEditorHeight = (editor, editorTarget, editorContainer) => {
37
+ var _a;
38
+ if (!editor) {
39
+ return;
40
+ }
41
+ const curLenght = ((_a = editor.getModel()) === null || _a === void 0 ? void 0 : _a.getLineCount()) || 1;
42
+ const diffItemHeight = `${curLenght * 20 + 16 + 12 + 22}px`;
43
+ const _height = `${curLenght * 20}px`;
44
+ if (editorTarget.style.height !== _height) {
45
+ editorTarget.style.height = _height;
46
+ editorContainer.style.height = diffItemHeight;
47
+ editor.layout();
48
+ }
49
+ };
50
+ const setDiffEditorHeight = (editor, editorTarget, editorContainer) => {
51
+ var _a;
52
+ const originalLineCount = ((_a = editor === null || editor === void 0 ? void 0 : editor.getModel()) === null || _a === void 0 ? void 0 : _a.original.getLineCount()) || 0;
53
+ editor === null || editor === void 0 ? void 0 : editor.onDidUpdateDiff(() => {
54
+ let finalLineCount = originalLineCount;
55
+ for (const change of (editor === null || editor === void 0 ? void 0 : editor.getLineChanges()) || []) {
56
+ if (!change.originalEndLineNumber) {
57
+ finalLineCount += change.modifiedEndLineNumber - change.modifiedStartLineNumber + 1;
58
+ }
59
+ else if (change.originalStartLineNumber === change.modifiedStartLineNumber &&
60
+ change.modifiedEndLineNumber > change.originalEndLineNumber) {
61
+ finalLineCount += change.modifiedEndLineNumber - change.originalEndLineNumber;
62
+ }
63
+ }
64
+ editorTarget.style.height = `${finalLineCount * 20 + 12}px`;
65
+ editorContainer.style.height = `${finalLineCount * 20 + 16 + 12 + 22}px`;
66
+ editor.layout();
67
+ });
68
+ };
69
+ export function useEditorLayout(editor, editorTargetRef, editorContainerRef) {
70
+ const editorTarget = editorTargetRef.current;
71
+ const editorContainer = editorContainerRef.current;
72
+ const editorLaylout = useCallback(() => {
73
+ if (editor) {
74
+ editor.layout();
75
+ }
76
+ }, [editor]);
77
+ useEffect(() => {
78
+ if (editor) {
79
+ if (!editorTarget || !editorContainer) {
80
+ return;
81
+ }
82
+ if (editor.renderSideBySide !== undefined) {
83
+ setDiffEditorHeight(editor, editorTarget, editorContainer);
84
+ }
85
+ else {
86
+ setEditorHeight(editor, editorTarget, editorContainer);
87
+ }
88
+ }
89
+ window.addEventListener('resize', editorLaylout);
90
+ return () => {
91
+ window.removeEventListener('resize', editorLaylout);
92
+ };
93
+ }, [editor, editorLaylout]);
94
+ useSize(editorLaylout, editorContainerRef);
95
+ }
96
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../../src/browser/libro/diff-view/components/hooks.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,315 @@
1
+ .libro-diff-cell-container {
2
+ position: relative;
3
+ padding: 8px 0;
4
+ }
5
+
6
+ .libro-diff-cell-origin-header,
7
+ .libro-diff-cell-target-header {
8
+ height: 22px;
9
+ width: 100%;
10
+ border-top-right-radius: 4px;
11
+ border-top-left-radius: 4px;
12
+ }
13
+
14
+ .libro-diff-cell-unchanged-origin-header,
15
+ .libro-diff-cell-unchanged-target-header,
16
+ .libro-diff-cell-changed-origin-header,
17
+ .libro-diff-cell-changed-target-header {
18
+ background: var(--mana-libro-diff-unchanged-cell-header-color);
19
+ }
20
+
21
+ .libro-diff-cell-target-header {
22
+ position: relative;
23
+ &.changed,
24
+ &.unchanged {
25
+ float: right;
26
+ }
27
+ }
28
+
29
+ .libro-diff-cell-origin-header {
30
+ background: var(--mana-libro-diff-removed-cell-header-color);
31
+ }
32
+ .libro-diff-cell-target-header {
33
+ background: var(--mana-libro-diff-added-cell-header-color);
34
+ }
35
+
36
+ .libro-diff-cell-header-text {
37
+ margin-left: 16px;
38
+ font-family: PingFangSC;
39
+ font-weight: 400;
40
+ font-size: 12px;
41
+ color: var(--mana-libro-diff-cell-header-text-color);
42
+ line-height: 20px;
43
+ }
44
+ .libro-diff-cell-header-target-execute-count,
45
+ .libro-diff-cell-header-origin-execute-count {
46
+ font-family: Menlo-Regular;
47
+ font-weight: 400;
48
+ font-size: 12px;
49
+ color: var(--mana-libro-diff-cell-header-execution-color);
50
+ text-align: right;
51
+ line-height: 16px;
52
+ float: right;
53
+ margin-right: 16px;
54
+ margin-top: 3px;
55
+ }
56
+
57
+ .libro-diff-editor-removed {
58
+ background: var(--mana-libro-diff-editor-removed-color) !important;
59
+ .monaco-editor-background,
60
+ .margin {
61
+ background: var(--mana-libro-diff-editor-removed-color) !important;
62
+ }
63
+ }
64
+
65
+ .libro-diff-cell-origin-container,
66
+ .libro-diff-cell-target-container {
67
+ position: absolute;
68
+ width: calc(50% - 8px);
69
+ &.unchanged {
70
+ border: 1px solid var(--mana-libro-diff-cell-border-color) !important;
71
+ border-radius: 4px;
72
+ }
73
+ }
74
+ .libro-diff-cell-target-container {
75
+ right: 0;
76
+ }
77
+
78
+ .libro-diff-editor-added {
79
+ background: var(--mana-libro-diff-editor-added-color) !important;
80
+ .monaco-editor-background,
81
+ .margin {
82
+ background: var(--mana-libro-diff-editor-added-color) !important;
83
+ }
84
+ }
85
+
86
+ .libro-diff-cell-target-container {
87
+ background: var(--mana-libro-diff-editor-added-color) !important;
88
+ border-radius: 4px;
89
+ }
90
+
91
+ .libro-diff-cell-origin-container {
92
+ background: var(--mana-libro-diff-editor-removed-color) !important;
93
+ border-radius: 4px;
94
+ }
95
+
96
+ .libro-diff-editor-added,
97
+ .libro-diff-editor-removed {
98
+ border-bottom-left-radius: 4px;
99
+ border-bottom-right-radius: 4px;
100
+ .overflow-guard {
101
+ border-bottom-left-radius: 4px;
102
+ }
103
+ }
104
+
105
+ .libro-diff-editor-changed,
106
+ .libro-diff-editor-unchanged {
107
+ .monaco-editor-background {
108
+ border-radius: 4px;
109
+ }
110
+ }
111
+
112
+ .libro-diff-cell-changed-origin-header,
113
+ .libro-diff-cell-changed-target-header,
114
+ .libro-diff-cell-unchanged-origin-header,
115
+ .libro-diff-cell-unchanged-target-header {
116
+ display: inline-block;
117
+ width: calc(50% - 8px);
118
+ border-top-left-radius: 4px;
119
+ border-top-right-radius: 4px;
120
+ }
121
+ .libro-diff-cell-changed-target-header,
122
+ .libro-diff-cell-unchanged-target-header {
123
+ margin-left: 16px;
124
+ }
125
+
126
+ .libro-diff-cell-changed-content,
127
+ .libro-diff-cell-unchanged-content {
128
+ .monaco-editor,
129
+ .margin {
130
+ background-color: var(--mana-libro-diff-input-background-color) !important;
131
+ }
132
+ .monaco-editor-background {
133
+ background-color: var(--mana-libro-diff-editor-background-color) !important;
134
+ }
135
+ }
136
+ .libro-diff-cell-target-content,
137
+ .libro-diff-cell-origin-content {
138
+ margin-top: 12px;
139
+ }
140
+
141
+ .libro-diff-cell-target-content,
142
+ .libro-diff-cell-origin-content,
143
+ .libro-diff-cell-changed-content,
144
+ .libro-diff-cell-unchanged-content {
145
+ .core-guide-indent,
146
+ .core-guide-indent-active {
147
+ box-shadow: 0.6px 0 0 0 var(--mana-libro-diff-editor-intent-color) inset !important;
148
+ }
149
+ }
150
+
151
+ .libro-diff-cell-changed-content,
152
+ .libro-diff-cell-unchanged-content {
153
+ .original,
154
+ .modified {
155
+ width: calc(50% - 8px) !important;
156
+ .margin-view-overlays {
157
+ > div:has(.line-delete),
158
+ > div:has(.line-insert) {
159
+ background-color: var(--mana-libro-diff-editor-background-color) !important;
160
+ }
161
+ .line-delete {
162
+ background-color: var(--mana-libro-diff-editor-line-delete-color) !important;
163
+ }
164
+ width: 56px !important;
165
+ }
166
+
167
+ .diagonal-fill {
168
+ background-color: var(--mana-libro-diff-input-background-color);
169
+ }
170
+
171
+ .view-overlays {
172
+ div:has(.char-delete):has(.char-insert):has(.line-delete):has(.line-insert) {
173
+ background-color: var(--mana-libro-diff-editor-background-color);
174
+ }
175
+ div:not(:has(.char-delete)):not(:has(.char-insert)):not(:has(.line-delete)):not(:has(.line-insert)) {
176
+ background-color: var(--mana-libro-diff-input-background-color);
177
+ }
178
+ }
179
+ .selectionHighlight {
180
+ background-color: rgba(173, 214, 255, 0.15) !important;
181
+ }
182
+ }
183
+ .modified {
184
+ margin-left: 8px;
185
+ box-shadow: unset !important;
186
+ .line-insert,
187
+ .gutter-insert {
188
+ background-color: var(--mana-libro-diff-editor-line-insert-color) !important;
189
+ }
190
+ .char-insert {
191
+ background-color: var(--mana-libro-diff-editor-char-insert-color) !important;
192
+ }
193
+ }
194
+ .original {
195
+ .line-delete,
196
+ .gutter-delete {
197
+ background-color: var(--mana-libro-diff-editor-line-delete-color) !important;
198
+ }
199
+ .char-delete {
200
+ background-color: var(--mana-libro-diff-editor-char-delete-color) !important;
201
+ }
202
+ }
203
+ .monaco-editor,
204
+ .overflow-guard {
205
+ width: 100% !important;
206
+ border-bottom-left-radius: 4px;
207
+ border-bottom-right-radius: 4px;
208
+ }
209
+ .overflow-guard {
210
+ padding-top: 12px;
211
+ }
212
+ .margin {
213
+ padding-top: 12px;
214
+ }
215
+ }
216
+
217
+ .libro-diff-cell-changed-container,
218
+ .libro-diff-cell-unchanged-container {
219
+ position: relative;
220
+ .monaco-diff-editor {
221
+ background-color: var(--mana-libro-diff-container-color);
222
+ }
223
+ }
224
+
225
+ .libro-diff-cell-container {
226
+ .editor-scrollable {
227
+ left: 56px !important;
228
+ }
229
+ .margin,
230
+ .current-line-margin {
231
+ width: 56px !important;
232
+ }
233
+ .line-numbers {
234
+ color: var(--mana-libro-diff-editor-gutter-number-color) !important;
235
+ font-family: Menlo-Regular, consolas, 'DejaVu Sans Mono', monospace !important;
236
+ left: 0px !important;
237
+ font-weight: 400;
238
+ font-size: 13px;
239
+ text-align: right !important;
240
+ line-height: 20px;
241
+ width: 32px !important;
242
+ padding-left: 16px;
243
+ }
244
+
245
+ .cursors-layer .cursor {
246
+ background-color: var(--mana-libro-editor-cursor-color);
247
+ }
248
+
249
+ .selected-text {
250
+ background-color: var(--mana-libro-diff-select-background-color) !important;
251
+ }
252
+
253
+ .selectionHighlight {
254
+ background-color: var(--mana-libro-diff-select-highlight-background-color) !important;
255
+ }
256
+ .focused {
257
+ .selected-text {
258
+ background-color: var(--mana-libro-diff-select-background-color) !important;
259
+ }
260
+ }
261
+
262
+ .libro-diff-editor-added {
263
+ &.monaco-editor {
264
+ background-color: var(--mana-version-opensumi-diff-added-color) !important;
265
+
266
+ .margin {
267
+ background: var(--mana-version-opensumi-diff-added-color) !important;
268
+ }
269
+ }
270
+
271
+ .monaco-editor-background {
272
+ background: var(--mana-version-opensumi-diff-added-color) !important;
273
+ }
274
+ }
275
+
276
+ .libro-diff-editor-removed {
277
+ &.monaco-editor {
278
+ background-color: var(--mana-version-opensumi-diff-removed-color) !important;
279
+
280
+ .margin {
281
+ background: var(--mana-version-opensumi-diff-removed-color) !important;
282
+ }
283
+ }
284
+
285
+ .monaco-editor-background {
286
+ background: var(--mana-version-opensumi-diff-removed-color) !important;
287
+ }
288
+ }
289
+ }
290
+ .libro-e2-editor-container {
291
+ padding-top: 12px;
292
+ }
293
+
294
+ .libro-diff-cell-unchanged-origin-border,
295
+ .libro-diff-cell-unchanged-target-border,
296
+ .libro-diff-cell-changed-origin-border,
297
+ .libro-diff-cell-changed-target-border {
298
+ height: 100%;
299
+ top: 0;
300
+ border: 1px solid var(--mana-libro-diff-cell-border-color);
301
+ width: calc(50% - 8px);
302
+ position: absolute;
303
+ border-radius: 4px;
304
+ pointer-events: none;
305
+ }
306
+
307
+ .libro-diff-cell-unchanged-target-border,
308
+ .libro-diff-cell-changed-target-border {
309
+ right: 0;
310
+ }
311
+ .libro-version-content {
312
+ .libro-view-top {
313
+ height: 0;
314
+ }
315
+ }
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare const ContentSameIcon: React.FC;
3
+ //# sourceMappingURL=libro-diff-all-cells-same-components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libro-diff-all-cells-same-components.d.ts","sourceRoot":"","sources":["../../../../../src/browser/libro/diff-view/components/libro-diff-all-cells-same-components.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAwCnC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ export const ContentSameIcon = () => (React.createElement("svg", { width: '58px', height: '70px', viewBox: '0 0 58 70', version: '1.1', xmlns: 'http://www.w3.org/2000/svg', xmlnsXlink: 'http://www.w3.org/1999/xlink', className: 'libro-diff-same' },
3
+ React.createElement("g", { id: '\u9875\u9762-1', stroke: 'none', strokeWidth: '1', fill: 'none', fillRule: 'evenodd' },
4
+ React.createElement("g", { id: '2.2\u5BF9\u6BD4\u5185\u5BB9\u4E00\u81F4', transform: 'translate(-866.000000, -433.000000)', fillRule: 'nonzero' },
5
+ React.createElement("g", { id: '\u7F16\u7EC4-3', transform: 'translate(863.000000, 433.000000)' },
6
+ React.createElement("g", { id: '\u7F16\u7EC4', transform: 'translate(3.000000, 0.000000)' },
7
+ React.createElement("path", { d: 'M26.5130303,69.5820437 C15.5132424,65.7888934 11.5393636,62.6913727 11.5323333,62.6913727 C0.101060606,54.8513203 0,44.5577516 0,44.5577516 L0,12.0705345 C0,10.4780239 1.28830303,9.10951475 2.87187879,9.05176436 C10.9918788,8.76301243 22.9425152,2.76134734 27.3197576,0.423331722 C28.3685102,-0.141110574 29.6323686,-0.141110574 30.6811212,0.423331722 C35.0574848,2.76834739 47.0151515,8.76213743 55.1281212,9.05176436 C56.711697,9.10951475 58,10.4780239 58,12.0705345 L58,44.5577516 C58,44.5577516 57.8989394,54.8513203 46.4676667,62.6913727 C46.4676667,62.6913727 42.4937879,65.7888934 31.494,69.5820437 C29.8808432,70.1393188 28.1261871,70.1393188 26.5130303,69.5820437 Z M29,53.3751855 C39.1921818,53.3751855 47.4545455,45.1483805 47.4545455,35.0000627 C47.4545455,24.8517449 39.1921818,16.62494 29,16.62494 C18.8078182,16.62494 10.5454545,24.8517449 10.5454545,35.0000627 C10.5454545,45.1483805 18.8078182,53.3751855 29,53.3751855 Z', id: '\u5F62\u72B6', fillOpacity: '0.3', fill: '#2196F3' }),
8
+ React.createElement("path", { d: 'M28.5,54 C17.7306818,54 9,45.2693182 9,34.5 C9,23.7306818 17.7306818,15 28.5,15 C39.2693182,15 48,23.7306818 48,34.5 C48,45.2693182 39.2693182,54 28.5,54 Z', id: '\u8DEF\u5F84', fill: '#1989FA' }),
9
+ React.createElement("path", { d: 'M29,51 C37.8364444,51 45,43.8364444 45,35 C45,26.1635556 37.8364444,19 29,19 C20.1635556,19 13,26.1635556 13,35 C13,43.8364444 20.1635556,51 29,51 Z', id: '\u8DEF\u5F84', fill: '#FFFFFF' }),
10
+ React.createElement("path", { d: 'M39.8811584,47.8734755 C41.1971717,46.5565733 43.3307339,46.5565733 44.6467472,47.8734755 L49.012836,52.2420176 C50.3290547,53.5592357 50.3290547,55.6948683 49.0128359,57.0120864 C47.6966172,58.3293045 45.5626049,58.3293045 44.2463861,57.0120864 L39.8811584,52.6435444 C39.2489733,52.0110548 38.8938006,51.1531094 38.8938006,50.2585099 C38.8938006,49.3639104 39.2489733,48.5059651 39.8811584,47.8734755 L39.8811584,47.8734755 Z M27.3916134,36.6109087 L33.5141251,30.4837484 C34.189795,29.8306691 35.2638061,29.8400091 35.9280333,30.5047406 C36.5922605,31.1694721 36.6015933,32.2442987 35.9490095,32.9204816 L28.6434953,40.2324043 C28.4552892,40.4214183 28.2256395,40.5639151 27.9727828,40.648579 C27.3417735,40.8823076 26.6325337,40.7268228 26.1569514,40.2504988 L22.5046247,36.5953991 C22.0695207,36.1601187 21.8995112,35.5256015 22.0586371,34.930864 C22.2177631,34.3361266 22.6818494,33.8715236 23.2760794,33.7120666 C23.8703093,33.5526096 24.5044051,33.7225239 24.9395092,34.1578043 L27.3916134,36.6117704 L27.3916134,36.6109087 Z', id: '\u5F62\u72B6', fill: '#1989FA' })))))));
11
+ //# sourceMappingURL=libro-diff-all-cells-same-components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libro-diff-all-cells-same-components.js","sourceRoot":"","sources":["../../../../../src/browser/libro/diff-view/components/libro-diff-all-cells-same-components.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,eAAe,GAAa,GAAG,EAAE,CAAC,CAC7C,6BACE,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,OAAO,EAAC,KAAK,EACb,KAAK,EAAC,4BAA4B,EAClC,UAAU,EAAC,8BAA8B,EACzC,SAAS,EAAC,iBAAiB;IAE3B,2BAAG,EAAE,EAAC,gBAAM,EAAC,MAAM,EAAC,MAAM,EAAC,WAAW,EAAC,GAAG,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS;QACvE,2BAAG,EAAE,EAAC,yCAAW,EAAC,SAAS,EAAC,qCAAqC,EAAC,QAAQ,EAAC,SAAS;YAClF,2BAAG,EAAE,EAAC,gBAAM,EAAC,SAAS,EAAC,mCAAmC;gBACxD,2BAAG,EAAE,EAAC,cAAI,EAAC,SAAS,EAAC,+BAA+B;oBAClD,8BACE,CAAC,EAAC,26BAA26B,EAC76B,EAAE,EAAC,cAAI,EACP,WAAW,EAAC,KAAK,EACjB,IAAI,EAAC,SAAS,GACd;oBACF,8BACE,CAAC,EAAC,6JAA6J,EAC/J,EAAE,EAAC,cAAI,EACP,IAAI,EAAC,SAAS,GACd;oBACF,8BACE,CAAC,EAAC,sJAAsJ,EACxJ,EAAE,EAAC,cAAI,EACP,IAAI,EAAC,SAAS,GACd;oBACF,8BACE,CAAC,EAAC,2gCAA2gC,EAC7gC,EAAE,EAAC,cAAI,EACP,IAAI,EAAC,SAAS,GACd,CACA,CACF,CACF,CACF,CACA,CACP,CAAC"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { DiffEditorProps } from '../libro-diff-protocol';
3
+ import './index.less';
4
+ export declare const LibroDiffChangedCellComponent: React.FC<DiffEditorProps>;
5
+ //# sourceMappingURL=libro-diff-changed-cell-components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libro-diff-changed-cell-components.d.ts","sourceRoot":"","sources":["../../../../../src/browser/libro/diff-view/components/libro-diff-changed-cell-components.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4C,MAAM,OAAO,CAAC;AASjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,cAAc,CAAC;AAYtB,eAAO,MAAM,6BAA6B,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA+DlE,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { useInject } from '@difizen/mana-app';
2
+ import React, { memo, useEffect, useRef, useState } from 'react';
3
+ import { getLibroCellType, getSource } from '../libro-diff-protocol';
4
+ import { LibroVersionManager } from '../libro-version-manager';
5
+ import { useEditorLayout } from './hooks';
6
+ import './index.less';
7
+ const getEditorLanguage = (libroCellType) => {
8
+ if (libroCellType === 'sql') {
9
+ return 'sql-odps';
10
+ }
11
+ else if (libroCellType === 'markdown' || libroCellType === 'raw') {
12
+ return 'markdown';
13
+ }
14
+ else {
15
+ return 'python';
16
+ }
17
+ };
18
+ export const LibroDiffChangedCellComponent = memo(({ diffCellResultItem }) => {
19
+ var _a, _b;
20
+ const editorDiffRef = useRef(null);
21
+ const editorContainerRef = useRef(null);
22
+ const [diffEditor, setDiffEditor] = useState();
23
+ const versionManager = useInject(LibroVersionManager);
24
+ useEffect(() => {
25
+ if (!editorDiffRef.current) {
26
+ return;
27
+ }
28
+ const language = diffCellResultItem.origin.metadata.libroCellType
29
+ ? getEditorLanguage(diffCellResultItem.origin.metadata.libroCellType.toString())
30
+ : getEditorLanguage(diffCellResultItem.origin.cell_type);
31
+ const diffEditor = versionManager.createDiffEditor(getSource(diffCellResultItem.origin), getSource(diffCellResultItem.target), language, editorDiffRef.current);
32
+ setDiffEditor(diffEditor);
33
+ return () => {
34
+ diffEditor === null || diffEditor === void 0 ? void 0 : diffEditor.dispose();
35
+ };
36
+ }, [editorDiffRef]);
37
+ useEditorLayout(diffEditor, editorDiffRef, editorContainerRef);
38
+ const type = diffCellResultItem.diffType === 'changed' ? 'changed' : 'unchanged';
39
+ return (React.createElement("div", { className: 'libro-diff-cell-container', ref: editorContainerRef },
40
+ React.createElement("div", { className: `libro-diff-cell-${type}-container` },
41
+ React.createElement("div", { className: `libro-diff-cell-${type}-origin-header ${diffCellResultItem.diffType}` },
42
+ React.createElement("span", { className: 'libro-diff-cell-header-text' }, getLibroCellType(diffCellResultItem.origin)),
43
+ React.createElement("span", { className: 'libro-diff-cell-header-origin-execute-count', style: {
44
+ display: diffCellResultItem.origin.cell_type !== 'markdown' ? 'block' : 'none',
45
+ } }, diffCellResultItem.origin.execution_count
46
+ ? '[' + ((_a = diffCellResultItem.origin.execution_count) === null || _a === void 0 ? void 0 : _a.toString()) + ']'
47
+ : '[ ]')),
48
+ React.createElement("div", { className: `libro-diff-cell-${type}-target-header ${diffCellResultItem.diffType}` },
49
+ React.createElement("span", { className: 'libro-diff-cell-header-text' }, getLibroCellType(diffCellResultItem.target)),
50
+ React.createElement("span", { className: 'libro-diff-cell-header-target-execute-count', style: {
51
+ display: diffCellResultItem.target.cell_type !== 'markdown' ? 'block' : 'none',
52
+ } }, diffCellResultItem.target.execution_count
53
+ ? '[' + ((_b = diffCellResultItem.target.execution_count) === null || _b === void 0 ? void 0 : _b.toString()) + ']'
54
+ : '[ ]')),
55
+ React.createElement("div", { className: `libro-diff-cell-${type}-content`, ref: editorDiffRef }),
56
+ React.createElement("div", { className: `libro-diff-cell-${type}-origin-border` }),
57
+ React.createElement("div", { className: `libro-diff-cell-${type}-target-border` }))));
58
+ });
59
+ //# sourceMappingURL=libro-diff-changed-cell-components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libro-diff-changed-cell-components.js","sourceRoot":"","sources":["../../../../../src/browser/libro/diff-view/components/libro-diff-changed-cell-components.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { DiffEditorProps } from '../libro-diff-protocol';
3
+ import './index.less';
4
+ export declare const LibroDiffSideCellComponent: React.FC<DiffEditorProps>;
5
+ //# sourceMappingURL=libro-diff-side-cell-components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libro-diff-side-cell-components.d.ts","sourceRoot":"","sources":["../../../../../src/browser/libro/diff-view/components/libro-diff-side-cell-components.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAWjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,cAAc,CAAC;AAYtB,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAyD/D,CAAC"}
@@ -0,0 +1,58 @@
1
+ import React, { memo, useEffect, useRef, useState } from 'react';
2
+ import { useInjectable } from '@opensumi/ide-core-browser';
3
+ import { ManaContainer } from '../../../mana';
4
+ import { getLibroCellType } from '../libro-diff-protocol';
5
+ import { LibroVersionManager } from '../libro-version-manager';
6
+ import { useEditorLayout } from './hooks';
7
+ import './index.less';
8
+ const getEditorLanguage = (libroCellType) => {
9
+ if (libroCellType === 'sql') {
10
+ return 'sql-odps';
11
+ }
12
+ else if (libroCellType === 'markdown' || libroCellType === 'raw') {
13
+ return 'markdown';
14
+ }
15
+ else {
16
+ return 'python';
17
+ }
18
+ };
19
+ export const LibroDiffSideCellComponent = memo(({ diffCellResultItem }) => {
20
+ var _a;
21
+ const manaContainer = useInjectable(ManaContainer);
22
+ const libroVersionManager = manaContainer.get(LibroVersionManager);
23
+ const editorTargetRef = useRef(null);
24
+ const editorContainerRef = useRef(null);
25
+ const language = diffCellResultItem.origin.metadata.libroCellType
26
+ ? getEditorLanguage(diffCellResultItem.origin.metadata.libroCellType.toString())
27
+ : getEditorLanguage(diffCellResultItem.origin.cell_type);
28
+ const [editor, setEditor] = useState();
29
+ const createEditor = () => {
30
+ // 这里其实已经拿到content了,但是 opensumi editor 需要uri,理论上有优化空间
31
+ const content = diffCellResultItem.diffType === 'removed' ? diffCellResultItem.origin.source : diffCellResultItem.target.source;
32
+ const previewedEditor = libroVersionManager.createPreviewEditor(content.toString(), language, editorTargetRef.current, diffCellResultItem.diffType);
33
+ setEditor(previewedEditor);
34
+ return previewedEditor;
35
+ };
36
+ useEditorLayout(editor, editorTargetRef, editorContainerRef);
37
+ useEffect(() => {
38
+ if (!editorTargetRef.current) {
39
+ return;
40
+ }
41
+ const previewedEditor = createEditor();
42
+ return () => {
43
+ previewedEditor === null || previewedEditor === void 0 ? void 0 : previewedEditor.dispose();
44
+ };
45
+ }, [editorTargetRef.current]);
46
+ const type = diffCellResultItem.diffType === 'removed' ? 'origin' : 'target';
47
+ return (React.createElement("div", { className: 'libro-diff-cell-container', ref: editorContainerRef },
48
+ React.createElement("div", { className: `libro-diff-cell-${type}-container` },
49
+ React.createElement("div", { className: `libro-diff-cell-${type}-header` },
50
+ React.createElement("span", { className: 'libro-diff-cell-header-text' }, getLibroCellType(diffCellResultItem.origin)),
51
+ React.createElement("span", { className: `libro-diff-cell-header-${type}-execute-count`, style: {
52
+ display: diffCellResultItem.target.cell_type !== 'markdown' ? 'block' : 'none',
53
+ } }, diffCellResultItem.target.execution_count
54
+ ? '[' + ((_a = diffCellResultItem.target.execution_count) === null || _a === void 0 ? void 0 : _a.toString()) + ']'
55
+ : '[ ]')),
56
+ React.createElement("div", { className: `libro-diff-cell-${type}-content`, ref: editorTargetRef }))));
57
+ });
58
+ //# sourceMappingURL=libro-diff-side-cell-components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libro-diff-side-cell-components.js","sourceRoot":"","sources":["../../../../../src/browser/libro/diff-view/components/libro-diff-side-cell-components.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI1C,OAAO,cAAc,CAAC;AAEtB,MAAM,iBAAiB,GAAG,CAAC,aAAqB,EAAE,EAAE;IAClD,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,UAAU,CAAC;IACpB,CAAC;SAAM,IAAI,aAAa,KAAK,UAAU,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QACnE,OAAO,UAAU,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAA8B,IAAI,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE;;IACnG,MAAM,aAAa,GAAG,aAAa,CAAY,aAAa,CAAC,CAAC;IAC9D,MAAM,mBAAmB,GAAG,aAAa,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACnE,MAAM,eAAe,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACrD,MAAM,kBAAkB,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa;QAC/D,CAAC,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QAChF,CAAC,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAE3D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAA2B,CAAC;IAEhE,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,qDAAqD;QACrD,MAAM,OAAO,GACX,kBAAkB,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC;QAClH,MAAM,eAAe,GAAG,mBAAmB,CAAC,mBAAmB,CAC7D,OAAO,CAAC,QAAQ,EAAE,EAClB,QAAQ,EACR,eAAe,CAAC,OAAQ,EACxB,kBAAkB,CAAC,QAAQ,CAC5B,CAAC;QACF,SAAS,CAAC,eAAe,CAAC,CAAC;QAC3B,OAAO,eAAe,CAAC;IACzB,CAAC,CAAC;IAEF,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC;IAE7D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,MAAM,eAAe,GAAG,YAAY,EAAE,CAAC;QACvC,OAAO,GAAG,EAAE;YACV,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,OAAO,EAAE,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7E,OAAO,CACL,6BAAK,SAAS,EAAC,2BAA2B,EAAC,GAAG,EAAE,kBAAkB;QAChE,6BAAK,SAAS,EAAE,mBAAmB,IAAI,YAAY;YACjD,6BAAK,SAAS,EAAE,mBAAmB,IAAI,SAAS;gBAC9C,8BAAM,SAAS,EAAC,6BAA6B,IAAE,gBAAgB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAQ;gBAClG,8BACE,SAAS,EAAE,0BAA0B,IAAI,gBAAgB,EACzD,KAAK,EAAE;wBACL,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;qBAC/E,IAEA,kBAAkB,CAAC,MAAM,CAAC,eAAe;oBACxC,CAAC,CAAC,GAAG,IAAG,MAAA,kBAAkB,CAAC,MAAM,CAAC,eAAe,0CAAE,QAAQ,EAAE,CAAA,GAAG,GAAG;oBACnE,CAAC,CAAC,KAAK,CACJ,CACH;YACN,6BAAK,SAAS,EAAE,mBAAmB,IAAI,UAAU,EAAE,GAAG,EAAE,eAAe,GAAI,CACvE,CACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './libro-diff-component';
2
+ export * from './libro-diff-protocol';
3
+ export * from './libro-diff-view';
4
+ export * from './module';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/browser/libro/diff-view/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './libro-diff-component';
2
+ export * from './libro-diff-protocol';
3
+ export * from './libro-diff-view';
4
+ export * from './module';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser/libro/diff-view/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC"}