@perspective-dev/workspace 4.2.0 → 4.4.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.
@@ -83,7 +83,7 @@ export declare class PerspectiveWorkspace extends SplitPanel {
83
83
  _maximize(widget: PerspectiveViewerWidget): void;
84
84
  _unmaximize(): void;
85
85
  toggleSingleDocument(widget: PerspectiveViewerWidget): void;
86
- _filterViewer(viewer: HTMLPerspectiveViewerElement, filters: [string, string, string][], candidates: Set<string>): Promise<void>;
86
+ _filterViewer(viewer: HTMLPerspectiveViewerElement, removeFilters: psp.Filter[], insertFilters: psp.Filter[], candidates: Set<string>): Promise<void>;
87
87
  onPerspectiveSelect(event: CustomEvent): Promise<void>;
88
88
  makeMaster(widget: PerspectiveViewerWidget): Promise<void>;
89
89
  makeDetail(widget: PerspectiveViewerWidget): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perspective-dev/workspace",
3
- "version": "4.2.0",
3
+ "version": "4.4.0",
4
4
  "description": "Perspective Workspace",
5
5
  "files": [
6
6
  "dist/**/*",
@@ -41,10 +41,11 @@
41
41
  },
42
42
  "devDependencies": {
43
43
  "@perspective-dev/viewer": "",
44
- "@prospective.co/procss": "0.1.18",
44
+ "lightningcss": "^1.29.0",
45
45
  "@perspective-dev/esbuild-plugin": "",
46
46
  "@perspective-dev/test": "",
47
47
  "@types/lodash": "^4.17.20",
48
+ "@types/react": ">17 <20",
48
49
  "typescript": ">=5 <6",
49
50
  "zx": ">=8 <9"
50
51
  },
@@ -0,0 +1,110 @@
1
+ /* ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+ * ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
3
+ * ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
4
+ * ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
5
+ * ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
6
+ * ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
7
+ * ┃ Copyright (c) 2017, the Perspective Authors. ┃
8
+ * ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
9
+ * ┃ This file is part of the Perspective library, distributed under the terms ┃
10
+ * ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
+ * ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
+ */
13
+
14
+ :host {
15
+ .lm-DockPanel {
16
+ overflow: var(--dock-panel--overflow, hidden);
17
+ position: absolute;
18
+ background-color: var(--detail--background-color, transparent);
19
+ padding: var(--psp-workspace--spacing);
20
+ top: 0;
21
+ left: 0;
22
+ right: 0;
23
+ bottom: 0;
24
+ &[data-mode="single-document"] {
25
+ padding: 0px;
26
+ }
27
+ }
28
+
29
+ .lm-Widget,
30
+ .lm-Widget {
31
+ cursor: inherit;
32
+ }
33
+
34
+ .lm-DockPanel.ew,
35
+ .lm-DockPanel.ew .lm-Widget,
36
+ .lm-SplitPanel.ew,
37
+ .lm-SplitPanel.ew .lm-Widget {
38
+ cursor: ew-resize !important;
39
+ }
40
+
41
+ .lm-DockPanel.ns,
42
+ .lm-DockPanel.ns .lm-Widget,
43
+ .lm-SplitPanel.ns,
44
+ .lm-SplitPanel.ns .lm-Widget {
45
+ cursor: ns-resize !important;
46
+ }
47
+
48
+ .workspace-master-widget {
49
+ min-width: 100px !important;
50
+ }
51
+
52
+ .lm-DockPanel.resizing ::slotted(perspective-viewer),
53
+ .lm-SplitPanel.resizing ::slotted(perspective-viewer) {
54
+ pointer-events: none;
55
+ }
56
+
57
+ .widget-blur ::slotted(perspective-viewer) {
58
+ opacity: 0.5;
59
+ }
60
+
61
+ .lm-DockPanel-handle.resizing {
62
+ background-color: rgba(0, 0, 0, 0.05);
63
+ }
64
+
65
+ .perspective-scroll-panel {
66
+ overflow: auto !important;
67
+ }
68
+
69
+ .lm-Panel {
70
+ min-height: 100%;
71
+ }
72
+
73
+ .lm-DockPanel-handle {
74
+ background-color: none;
75
+ }
76
+
77
+ .lm-SplitPanel-handle {
78
+ background-color: var(
79
+ --psp-workspace--split-panel-handle--background-color
80
+ );
81
+ }
82
+
83
+ .lm-SplitPanel-handle,
84
+ .lm-DockPanel-handle {
85
+ transition: background-color 0.3s ease-out;
86
+ &:hover {
87
+ background-color: rgba(0, 0, 0, 0.05);
88
+ }
89
+ }
90
+
91
+ .lm-DockPanel-handle[data-orientation="horizontal"] {
92
+ width: 10px !important;
93
+ margin-left: -5px;
94
+ }
95
+
96
+ .lm-DockPanel-handle[data-orientation="vertical"] {
97
+ height: 10px !important;
98
+ margin-top: -5px;
99
+ }
100
+
101
+ .lm-DockPanel-overlay {
102
+ background: rgba(75, 75, 75, 0.2);
103
+ border: 1px dashed #666;
104
+ border-radius: 6px;
105
+ transition-property: top, left, right, bottom;
106
+ transition-duration: 50ms;
107
+ transition-timing-function: linear;
108
+ margin: 0px;
109
+ }
110
+ }
@@ -1,14 +1,15 @@
1
- // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
- // ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
3
- // ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
4
- // ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
5
- // ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
6
- // ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
7
- // ┃ Copyright (c) 2017, the Perspective Authors. ┃
8
- // ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
9
- // ┃ This file is part of the Perspective library, distributed under the terms ┃
10
- // ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
- // ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
1
+ /* ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+ * ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
3
+ * ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
4
+ * ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
5
+ * ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
6
+ * ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
7
+ * ┃ Copyright (c) 2017, the Perspective Authors. ┃
8
+ * ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
9
+ * ┃ This file is part of the Perspective library, distributed under the terms ┃
10
+ * ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
+ * ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
+ */
12
13
 
13
- @import "./viewer.less";
14
- @import "./menu.less";
14
+ @import "./viewer.css";
15
+ @import "./menu.css";
@@ -0,0 +1,130 @@
1
+ /* ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+ * ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
3
+ * ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
4
+ * ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
5
+ * ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
6
+ * ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
7
+ * ┃ Copyright (c) 2017, the Perspective Authors. ┃
8
+ * ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
9
+ * ┃ This file is part of the Perspective library, distributed under the terms ┃
10
+ * ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
+ * ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
+ */
13
+
14
+ @import "@lumino/widgets/style/menu.css";
15
+
16
+ :host {
17
+ .lm-Menu {
18
+ font-size: 12px;
19
+ padding: 8px;
20
+ background-color: var(--psp--background-color);
21
+ color: var(--psp--color);
22
+ border: 1px solid var(--psp-inactive--color);
23
+ border-radius: 3px;
24
+ max-width: 350px;
25
+ top: 0;
26
+ left: 0;
27
+ }
28
+
29
+ .lm-Menu.perspective-workspace-menu {
30
+ .lm-Menu-item {
31
+ padding-left: 37px !important;
32
+ }
33
+ }
34
+
35
+ .lm-Menu-item.lm-mod-active {
36
+ background-color: var(--psp--color);
37
+ color: var(--psp--background-color);
38
+ }
39
+
40
+ .lm-Menu-item.lm-mod-disabled {
41
+ opacity: 0.5;
42
+ }
43
+
44
+ .lm-Menu-itemIcon {
45
+ width: 24px;
46
+ height: 12px;
47
+ margin-right: 4px;
48
+ }
49
+
50
+ .lm-Menu-itemLabel {
51
+ flex: 1 1;
52
+ padding: 4px 2px 4px 2px;
53
+ }
54
+
55
+ .lm-Menu-itemMnemonic {
56
+ text-decoration: underline;
57
+ }
58
+
59
+ .lm-Menu-itemShortcut {
60
+ padding: 4px 0px;
61
+ }
62
+
63
+ .lm-Menu-itemSubmenuIcon {
64
+ width: 24px;
65
+ height: 18px;
66
+ }
67
+
68
+ .lm-Menu-item {
69
+ display: flex;
70
+ align-items: center;
71
+ outline: none;
72
+
73
+ margin: 0 -8px;
74
+ padding: 0 8px;
75
+ }
76
+
77
+ .lm-Menu-item[data-type="separator"] > div {
78
+ padding: 0;
79
+ height: 9px;
80
+ }
81
+
82
+ .lm-Menu-item[data-type="separator"] > div::after {
83
+ content: "";
84
+ display: block;
85
+ position: relative;
86
+ top: 4px;
87
+ border-top: 1px solid;
88
+ }
89
+
90
+ .lm-MenuBar-menu {
91
+ transform: translateY(-1px);
92
+ }
93
+
94
+ .lm-MenuBar-item {
95
+ padding: 10px 32px;
96
+ border-left: 1px solid transparent;
97
+ border-right: 1px solid transparent;
98
+ color: #737373 !important;
99
+ }
100
+
101
+ .lm-MenuBar-item.lm-mod-active {
102
+ background: rgba(0, 0, 0, 0.2);
103
+ }
104
+
105
+ .lm-MenuBar.lm-mod-active .lm-MenuBar-item.lm-mod-active {
106
+ z-index: 10001;
107
+ background: rgba(0, 0, 0, 0.2);
108
+ /* border-left: 1px solid #c0c0c0; */
109
+ /* border-right: 1px solid #c0c0c0; */
110
+ }
111
+
112
+ .lm-Menu-itemIcon:before {
113
+ content: attr(content);
114
+ font-family:
115
+ "ui-monospace", "SFMono-Regular", "SF Mono", "Menlo", "Consolas",
116
+ "Liberation Mono", monospace;
117
+ }
118
+
119
+ [data-type="submenu"] .lm-Menu-itemSubmenuIcon:before {
120
+ content: ">";
121
+ font-family:
122
+ "ui-monospace", "SFMono-Regular", "SF Mono", "Menlo", "Consolas",
123
+ "Liberation Mono", monospace;
124
+ height: 18px;
125
+ }
126
+
127
+ .lm-mod-drag-image.lm-TabBar-tab {
128
+ display: none;
129
+ }
130
+ }
@@ -0,0 +1,378 @@
1
+ /* ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+ * ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
3
+ * ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
4
+ * ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
5
+ * ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
6
+ * ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
7
+ * ┃ Copyright (c) 2017, the Perspective Authors. ┃
8
+ * ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
9
+ * ┃ This file is part of the Perspective library, distributed under the terms ┃
10
+ * ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
+ * ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
+ */
13
+
14
+ :host {
15
+ .lm-TabBar-tabLabel {
16
+ background-color: transparent;
17
+ border: none;
18
+ color: var(--psp--color, #666);
19
+ cursor: pointer;
20
+ padding: 0px 6px;
21
+ margin: 0;
22
+ margin-left: 15.5px;
23
+ margin-right: auto;
24
+ flex: 0 1 auto;
25
+ border-radius: 3px;
26
+ &:hover {
27
+ background-color: var(--psp--color);
28
+ color: var(--psp--background-color);
29
+ }
30
+ }
31
+
32
+ /* .p-TabBar-tabLabel[value="[untitled]"] { */
33
+ /* color: #ddd !important; */
34
+ /* } */
35
+
36
+ .lm-TabBar-tabLabel:focus {
37
+ outline: none;
38
+ color: var(--workspace-secondary--color, #666) !important;
39
+ cursor: text;
40
+ }
41
+
42
+ .lm-TabBar-tab.lm-mod-closable > .lm-TabBar-tabCloseIcon:before {
43
+ content: var(--close-button--content, "\2715");
44
+ }
45
+
46
+ .lm-TabBar-tab > .lm-TabBar-tabConfigIcon:before {
47
+ content: var(--open-settings-button--content, "\1F527");
48
+ font-family: var(--settings--font-family, "Arial");
49
+ transition: color 0.5s ease;
50
+ }
51
+
52
+ .lm-TabBar-tab.lm-mod-current.settings_open
53
+ > .lm-TabBar-tabConfigIcon:before {
54
+ content: var(--close-settings-button--content, "\1F527");
55
+ }
56
+
57
+ .lm-TabBar-tab.lm-mod-current.linked > .lm-TabBar-tabConfigIcon:before {
58
+ color: #22a0ce;
59
+ }
60
+
61
+ .lm-TabBar-tab > .lm-TabBar-tabConfigIcon {
62
+ opacity: 0;
63
+ pointer-events: none;
64
+ }
65
+
66
+ .lm-TabBar-tab.lm-mod-current > .lm-TabBar-tabConfigIcon {
67
+ opacity: 1;
68
+ pointer-events: all;
69
+ }
70
+
71
+ .lm-mod-current {
72
+ .lm-TabBar-tabConfigIcon,
73
+ .lm-TabBar-tabCloseIcon {
74
+ color: inherit;
75
+ transition: color 0.2s ease-out;
76
+ }
77
+
78
+ .lm-TabBar-tabConfigIcon:hover,
79
+ .lm-TabBar-tabCloseIcon:hover {
80
+ color: #1a7da1;
81
+ transition: color 0.2s ease-out;
82
+ }
83
+ }
84
+
85
+ .lm-BoxPanel {
86
+ overflow: scroll !important;
87
+ }
88
+
89
+ .lm-TabBar,
90
+ .lm-TabBar-tab {
91
+ position: relative;
92
+
93
+ overflow: visible !important;
94
+ }
95
+
96
+ .lm-TabBar-tabLabel:empty::after {
97
+ content: "untitled";
98
+ color: #aaa;
99
+ }
100
+
101
+ .lm-mod-current .lm-TabBar-tabLabel:empty::after {
102
+ color: #ddd;
103
+ }
104
+
105
+ .lm-TabBar-tabLabel:empty::after {
106
+ content: "untitled";
107
+ }
108
+
109
+ .divider {
110
+ left: 32px;
111
+ bottom: 0;
112
+ position: absolute;
113
+ right: 32px;
114
+
115
+ height: 1px;
116
+ background-color: var(--psp-workspace--tabbar--border-color);
117
+ margin-bottom: 0px;
118
+ }
119
+
120
+ .lm-TabBar-tab .drag-handle {
121
+ pointer-events: all;
122
+ height: 12px;
123
+ width: 14px;
124
+ -webkit-mask-image: var(--psp-icon--column-drag-handle--mask-image);
125
+ mask-image: var(--psp-icon--column-drag-handle--mask-image);
126
+ padding: 12px 0 12px 12px;
127
+ background-repeat: no-repeat;
128
+ background-color: var(--psp--color, red);
129
+ content: "";
130
+ display: inline-block;
131
+ -webkit-mask-size: cover;
132
+ mask-size: auto;
133
+ mask-position: center;
134
+ mask-repeat: no-repeat;
135
+ }
136
+
137
+ .lm-TabBar {
138
+ /* z-index: -1; */
139
+ pointer-events: none;
140
+ .lm-TabBar-tabCloseIcon {
141
+ pointer-events: all;
142
+ }
143
+
144
+ .bookmarks-button {
145
+ pointer-events: all;
146
+ }
147
+ }
148
+
149
+ .lm-TabBar-tab.lm-mod-hidden {
150
+ display: flex !important;
151
+ opacity: 0.5;
152
+ }
153
+
154
+ .lm-TabBar-tab.lm-mod-current .divider {
155
+ display: block;
156
+ }
157
+
158
+ .pfm-button-base {
159
+ background: white !important;
160
+ }
161
+
162
+ .pfm-button-base:active {
163
+ background: #016bc6 !important;
164
+ }
165
+
166
+ .lm-TabBar-content {
167
+ padding: 0px;
168
+ border-bottom: 0px solid #fff !important;
169
+ border-left: #eaeaea;
170
+ border-right: #eaeaea;
171
+ }
172
+
173
+ .lm-TabBar-tab.lm-mod-current {
174
+ .shadow {
175
+ margin: -1px;
176
+ position: absolute;
177
+ width: calc(100% + 2px);
178
+ height: 200%;
179
+ pointer-events: none;
180
+ left: 0px;
181
+ }
182
+
183
+ &.settings_open .shadow {
184
+ box-shadow: none;
185
+ }
186
+ }
187
+
188
+ .lm-TabBar-tab {
189
+ /* margin: 0px 4px; */
190
+ border-color: #eaeaea;
191
+ align-items: center;
192
+ }
193
+
194
+ .lm-TabBar-content.inactive-blur > .lm-TabBar-tab {
195
+ background-color: var(
196
+ --workspace-inactive-blur--background-color,
197
+ transparent
198
+ );
199
+ }
200
+
201
+ .condensed .lm-TabBar-content {
202
+ & > .lm-TabBar-tab.lm-mod-current .lm-TabBar-tabConfigIcon {
203
+ display: block;
204
+ }
205
+
206
+ & > .lm-TabBar-tab.lm-mod-current.settings_open {
207
+ .lm-TabBar-tabLabel {
208
+ margin-left: 0px;
209
+ }
210
+ }
211
+ }
212
+
213
+ .lm-TabBar-content > .lm-TabBar-tab.lm-mod-current.settings_open {
214
+ border-width: 1px 1px 0px 1px !important;
215
+ border-color: var(--psp-workspace--tabbar--border-color, #ddd);
216
+
217
+ .lm-TabBar-tabToolbar {
218
+ display: flex;
219
+ }
220
+
221
+ .divider {
222
+ height: 1px;
223
+ margin-bottom: 0px;
224
+ background-color: var(--psp-workspace--tabbar--border-color, #ddd);
225
+ }
226
+
227
+ &:last-child:first-child .divider {
228
+ transition: none;
229
+ }
230
+ }
231
+
232
+ .lm-TabBar-content > .lm-TabBar-tab.lm-mod-current.perspective_updating {
233
+ .lm-TabBar-tabConfigIcon {
234
+ display: none;
235
+ }
236
+
237
+ .lm-TabBar-tabLoadingIcon {
238
+ display: block;
239
+ }
240
+ }
241
+
242
+ .lm-TabBar-content > .lm-TabBar-tab {
243
+ max-width: 100000px !important;
244
+ flex: 0 1 100000px !important;
245
+ background: none;
246
+ color: #737373;
247
+ height: 40px !important;
248
+ max-height: 40px !important;
249
+ margin-bottom: -40px;
250
+ transform: none !important;
251
+ transition: color 0.2s ease-out;
252
+ }
253
+
254
+ .lm-TabBar-content > .lm-TabBar-tab {
255
+ color: #ccc;
256
+ }
257
+
258
+ .lm-TabBar-content > .lm-TabBar-tab {
259
+ color: #ccc;
260
+ }
261
+
262
+ .lm-TabBar-content > .lm-TabBar-tab:hover {
263
+ color: #ccc;
264
+ }
265
+
266
+ .lm-TabBar-content > .lm-TabBar-tab.lm-mod-current {
267
+ color: var(--workspace-secondary--color, #666);
268
+ }
269
+
270
+ .lm-TabBar-tab.lm-mod-current .lm-TabBar-tabLabel {
271
+ white-space: nowrap !important;
272
+ }
273
+
274
+ .lm-TabBar-tabLabel {
275
+ font-family: inherit;
276
+ font-size: 12px;
277
+ line-height: 22px;
278
+ text-align: start;
279
+ white-space: normal !important;
280
+ word-break: break-all;
281
+ }
282
+
283
+ .lm-TabBar-tabCloseIcon,
284
+ .lm-TabBar-tabConfigIcon {
285
+ cursor: pointer !important;
286
+ line-height: 22px !important;
287
+ padding-right: 16.5px !important;
288
+ }
289
+
290
+ .lm-TabBar-tabConfigIcon {
291
+ padding-left: 8px;
292
+ padding-right: 8px !important;
293
+ }
294
+
295
+ .lm-TabBar-tabLoadingIcon {
296
+ padding-left: 11px;
297
+ padding-right: 12px;
298
+ }
299
+
300
+ .bottom .lm-TabBar-tab {
301
+ flex-basis: 10000px !important;
302
+ max-width: 10000px !important;
303
+ }
304
+
305
+ .lm-TabBar-content > .lm-TabBar-tab.lm-mod-current {
306
+ color: var(--workspace-tabbar--color, #666) !important;
307
+ /* border: var(--psp-workspace--tabbar--border, 1px solid #ddd); */
308
+ /* border-width: var(--psp-workspace--tabbar-tab--border-width); */
309
+ /* box-shadow: 0 13px 0 -12px var(--psp-inactive--border-color); */
310
+ /* border-radius: var(--psp-workspace--tabbar--border-radius, 6px) */
311
+ /* var(--psp-workspace--tabbar--border-radius, 6px) 0 0; */
312
+ /* background-color: var(--workspace-tabbar--background-color, white); */
313
+ background: none;
314
+ height: 40px !important;
315
+ max-height: 40px !important;
316
+ margin-bottom: -40px;
317
+ border: 0 solid transparent;
318
+ border-width: 1px 1px 0px 1px;
319
+ }
320
+
321
+ .bottom .lm-TabBar-tab.lm-mod-current {
322
+ border: none;
323
+ }
324
+
325
+ ::-webkit-scrollbar-thumb {
326
+ background-color: #ccc;
327
+ }
328
+
329
+ .perspective-workspace.context-menu * .lm-TabBar.context-focus {
330
+ opacity: 1;
331
+ }
332
+
333
+ .perspective-workspace.context-menu * .lm-TabBar,
334
+ .perspective-workspace.context-menu
335
+ .lm-Widget.workspace-widget:not(.context-focus)
336
+ .viewer-container {
337
+ opacity: 0.2;
338
+ }
339
+
340
+ .bookmarks-button {
341
+ margin-left: 11px;
342
+ margin-right: -13px;
343
+ height: 20px;
344
+ border-radius: 3px;
345
+ border: 1px solid var(--psp-inactive--color);
346
+ background-color: var(--psp--background-color);
347
+
348
+ &:hover {
349
+ background-color: var(--psp--color);
350
+ border-color: var(--psp--color);
351
+ }
352
+ }
353
+
354
+ .bookmarks {
355
+ background-repeat: no-repeat;
356
+ background-color: var(--psp--color);
357
+ content: "";
358
+ display: inline-block;
359
+ -webkit-mask-size: cover;
360
+ mask-size: cover;
361
+ cursor: pointer;
362
+ width: 20px;
363
+ height: 12px;
364
+ -webkit-mask-image: var(--psp-icon--bookmarks--mask-image);
365
+ mask-image: var(--psp-icon--bookmarks--mask-image);
366
+ -webkit-mask-position: center;
367
+ mask-position: center;
368
+ -webkit-mask-size: auto;
369
+ mask-size: auto;
370
+ -webkit-mask-repeat: no-repeat;
371
+ mask-repeat: no-repeat;
372
+ padding: 4px 6px;
373
+
374
+ &:hover {
375
+ background-color: var(--psp--background-color);
376
+ }
377
+ }
378
+ }