@theia/playwright 1.58.3 → 1.58.5
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.
- package/lib/index.d.ts +34 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +52 -0
- package/lib/index.js.map +1 -0
- package/lib/tests/theia-app.test.d.ts +2 -0
- package/lib/tests/theia-app.test.d.ts.map +1 -0
- package/lib/tests/theia-app.test.js +30 -0
- package/lib/tests/theia-app.test.js.map +1 -0
- package/lib/tests/theia-application-shell.test.d.ts +2 -0
- package/lib/tests/theia-application-shell.test.d.ts.map +1 -0
- package/lib/tests/theia-application-shell.test.js +58 -0
- package/lib/tests/theia-application-shell.test.js.map +1 -0
- package/lib/tests/theia-explorer-view.test.d.ts +2 -0
- package/lib/tests/theia-explorer-view.test.d.ts.map +1 -0
- package/lib/tests/theia-explorer-view.test.js +185 -0
- package/lib/tests/theia-explorer-view.test.js.map +1 -0
- package/lib/tests/theia-getting-started.test.d.ts +2 -0
- package/lib/tests/theia-getting-started.test.d.ts.map +1 -0
- package/lib/tests/theia-getting-started.test.js +46 -0
- package/lib/tests/theia-getting-started.test.js.map +1 -0
- package/lib/tests/theia-main-menu.test.d.ts +2 -0
- package/lib/tests/theia-main-menu.test.d.ts.map +1 -0
- package/lib/tests/theia-main-menu.test.js +111 -0
- package/lib/tests/theia-main-menu.test.js.map +1 -0
- package/lib/tests/theia-notebook-editor.test.d.ts +2 -0
- package/lib/tests/theia-notebook-editor.test.d.ts.map +1 -0
- package/lib/tests/theia-notebook-editor.test.js +274 -0
- package/lib/tests/theia-notebook-editor.test.js.map +1 -0
- package/lib/tests/theia-output-view.test.d.ts +2 -0
- package/lib/tests/theia-output-view.test.d.ts.map +1 -0
- package/lib/tests/theia-output-view.test.js +79 -0
- package/lib/tests/theia-output-view.test.js.map +1 -0
- package/lib/tests/theia-preference-view.test.d.ts +2 -0
- package/lib/tests/theia-preference-view.test.d.ts.map +1 -0
- package/lib/tests/theia-preference-view.test.js +102 -0
- package/lib/tests/theia-preference-view.test.js.map +1 -0
- package/lib/tests/theia-problems-view.test.d.ts +2 -0
- package/lib/tests/theia-problems-view.test.d.ts.map +1 -0
- package/lib/tests/theia-problems-view.test.js +55 -0
- package/lib/tests/theia-problems-view.test.js.map +1 -0
- package/lib/tests/theia-quick-command.test.d.ts +2 -0
- package/lib/tests/theia-quick-command.test.d.ts.map +1 -0
- package/lib/tests/theia-quick-command.test.js +75 -0
- package/lib/tests/theia-quick-command.test.js.map +1 -0
- package/lib/tests/theia-sample-app.test.d.ts +2 -0
- package/lib/tests/theia-sample-app.test.d.ts.map +1 -0
- package/lib/tests/theia-sample-app.test.js +58 -0
- package/lib/tests/theia-sample-app.test.js.map +1 -0
- package/lib/tests/theia-status-bar.test.d.ts +2 -0
- package/lib/tests/theia-status-bar.test.d.ts.map +1 -0
- package/lib/tests/theia-status-bar.test.js +45 -0
- package/lib/tests/theia-status-bar.test.js.map +1 -0
- package/lib/tests/theia-terminal-view.test.d.ts +2 -0
- package/lib/tests/theia-terminal-view.test.d.ts.map +1 -0
- package/lib/tests/theia-terminal-view.test.js +79 -0
- package/lib/tests/theia-terminal-view.test.js.map +1 -0
- package/lib/tests/theia-text-editor.test.d.ts +2 -0
- package/lib/tests/theia-text-editor.test.d.ts.map +1 -0
- package/lib/tests/theia-text-editor.test.js +156 -0
- package/lib/tests/theia-text-editor.test.js.map +1 -0
- package/lib/tests/theia-toolbar.test.d.ts +2 -0
- package/lib/tests/theia-toolbar.test.d.ts.map +1 -0
- package/lib/tests/theia-toolbar.test.js +62 -0
- package/lib/tests/theia-toolbar.test.js.map +1 -0
- package/lib/tests/theia-workspace.test.d.ts +2 -0
- package/lib/tests/theia-workspace.test.d.ts.map +1 -0
- package/lib/tests/theia-workspace.test.js +73 -0
- package/lib/tests/theia-workspace.test.js.map +1 -0
- package/lib/theia-about-dialog.d.ts +5 -0
- package/lib/theia-about-dialog.d.ts.map +1 -0
- package/lib/theia-about-dialog.js +27 -0
- package/lib/theia-about-dialog.js.map +1 -0
- package/lib/theia-app-loader.d.ts +20 -0
- package/lib/theia-app-loader.d.ts.map +1 -0
- package/lib/theia-app-loader.js +124 -0
- package/lib/theia-app-loader.js.map +1 -0
- package/lib/theia-app.d.ts +51 -0
- package/lib/theia-app.d.ts.map +1 -0
- package/lib/theia-app.js +154 -0
- package/lib/theia-app.js.map +1 -0
- package/lib/theia-context-menu.d.ts +9 -0
- package/lib/theia-context-menu.d.ts.map +1 -0
- package/lib/theia-context-menu.js +38 -0
- package/lib/theia-context-menu.js.map +1 -0
- package/lib/theia-dialog.d.ts +29 -0
- package/lib/theia-dialog.d.ts.map +1 -0
- package/lib/theia-dialog.js +100 -0
- package/lib/theia-dialog.js.map +1 -0
- package/lib/theia-editor.d.ts +10 -0
- package/lib/theia-editor.d.ts.map +1 -0
- package/lib/theia-editor.js +69 -0
- package/lib/theia-editor.js.map +1 -0
- package/lib/theia-explorer-view.d.ts +48 -0
- package/lib/theia-explorer-view.d.ts.map +1 -0
- package/lib/theia-explorer-view.js +274 -0
- package/lib/theia-explorer-view.js.map +1 -0
- package/lib/theia-main-menu.d.ts +13 -0
- package/lib/theia-main-menu.d.ts.map +1 -0
- package/lib/theia-main-menu.js +54 -0
- package/lib/theia-main-menu.js.map +1 -0
- package/lib/theia-menu-item.d.ts +15 -0
- package/lib/theia-menu-item.d.ts.map +1 -0
- package/lib/theia-menu-item.js +67 -0
- package/lib/theia-menu-item.js.map +1 -0
- package/lib/theia-menu.d.ts +17 -0
- package/lib/theia-menu.d.ts.map +1 -0
- package/lib/theia-menu.js +87 -0
- package/lib/theia-menu.js.map +1 -0
- package/lib/theia-monaco-editor.d.ts +30 -0
- package/lib/theia-monaco-editor.d.ts.map +1 -0
- package/lib/theia-monaco-editor.js +117 -0
- package/lib/theia-monaco-editor.js.map +1 -0
- package/lib/theia-notebook-cell.d.ts +96 -0
- package/lib/theia-notebook-cell.d.ts.map +1 -0
- package/lib/theia-notebook-cell.js +209 -0
- package/lib/theia-notebook-cell.js.map +1 -0
- package/lib/theia-notebook-editor.d.ts +50 -0
- package/lib/theia-notebook-editor.d.ts.map +1 -0
- package/lib/theia-notebook-editor.js +153 -0
- package/lib/theia-notebook-editor.js.map +1 -0
- package/lib/theia-notebook-toolbar.d.ts +13 -0
- package/lib/theia-notebook-toolbar.d.ts.map +1 -0
- package/lib/theia-notebook-toolbar.js +47 -0
- package/lib/theia-notebook-toolbar.js.map +1 -0
- package/lib/theia-notification-indicator.d.ts +8 -0
- package/lib/theia-notification-indicator.d.ts.map +1 -0
- package/lib/theia-notification-indicator.js +45 -0
- package/lib/theia-notification-indicator.js.map +1 -0
- package/lib/theia-notification-overlay.d.ts +23 -0
- package/lib/theia-notification-overlay.d.ts.map +1 -0
- package/lib/theia-notification-overlay.js +80 -0
- package/lib/theia-notification-overlay.js.map +1 -0
- package/lib/theia-output-channel.d.ts +25 -0
- package/lib/theia-output-channel.d.ts.map +1 -0
- package/lib/theia-output-channel.js +72 -0
- package/lib/theia-output-channel.js.map +1 -0
- package/lib/theia-output-view.d.ts +10 -0
- package/lib/theia-output-view.d.ts.map +1 -0
- package/lib/theia-output-view.js +82 -0
- package/lib/theia-output-view.js.map +1 -0
- package/lib/theia-page-object.d.ts +8 -0
- package/lib/theia-page-object.d.ts.map +1 -0
- package/lib/theia-page-object.js +28 -0
- package/lib/theia-page-object.js.map +1 -0
- package/lib/theia-preference-view.d.ts +91 -0
- package/lib/theia-preference-view.d.ts.map +1 -0
- package/lib/theia-preference-view.js +224 -0
- package/lib/theia-preference-view.js.map +1 -0
- package/lib/theia-problem-indicator.d.ts +9 -0
- package/lib/theia-problem-indicator.d.ts.map +1 -0
- package/lib/theia-problem-indicator.js +39 -0
- package/lib/theia-problem-indicator.js.map +1 -0
- package/lib/theia-problem-view.d.ts +6 -0
- package/lib/theia-problem-view.d.ts.map +1 -0
- package/lib/theia-problem-view.js +31 -0
- package/lib/theia-problem-view.js.map +1 -0
- package/lib/theia-quick-command-palette.d.ts +14 -0
- package/lib/theia-quick-command-palette.d.ts.map +1 -0
- package/lib/theia-quick-command-palette.js +87 -0
- package/lib/theia-quick-command-palette.js.map +1 -0
- package/lib/theia-rename-dialog.d.ts +6 -0
- package/lib/theia-rename-dialog.d.ts.map +1 -0
- package/lib/theia-rename-dialog.js +35 -0
- package/lib/theia-rename-dialog.js.map +1 -0
- package/lib/theia-status-bar.d.ts +14 -0
- package/lib/theia-status-bar.d.ts.map +1 -0
- package/lib/theia-status-bar.js +40 -0
- package/lib/theia-status-bar.js.map +1 -0
- package/lib/theia-status-indicator.d.ts +11 -0
- package/lib/theia-status-indicator.d.ts.map +1 -0
- package/lib/theia-status-indicator.js +49 -0
- package/lib/theia-status-indicator.js.map +1 -0
- package/lib/theia-terminal.d.ts +14 -0
- package/lib/theia-terminal.d.ts.map +1 -0
- package/lib/theia-terminal.js +60 -0
- package/lib/theia-terminal.js.map +1 -0
- package/lib/theia-text-editor.d.ts +27 -0
- package/lib/theia-text-editor.d.ts.map +1 -0
- package/lib/theia-text-editor.js +121 -0
- package/lib/theia-text-editor.js.map +1 -0
- package/lib/theia-toggle-bottom-indicator.d.ts +5 -0
- package/lib/theia-toggle-bottom-indicator.d.ts.map +1 -0
- package/lib/theia-toggle-bottom-indicator.js +27 -0
- package/lib/theia-toggle-bottom-indicator.js.map +1 -0
- package/lib/theia-toolbar-item.d.ts +11 -0
- package/lib/theia-toolbar-item.d.ts.map +1 -0
- package/lib/theia-toolbar-item.js +40 -0
- package/lib/theia-toolbar-item.js.map +1 -0
- package/lib/theia-toolbar.d.ts +20 -0
- package/lib/theia-toolbar.d.ts.map +1 -0
- package/lib/theia-toolbar.js +91 -0
- package/lib/theia-toolbar.js.map +1 -0
- package/lib/theia-tree-node.d.ts +20 -0
- package/lib/theia-tree-node.d.ts.map +1 -0
- package/lib/theia-tree-node.js +73 -0
- package/lib/theia-tree-node.js.map +1 -0
- package/lib/theia-view.d.ts +33 -0
- package/lib/theia-view.d.ts.map +1 -0
- package/lib/theia-view.js +150 -0
- package/lib/theia-view.js.map +1 -0
- package/lib/theia-welcome-view.d.ts +6 -0
- package/lib/theia-welcome-view.d.ts.map +1 -0
- package/lib/theia-welcome-view.js +31 -0
- package/lib/theia-welcome-view.js.map +1 -0
- package/lib/theia-workspace.d.ts +19 -0
- package/lib/theia-workspace.d.ts.map +1 -0
- package/lib/theia-workspace.js +72 -0
- package/lib/theia-workspace.js.map +1 -0
- package/lib/util.d.ts +20 -0
- package/lib/util.d.ts.map +1 -0
- package/lib/util.js +94 -0
- package/lib/util.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-menu-item.d.ts","sourceRoot":"","sources":["../src/theia-menu-item.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,qBAAa,aAAa;IAEV,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC;gBAAhD,OAAO,EAAE,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC;IAEtE,SAAS,CAAC,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC;IAIhF,SAAS,CAAC,qBAAqB,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC;IAInF,SAAS,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAOpC,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAOvC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAO9B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAQ7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI/B"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2021 logi.cals GmbH, EclipseSource and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.TheiaMenuItem = void 0;
|
|
19
|
+
const util_1 = require("./util");
|
|
20
|
+
class TheiaMenuItem {
|
|
21
|
+
constructor(element) {
|
|
22
|
+
this.element = element;
|
|
23
|
+
}
|
|
24
|
+
labelElementHandle() {
|
|
25
|
+
return this.element.waitForSelector('.p-Menu-itemLabel');
|
|
26
|
+
}
|
|
27
|
+
shortCutElementHandle() {
|
|
28
|
+
return this.element.waitForSelector('.p-Menu-itemShortcut');
|
|
29
|
+
}
|
|
30
|
+
isHidden() {
|
|
31
|
+
return (0, util_1.elementContainsClass)(this.element, 'p-mod-collapsed');
|
|
32
|
+
}
|
|
33
|
+
async label() {
|
|
34
|
+
if (await this.isHidden()) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
return (0, util_1.textContent)(this.labelElementHandle());
|
|
38
|
+
}
|
|
39
|
+
async shortCut() {
|
|
40
|
+
if (await this.isHidden()) {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
return (0, util_1.textContent)(this.shortCutElementHandle());
|
|
44
|
+
}
|
|
45
|
+
async hasSubmenu() {
|
|
46
|
+
if (await this.isHidden()) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
return (await this.element.getAttribute('data-type')) === 'submenu';
|
|
50
|
+
}
|
|
51
|
+
async isEnabled() {
|
|
52
|
+
const classAttribute = (await this.element.getAttribute('class'));
|
|
53
|
+
if (classAttribute === undefined || classAttribute === null) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
return !classAttribute.includes('p-mod-disabled') && !classAttribute.includes('p-mod-collapsed');
|
|
57
|
+
}
|
|
58
|
+
async click() {
|
|
59
|
+
return this.element.waitForSelector('.p-Menu-itemLabel')
|
|
60
|
+
.then(labelElement => labelElement.click({ position: { x: 10, y: 10 } }));
|
|
61
|
+
}
|
|
62
|
+
async hover() {
|
|
63
|
+
return this.element.hover();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.TheiaMenuItem = TheiaMenuItem;
|
|
67
|
+
//# sourceMappingURL=theia-menu-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-menu-item.js","sourceRoot":"","sources":["../src/theia-menu-item.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+DAA+D;AAC/D,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAIhF,iCAA2D;AAE3D,MAAa,aAAa;IAEtB,YAAsB,OAAgD;QAAhD,YAAO,GAAP,OAAO,CAAyC;IAAI,CAAC;IAEjE,kBAAkB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;IAC7D,CAAC;IAES,qBAAqB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;IAChE,CAAC;IAES,QAAQ;QACd,OAAO,IAAA,2BAAoB,EAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,IAAA,kBAAW,EAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,IAAI,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,IAAA,kBAAW,EAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,IAAI,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,SAAS,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,SAAS;QACX,MAAM,cAAc,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAClE,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC1D,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACrG,CAAC;IAED,KAAK,CAAC,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC;aACnD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CAEJ;AAtDD,sCAsDC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ElementHandle } from '@playwright/test';
|
|
2
|
+
import { TheiaMenuItem } from './theia-menu-item';
|
|
3
|
+
import { TheiaPageObject } from './theia-page-object';
|
|
4
|
+
export declare class TheiaMenu extends TheiaPageObject {
|
|
5
|
+
selector: string;
|
|
6
|
+
protected menuElementHandle(): Promise<ElementHandle<SVGElement | HTMLElement> | null>;
|
|
7
|
+
waitForVisible(): Promise<void>;
|
|
8
|
+
isOpen(): Promise<boolean>;
|
|
9
|
+
close(): Promise<void>;
|
|
10
|
+
menuItems(): Promise<TheiaMenuItem[]>;
|
|
11
|
+
clickMenuItem(name: string): Promise<void>;
|
|
12
|
+
menuItemByName(name: string): Promise<TheiaMenuItem | undefined>;
|
|
13
|
+
menuItemByNamePath(...names: string[]): Promise<TheiaMenuItem | undefined>;
|
|
14
|
+
protected menuItemSelector(label?: string): string;
|
|
15
|
+
visibleMenuItems(): Promise<string[]>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=theia-menu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-menu.d.ts","sourceRoot":"","sources":["../src/theia-menu.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,qBAAa,SAAU,SAAQ,eAAe;IAE1C,QAAQ,SAAa;cAEL,iBAAiB,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC;IAItF,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAK1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,SAAS,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IASrC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAWhE,kBAAkB,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAchF,SAAS,CAAC,gBAAgB,CAAC,KAAK,SAAK,GAAG,MAAM;IAIxC,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAM9C"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2021 logi.cals GmbH, EclipseSource and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.TheiaMenu = void 0;
|
|
19
|
+
const theia_menu_item_1 = require("./theia-menu-item");
|
|
20
|
+
const theia_page_object_1 = require("./theia-page-object");
|
|
21
|
+
const util_1 = require("./util");
|
|
22
|
+
class TheiaMenu extends theia_page_object_1.TheiaPageObject {
|
|
23
|
+
constructor() {
|
|
24
|
+
super(...arguments);
|
|
25
|
+
this.selector = '.p-Menu';
|
|
26
|
+
}
|
|
27
|
+
async menuElementHandle() {
|
|
28
|
+
return this.page.$(this.selector);
|
|
29
|
+
}
|
|
30
|
+
async waitForVisible() {
|
|
31
|
+
await this.page.waitForSelector(this.selector, { state: 'visible' });
|
|
32
|
+
}
|
|
33
|
+
async isOpen() {
|
|
34
|
+
const menu = await this.menuElementHandle();
|
|
35
|
+
return !!menu && menu.isVisible();
|
|
36
|
+
}
|
|
37
|
+
async close() {
|
|
38
|
+
if (!await this.isOpen()) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
await this.page.mouse.click(0, 0);
|
|
42
|
+
await this.page.waitForSelector(this.selector, { state: 'detached' });
|
|
43
|
+
}
|
|
44
|
+
async menuItems() {
|
|
45
|
+
const menuHandle = await this.menuElementHandle();
|
|
46
|
+
if (!menuHandle) {
|
|
47
|
+
return [];
|
|
48
|
+
}
|
|
49
|
+
const items = await menuHandle.$$('.p-Menu-content .p-Menu-item');
|
|
50
|
+
return items.map(element => new theia_menu_item_1.TheiaMenuItem(element));
|
|
51
|
+
}
|
|
52
|
+
async clickMenuItem(name) {
|
|
53
|
+
return (await this.page.waitForSelector(this.menuItemSelector(name))).click();
|
|
54
|
+
}
|
|
55
|
+
async menuItemByName(name) {
|
|
56
|
+
const menuItems = await this.menuItems();
|
|
57
|
+
for (const item of menuItems) {
|
|
58
|
+
const label = await item.label();
|
|
59
|
+
if (label === name) {
|
|
60
|
+
return item;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
async menuItemByNamePath(...names) {
|
|
66
|
+
let item;
|
|
67
|
+
for (let index = 0; index < names.length; index++) {
|
|
68
|
+
item = await this.page.waitForSelector(this.menuItemSelector(names[index]), { state: 'visible' });
|
|
69
|
+
await item.hover();
|
|
70
|
+
}
|
|
71
|
+
const menuItemHandle = await (item === null || item === void 0 ? void 0 : item.$('xpath=..'));
|
|
72
|
+
if (menuItemHandle) {
|
|
73
|
+
return new theia_menu_item_1.TheiaMenuItem(menuItemHandle);
|
|
74
|
+
}
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
menuItemSelector(label = '') {
|
|
78
|
+
return `.p-Menu-content .p-Menu-itemLabel >> text=${label}`;
|
|
79
|
+
}
|
|
80
|
+
async visibleMenuItems() {
|
|
81
|
+
const menuItems = await this.menuItems();
|
|
82
|
+
const labels = await Promise.all(menuItems.map(item => item.label()));
|
|
83
|
+
return labels.filter(util_1.isDefined);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.TheiaMenu = TheiaMenu;
|
|
87
|
+
//# sourceMappingURL=theia-menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-menu.js","sourceRoot":"","sources":["../src/theia-menu.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ElementHandle } from '@playwright/test';
|
|
2
|
+
import { TheiaPageObject } from './theia-page-object';
|
|
3
|
+
import { TheiaApp } from './theia-app';
|
|
4
|
+
export declare class TheiaMonacoEditor extends TheiaPageObject {
|
|
5
|
+
protected readonly selector: string;
|
|
6
|
+
constructor(selector: string, app: TheiaApp);
|
|
7
|
+
waitForVisible(): Promise<void>;
|
|
8
|
+
protected viewElement(): Promise<ElementHandle<SVGElement | HTMLElement> | null>;
|
|
9
|
+
numberOfLines(): Promise<number | undefined>;
|
|
10
|
+
textContentOfLineByLineNumber(lineNumber: number): Promise<string | undefined>;
|
|
11
|
+
lineByLineNumber(lineNumber: number): Promise<ElementHandle<SVGElement | HTMLElement> | undefined>;
|
|
12
|
+
textContentOfLineContainingText(text: string): Promise<string | undefined>;
|
|
13
|
+
lineContainingText(text: string): Promise<ElementHandle<SVGElement | HTMLElement> | undefined>;
|
|
14
|
+
/**
|
|
15
|
+
* @returns The text content of the editor.
|
|
16
|
+
*/
|
|
17
|
+
editorText(): Promise<string | undefined>;
|
|
18
|
+
/**
|
|
19
|
+
* Adds text to the editor.
|
|
20
|
+
* @param text The text to add to the editor.
|
|
21
|
+
* @param lineNumber The line number where to add the text. Default is 1.
|
|
22
|
+
*/
|
|
23
|
+
addEditorText(text: string, lineNumber?: number): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* @returns `true` if the editor is focused, `false` otherwise.
|
|
26
|
+
*/
|
|
27
|
+
isFocused(): Promise<boolean>;
|
|
28
|
+
protected replaceEditorSymbolsWithSpace(content: string): string | Promise<string | undefined>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=theia-monaco-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-monaco-editor.d.ts","sourceRoot":"","sources":["../src/theia-monaco-editor.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,iBAAkB,SAAQ,eAAe;IACtC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM;gBAAhB,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ;IAIxD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;cAIrB,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC;IAIhF,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAO5C,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAO9E,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;IAiBlG,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAO1E,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;IAKpG;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAgB/C;;;;OAIG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxE;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAUnC,SAAS,CAAC,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAMjG"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2023 EclipseSource and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.TheiaMonacoEditor = void 0;
|
|
19
|
+
const theia_page_object_1 = require("./theia-page-object");
|
|
20
|
+
class TheiaMonacoEditor extends theia_page_object_1.TheiaPageObject {
|
|
21
|
+
constructor(selector, app) {
|
|
22
|
+
super(app);
|
|
23
|
+
this.selector = selector;
|
|
24
|
+
}
|
|
25
|
+
async waitForVisible() {
|
|
26
|
+
await this.page.waitForSelector(this.selector, { state: 'visible' });
|
|
27
|
+
}
|
|
28
|
+
async viewElement() {
|
|
29
|
+
return this.page.$(this.selector);
|
|
30
|
+
}
|
|
31
|
+
async numberOfLines() {
|
|
32
|
+
await this.waitForVisible();
|
|
33
|
+
const viewElement = await this.viewElement();
|
|
34
|
+
const lineElements = await (viewElement === null || viewElement === void 0 ? void 0 : viewElement.$$('.view-lines .view-line'));
|
|
35
|
+
return lineElements === null || lineElements === void 0 ? void 0 : lineElements.length;
|
|
36
|
+
}
|
|
37
|
+
async textContentOfLineByLineNumber(lineNumber) {
|
|
38
|
+
await this.waitForVisible();
|
|
39
|
+
const lineElement = await this.lineByLineNumber(lineNumber);
|
|
40
|
+
const content = await (lineElement === null || lineElement === void 0 ? void 0 : lineElement.textContent());
|
|
41
|
+
return content ? this.replaceEditorSymbolsWithSpace(content) : undefined;
|
|
42
|
+
}
|
|
43
|
+
async lineByLineNumber(lineNumber) {
|
|
44
|
+
await this.waitForVisible();
|
|
45
|
+
const viewElement = await this.viewElement();
|
|
46
|
+
const lines = await (viewElement === null || viewElement === void 0 ? void 0 : viewElement.$$('.view-lines > .view-line'));
|
|
47
|
+
if (!lines) {
|
|
48
|
+
throw new Error('Couldn\'t retrieve lines of monaco editor');
|
|
49
|
+
}
|
|
50
|
+
const linesWithXCoordinates = [];
|
|
51
|
+
for (const lineElement of lines) {
|
|
52
|
+
const box = await lineElement.boundingBox();
|
|
53
|
+
linesWithXCoordinates.push({ x: box ? box.x : Number.MAX_VALUE, lineElement });
|
|
54
|
+
}
|
|
55
|
+
linesWithXCoordinates.sort((a, b) => a.x.toString().localeCompare(b.x.toString()));
|
|
56
|
+
return linesWithXCoordinates[lineNumber - 1].lineElement;
|
|
57
|
+
}
|
|
58
|
+
async textContentOfLineContainingText(text) {
|
|
59
|
+
await this.waitForVisible();
|
|
60
|
+
const lineElement = await this.lineContainingText(text);
|
|
61
|
+
const content = await (lineElement === null || lineElement === void 0 ? void 0 : lineElement.textContent());
|
|
62
|
+
return content ? this.replaceEditorSymbolsWithSpace(content) : undefined;
|
|
63
|
+
}
|
|
64
|
+
async lineContainingText(text) {
|
|
65
|
+
const viewElement = await this.viewElement();
|
|
66
|
+
return viewElement === null || viewElement === void 0 ? void 0 : viewElement.waitForSelector(`.view-lines .view-line:has-text("${text}")`);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* @returns The text content of the editor.
|
|
70
|
+
*/
|
|
71
|
+
async editorText() {
|
|
72
|
+
const lines = [];
|
|
73
|
+
const linesCount = await this.numberOfLines();
|
|
74
|
+
if (linesCount === undefined) {
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
for (let line = 1; line <= linesCount; line++) {
|
|
78
|
+
const lineText = await this.textContentOfLineByLineNumber(line);
|
|
79
|
+
if (lineText === undefined) {
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
lines.push(lineText);
|
|
83
|
+
}
|
|
84
|
+
return lines.join('\n');
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Adds text to the editor.
|
|
88
|
+
* @param text The text to add to the editor.
|
|
89
|
+
* @param lineNumber The line number where to add the text. Default is 1.
|
|
90
|
+
*/
|
|
91
|
+
async addEditorText(text, lineNumber = 1) {
|
|
92
|
+
const line = await this.lineByLineNumber(lineNumber);
|
|
93
|
+
await (line === null || line === void 0 ? void 0 : line.click());
|
|
94
|
+
await this.page.keyboard.type(text);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* @returns `true` if the editor is focused, `false` otherwise.
|
|
98
|
+
*/
|
|
99
|
+
async isFocused() {
|
|
100
|
+
var _a;
|
|
101
|
+
const viewElement = await this.viewElement();
|
|
102
|
+
const monacoEditor = await (viewElement === null || viewElement === void 0 ? void 0 : viewElement.$('div.monaco-editor'));
|
|
103
|
+
if (!monacoEditor) {
|
|
104
|
+
throw new Error('Couldn\'t retrieve monaco editor element.');
|
|
105
|
+
}
|
|
106
|
+
const editorClass = await monacoEditor.getAttribute('class');
|
|
107
|
+
return (_a = editorClass === null || editorClass === void 0 ? void 0 : editorClass.includes('focused')) !== null && _a !== void 0 ? _a : false;
|
|
108
|
+
}
|
|
109
|
+
replaceEditorSymbolsWithSpace(content) {
|
|
110
|
+
// [ ] => \u00a0 -- NO-BREAK SPACE
|
|
111
|
+
// [·] · => \u00b7 -- MIDDLE DOT
|
|
112
|
+
// [] ‌ => \u200c -- ZERO WIDTH NON-JOINER
|
|
113
|
+
return content.replace(/[\u00a0\u00b7]/g, ' ').replace(/[\u200c]/g, '');
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.TheiaMonacoEditor = TheiaMonacoEditor;
|
|
117
|
+
//# sourceMappingURL=theia-monaco-editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-monaco-editor.js","sourceRoot":"","sources":["../src/theia-monaco-editor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { ElementHandle, FrameLocator, Locator } from '@playwright/test';
|
|
2
|
+
import { TheiaApp } from './theia-app';
|
|
3
|
+
import { TheiaMonacoEditor } from './theia-monaco-editor';
|
|
4
|
+
import { TheiaPageObject } from './theia-page-object';
|
|
5
|
+
export type CellStatus = 'success' | 'error' | 'waiting';
|
|
6
|
+
/**
|
|
7
|
+
* Page object for a Theia notebook cell.
|
|
8
|
+
*/
|
|
9
|
+
export declare class TheiaNotebookCell extends TheiaPageObject {
|
|
10
|
+
protected readonly locator: Locator;
|
|
11
|
+
protected readonly notebookEditorLocator: Locator;
|
|
12
|
+
protected monacoEditor: TheiaEmbeddedMonacoEditor;
|
|
13
|
+
constructor(locator: Locator, notebookEditorLocator: Locator, app: TheiaApp);
|
|
14
|
+
/**
|
|
15
|
+
* @returns The monaco editor page object of the cell.
|
|
16
|
+
*/
|
|
17
|
+
get editor(): TheiaEmbeddedMonacoEditor;
|
|
18
|
+
/**
|
|
19
|
+
* @returns Locator for the sidebar (left) of the cell.
|
|
20
|
+
*/
|
|
21
|
+
sidebar(): Locator;
|
|
22
|
+
/**
|
|
23
|
+
* @returns Locator for the toolbar (top) of the cell.
|
|
24
|
+
*/
|
|
25
|
+
toolbar(): Locator;
|
|
26
|
+
/**
|
|
27
|
+
* @returns Locator for the statusbar (bottom) of the cell.
|
|
28
|
+
*/
|
|
29
|
+
statusbar(): Locator;
|
|
30
|
+
/**
|
|
31
|
+
* @returns Locator for the status icon inside the statusbar of the cell.
|
|
32
|
+
*/
|
|
33
|
+
statusIcon(): Locator;
|
|
34
|
+
/**
|
|
35
|
+
* @returns `true` id the cell is a code cell, `false` otherwise.
|
|
36
|
+
*/
|
|
37
|
+
isCodeCell(): Promise<boolean>;
|
|
38
|
+
/**
|
|
39
|
+
* @returns The mode of the cell, e.g. 'python', 'markdown', etc.
|
|
40
|
+
*/
|
|
41
|
+
mode(): Promise<string>;
|
|
42
|
+
/**
|
|
43
|
+
* @returns The text content of the cell editor.
|
|
44
|
+
*/
|
|
45
|
+
editorText(): Promise<string | undefined>;
|
|
46
|
+
/**
|
|
47
|
+
* Adds text to the editor of the cell.
|
|
48
|
+
* @param text The text to add to the editor.
|
|
49
|
+
* @param lineNumber The line number where to add the text. Default is 1.
|
|
50
|
+
*/
|
|
51
|
+
addEditorText(text: string, lineNumber?: number): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* @param wait If `true` waits for the cell to finish execution, otherwise returns immediately.
|
|
54
|
+
*/
|
|
55
|
+
execute(wait?: boolean): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Splits the cell into two cells by dividing the cell text on current cursor position.
|
|
58
|
+
*/
|
|
59
|
+
splitCell(): Promise<void>;
|
|
60
|
+
/**
|
|
61
|
+
* Waits for the cell to reach a specific status.
|
|
62
|
+
* @param status The status to wait for. Possible values are 'success', 'error', 'waiting'.
|
|
63
|
+
*/
|
|
64
|
+
waitForCellStatus(...status: CellStatus[]): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* @returns The status of the cell. Possible values are 'success', 'error', 'waiting'.
|
|
67
|
+
*/
|
|
68
|
+
status(): Promise<CellStatus>;
|
|
69
|
+
protected toCellStatus(classes: string): CellStatus;
|
|
70
|
+
/**
|
|
71
|
+
* @returns The execution count of the cell.
|
|
72
|
+
*/
|
|
73
|
+
executionCount(): Promise<string | undefined>;
|
|
74
|
+
/**
|
|
75
|
+
* @returns `true` if the cell is selected (blue vertical line), `false` otherwise.
|
|
76
|
+
*/
|
|
77
|
+
isSelected(): Promise<boolean>;
|
|
78
|
+
/**
|
|
79
|
+
* @returns The output text of the cell.
|
|
80
|
+
*/
|
|
81
|
+
outputText(): Promise<string>;
|
|
82
|
+
/**
|
|
83
|
+
* Selects the cell itself not it's editor. Important for shortcut usage like copy-, cut-, paste-cell.
|
|
84
|
+
*/
|
|
85
|
+
selectCell(): Promise<void>;
|
|
86
|
+
outputContainer(): Promise<Locator>;
|
|
87
|
+
protected cellHandle(): Promise<string | null>;
|
|
88
|
+
protected outputFrame(): Promise<FrameLocator>;
|
|
89
|
+
}
|
|
90
|
+
export declare class TheiaEmbeddedMonacoEditor extends TheiaMonacoEditor {
|
|
91
|
+
readonly locator: Locator;
|
|
92
|
+
constructor(locator: Locator, app: TheiaApp);
|
|
93
|
+
waitForVisible(): Promise<void>;
|
|
94
|
+
protected viewElement(): Promise<ElementHandle<SVGElement | HTMLElement> | null>;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=theia-notebook-cell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-notebook-cell.d.ts","sourceRoot":"","sources":["../src/theia-notebook-cell.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzD;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IAItC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO;IAAE,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,OAAO;IAFlG,SAAS,CAAC,YAAY,EAAE,yBAAyB,CAAC;gBAEnB,OAAO,EAAE,OAAO,EAAqB,qBAAqB,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ;IAMjH;;OAEG;IACH,IAAI,MAAM,IAAI,yBAAyB,CAEtC;IAED;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,OAAO,IAAI,OAAO;IAGlB;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAKpC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAa7B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI/C;;;;OAIG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxE;;OAEG;IACG,OAAO,CAAC,IAAI,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAUzC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAMhC;;;OAGG;IACG,iBAAiB,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB/D;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;IAMnC,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAMnD;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAQnD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAKpC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAUnC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;cAOzB,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;cAQpC,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;CAOvD;AAED,qBAAa,yBAA0B,SAAQ,iBAAiB;aAEhC,OAAO,EAAE,OAAO;gBAAhB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ;IAI5C,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;cAK3B,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC;CAI5F"}
|