@perspective-dev/workspace 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/LICENSE.md +193 -0
  2. package/dist/cdn/perspective-workspace.js +45 -0
  3. package/dist/cdn/perspective-workspace.js.map +7 -0
  4. package/dist/css/pro-dark.css +1 -0
  5. package/dist/css/pro.css +1 -0
  6. package/dist/esm/perspective-workspace.d.ts +181 -0
  7. package/dist/esm/perspective-workspace.js +14 -0
  8. package/dist/esm/perspective-workspace.js.map +7 -0
  9. package/dist/esm/utils/custom_elements.d.ts +14 -0
  10. package/dist/esm/utils/observable_map.d.ts +9 -0
  11. package/dist/esm/workspace/commands.d.ts +3 -0
  12. package/dist/esm/workspace/dockpanel.d.ts +13 -0
  13. package/dist/esm/workspace/index.d.ts +1 -0
  14. package/dist/esm/workspace/menu.d.ts +11 -0
  15. package/dist/esm/workspace/tabbar.d.ts +25 -0
  16. package/dist/esm/workspace/tabbarrenderer.d.ts +19 -0
  17. package/dist/esm/workspace/widget.d.ts +27 -0
  18. package/dist/esm/workspace/workspace.d.ts +123 -0
  19. package/package.json +55 -0
  20. package/src/html/workspace.html +11 -0
  21. package/src/less/dockpanel.less +95 -0
  22. package/src/less/injected.less +14 -0
  23. package/src/less/menu.less +128 -0
  24. package/src/less/tabbar.less +366 -0
  25. package/src/less/viewer.less +86 -0
  26. package/src/less/widget.less +40 -0
  27. package/src/less/workspace.less +70 -0
  28. package/src/svg/bookmark-icon.svg +4 -0
  29. package/src/svg/drag-handle.svg +10 -0
  30. package/src/themes/pro-dark.less +139 -0
  31. package/src/themes/pro.less +93 -0
  32. package/src/ts/external.d.ts +21 -0
  33. package/src/ts/external.js +11 -0
  34. package/src/ts/perspective-workspace.ts +306 -0
  35. package/src/ts/utils/custom_elements.ts +95 -0
  36. package/src/ts/utils/observable_map.ts +39 -0
  37. package/src/ts/workspace/commands.ts +269 -0
  38. package/src/ts/workspace/dockpanel.ts +145 -0
  39. package/src/ts/workspace/index.ts +13 -0
  40. package/src/ts/workspace/menu.ts +213 -0
  41. package/src/ts/workspace/tabbar.ts +237 -0
  42. package/src/ts/workspace/tabbarrenderer.ts +91 -0
  43. package/src/ts/workspace/widget.ts +101 -0
  44. package/src/ts/workspace/workspace.ts +1056 -0
