@jupyterlab/application 4.0.0-alpha.2 → 4.0.0-alpha.21

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/style/menus.css CHANGED
@@ -27,17 +27,35 @@
27
27
  }
28
28
 
29
29
  .lm-MenuBar-menu {
30
- transform: translateY(calc(-2 * var(--jp-border-width)));
30
+ top: calc(-2 * var(--jp-border-width));
31
31
  }
32
32
 
33
33
  .lm-MenuBar-item {
34
- padding: 0px 8px;
34
+ padding: 0 8px;
35
35
  border-left: var(--jp-border-width) solid transparent;
36
36
  border-right: var(--jp-border-width) solid transparent;
37
37
  border-top: var(--jp-border-width) solid transparent;
38
38
  line-height: calc(var(--jp-private-menubar-height) - var(--jp-border-width));
39
39
  }
40
40
 
41
+ .lm-MenuBar-content:focus-visible {
42
+ outline-offset: -3px; /* this value is a compromise between Firefox, Chrome,
43
+ and Safari over this outline's visibility and discretion */
44
+ }
45
+
46
+ .lm-MenuBar:focus-visible {
47
+ outline: 1px solid var(--jp-accept-color-active, var(--jp-brand-color1));
48
+ outline-offset: -1px;
49
+ }
50
+
51
+ .lm-MenuBar-menu:focus-visible,
52
+ .lm-MenuBar-item:focus-visible,
53
+ .lm-Menu-item:focus-visible {
54
+ outline: unset;
55
+ outline-offset: unset;
56
+ -moz-outline-radius: unset;
57
+ }
58
+
41
59
  .lm-MenuBar-item.lm-mod-active {
42
60
  background: var(--jp-layout-color2);
43
61
  }
