xtralab 0.14.1 → 0.15.1
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/README.md +10 -0
- package/lib/about/icons.d.ts +0 -5
- package/lib/about/icons.js +0 -5
- package/lib/about/index.d.ts +4 -8
- package/lib/about/index.js +6 -17
- package/lib/agentSessions.d.ts +9 -29
- package/lib/agentSessions.js +2 -7
- package/lib/askAgent/editorSelection.d.ts +20 -26
- package/lib/askAgent/editorSelection.js +11 -26
- package/lib/askAgent/icons.d.ts +2 -3
- package/lib/askAgent/icons.js +2 -3
- package/lib/askAgent/index.d.ts +4 -26
- package/lib/askAgent/index.js +54 -158
- package/lib/askAgent/popup.d.ts +12 -16
- package/lib/askAgent/popup.js +18 -37
- package/lib/askAgent/prompt.d.ts +3 -5
- package/lib/askAgent/prompt.js +6 -19
- package/lib/askAgent/queue.d.ts +11 -21
- package/lib/askAgent/queue.js +9 -19
- package/lib/askAgent/queuePanel.d.ts +13 -18
- package/lib/askAgent/queuePanel.js +15 -37
- package/lib/askAgent/targetPicker.d.ts +2 -9
- package/lib/askAgent/targetPicker.js +6 -11
- package/lib/askAgent/tokens.d.ts +32 -46
- package/lib/askAgent/tokens.js +4 -6
- package/lib/commandBar/index.d.ts +4 -13
- package/lib/commandBar/index.js +21 -39
- package/lib/customPanel/index.d.ts +7 -0
- package/lib/customPanel/index.js +89 -0
- package/lib/editorBreadcrumbs/index.d.ts +3 -6
- package/lib/editorBreadcrumbs/index.js +10 -6
- package/lib/editorBreadcrumbs/widget.d.ts +17 -4
- package/lib/editorBreadcrumbs/widget.js +11 -17
- package/lib/editorIndent/index.d.ts +4 -12
- package/lib/editorIndent/index.js +8 -23
- package/lib/fileBrowser/commands.d.ts +28 -19
- package/lib/fileBrowser/commands.js +51 -98
- package/lib/fileBrowser/contents.d.ts +14 -0
- package/lib/fileBrowser/contents.js +28 -0
- package/lib/fileBrowser/dragAndDrop.d.ts +79 -0
- package/lib/fileBrowser/dragAndDrop.js +110 -0
- package/lib/fileBrowser/fileBrowser.d.ts +21 -9
- package/lib/fileBrowser/fileBrowser.js +211 -405
- package/lib/fileBrowser/gitStatus.d.ts +4 -9
- package/lib/fileBrowser/gitStatus.js +7 -17
- package/lib/fileBrowser/gitignore.d.ts +4 -17
- package/lib/fileBrowser/gitignore.js +4 -25
- package/lib/fileBrowser/icons.d.ts +7 -17
- package/lib/fileBrowser/icons.js +25 -80
- package/lib/fileBrowser/index.js +41 -10
- package/lib/fileBrowser/widget.d.ts +170 -53
- package/lib/fileBrowser/widget.js +242 -18
- package/lib/fileTypeIcons/index.js +0 -10
- package/lib/git/api.d.ts +5 -13
- package/lib/git/api.js +10 -36
- package/lib/git/askRequest.d.ts +4 -8
- package/lib/git/askRequest.js +6 -20
- package/lib/git/commands.d.ts +40 -5
- package/lib/git/commands.js +16 -10
- package/lib/git/diffModel.js +4 -0
- package/lib/git/diffSurface.d.ts +41 -55
- package/lib/git/diffSurface.js +42 -117
- package/lib/git/diffWidget.d.ts +81 -2
- package/lib/git/diffWidget.js +62 -12
- package/lib/git/imageDiff.d.ts +5 -6
- package/lib/git/imageDiff.js +18 -48
- package/lib/git/index.d.ts +0 -3
- package/lib/git/index.js +3 -8
- package/lib/git/notebookDiff.d.ts +110 -33
- package/lib/git/notebookDiff.js +52 -195
- package/lib/git/tokens.d.ts +73 -31
- package/lib/git/tokens.js +2 -3
- package/lib/highlight/index.d.ts +4 -10
- package/lib/highlight/index.js +10 -41
- package/lib/index.d.ts +0 -9
- package/lib/index.js +2 -9
- package/lib/launcher/agents.d.ts +55 -51
- package/lib/launcher/agents.js +25 -54
- package/lib/launcher/availability.d.ts +3 -9
- package/lib/launcher/availability.js +3 -9
- package/lib/launcher/commands.d.ts +7 -32
- package/lib/launcher/commands.js +14 -45
- package/lib/launcher/dashboard.d.ts +19 -24
- package/lib/launcher/dashboard.js +21 -67
- package/lib/launcher/editorRegistry.d.ts +10 -22
- package/lib/launcher/editorRegistry.js +14 -18
- package/lib/launcher/editors.d.ts +39 -45
- package/lib/launcher/editors.js +8 -34
- package/lib/launcher/icons.d.ts +0 -12
- package/lib/launcher/icons.js +14 -37
- package/lib/launcher/index.js +12 -55
- package/lib/launcher/invocation.d.ts +4 -10
- package/lib/launcher/invocation.js +7 -22
- package/lib/launcher/registry.d.ts +9 -7
- package/lib/launcher/registry.js +9 -7
- package/lib/launcher/schemaDefaults.d.ts +2 -9
- package/lib/launcher/schemaDefaults.js +37 -13
- package/lib/launcher/tokens.d.ts +10 -22
- package/lib/launcher/tokens.js +5 -8
- package/lib/menuBar/index.d.ts +3 -10
- package/lib/menuBar/index.js +11 -28
- package/lib/menus/index.d.ts +3 -9
- package/lib/menus/index.js +14 -30
- package/lib/omnibox/files.d.ts +2 -4
- package/lib/omnibox/files.js +5 -11
- package/lib/omnibox/index.d.ts +4 -14
- package/lib/omnibox/index.js +9 -27
- package/lib/omnibox/model.d.ts +38 -10
- package/lib/omnibox/model.js +15 -33
- package/lib/omnibox/recents.d.ts +15 -17
- package/lib/omnibox/recents.js +12 -17
- package/lib/omnibox/tokens.d.ts +5 -10
- package/lib/omnibox/tokens.js +2 -6
- package/lib/omnibox/widget.d.ts +11 -7
- package/lib/omnibox/widget.js +8 -16
- package/lib/searchReplace/index.d.ts +4 -20
- package/lib/searchReplace/index.js +7 -27
- package/lib/showOutput/index.d.ts +3 -12
- package/lib/showOutput/index.js +6 -22
- package/lib/sidebar/index.d.ts +4 -13
- package/lib/sidebar/index.js +73 -46
- package/lib/terminalNotifications/index.d.ts +4 -10
- package/lib/terminalNotifications/index.js +6 -20
- package/lib/terminals/agentTerminals.d.ts +12 -5
- package/lib/terminals/agentTerminals.js +25 -44
- package/lib/terminals/detection.d.ts +4 -8
- package/lib/terminals/detection.js +4 -8
- package/lib/terminals/index.d.ts +0 -33
- package/lib/terminals/index.js +24 -102
- package/lib/terminals/model.d.ts +64 -139
- package/lib/terminals/model.js +80 -220
- package/lib/terminals/tokens.d.ts +11 -22
- package/lib/terminals/tokens.js +2 -2
- package/lib/terminals/widget.d.ts +72 -38
- package/lib/terminals/widget.js +173 -73
- package/lib/topBar/icons.d.ts +3 -8
- package/lib/topBar/icons.js +3 -8
- package/lib/topBar/index.d.ts +4 -11
- package/lib/topBar/index.js +10 -38
- package/lib/walkthrough/index.d.ts +4 -9
- package/lib/walkthrough/index.js +6 -20
- package/lib/walkthrough/panel.d.ts +40 -9
- package/lib/walkthrough/panel.js +4 -10
- package/package.json +2 -2
- package/schema/launcher.json +2 -2
- package/schema/sidebar.json +47 -7
- package/src/about/icons.ts +0 -5
- package/src/about/index.tsx +6 -17
- package/src/agentSessions.ts +9 -29
- package/src/askAgent/editorSelection.ts +22 -29
- package/src/askAgent/icons.ts +2 -3
- package/src/askAgent/index.ts +54 -158
- package/src/askAgent/popup.tsx +23 -45
- package/src/askAgent/prompt.ts +6 -19
- package/src/askAgent/queue.ts +13 -24
- package/src/askAgent/queuePanel.tsx +21 -46
- package/src/askAgent/targetPicker.tsx +5 -15
- package/src/askAgent/tokens.ts +32 -46
- package/src/commandBar/index.ts +24 -39
- package/src/customPanel/index.ts +119 -0
- package/src/editorBreadcrumbs/index.ts +10 -6
- package/src/editorBreadcrumbs/widget.ts +23 -17
- package/src/editorIndent/index.ts +17 -23
- package/src/fileBrowser/commands.ts +70 -98
- package/src/fileBrowser/contents.ts +33 -0
- package/src/fileBrowser/dragAndDrop.ts +188 -0
- package/src/fileBrowser/fileBrowser.tsx +259 -440
- package/src/fileBrowser/gitStatus.ts +7 -17
- package/src/fileBrowser/gitignore.ts +4 -25
- package/src/fileBrowser/icons.ts +25 -80
- package/src/fileBrowser/index.ts +43 -10
- package/src/fileBrowser/widget.tsx +344 -64
- package/src/fileTypeIcons/index.ts +0 -10
- package/src/git/api.ts +10 -36
- package/src/git/askRequest.ts +6 -20
- package/src/git/commands.ts +70 -10
- package/src/git/diffModel.ts +25 -0
- package/src/git/diffSurface.tsx +71 -159
- package/src/git/diffWidget.tsx +104 -14
- package/src/git/imageDiff.tsx +45 -51
- package/src/git/index.ts +3 -8
- package/src/git/notebookDiff.tsx +211 -238
- package/src/git/tokens.ts +73 -31
- package/src/highlight/index.ts +10 -41
- package/src/index.ts +2 -9
- package/src/launcher/agents.ts +74 -92
- package/src/launcher/availability.ts +3 -9
- package/src/launcher/commands.ts +14 -51
- package/src/launcher/dashboard.tsx +49 -88
- package/src/launcher/editorRegistry.ts +21 -29
- package/src/launcher/editors.ts +39 -58
- package/src/launcher/icons.ts +15 -37
- package/src/launcher/index.ts +12 -55
- package/src/launcher/invocation.ts +7 -22
- package/src/launcher/registry.ts +9 -7
- package/src/launcher/schemaDefaults.ts +43 -13
- package/src/launcher/tokens.ts +10 -22
- package/src/menuBar/index.ts +11 -28
- package/src/menus/index.ts +14 -30
- package/src/omnibox/files.ts +10 -14
- package/src/omnibox/index.ts +9 -27
- package/src/omnibox/model.ts +50 -38
- package/src/omnibox/recents.ts +17 -22
- package/src/omnibox/tokens.ts +5 -10
- package/src/omnibox/widget.tsx +14 -19
- package/src/searchReplace/index.ts +7 -27
- package/src/showOutput/index.ts +6 -22
- package/src/sidebar/index.ts +103 -52
- package/src/terminalNotifications/index.ts +42 -25
- package/src/terminals/agentTerminals.ts +25 -49
- package/src/terminals/detection.ts +4 -8
- package/src/terminals/index.ts +31 -102
- package/src/terminals/model.ts +130 -246
- package/src/terminals/tokens.ts +11 -22
- package/src/terminals/widget.tsx +229 -113
- package/src/topBar/icons.ts +3 -8
- package/src/topBar/index.ts +21 -44
- package/src/walkthrough/index.ts +6 -20
- package/src/walkthrough/panel.ts +40 -10
- package/style/about.css +2 -7
- package/style/askAgent.css +8 -40
- package/style/base.css +25 -73
- package/style/chrome.css +108 -308
- package/style/commandBar.css +4 -20
- package/style/customPanel.css +6 -0
- package/style/git.css +22 -184
- package/style/highlight.css +1 -3
- package/style/index.js +1 -0
- package/style/launcher.css +6 -70
- package/style/omnibox.css +2 -14
- package/style/showOutput.css +0 -6
- package/style/sidebar.css +29 -9
- package/style/tabs.css +5 -13
- package/style/terminals.css +18 -123
- package/style/topBar.css +2 -22
- package/style/walkthrough.css +0 -8
package/style/sidebar.css
CHANGED
|
@@ -1,14 +1,34 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* The
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* justify-content, so the icons sit at the leading edge. Center them under
|
|
6
|
-
* the menu bar instead.
|
|
7
|
-
*
|
|
8
|
-
* `safe center` keeps the row start-aligned should the icons ever exceed the
|
|
9
|
-
* bar width, so none are pushed past the leading edge out of reach of the
|
|
10
|
-
* content node's horizontal overflow scroll.
|
|
2
|
+
* The activity bar ships horizontal (labconfig activityBarPosition: "top");
|
|
3
|
+
* upstream leaves the icons start-aligned, so center them. `safe` keeps
|
|
4
|
+
* overflowing icons reachable instead of pushed past the leading edge.
|
|
11
5
|
*/
|
|
12
6
|
.jp-SideBar[data-orientation='horizontal'] .lm-TabBar-content {
|
|
13
7
|
justify-content: safe center;
|
|
8
|
+
|
|
9
|
+
/*
|
|
10
|
+
* Carve-out from the thin scrollbars in chrome.css, which would clip the
|
|
11
|
+
* icons on overflow; `auto` lets the stock 4px webkit scrollbar apply.
|
|
12
|
+
*/
|
|
13
|
+
scrollbar-width: auto;
|
|
14
|
+
scrollbar-color: auto;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/*
|
|
18
|
+
* Match the height of the dock tab strip.
|
|
19
|
+
*/
|
|
20
|
+
.jp-SideBar.lm-TabBar[data-orientation='horizontal'] {
|
|
21
|
+
min-height: calc(
|
|
22
|
+
var(--jp-private-horizontal-tab-height) + 2 * var(--jp-border-width)
|
|
23
|
+
);
|
|
24
|
+
max-height: calc(
|
|
25
|
+
var(--jp-private-horizontal-tab-height) + 2 * var(--jp-border-width)
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/*
|
|
30
|
+
* The stock 20px icons crowd the shorter bar.
|
|
31
|
+
*/
|
|
32
|
+
.jp-SideBar[data-orientation='horizontal'] .lm-TabBar-tabIcon svg {
|
|
33
|
+
width: 18px;
|
|
14
34
|
}
|
package/style/tabs.css
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Adaptive (VS Code-style) document tab widths
|
|
3
|
-
*
|
|
4
|
-
* the
|
|
5
|
-
*
|
|
6
|
-
* Mostly mirrors jupyterlab/jupyterlab#18796, with one deliberate divergence:
|
|
7
|
-
* .lm-TabBar-content uses `flex: 0 1 auto` (not `1 1 auto`) so the +/add
|
|
8
|
-
* button sits next to the last tab instead of being pushed to the right
|
|
9
|
-
* edge of the bar. Overflow scrolling still works because `flex-shrink: 1`
|
|
10
|
-
* plus `min-width: 0` lets content shrink when tabs exceed the bar width.
|
|
2
|
+
* Adaptive (VS Code-style) document tab widths, mostly mirroring
|
|
3
|
+
* jupyterlab/jupyterlab#18796. One divergence: .lm-TabBar-content uses
|
|
4
|
+
* `flex: 0 1 auto` so the add button hugs the last tab instead of the far edge.
|
|
11
5
|
*/
|
|
12
6
|
|
|
13
7
|
.lm-DockPanel-tabBar .lm-TabBar-tab,
|
|
@@ -26,10 +20,8 @@
|
|
|
26
20
|
width: auto;
|
|
27
21
|
}
|
|
28
22
|
|
|
29
|
-
/*
|
|
30
|
-
|
|
31
|
-
hide this with slack space), and the icon-hover chip in chrome.css extends
|
|
32
|
-
2px beyond the icon box into this gap. */
|
|
23
|
+
/* Fit-content tabs put the close icon flush against the label; the icon-hover
|
|
24
|
+
chip in chrome.css extends 2px into this gap. */
|
|
33
25
|
.lm-DockPanel-tabBar .lm-TabBar-tab .lm-TabBar-tabCloseIcon,
|
|
34
26
|
.lm-TabPanel-tabBar .lm-TabBar-tab .lm-TabBar-tabCloseIcon {
|
|
35
27
|
margin-left: 4px;
|
package/style/terminals.css
CHANGED
|
@@ -1,93 +1,27 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Left-sidebar panel listing running terminal sessions. Each row shows
|
|
3
|
-
* the session's real (program-published) title, a smaller line below it
|
|
4
|
-
* with the latest output from a running coding agent, and an inline
|
|
5
|
-
* shutdown button that fades in on hover; the header carries the panel
|
|
6
|
-
* title and a "new terminal" button. Colors and spacing pull from
|
|
7
|
-
* `--jp-*` custom properties so the panel tracks the active JupyterLab
|
|
8
|
-
* theme.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
1
|
.jp-xtralab-Terminals {
|
|
12
|
-
display: flex;
|
|
13
|
-
flex-direction: column;
|
|
14
2
|
min-width: 200px;
|
|
15
3
|
overflow: hidden;
|
|
16
|
-
background-color: var(--jp-layout-color1);
|
|
17
|
-
color: var(--jp-ui-font-color1);
|
|
18
|
-
font-size: var(--jp-ui-font-size1);
|
|
19
4
|
}
|
|
20
5
|
|
|
21
|
-
.
|
|
6
|
+
/* On the section, not the panel, so the rules travel when the section moves. */
|
|
7
|
+
.jp-xtralab-Terminals-section {
|
|
22
8
|
display: flex;
|
|
23
|
-
flex: 1 1 auto;
|
|
24
9
|
flex-direction: column;
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.jp-xtralab-Terminals-header {
|
|
29
|
-
display: flex;
|
|
30
|
-
flex: 0 0 auto;
|
|
31
|
-
align-items: center;
|
|
32
|
-
justify-content: space-between;
|
|
33
|
-
padding: 8px 12px;
|
|
34
|
-
border-bottom: var(--jp-border-width) solid var(--jp-border-color2);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.jp-xtralab-Terminals-title {
|
|
38
|
-
margin: 0;
|
|
39
|
-
font-size: var(--jp-ui-font-size0);
|
|
40
|
-
font-weight: 600;
|
|
41
|
-
letter-spacing: 1px;
|
|
42
|
-
text-transform: uppercase;
|
|
43
|
-
color: var(--jp-ui-font-color1);
|
|
10
|
+
overflow: hidden;
|
|
44
11
|
}
|
|
45
12
|
|
|
46
|
-
.jp-xtralab-Terminals-
|
|
13
|
+
.jp-xtralab-Terminals-listing {
|
|
47
14
|
display: flex;
|
|
48
|
-
flex:
|
|
49
|
-
|
|
50
|
-
|
|
15
|
+
flex: 1 1 auto;
|
|
16
|
+
flex-direction: column;
|
|
17
|
+
min-height: 0;
|
|
51
18
|
}
|
|
52
19
|
|
|
53
|
-
.jp-xtralab-Terminals-
|
|
20
|
+
.jp-xtralab-Terminals-body {
|
|
54
21
|
display: flex;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
height: 20px;
|
|
59
|
-
padding: 0;
|
|
60
|
-
background: transparent;
|
|
61
|
-
border: none;
|
|
62
|
-
border-radius: 2px;
|
|
63
|
-
color: var(--jp-ui-font-color2);
|
|
64
|
-
cursor: pointer;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.jp-xtralab-Terminals-action:hover {
|
|
68
|
-
background-color: var(--jp-layout-color2);
|
|
69
|
-
color: var(--jp-ui-font-color1);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
.jp-xtralab-Terminals-action:focus-visible {
|
|
73
|
-
outline: var(--jp-border-width) solid var(--jp-brand-color1);
|
|
74
|
-
outline-offset: -1px;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/*
|
|
78
|
-
* "Shut down all" is disabled when there are no running terminals. Dim the
|
|
79
|
-
* whole control with opacity rather than `color`: the stop glyph is an SVG
|
|
80
|
-
* whose fill comes from its own `jp-icon3` class (not `currentColor`), so a
|
|
81
|
-
* `color` change alone leaves the icon looking fully active — which is why the
|
|
82
|
-
* button did not read as disabled.
|
|
83
|
-
*/
|
|
84
|
-
.jp-xtralab-Terminals-action:disabled {
|
|
85
|
-
cursor: default;
|
|
86
|
-
opacity: 0.4;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
.jp-xtralab-Terminals-action:disabled:hover {
|
|
90
|
-
background: transparent;
|
|
22
|
+
flex: 1 1 auto;
|
|
23
|
+
flex-direction: column;
|
|
24
|
+
min-height: 0;
|
|
91
25
|
}
|
|
92
26
|
|
|
93
27
|
.jp-xtralab-Terminals-empty {
|
|
@@ -114,13 +48,8 @@
|
|
|
114
48
|
background-color: var(--jp-layout-color2);
|
|
115
49
|
}
|
|
116
50
|
|
|
117
|
-
/*
|
|
118
|
-
*
|
|
119
|
-
* filling the row so the whole strip activates the session. The close button
|
|
120
|
-
* sits to its right and intercepts its own clicks via the React handler.
|
|
121
|
-
* Top-aligned so the icon sits on the title line when an activity line wraps
|
|
122
|
-
* the row to a second line.
|
|
123
|
-
*/
|
|
51
|
+
/* Top-aligned so the icon stays on the title line when the activity line
|
|
52
|
+
* wraps to a second line. */
|
|
124
53
|
.jp-xtralab-Terminals-item-activate {
|
|
125
54
|
display: flex;
|
|
126
55
|
flex: 1 1 auto;
|
|
@@ -141,13 +70,11 @@
|
|
|
141
70
|
outline-offset: -2px;
|
|
142
71
|
}
|
|
143
72
|
|
|
144
|
-
/* Nudge the
|
|
145
|
-
* height rather than the very top of the text block. */
|
|
73
|
+
/* Nudge the icon down so it lines up with the title's cap height. */
|
|
146
74
|
.jp-xtralab-Terminals-item-icon {
|
|
147
75
|
margin-top: 1px;
|
|
148
76
|
}
|
|
149
77
|
|
|
150
|
-
/* The title + activity column, between the icon and the close button. */
|
|
151
78
|
.jp-xtralab-Terminals-item-text {
|
|
152
79
|
display: flex;
|
|
153
80
|
flex: 1 1 auto;
|
|
@@ -162,11 +89,6 @@
|
|
|
162
89
|
white-space: nowrap;
|
|
163
90
|
}
|
|
164
91
|
|
|
165
|
-
/*
|
|
166
|
-
* The latest line of agent output, shown under the title. Smaller and dimmer
|
|
167
|
-
* than the title so it reads as secondary, and clamped to two lines with an
|
|
168
|
-
* ellipsis so a long line can't stretch the row indefinitely.
|
|
169
|
-
*/
|
|
170
92
|
.jp-xtralab-Terminals-item-detail {
|
|
171
93
|
display: -webkit-box;
|
|
172
94
|
overflow: hidden;
|
|
@@ -179,10 +101,6 @@
|
|
|
179
101
|
-webkit-box-orient: vertical;
|
|
180
102
|
}
|
|
181
103
|
|
|
182
|
-
/*
|
|
183
|
-
* Close button. Hidden by default so the row reads as plain text; fades
|
|
184
|
-
* in when the row is hovered or the button itself takes focus.
|
|
185
|
-
*/
|
|
186
104
|
.jp-xtralab-Terminals-item-close {
|
|
187
105
|
display: flex;
|
|
188
106
|
flex: 0 0 auto;
|
|
@@ -208,52 +126,32 @@
|
|
|
208
126
|
outline-offset: -2px;
|
|
209
127
|
}
|
|
210
128
|
|
|
211
|
-
/*
|
|
212
|
-
* last to keep stylelint's no-descending-specificity rule happy. */
|
|
129
|
+
/* Placed last to keep stylelint's no-descending-specificity rule happy. */
|
|
213
130
|
.jp-xtralab-Terminals-item:hover .jp-xtralab-Terminals-item-close {
|
|
214
131
|
opacity: 1;
|
|
215
132
|
}
|
|
216
133
|
|
|
217
|
-
|
|
218
|
-
.jp-xtralab-Terminals-item svg,
|
|
219
|
-
.jp-xtralab-Terminals-action svg {
|
|
134
|
+
.jp-xtralab-Terminals-item svg {
|
|
220
135
|
width: 16px;
|
|
221
136
|
height: 16px;
|
|
222
137
|
}
|
|
223
138
|
|
|
224
|
-
/*
|
|
225
|
-
* The terminal that is currently the active widget in the main area — the
|
|
226
|
-
* running-session counterpart of the file browser highlighting the open
|
|
227
|
-
* document. It reuses the file listing's brand-color treatment so "this is
|
|
228
|
-
* the focused terminal" reads at a glance, and the panel highlights nothing
|
|
229
|
-
* while a notebook (or any non-terminal widget) holds the focus instead.
|
|
230
|
-
* Driven from `widget.tsx` via the terminal tracker + the shell's current
|
|
231
|
-
* widget.
|
|
232
|
-
*/
|
|
233
139
|
.jp-xtralab-Terminals-item.jp-mod-current {
|
|
234
140
|
color: var(--jp-ui-inverse-font-color1);
|
|
235
141
|
background-color: var(--jp-brand-color1);
|
|
236
142
|
}
|
|
237
143
|
|
|
238
|
-
/* Hovering the current row keeps the highlight rather than falling back to
|
|
239
|
-
* the neutral hover background. */
|
|
240
144
|
.jp-xtralab-Terminals-item.jp-mod-current:hover {
|
|
241
145
|
background-color: var(--jp-brand-color1);
|
|
242
146
|
}
|
|
243
147
|
|
|
244
|
-
/* Keep the activity line legible on the brand background: swap the dim
|
|
245
|
-
* neutral for the inverse font color, held a touch lighter than the title so
|
|
246
|
-
* it still reads as secondary. */
|
|
247
148
|
.jp-xtralab-Terminals-item.jp-mod-current .jp-xtralab-Terminals-item-detail {
|
|
248
149
|
color: var(--jp-ui-inverse-font-color1);
|
|
249
150
|
opacity: 0.85;
|
|
250
151
|
}
|
|
251
152
|
|
|
252
|
-
/*
|
|
253
|
-
*
|
|
254
|
-
* as the file listing does for its selected rows. Colored agent logos carry
|
|
255
|
-
* no selectable classes, so they keep their own colors.
|
|
256
|
-
*/
|
|
153
|
+
/* Invert the monochrome terminal glyph as the file listing does; colored
|
|
154
|
+
* agent logos carry no selectable classes and keep their own colors. */
|
|
257
155
|
.jp-xtralab-Terminals-item.jp-mod-current .jp-icon-selectable[fill] {
|
|
258
156
|
fill: #fff;
|
|
259
157
|
}
|
|
@@ -262,15 +160,12 @@
|
|
|
262
160
|
fill: var(--jp-brand-color1);
|
|
263
161
|
}
|
|
264
162
|
|
|
265
|
-
/* Keep the inline shutdown button legible on the brand background, including
|
|
266
|
-
* while it is itself hovered. */
|
|
267
163
|
.jp-xtralab-Terminals-item.jp-mod-current .jp-xtralab-Terminals-item-close,
|
|
268
164
|
.jp-xtralab-Terminals-item.jp-mod-current
|
|
269
165
|
.jp-xtralab-Terminals-item-close:hover {
|
|
270
166
|
color: var(--jp-ui-inverse-font-color1);
|
|
271
167
|
}
|
|
272
168
|
|
|
273
|
-
/* Focus rings need a color that contrasts with the brand background. */
|
|
274
169
|
.jp-xtralab-Terminals-item.jp-mod-current
|
|
275
170
|
.jp-xtralab-Terminals-item-activate:focus-visible,
|
|
276
171
|
.jp-xtralab-Terminals-item.jp-mod-current
|
package/style/topBar.css
CHANGED
|
@@ -1,34 +1,14 @@
|
|
|
1
|
-
/* Sidebar toggle buttons in the top bar (xtralab:top-bar). */
|
|
2
|
-
|
|
3
1
|
.jp-xtralab-TopBarButton {
|
|
4
2
|
display: flex;
|
|
5
3
|
align-items: center;
|
|
6
4
|
}
|
|
7
5
|
|
|
8
|
-
/*
|
|
9
|
-
* The right-area button is added to the flex container `#jp-top-panel` after
|
|
10
|
-
* the main menu (a high rank). `margin-left: auto` consumes the free space to
|
|
11
|
-
* its left so it floats to the far right, mirroring the left button at the
|
|
12
|
-
* leading edge.
|
|
13
|
-
*/
|
|
14
6
|
.jp-xtralab-TopBarButton-right {
|
|
15
7
|
margin-left: auto;
|
|
16
8
|
}
|
|
17
9
|
|
|
18
|
-
/*
|
|
19
|
-
*
|
|
20
|
-
* system paints state chrome directly on the button host that reads as an
|
|
21
|
-
* unwanted box/border in the top bar (see
|
|
22
|
-
* `@jupyter/web-components/.../styles/patterns/button.js`):
|
|
23
|
-
* - `:host([aria-pressed='true'])` (the matching sidebar is open) adds an
|
|
24
|
-
* inset `box-shadow`;
|
|
25
|
-
* - `:host([disabled])` (e.g. the right area is empty) fills the host with
|
|
26
|
-
* `neutralFillRest`.
|
|
27
|
-
* Neutralize both so the control stays a flat icon like the menu.
|
|
28
|
-
* The hover/active stealth fills are left untouched as a normal affordance.
|
|
29
|
-
* `!important` is needed to override the (non-important) `:host(...)` rules
|
|
30
|
-
* defined inside the component's shadow DOM.
|
|
31
|
-
*/
|
|
10
|
+
/* FAST `<jp-button>` shadow-DOM `:host` rules add chrome — [aria-pressed] inset
|
|
11
|
+
* box-shadow, [disabled] neutralFillRest fill; `!important` beats them. */
|
|
32
12
|
.jp-xtralab-TopBarButton .jp-ToolbarButtonComponent {
|
|
33
13
|
box-shadow: none !important;
|
|
34
14
|
}
|
package/style/walkthrough.css
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* The read-only walkthrough panel (`xtralab:walkthrough`) in the side area. A
|
|
3
|
-
* scrollable column of step cards, each holding rendered Markdown, an optional
|
|
4
|
-
* embedded visual, and an optional "jump to code" button.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
1
|
.jp-xtralab-Walkthrough {
|
|
8
2
|
overflow-y: auto;
|
|
9
3
|
padding: 4px 0;
|
|
@@ -32,8 +26,6 @@
|
|
|
32
26
|
margin-top: 8px;
|
|
33
27
|
}
|
|
34
28
|
|
|
35
|
-
/* A subtle native-feeling button: UI font and neutral colors, like the rest of
|
|
36
|
-
the JupyterLab chrome, with a leading file icon and a hover background. */
|
|
37
29
|
.jp-xtralab-Walkthrough-jump {
|
|
38
30
|
display: inline-flex;
|
|
39
31
|
align-items: center;
|