@@ -0,0 +1,366 @@
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
+ .lm-TabBar-tabLabel {
14
+ background-color: transparent;
15
+ border: none;
16
+ color: var(--icon--color, #666);
17
+ cursor: pointer;
18
+ padding: 0px 6px;
19
+ margin: 0;
20
+ margin-left: 15.5px;
21
+ margin-right: auto;
22
+ flex: 0 1 auto;
23
+ border-radius: 3px;
24
+ &:hover {
25
+ background-color: var(--icon--color);
26
+ color: var(--plugin--background);
27
+ }
28
+ }
29
+
30
+ // .p-TabBar-tabLabel[value="[untitled]"] {
31
+ // color: #ddd !important;
32
+ // }
33
+
34
+ .lm-TabBar-tabLabel:focus {
35
+ outline: none;
36
+ color: var(--workspace-secondary--color, #666) !important;
37
+ cursor: text;
38
+ }
39
+
40
+ .lm-TabBar-tab.lm-mod-closable > .lm-TabBar-tabCloseIcon:before {
41
+ content: var(--close-button--content, "\2715");
42
+ }
43
+
44
+ .lm-TabBar-tab > .lm-TabBar-tabConfigIcon:before {
45
+ content: var(--open-settings-button--content, "\1F527");
46
+ font-family: var(--settings--font-family, "Arial");
47
+ transition: color 0.5s ease;
48
+ }
49
+
50
+ .lm-TabBar-tab.lm-mod-current.settings_open > .lm-TabBar-tabConfigIcon:before {
51
+ content: var(--close-settings-button--content, "\1F527");
52
+ }
53
+
54
+ .lm-TabBar-tab.lm-mod-current.linked > .lm-TabBar-tabConfigIcon:before {
55
+ color: #22a0ce;
56
+ }
57
+
58
+ .lm-TabBar-tab > .lm-TabBar-tabConfigIcon {
59
+ opacity: 0;
60
+ pointer-events: none;
61
+ }
62
+
63
+ .lm-TabBar-tab.lm-mod-current > .lm-TabBar-tabConfigIcon {
64
+ opacity: 1;
65
+ pointer-events: all;
66
+ }
67
+
68
+ .lm-mod-current {
69
+ .lm-TabBar-tabConfigIcon,
70
+ .lm-TabBar-tabCloseIcon {
71
+ color: inherit;
72
+ transition: color 0.2s ease-out;
73
+ }
74
+
75
+ .lm-TabBar-tabConfigIcon:hover,
76
+ .lm-TabBar-tabCloseIcon:hover {
77
+ color: #1a7da1;
78
+ transition: color 0.2s ease-out;
79
+ }
80
+ }
81
+
82
+ .lm-BoxPanel {
83
+ overflow: scroll !important;
84
+ }
85
+
86
+ .lm-TabBar,
87
+ .lm-TabBar-tab {
88
+ position: relative;
89
+
90
+ overflow: visible !important;
91
+ }
92
+
93
+ .lm-TabBar-tabLabel:empty::after {
94
+ content: "untitled";
95
+ color: #aaa;
96
+ }
97
+
98
+ .lm-mod-current .lm-TabBar-tabLabel:empty::after {
99
+ color: #ddd;
100
+ }
101
+
102
+ .lm-TabBar-tabLabel:empty::after {
103
+ content: "untitled";
104
+ }
105
+
106
+ .divider {
107
+ left: 32px;
108
+ bottom: 0;
109
+ position: absolute;
110
+ right: 32px;
111
+
112
+ height: 1px;
113
+ background-color: var(--workspace-tabbar--border-color);
114
+ margin-bottom: 0px;
115
+ }
116
+
117
+ .lm-TabBar-tab .drag-handle {
118
+ height: 12px;
119
+ width: 5px;
120
+ -webkit-mask-image: var(--column-drag-handle--mask-image);
121
+ mask-image: var(--column-drag-handle--mask-image);
122
+ margin: 0px 0 0 21.5px;
123
+ background-repeat: no-repeat;
124
+ background-color: var(--inactive--color, red);
125
+ content: "";
126
+ display: inline-block;
127
+ -webkit-mask-size: cover;
128
+ mask-size: cover;
129
+ }
130
+
131
+ .lm-TabBar-tab.lm-mod-hidden {
132
+ display: flex !important;
133
+ opacity: 0.5;
134
+ }
135
+
136
+ .lm-TabBar-tab.lm-mod-current .divider {
137
+ display: block;
138
+ }
139
+
140
+ // .lm-TabBar-tabLabel input {
141
+ // height: 18px;
142
+ // }
143
+
144
+ .lm-TabBar {
145
+ min-height: 40px !important;
146
+ }
147
+
148
+ @border-color: 1px solid #eaeaea;
149
+ @night-border-color: 1px solid #ddd;
150
+
151
+ .pfm-button-base {
152
+ background: white !important;
153
+ }
154
+
155
+ .pfm-button-base:active {
156
+ background: #016bc6 !important;
157
+ }
158
+
159
+ .lm-TabBar-content {
160
+ padding: 0px;
161
+ border-bottom: 0px solid #fff !important;
162
+ border-left: #eaeaea;
163
+ border-right: #eaeaea;
164
+ }
165
+
166
+ .lm-TabBar-tab.lm-mod-current {
167
+ .shadow {
168
+ margin: -1px;
169
+ position: absolute;
170
+ width: calc(100% + 2px);
171
+ height: 200%;
172
+ pointer-events: none;
173
+ left: 0px;
174
+ }
175
+
176
+ &.settings_open .shadow {
177
+ box-shadow: none;
178
+ }
179
+ }
180
+
181
+ .lm-TabBar-tab {
182
+ // margin: 0px 4px;
183
+ border-color: #eaeaea;
184
+ align-items: center;
185
+ }
186
+
187
+ .lm-TabBar-content.inactive-blur > .lm-TabBar-tab {
188
+ background-color: var(
189
+ --workspace-inactive-blur--background-color,
190
+ transparent
191
+ );
192
+ }
193
+
194
+ .condensed .lm-TabBar-content {
195
+ & > .lm-TabBar-tab.lm-mod-current .lm-TabBar-tabConfigIcon {
196
+ display: block;
197
+ }
198
+
199
+ & > .lm-TabBar-tab.lm-mod-current.settings_open {
200
+ .lm-TabBar-tabLabel {
201
+ margin-left: 0px;
202
+ }
203
+ }
204
+ }
205
+
206
+ .lm-TabBar-content > .lm-TabBar-tab.lm-mod-current.settings_open {
207
+ border-width: 1px 1px 0px 1px !important;
208
+ border-color: var(--workspace-tabbar--border-color, #ddd);
209
+
210
+ .lm-TabBar-tabToolbar {
211
+ display: flex;
212
+ }
213
+
214
+ .divider {
215
+ height: 1px;
216
+ margin-bottom: 0px;
217
+ background-color: var(--workspace-tabbar--border-color, #ddd);
218
+ }
219
+
220
+ &:last-child:first-child .divider {
221
+ transition: none;
222
+ }
223
+ }
224
+
225
+ .lm-TabBar-content > .lm-TabBar-tab.lm-mod-current.perspective_updating {
226
+ .lm-TabBar-tabConfigIcon {
227
+ display: none;
228
+ }
229
+
230
+ .lm-TabBar-tabLoadingIcon {
231
+ display: block;
232
+ }
233
+ }
234
+
235
+ .lm-TabBar-content > .lm-TabBar-tab {
236
+ max-width: 100000px !important;
237
+ flex: 0 1 100000px !important;
238
+ background: none;
239
+ color: #737373;
240
+ height: 40px !important;
241
+ max-height: 40px !important;
242
+ transform: none !important;
243
+ transition: color 0.2s ease-out;
244
+ }
245
+
246
+ .lm-TabBar-content > .lm-TabBar-tab {
247
+ color: #ccc;
248
+ }
249
+
250
+ .lm-TabBar-content > .lm-TabBar-tab {
251
+ color: #ccc;
252
+ }
253
+
254
+ .lm-TabBar-content > .lm-TabBar-tab:hover {
255
+ color: #ccc;
256
+ }
257
+
258
+ .lm-TabBar-content > .lm-TabBar-tab.lm-mod-current {
259
+ color: var(--workspace-secondary--color, #666);
260
+ }
261
+
262
+ .lm-TabBar-tab.lm-mod-current .lm-TabBar-tabLabel {
263
+ white-space: nowrap !important;
264
+ }
265
+
266
+ .lm-TabBar-tabLabel {
267
+ font-family: inherit;
268
+ font-size: 12px;
269
+ line-height: 22px;
270
+ text-align: start;
271
+ white-space: normal !important;
272
+ word-break: break-all;
273
+ }
274
+
275
+ .lm-TabBar-tabCloseIcon,
276
+ .lm-TabBar-tabConfigIcon {
277
+ cursor: pointer !important;
278
+ line-height: 22px !important;
279
+ padding-right: 16.5px !important;
280
+ }
281
+
282
+ .lm-TabBar-tabConfigIcon {
283
+ padding-left: 8px;
284
+ padding-right: 8px !important;
285
+ }
286
+
287
+ .lm-TabBar-tabLoadingIcon {
288
+ padding-left: 11px;
289
+ padding-right: 12px;
290
+ }
291
+
292
+ .bottom .lm-TabBar-tab {
293
+ flex-basis: 10000px !important;
294
+ max-width: 10000px !important;
295
+ }
296
+
297
+ .lm-TabBar-content > .lm-TabBar-tab.lm-mod-current {
298
+ color: var(--workspace-tabbar--color, #666) !important;
299
+ border: var(--workspace-tabbar--border, 1px solid #ddd);
300
+ border-width: var(--workspace-tabbar-tab--border-width);
301
+ box-shadow: 0 13px 0 -12px var(--inactive--border-color);
302
+ border-radius: var(--workspace-tabbar--border-radius, 6px)
303
+ var(--workspace-tabbar--border-radius, 6px) 0 0;
304
+ background-color: var(--workspace-tabbar--background-color, white);
305
+ height: 40px !important;
306
+ max-height: 40px !important;
307
+ }
308
+
309
+ .bottom .lm-TabBar-tab.lm-mod-current {
310
+ border: none;
311
+ }
312
+
313
+ ::-webkit-scrollbar-thumb {
314
+ background-color: #ccc;
315
+ }
316
+
317
+ .perspective-workspace.context-menu * .lm-TabBar.context-focus {
318
+ opacity: 1;
319
+ }
320
+
321
+ .perspective-workspace.context-menu * .lm-TabBar,
322
+ .perspective-workspace.context-menu
323
+ .lm-Widget.workspace-widget:not(.context-focus)
324
+ .viewer-container {
325
+ opacity: 0.2;
326
+ }
327
+
328
+ @mixin icon {
329
+ background-repeat: no-repeat;
330
+ background-color: var(--icon--color);
331
+ content: "";
332
+ display: inline-block;
333
+ -webkit-mask-size: cover;
334
+ mask-size: cover;
335
+ }
336
+
337
+ .bookmarks-button {
338
+ margin-left: 11px;
339
+ margin-right: -13px;
340
+ border-radius: 3px;
341
+ height: 22px;
342
+
343
+ &:hover {
344
+ background-color: var(--icon--color);
345
+ }
346
+ }
347
+
348
+ .bookmarks {
349
+ cursor: pointer;
350
+ @include icon;
351
+ width: 26px;
352
+ height: 12px;
353
+ -webkit-mask-image: var(--bookmarks--mask-image);
354
+ mask-image: var(--bookmarks--mask-image);
355
+ -webkit-mask-position: center;
356
+ mask-position: center;
357
+ -webkit-mask-size: auto;
358
+ mask-size: auto;
359
+ -webkit-mask-repeat: no-repeat;
360
+ mask-repeat: no-repeat;
361
+ padding: 5px;
362
+
363
+ &:hover {
364
+ background-color: var(--plugin--background);
365
+ }
366
+ }
@@ -0,0 +1,86 @@
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
+ @border-color: 1px solid #eaeaea;
14
+
15
+ .workspace-master-widget {
16
+ --config-button-icon--content: var(
17
+ --open-settings-button--content,
18
+ "\1F527"
19
+ ) !important;
20
+ }
21
+
22
+ .workspace-master-widget[settings] {
23
+ --config-button-icon--content: var(
24
+ --close-settings-button--content,
25
+ "\1F527"
26
+ ) !important;
27
+ }
28
+
29
+ :not(.workspace-master-widget).widget-maximize {
30
+ --config-button-icon--content: var(
31
+ --open-settings-button--content,
32
+ "\1F527"
33
+ ) !important;
34
+ }
35
+
36
+ :not(.workspace-master-widget).widget-maximize[settings] {
37
+ --config-button-icon--content: var(
38
+ --close-settings-button--content,
39
+ "\1F527"
40
+ ) !important;
41
+ }
42
+
43
+ .lm-DockPanel-widget {
44
+ border: @border-color;
45
+ border-width: 0px !important;
46
+ min-width: 300px;
47
+ min-height: 200px;
48
+ }
49
+
50
+ :not.workspace-master-widget {
51
+ --config-button-icon--content: "" !important;
52
+ }
53
+
54
+ .context-menu > perspective-viewer.context-focus {
55
+ opacity: 1;
56
+ filter: none;
57
+ }
58
+
59
+ .context-menu > perspective-viewer {
60
+ filter: saturate(0);
61
+
62
+ & > * {
63
+ pointer-events: none;
64
+ }
65
+ }
66
+
67
+ ::slotted(perspective-viewer) {
68
+ flex: 1;
69
+ position: relative;
70
+ display: block;
71
+ align-items: center;
72
+ justify-content: center;
73
+ flex-direction: column;
74
+ width: 100%;
75
+ height: 100%;
76
+ overflow: visible !important;
77
+ }
78
+
79
+ :host-context(.lm-mod-override-cursor) {
80
+ cursor: grabbing !important;
81
+ }
82
+
83
+ :host-context(.lm-mod-override-cursor) ::slotted(perspective-viewer),
84
+ .context-menu ::slotted(perspective-viewer) {
85
+ --override-content-pointer-events: none;
86
+ }
@@ -0,0 +1,40 @@
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
+ @border-color: 1px solid #eaedef;
14
+
15
+ .lm-DockPanel:not([data-mode="single-document"]) .viewer-container {
16
+ border: var(--workspace-tabbar--border, 1px solid var(--inactive--color));
17
+ border-width: var(--workspace-tabbar--border-width);
18
+ border-radius: 0 0 var(--workspace-tabbar--border-radius, 6px)
19
+ var(--workspace-tabbar--border-radius, 6px);
20
+ }
21
+
22
+ .viewer-container {
23
+ flex: 1;
24
+ height: 100%;
25
+ overflow: hidden;
26
+ }
27
+
28
+ .perspective-scroll-panel {
29
+ .workspace-widget {
30
+ min-width: 300px;
31
+ min-height: 200px;
32
+ }
33
+ }
34
+
35
+ .workspace-widget {
36
+ display: flex;
37
+ flex-direction: column;
38
+ border: @border-color;
39
+ border-width: 0px !important;
40
+ }
@@ -0,0 +1,70 @@
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
+ @import "@lumino/widgets/style/widget.css";
14
+ @import "@lumino/widgets/style/accordionpanel.css";
15
+ @import "@lumino/widgets/style/commandpalette.css";
16
+ @import "@lumino/widgets/style/dockpanel.css";
17
+ @import "@lumino/widgets/style/menu.css";
18
+ @import "@lumino/widgets/style/menubar.css";
19
+ @import "@lumino/widgets/style/scrollbar.css";
20
+ @import "@lumino/widgets/style/splitpanel.css";
21
+ @import "@lumino/widgets/style/tabbar.css";
22
+ @import "@lumino/widgets/style/tabpanel.css";
23
+
24
+ @import "./injected.less";
25
+
26
+ :host {
27
+ @import "./tabbar.less";
28
+ @import "./dockpanel.less";
29
+ @import "./widget.less";
30
+
31
+ background-color: hsl(210deg 18% 90%);
32
+
33
+ // width: 100%;
34
+ // height: 100%;
35
+
36
+ .workspace {
37
+ width: 100%;
38
+ height: 100%;
39
+ }
40
+
41
+ .lm-SplitPanel {
42
+ height: 100%;
43
+ width: 100%;
44
+ }
45
+
46
+ div.lm-SplitPanel-handle {
47
+ background-color: var(--workspace-split-panel-handle--background-color);
48
+ }
49
+
50
+ .master-panel {
51
+ background-color: var(--workspace-master--background-color, inherit);
52
+ padding: 0px 0px 0px 0px;
53
+
54
+ .viewer-container {
55
+ border-width: 0px;
56
+ }
57
+ }
58
+
59
+ .perspective-workspace.context-menu * .lm-SplitPanel-handle {
60
+ opacity: 0.2;
61
+ }
62
+
63
+ .perspective-workspace.context-menu > .lm-SplitPanel-handle {
64
+ opacity: 0.2;
65
+ }
66
+
67
+ .context-menu .lm-TabBar:not(.context-focus) {
68
+ pointer-events: none;
69
+ }
70
+ }
@@ -0,0 +1,4 @@
1
+ <svg width="24" height="11" viewBox="0 0 24 11" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M3.66214 6.96476L0.5 9.86338V0.5H7.5V9.86338L4.33786 6.96476L4 6.65505L3.66214 6.96476Z" stroke="#042121"/>
3
+ <path d="M19 4L21 6L23 4" stroke="#042121" stroke-linecap="round"/>
4
+ </svg>
@@ -0,0 +1,10 @@
1
+ <svg width="5" height="12" viewBox="0 0 5 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <circle cx="3.49996" cy="11.0001" r="0.833333" fill="#6E6E6E"/>
3
+ <circle cx="0.833333" cy="11.0001" r="0.833333" fill="#6E6E6E"/>
4
+ <circle cx="3.49996" cy="7.66683" r="0.833333" fill="#6E6E6E"/>
5
+ <circle cx="0.833333" cy="7.66683" r="0.833333" fill="#6E6E6E"/>
6
+ <circle cx="3.49996" cy="4.33333" r="0.833333" fill="#6E6E6E"/>
7
+ <circle cx="0.833333" cy="4.33333" r="0.833333" fill="#6E6E6E"/>
8
+ <circle cx="3.49996" cy="1.00008" r="0.833333" fill="#6E6E6E"/>
9
+ <circle cx="0.833333" cy="1.00008" r="0.833333" fill="#6E6E6E"/>
10
+ </svg>