@@ -45,6 +63,7 @@
45
63
  .lm-MenuBar.lm-mod-active .lm-MenuBar-item.lm-mod-active {
46
64
  z-index: 10001;
47
65
  background: var(--jp-layout-color0);
66
+ color: var(--jp-ui-font-color0);
48
67
  border-left: var(--jp-border-width) solid var(--jp-border-color1);
49
68
  border-right: var(--jp-border-width) solid var(--jp-border-color1);
50
69
  box-shadow: var(--jp-elevation-z6);
@@ -77,9 +96,9 @@
77
96
 
78
97
  .lm-Menu {
79
98
  z-index: 10000;
80
- padding: 4px 0px;
99
+ padding: 4px 0;
81
100
  background: var(--jp-layout-color0);
82
- color: var(--jp-ui-font-color1);
101
+ color: var(--jp-ui-font-color0);
83
102
  border: var(--jp-border-width) solid var(--jp-border-color1);
84
103
  font-size: var(--jp-ui-font-size1);
85
104
  box-shadow: var(--jp-elevation-z6);
@@ -88,7 +107,7 @@
88
107
  .lm-Menu-item {
89
108
  min-height: var(--jp-private-menu-item-height);
90
109
  max-height: var(--jp-private-menu-item-height);
91
- padding: 0px;
110
+ padding: 0;
92
111
  line-height: var(--jp-private-menu-item-height);
93
112
  }
94
113
 
@@ -102,12 +121,12 @@
102
121
 
103
122
  .lm-Menu-itemIcon {
104
123
  width: 21px;
105
- padding: 0px 2px 0px 4px;
124
+ padding: 0 2px 0 4px;
106
125
  margin-top: -2px;
107
126
  }
108
127
 
109
128
  .lm-Menu-itemLabel {
110
- padding: 0px 32px 0px 2px;
129
+ padding: 0 32px 0 2px;
111
130
  }
112
131
 
113
132
  .lm-Menu-itemMnemonic {
@@ -115,12 +134,12 @@
115
134
  }
116
135
 
117
136
  .lm-Menu-itemShortcut {
118
- padding: 0px;
137
+ padding: 0;
119
138
  }
120
139
 
121
140
  .lm-Menu-itemSubmenuIcon {
122
141
  width: 18px;
123
- padding: 0px 4px 0px 0px;
142
+ padding: 0 4px 0 0;
124
143
  }
125
144
 
126
145
  .lm-Menu-item[data-type='separator'] > div {
@@ -136,7 +155,7 @@
136
155
  border-top: var(--jp-border-width) solid var(--jp-layout-color2);
137
156
  }
138
157
 
139
- /* gray out icon/caret for disable menu items */
158
+ /* gray out icon/caret for disabled menu items */
140
159
  .lm-Menu-item.lm-mod-disabled > .lm-Menu-itemIcon,
141
160
  .lm-Menu-item[data-type='submenu'].lm-mod-disabled > .lm-Menu-itemSubmenuIcon {
142
161
  opacity: 0.4;
@@ -106,17 +106,17 @@
106
106
  }
107
107
 
108
108
  .jp-scrollbar-tiny::-webkit-scrollbar-track:horizontal {
109
- border-left: 0px solid transparent;
110
- border-right: 0px solid transparent;
109
+ border-left: 0 solid transparent;
110
+ border-right: 0 solid transparent;
111
111
  }
112
112
 
113
113
  .jp-scrollbar-tiny::-webkit-scrollbar-track:vertical {
114
- border-top: 0px solid transparent;
115
- border-bottom: 0px solid transparent;
114
+ border-top: 0 solid transparent;
115
+ border-bottom: 0 solid transparent;
116
116
  }
117
117
 
118
118
  /*
119
- * Phosphor
119
+ * Lumino
120
120
  */
121
121
 
122
122
  .lm-ScrollBar[data-orientation='horizontal'] {
@@ -23,7 +23,7 @@
23
23
 
24
24
  .jp-SideBar.lm-TabBar,
25
25
  #jp-down-stack .lm-TabBar {
26
- color: var(--jp-ui-font-color1);
26
+ color: var(--jp-ui-font-color2);
27
27
  background: var(--jp-layout-color2);
28
28
  font-size: var(--jp-ui-font-size1);
29
29
  overflow: visible;
@@ -42,23 +42,25 @@
42
42
  align-items: stretch;
43
43
  list-style-type: none;
44
44
  height: var(--jp-private-sidebar-tab-width);
45
- transform-origin: 0 0 0;
46
45
  }
47
46
 
48
47
  .jp-SideBar .lm-TabBar-tab {
49
- padding: 0 16px;
48
+ padding: 16px 0;
50
49
  border: none;
51
50
  overflow: visible;
51
+ flex-direction: column;
52
+ position: relative;
52
53
  }
53
54
 
54
- .jp-SideBar .lm-TabBar-tab.lm-mod-current {
55
- min-height: calc(
56
- var(--jp-private-sidebar-tab-width) + var(--jp-border-width)
57
- );
58
- max-height: calc(
59
- var(--jp-private-sidebar-tab-width) + var(--jp-border-width)
60
- );
61
- /* transform: translateY(var(--jp-border-width)); */
55
+ .jp-SideBar .lm-TabBar-tab.lm-mod-current::after {
56
+ /* Internal border override pseudo-element */
57
+ position: absolute;
58
+ content: '';
59
+ bottom: 0;
60
+ right: 0;
61
+ top: 0;
62
+ left: 0;
63
+ border: var(--jp-border-width) solid var(--jp-layout-color1);
62
64
  }
63
65
 
64
66
  .jp-SideBar .lm-TabBar-tab:not(.lm-mod-current),
@@ -85,106 +87,81 @@
85
87
  background: var(--jp-layout-color1);
86
88
  }
87
89
 
88
- /* Left */
89
-
90
- /* Borders */
91
-
92
- .jp-SideBar.lm-TabBar.jp-mod-left {
93
- border-right: var(--jp-border-width) solid var(--jp-border-color0);
90
+ .jp-SideBar.lm-TabBar::after {
91
+ /* Internal border pseudo-element */
92
+ position: absolute;
93
+ content: '';
94
+ bottom: 0;
95
+ right: 0;
96
+ top: 0;
97
+ left: 0;
98
+ pointer-events: none;
94
99
  }
95
100
 
96
- .jp-SideBar.lm-TabBar.jp-mod-left .lm-TabBar-tab + .lm-TabBar-tab {
97
- border-right: var(--jp-border-width) solid var(--jp-layout-color2);
98
- }
99
-
100
- .jp-SideBar.lm-TabBar.jp-mod-left
101
- .lm-TabBar-tab.lm-mod-current
102
- + .lm-TabBar-tab {
103
- border-right: var(--jp-border-width) solid var(--jp-border-color0);
104
- }
101
+ /* Borders */
105
102
 
106
- .jp-SideBar.lm-TabBar.jp-mod-left
107
- .lm-TabBar-tab
108
- + .lm-TabBar-tab.lm-mod-current {
109
- border-right: var(--jp-border-width) solid var(--jp-border-color0);
103
+ .jp-SideBar.lm-TabBar .lm-TabBar-tab + .lm-TabBar-tab {
104
+ border-top: var(--jp-border-width) solid var(--jp-layout-color2);
110
105
  }
111
106
 
112
- .jp-SideBar.lm-TabBar.jp-mod-left .lm-TabBar-tab.lm-mod-current:last-child {
113
- border-left: var(--jp-border-width) solid var(--jp-border-color0);
107
+ .jp-SideBar.lm-TabBar .lm-TabBar-tab.lm-mod-current + .lm-TabBar-tab {
108
+ border-top: var(--jp-border-width) solid var(--jp-border-color0);
114
109
  }
115
110
 
116
- /* Transforms */
117
-
118
- .jp-SideBar.lm-TabBar.jp-mod-left .lm-TabBar-content {
119
- flex-direction: row-reverse;
120
- transform: rotate(-90deg) translateX(-100%);
111
+ .jp-SideBar.lm-TabBar .lm-TabBar-tab + .lm-TabBar-tab.lm-mod-current {
112
+ border-top: var(--jp-border-width) solid var(--jp-border-color0);
121
113
  }
122
114
 
123
- .jp-SideBar.lm-TabBar.jp-mod-left
124
- .lm-TabBar-tab:not(.lm-mod-current)
125
- .lm-TabBar-tabIcon {
126
- transform: rotate(90deg);
115
+ .jp-SideBar.lm-TabBar .lm-TabBar-tab.lm-mod-current:last-child {
116
+ border-bottom: var(--jp-border-width) solid var(--jp-border-color0);
127
117
  }
128
118
 
129
- .jp-SideBar.lm-TabBar.jp-mod-left
130
- .lm-TabBar-tab.lm-mod-current
131
- .lm-TabBar-tabIcon {
132
- transform: rotate(90deg)
133
- translate(
134
- calc(-0.5 * var(--jp-border-width)),
135
- calc(-0.5 * var(--jp-border-width))
136
- );
119
+ .jp-SideBar.lm-TabBar .lm-TabBar-tabLabel {
120
+ writing-mode: vertical-rl;
137
121
  }
138
122
 
139
- /* Right */
123
+ /* Left */
140
124
 
141
125
  /* Borders */
142
126
 
143
- .jp-SideBar.lm-TabBar.jp-mod-right {
144
- border-left: var(--jp-border-width) solid var(--jp-border-color0);
127
+ .jp-SideBar.lm-TabBar.jp-mod-left .lm-TabBar-content {
128
+ /* Internal border spacing */
129
+ margin-right: var(--jp-border-width);
145
130
  }
146
131
 
147
- .jp-SideBar.lm-TabBar.jp-mod-right .lm-TabBar-tab + .lm-TabBar-tab {
148
- border-left: var(--jp-border-width) solid var(--jp-layout-color2);
132
+ .jp-SideBar.lm-TabBar.jp-mod-left .lm-TabBar-tab.lm-mod-current::after {
133
+ /* Internal border override */
134
+ right: calc(-1 * var(--jp-border-width));
149
135
  }
150
136
 
151
- .jp-SideBar.lm-TabBar.jp-mod-right
152
- .lm-TabBar-tab.lm-mod-current
153
- + .lm-TabBar-tab {
154
- border-left: var(--jp-border-width) solid var(--jp-border-color0);
137
+ .jp-SideBar.lm-TabBar.jp-mod-left::after {
138
+ /* Internal border */
139
+ border-right: var(--jp-border-width) solid var(--jp-border-color0);
155
140
  }
156
141
 
157
- .jp-SideBar.lm-TabBar.jp-mod-right
158
- .lm-TabBar-tab
159
- + .lm-TabBar-tab.lm-mod-current {
160
- border-left: var(--jp-border-width) solid var(--jp-border-color0);
161
- }
142
+ /* Transforms */
162
143
 
163
- .jp-SideBar.lm-TabBar.jp-mod-right .lm-TabBar-tab.lm-mod-current:last-child {
164
- border-right: var(--jp-border-width) solid var(--jp-border-color0);
144
+ .jp-SideBar.lm-TabBar.jp-mod-left .lm-TabBar-tabLabel {
145
+ transform: rotate(180deg);
165
146
  }
166
147
 
167
- /* Transforms */
148
+ /* Right */
149
+
150
+ /* Borders */
168
151
 
169
152
  .jp-SideBar.lm-TabBar.jp-mod-right .lm-TabBar-content {
170
- flex-direction: row;
171
- transform: rotate(90deg) translateY(-100%);
153
+ /* Internal border spacing */
154
+ margin-left: var(--jp-border-width);
172
155
  }
173
156
 
174
- .jp-SideBar.lm-TabBar.jp-mod-right
175
- .lm-TabBar-tab:not(.lm-mod-current)
176
- .lm-TabBar-tabIcon {
177
- transform: rotate(-90deg);
157
+ .jp-SideBar.lm-TabBar.jp-mod-right .lm-TabBar-tab.lm-mod-current::after {
158
+ /* Internal border override */
159
+ left: calc(-1 * var(--jp-border-width));
178
160
  }
179
161
 
180
- .jp-SideBar.lm-TabBar.jp-mod-right
181
- .lm-TabBar-tab.lm-mod-current
182
- .lm-TabBar-tabIcon {
183
- transform: rotate(-90deg)
184
- translate(
185
- calc(0.5 * var(--jp-border-width)),
186
- calc(-0.5 * var(--jp-border-width))
187
- );
162
+ .jp-SideBar.lm-TabBar.jp-mod-right::after {
163
+ /* Internal border */
164
+ border-left: var(--jp-border-width) solid var(--jp-border-color0);
188
165
  }
189
166
 
190
167
  /* Down */
@@ -217,6 +194,7 @@
217
194
  #jp-left-stack > .lm-Widget,
218
195
  #jp-right-stack > .lm-Widget {
219
196
  min-width: var(--jp-sidebar-min-width);
197
+ background-color: var(--jp-layout-color1);
220
198
  }
221
199
 
222
200
  #jp-right-stack {
package/style/tabs.css CHANGED
@@ -20,7 +20,6 @@
20
20
 
21
21
  .lm-DockPanel-tabBar,
22
22
  .lm-TabPanel-tabBar {
23
- border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
24
23
  overflow: visible;
25
24
  color: var(--jp-ui-font-color1);
26
25
  font-size: var(--jp-ui-font-size1);
@@ -49,12 +48,12 @@
49
48
  flex: 0 1 var(--jp-private-horizontal-tab-width);
50
49
  align-items: center;
51
50
  min-height: calc(
52
- var(--jp-private-horizontal-tab-height) + var(--jp-border-width)
51
+ var(--jp-private-horizontal-tab-height) + 2 * var(--jp-border-width)
53
52
  );
54
- min-width: 0px;
53
+ min-width: 0;
55
54
  margin-left: calc(-1 * var(--jp-border-width));
56
55
  line-height: var(--jp-private-horizontal-tab-height);
57
- padding: 0px 8px;
56
+ padding: 0 8px;
58
57
  background: var(--jp-layout-color2);
59
58
  border: var(--jp-border-width) solid var(--jp-border-color1);
60
59
  border-bottom: none;
@@ -64,6 +63,17 @@
64
63
  .lm-DockPanel-tabBar .lm-TabBar-tab:hover:not(.lm-mod-current),
65
64
  .lm-TabPanel-tabBar .lm-TabBar-tab:hover:not(.lm-mod-current) {
66
65
  background: var(--jp-layout-color1);
66
+ color: var(--jp-ui-font-color1);
67
+ }
68
+
69
+ .lm-DockPanel-tabBar .lm-TabBar-tab:not(.lm-mod-current)::after,
70
+ .lm-DockPanel-tabBar .lm-TabBar-addButton::after {
71
+ position: absolute;
72
+ content: '';
73
+ bottom: 0;
74
+ left: calc(-1 * var(--jp-border-width));
75
+ width: calc(100% + 2 * var(--jp-border-width));
76
+ border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
67
77
  }
68
78
 
69
79
  .lm-DockPanel-tabBar .lm-TabBar-tab:first-child,
@@ -74,20 +84,16 @@
74
84
  /* This is a current tab of a tab bar in the dock panel: each tab bar has 1. */
75
85
  .lm-DockPanel-tabBar .lm-TabBar-tab.lm-mod-current {
76
86
  background: var(--jp-layout-color1);
77
- color: var(--jp-ui-font-color0);
78
- min-height: calc(
79
- var(--jp-private-horizontal-tab-height) + 2 * var(--jp-border-width)
80
- );
81
- transform: translateY(var(--jp-border-width));
87
+ color: var(--jp-ui-font-color1);
82
88
  }
83
89
 
84
90
  .lm-TabPanel-tabBar .lm-TabBar-tab.lm-mod-current {
85
91
  background: var(--jp-layout-color1);
86
- color: var(--jp-ui-font-color0);
92
+ color: var(--jp-ui-font-color1);
87
93
  }
88
94
 
89
95
  /* This is the main application level current tab: only 1 exists. */
90
- .lm-DockPanel-tabBar .lm-TabBar-tab.jp-mod-current:before {
96
+ .lm-DockPanel-tabBar .lm-TabBar-tab.jp-mod-current::before {
91
97
  position: absolute;
92
98
  top: calc(-1 * var(--jp-border-width) + 1px);
93
99
  left: calc(-1 * var(--jp-border-width));
@@ -99,12 +105,8 @@
99
105
 
100
106
  /* This is the left tab bar current tab: only 1 exists. */
101
107
  .lm-TabBar-tab.lm-mod-current {
102
- color: var(--jp-ui-font-color0);
103
- background: var(--jp-layout-color1);
104
- }
105
-
106
- .lm-TabBar-tab.lm-mod-current:hover {
107
108
  background: var(--jp-layout-color1);
109
+ color: var(--jp-ui-font-color1);
108
110
  }
109
111
 
110
112
  .lm-DockPanel-tabBar .lm-TabBar.lm-mod-left .lm-TabBar-tab,
@@ -147,25 +149,16 @@
147
149
  margin-right: 4px;
148
150
  }
149
151
 
150
- .lm-DockPanel-tabBar .lm-TabBar-tab.lm-mod-current .lm-TabBar-tabIcon,
151
- .lm-TabPanel-tabBar .lm-TabBar-tab.lm-mod-current .lm-TabBar-tabIcon {
152
- margin-bottom: var(--jp-border-width);
153
- }
154
-
155
- .lm-TabBar-WindowTabLabel {
156
- margin-top: 4px;
157
- }
158
-
159
152
  .lm-TabBar-tab.lm-mod-drag-image {
160
153
  background: var(--jp-layout-color1);
154
+ color: var(--jp-ui-font-color1);
161
155
  border: var(--jp-border-width) solid var(--jp-border-color1);
162
156
  border-top: var(--jp-border-width) solid var(--jp-brand-color1);
163
157
  box-shadow: var(--jp-elevation-z4);
164
- color: var(--jp-ui-font-color1);
165
158
  font-size: var(--jp-ui-font-size1);
166
159
  line-height: var(--jp-private-horizontal-tab-height);
167
160
  min-height: var(--jp-private-horizontal-tab-height);
168
161
  min-width: var(--jp-private-horizontal-tab-width);
169
- padding: 0px 10px;
162
+ padding: 0 10px;
170
163
  transform: translateX(-40%) translateY(-58%);
171
164
  }