@genesis-community/golden-layout 2.6.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.
- package/LICENSE +21 -0
- package/README.md +24 -0
- package/dist/cjs/index.js +40 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/ts/config/config.js +870 -0
- package/dist/cjs/ts/config/config.js.map +1 -0
- package/dist/cjs/ts/config/resolved-config.js +477 -0
- package/dist/cjs/ts/config/resolved-config.js.map +1 -0
- package/dist/cjs/ts/container/component-container.js +412 -0
- package/dist/cjs/ts/container/component-container.js.map +1 -0
- package/dist/cjs/ts/controls/browser-popout.js +298 -0
- package/dist/cjs/ts/controls/browser-popout.js.map +1 -0
- package/dist/cjs/ts/controls/drag-proxy.js +221 -0
- package/dist/cjs/ts/controls/drag-proxy.js.map +1 -0
- package/dist/cjs/ts/controls/drag-source.js +149 -0
- package/dist/cjs/ts/controls/drag-source.js.map +1 -0
- package/dist/cjs/ts/controls/drop-target-indicator.js +31 -0
- package/dist/cjs/ts/controls/drop-target-indicator.js.map +1 -0
- package/dist/cjs/ts/controls/header-button.js +34 -0
- package/dist/cjs/ts/controls/header-button.js.map +1 -0
- package/dist/cjs/ts/controls/header.js +366 -0
- package/dist/cjs/ts/controls/header.js.map +1 -0
- package/dist/cjs/ts/controls/splitter.js +42 -0
- package/dist/cjs/ts/controls/splitter.js.map +1 -0
- package/dist/cjs/ts/controls/tab.js +262 -0
- package/dist/cjs/ts/controls/tab.js.map +1 -0
- package/dist/cjs/ts/controls/tabs-container.js +236 -0
- package/dist/cjs/ts/controls/tabs-container.js.map +1 -0
- package/dist/cjs/ts/controls/transition-indicator.js +64 -0
- package/dist/cjs/ts/controls/transition-indicator.js.map +1 -0
- package/dist/cjs/ts/errors/external-error.js +46 -0
- package/dist/cjs/ts/errors/external-error.js.map +1 -0
- package/dist/cjs/ts/errors/internal-error.js +38 -0
- package/dist/cjs/ts/errors/internal-error.js.map +1 -0
- package/dist/cjs/ts/golden-layout.js +299 -0
- package/dist/cjs/ts/golden-layout.js.map +1 -0
- package/dist/cjs/ts/items/component-item.js +190 -0
- package/dist/cjs/ts/items/component-item.js.map +1 -0
- package/dist/cjs/ts/items/component-parentable-item.js +18 -0
- package/dist/cjs/ts/items/component-parentable-item.js.map +1 -0
- package/dist/cjs/ts/items/content-item.js +414 -0
- package/dist/cjs/ts/items/content-item.js.map +1 -0
- package/dist/cjs/ts/items/ground-item.js +352 -0
- package/dist/cjs/ts/items/ground-item.js.map +1 -0
- package/dist/cjs/ts/items/row-or-column.js +609 -0
- package/dist/cjs/ts/items/row-or-column.js.map +1 -0
- package/dist/cjs/ts/items/stack.js +841 -0
- package/dist/cjs/ts/items/stack.js.map +1 -0
- package/dist/cjs/ts/layout-manager.js +1618 -0
- package/dist/cjs/ts/layout-manager.js.map +1 -0
- package/dist/cjs/ts/utils/config-minifier.js +218 -0
- package/dist/cjs/ts/utils/config-minifier.js.map +1 -0
- package/dist/cjs/ts/utils/dom-constants.js +3 -0
- package/dist/cjs/ts/utils/dom-constants.js.map +1 -0
- package/dist/cjs/ts/utils/drag-listener.js +132 -0
- package/dist/cjs/ts/utils/drag-listener.js.map +1 -0
- package/dist/cjs/ts/utils/event-emitter.js +201 -0
- package/dist/cjs/ts/utils/event-emitter.js.map +1 -0
- package/dist/cjs/ts/utils/event-hub.js +135 -0
- package/dist/cjs/ts/utils/event-hub.js.map +1 -0
- package/dist/cjs/ts/utils/i18n-strings.js +74 -0
- package/dist/cjs/ts/utils/i18n-strings.js.map +1 -0
- package/dist/cjs/ts/utils/jquery-legacy.js +15 -0
- package/dist/cjs/ts/utils/jquery-legacy.js.map +1 -0
- package/dist/cjs/ts/utils/style-constants.js +11 -0
- package/dist/cjs/ts/utils/style-constants.js.map +1 -0
- package/dist/cjs/ts/utils/types.js +94 -0
- package/dist/cjs/ts/utils/types.js.map +1 -0
- package/dist/cjs/ts/utils/utils.js +211 -0
- package/dist/cjs/ts/utils/utils.js.map +1 -0
- package/dist/cjs/ts/virtual-layout.js +247 -0
- package/dist/cjs/ts/virtual-layout.js.map +1 -0
- package/dist/css/goldenlayout-base.css +319 -0
- package/dist/css/themes/goldenlayout-borderless-dark-theme.css +136 -0
- package/dist/css/themes/goldenlayout-dark-theme.css +139 -0
- package/dist/css/themes/goldenlayout-light-theme.css +129 -0
- package/dist/css/themes/goldenlayout-soda-theme.css +126 -0
- package/dist/css/themes/goldenlayout-translucent-theme.css +152 -0
- package/dist/esm/index.js +21 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/ts/config/config.js +864 -0
- package/dist/esm/ts/config/config.js.map +1 -0
- package/dist/esm/ts/config/resolved-config.js +474 -0
- package/dist/esm/ts/config/resolved-config.js.map +1 -0
- package/dist/esm/ts/container/component-container.js +408 -0
- package/dist/esm/ts/container/component-container.js.map +1 -0
- package/dist/esm/ts/controls/browser-popout.js +294 -0
- package/dist/esm/ts/controls/browser-popout.js.map +1 -0
- package/dist/esm/ts/controls/drag-proxy.js +217 -0
- package/dist/esm/ts/controls/drag-proxy.js.map +1 -0
- package/dist/esm/ts/controls/drag-source.js +145 -0
- package/dist/esm/ts/controls/drag-source.js.map +1 -0
- package/dist/esm/ts/controls/drop-target-indicator.js +27 -0
- package/dist/esm/ts/controls/drop-target-indicator.js.map +1 -0
- package/dist/esm/ts/controls/header-button.js +30 -0
- package/dist/esm/ts/controls/header-button.js.map +1 -0
- package/dist/esm/ts/controls/header.js +362 -0
- package/dist/esm/ts/controls/header.js.map +1 -0
- package/dist/esm/ts/controls/splitter.js +38 -0
- package/dist/esm/ts/controls/splitter.js.map +1 -0
- package/dist/esm/ts/controls/tab.js +258 -0
- package/dist/esm/ts/controls/tab.js.map +1 -0
- package/dist/esm/ts/controls/tabs-container.js +232 -0
- package/dist/esm/ts/controls/tabs-container.js.map +1 -0
- package/dist/esm/ts/controls/transition-indicator.js +60 -0
- package/dist/esm/ts/controls/transition-indicator.js.map +1 -0
- package/dist/esm/ts/errors/external-error.js +38 -0
- package/dist/esm/ts/errors/external-error.js.map +1 -0
- package/dist/esm/ts/errors/internal-error.js +31 -0
- package/dist/esm/ts/errors/internal-error.js.map +1 -0
- package/dist/esm/ts/golden-layout.js +295 -0
- package/dist/esm/ts/golden-layout.js.map +1 -0
- package/dist/esm/ts/items/component-item.js +186 -0
- package/dist/esm/ts/items/component-item.js.map +1 -0
- package/dist/esm/ts/items/component-parentable-item.js +14 -0
- package/dist/esm/ts/items/component-parentable-item.js.map +1 -0
- package/dist/esm/ts/items/content-item.js +410 -0
- package/dist/esm/ts/items/content-item.js.map +1 -0
- package/dist/esm/ts/items/ground-item.js +348 -0
- package/dist/esm/ts/items/ground-item.js.map +1 -0
- package/dist/esm/ts/items/row-or-column.js +605 -0
- package/dist/esm/ts/items/row-or-column.js.map +1 -0
- package/dist/esm/ts/items/stack.js +837 -0
- package/dist/esm/ts/items/stack.js.map +1 -0
- package/dist/esm/ts/layout-manager.js +1614 -0
- package/dist/esm/ts/layout-manager.js.map +1 -0
- package/dist/esm/ts/utils/config-minifier.js +215 -0
- package/dist/esm/ts/utils/config-minifier.js.map +1 -0
- package/dist/esm/ts/utils/dom-constants.js +2 -0
- package/dist/esm/ts/utils/dom-constants.js.map +1 -0
- package/dist/esm/ts/utils/drag-listener.js +128 -0
- package/dist/esm/ts/utils/drag-listener.js.map +1 -0
- package/dist/esm/ts/utils/event-emitter.js +197 -0
- package/dist/esm/ts/utils/event-emitter.js.map +1 -0
- package/dist/esm/ts/utils/event-hub.js +131 -0
- package/dist/esm/ts/utils/event-hub.js.map +1 -0
- package/dist/esm/ts/utils/i18n-strings.js +71 -0
- package/dist/esm/ts/utils/i18n-strings.js.map +1 -0
- package/dist/esm/ts/utils/jquery-legacy.js +11 -0
- package/dist/esm/ts/utils/jquery-legacy.js.map +1 -0
- package/dist/esm/ts/utils/style-constants.js +8 -0
- package/dist/esm/ts/utils/style-constants.js.map +1 -0
- package/dist/esm/ts/utils/types.js +91 -0
- package/dist/esm/ts/utils/types.js.map +1 -0
- package/dist/esm/ts/utils/utils.js +191 -0
- package/dist/esm/ts/utils/utils.js.map +1 -0
- package/dist/esm/ts/virtual-layout.js +243 -0
- package/dist/esm/ts/virtual-layout.js.map +1 -0
- package/dist/img/lm_close_black.png +0 -0
- package/dist/img/lm_close_tab_white.png +0 -0
- package/dist/img/lm_close_white.png +0 -0
- package/dist/img/lm_maximise_black.png +0 -0
- package/dist/img/lm_maximise_white.png +0 -0
- package/dist/img/lm_minimize_black.png +0 -0
- package/dist/img/lm_minimize_white.png +0 -0
- package/dist/img/lm_popin_black.png +0 -0
- package/dist/img/lm_popin_white.png +0 -0
- package/dist/img/lm_popout_black.png +0 -0
- package/dist/img/lm_popout_white.png +0 -0
- package/dist/less/goldenlayout-base.less +422 -0
- package/dist/less/themes/goldenlayout-borderless-dark-theme.less +230 -0
- package/dist/less/themes/goldenlayout-dark-theme.less +233 -0
- package/dist/less/themes/goldenlayout-light-theme.less +223 -0
- package/dist/less/themes/goldenlayout-soda-theme.less +211 -0
- package/dist/less/themes/goldenlayout-translucent-theme.less +237 -0
- package/dist/scss/goldenlayout-base.scss +422 -0
- package/dist/scss/themes/_goldenlayout-var-theme.scss +232 -0
- package/dist/types/golden-layout-untrimmed.d.ts +3428 -0
- package/dist/types/index.d.ts +2246 -0
- package/dist/types/tsdoc-metadata.json +11 -0
- package/package.json +107 -0
- package/src/TOOLCHAIN.md +54 -0
- package/src/img/lm_close_black.png +0 -0
- package/src/img/lm_close_tab_white.png +0 -0
- package/src/img/lm_close_white.png +0 -0
- package/src/img/lm_maximise_black.png +0 -0
- package/src/img/lm_maximise_white.png +0 -0
- package/src/img/lm_minimize_black.png +0 -0
- package/src/img/lm_minimize_white.png +0 -0
- package/src/img/lm_popin_black.png +0 -0
- package/src/img/lm_popin_white.png +0 -0
- package/src/img/lm_popout_black.png +0 -0
- package/src/img/lm_popout_white.png +0 -0
- package/src/index.ts +21 -0
- package/src/less/goldenlayout-base.less +422 -0
- package/src/less/themes/goldenlayout-borderless-dark-theme.less +230 -0
- package/src/less/themes/goldenlayout-dark-theme.less +233 -0
- package/src/less/themes/goldenlayout-light-theme.less +223 -0
- package/src/less/themes/goldenlayout-soda-theme.less +211 -0
- package/src/less/themes/goldenlayout-translucent-theme.less +237 -0
- package/src/scss/goldenlayout-base.scss +422 -0
- package/src/scss/themes/_goldenlayout-var-theme.scss +232 -0
- package/src/ts/config/config.ts +1283 -0
- package/src/ts/config/resolved-config.ts +621 -0
- package/src/ts/container/component-container.ts +500 -0
- package/src/ts/controls/browser-popout.ts +325 -0
- package/src/ts/controls/drag-proxy.ts +259 -0
- package/src/ts/controls/drag-source.ts +167 -0
- package/src/ts/controls/drop-target-indicator.ts +35 -0
- package/src/ts/controls/header-button.ts +39 -0
- package/src/ts/controls/header.ts +483 -0
- package/src/ts/controls/splitter.ts +50 -0
- package/src/ts/controls/tab.ts +293 -0
- package/src/ts/controls/tabs-container.ts +281 -0
- package/src/ts/controls/transition-indicator.ts +78 -0
- package/src/ts/errors/external-error.ts +39 -0
- package/src/ts/errors/internal-error.ts +34 -0
- package/src/ts/golden-layout.ts +365 -0
- package/src/ts/items/component-item.ts +252 -0
- package/src/ts/items/component-parentable-item.ts +16 -0
- package/src/ts/items/content-item.ts +513 -0
- package/src/ts/items/ground-item.ts +404 -0
- package/src/ts/items/row-or-column.ts +707 -0
- package/src/ts/items/stack.ts +975 -0
- package/src/ts/layout-manager.ts +1862 -0
- package/src/ts/utils/config-minifier.ts +235 -0
- package/src/ts/utils/dom-constants.ts +44 -0
- package/src/ts/utils/drag-listener.ts +178 -0
- package/src/ts/utils/event-emitter.ts +275 -0
- package/src/ts/utils/event-hub.ts +163 -0
- package/src/ts/utils/i18n-strings.ts +96 -0
- package/src/ts/utils/jquery-legacy.ts +12 -0
- package/src/ts/utils/style-constants.ts +6 -0
- package/src/ts/utils/types.ts +145 -0
- package/src/ts/utils/utils.ts +206 -0
- package/src/ts/virtual-layout.ts +328 -0
|
@@ -0,0 +1,422 @@
|
|
|
1
|
+
// IMPORTANT NOTE
|
|
2
|
+
// Base styling is done in less. However it is converted to goldenlayout-base.scss so that themes
|
|
3
|
+
// can also be developed using SCSS.
|
|
4
|
+
// All changes to base style should be done in goldenlayout-base.scss.
|
|
5
|
+
// Do NOT make changes directly in goldenlayout-base.scss. goldenlayout-base.scss should only be updated by
|
|
6
|
+
// running the npm script "update-scss"
|
|
7
|
+
// Make sure that less code in goldenlayout.base.scss can be correctly correctly converted to scss with less2sass (ie keep it basic)
|
|
8
|
+
|
|
9
|
+
// Width variables (appears count calculates by raw css)
|
|
10
|
+
$width0: 100%; // Appears 3 times
|
|
11
|
+
$width1: 20px; // Appears 2 times
|
|
12
|
+
$width2: 100px; // Appears 1 time
|
|
13
|
+
$width3: 14px; // Appears 1 time
|
|
14
|
+
$width4: 18px; // Appears 1 time
|
|
15
|
+
$width5: 15px; // Appears 1 time
|
|
16
|
+
$width6: 2px; // Appears 1 time
|
|
17
|
+
|
|
18
|
+
// Height variables (appears count calculates by raw css)
|
|
19
|
+
$height0: 100%; // Appears 4 times
|
|
20
|
+
$height1: 20px; // Appears 2 times
|
|
21
|
+
$height2: 14px; // Appears 2 times
|
|
22
|
+
$height3: 10px; // Appears 1 time
|
|
23
|
+
$height4: 19px; // Appears 1 time
|
|
24
|
+
$height5: 18px; // Appears 1 time
|
|
25
|
+
$height6: 15px; // Appears 1 time
|
|
26
|
+
|
|
27
|
+
.lm_root {
|
|
28
|
+
position: relative;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.lm_row > .lm_item {
|
|
32
|
+
float: left;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Single Pane content (area in which final dragged content is contained)
|
|
36
|
+
.lm_content {
|
|
37
|
+
overflow: hidden;
|
|
38
|
+
position: relative;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// ".lm_dragging" is applied to BODY tag during Drag and is also directly applied to the root of the object being dragged
|
|
42
|
+
.lm_dragging,
|
|
43
|
+
.lm_dragging * {
|
|
44
|
+
cursor: move !important;
|
|
45
|
+
user-select: none;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// If a specific Pane is maximized
|
|
49
|
+
.lm_maximised {
|
|
50
|
+
position: absolute;
|
|
51
|
+
top: 0;
|
|
52
|
+
left: 0;
|
|
53
|
+
z-index: 40;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.lm_maximise_placeholder {
|
|
57
|
+
display: none;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Separator line (handle to change pane size)
|
|
61
|
+
.lm_splitter {
|
|
62
|
+
position: relative;
|
|
63
|
+
z-index: 2;
|
|
64
|
+
touch-action: none;
|
|
65
|
+
|
|
66
|
+
&.lm_vertical {
|
|
67
|
+
.lm_drag_handle {
|
|
68
|
+
width: $width0;
|
|
69
|
+
position: absolute;
|
|
70
|
+
cursor: ns-resize;
|
|
71
|
+
touch-action: none;
|
|
72
|
+
user-select: none;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
&.lm_horizontal {
|
|
77
|
+
float: left;
|
|
78
|
+
height: $height0;
|
|
79
|
+
|
|
80
|
+
.lm_drag_handle {
|
|
81
|
+
height: $height0;
|
|
82
|
+
position: absolute;
|
|
83
|
+
cursor: ew-resize;
|
|
84
|
+
touch-action: none;
|
|
85
|
+
user-select: none;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// Pane Header (container of Tabs for each pane)
|
|
91
|
+
.lm_header {
|
|
92
|
+
overflow: visible;
|
|
93
|
+
position: relative;
|
|
94
|
+
z-index: 1;
|
|
95
|
+
user-select: none;
|
|
96
|
+
|
|
97
|
+
[class^=lm_] {
|
|
98
|
+
box-sizing: content-box !important;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// Pane controls (popout, maximize, minimize, close)
|
|
102
|
+
.lm_controls {
|
|
103
|
+
position: absolute;
|
|
104
|
+
right: 3px;
|
|
105
|
+
display: flex;
|
|
106
|
+
|
|
107
|
+
> * {
|
|
108
|
+
cursor: pointer;
|
|
109
|
+
float: left;
|
|
110
|
+
width: $width4;
|
|
111
|
+
height: $height5;
|
|
112
|
+
text-align: center;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.lm_tabs {
|
|
117
|
+
position: absolute;
|
|
118
|
+
display: flex;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// Single Tab container. A single Tab is set for each pane, a group of Tabs are contained in ".lm_header"
|
|
122
|
+
.lm_tab {
|
|
123
|
+
cursor: pointer;
|
|
124
|
+
float: left;
|
|
125
|
+
height: $height2;
|
|
126
|
+
margin-top: 1px;
|
|
127
|
+
padding: 0px 10px 5px;
|
|
128
|
+
padding-right: 25px;
|
|
129
|
+
position: relative;
|
|
130
|
+
touch-action: none;
|
|
131
|
+
|
|
132
|
+
i {
|
|
133
|
+
width: $width6;
|
|
134
|
+
height: $height4;
|
|
135
|
+
position: absolute;
|
|
136
|
+
|
|
137
|
+
&.lm_left {
|
|
138
|
+
top: 0;
|
|
139
|
+
left: -2px;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
&.lm_right {
|
|
143
|
+
top: 0;
|
|
144
|
+
right: -2px;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.lm_title {
|
|
149
|
+
display: inline-block;
|
|
150
|
+
overflow: hidden;
|
|
151
|
+
text-overflow: ellipsis;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// Close Tab Icon
|
|
155
|
+
.lm_close_tab {
|
|
156
|
+
width: $width3;
|
|
157
|
+
height: $height2;
|
|
158
|
+
position: absolute;
|
|
159
|
+
top: 0;
|
|
160
|
+
right: 0;
|
|
161
|
+
text-align: center;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// Change stack style to absolute positioning for docking transition ability
|
|
167
|
+
.lm_stack {
|
|
168
|
+
position: relative;
|
|
169
|
+
|
|
170
|
+
> .lm_items {
|
|
171
|
+
overflow: hidden;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
&.lm_left {
|
|
175
|
+
> .lm_items {
|
|
176
|
+
position: absolute;
|
|
177
|
+
left: 20px;
|
|
178
|
+
top: 0;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
&.lm_right {
|
|
182
|
+
> .lm_items {
|
|
183
|
+
position: absolute;
|
|
184
|
+
right: 20px;
|
|
185
|
+
top: 0;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
> .lm_header {
|
|
189
|
+
position: absolute;
|
|
190
|
+
right: 0;
|
|
191
|
+
top: 0;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
&.lm_bottom {
|
|
195
|
+
> .lm_items {
|
|
196
|
+
position: absolute;
|
|
197
|
+
bottom: 20px;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
> .lm_header {
|
|
201
|
+
position: absolute;
|
|
202
|
+
bottom: 0;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// Headers positions
|
|
208
|
+
.lm_left,
|
|
209
|
+
.lm_right {
|
|
210
|
+
&.lm_stack {
|
|
211
|
+
.lm_header {
|
|
212
|
+
height: 100%;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
&.lm_dragProxy {
|
|
217
|
+
.lm_header,
|
|
218
|
+
.lm_items {
|
|
219
|
+
float: left;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
&.lm_dragProxy,
|
|
224
|
+
&.lm_stack {
|
|
225
|
+
.lm_header {
|
|
226
|
+
width: 20px;
|
|
227
|
+
vertical-align: top;
|
|
228
|
+
|
|
229
|
+
.lm_tabs {
|
|
230
|
+
transform-origin: left top;
|
|
231
|
+
top: 0;
|
|
232
|
+
width: 1000px; /*hack*/
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.lm_controls {
|
|
236
|
+
bottom: 0;
|
|
237
|
+
flex-flow: column;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
.lm_dragProxy.lm_left,
|
|
244
|
+
.lm_stack.lm_left {
|
|
245
|
+
.lm_header {
|
|
246
|
+
.lm_tabs {
|
|
247
|
+
transform: rotate(-90deg) scaleX(-1);
|
|
248
|
+
left: 0;
|
|
249
|
+
.lm_tab {
|
|
250
|
+
transform: scaleX(-1);
|
|
251
|
+
margin-top: 1px;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
.lm_tabdropdown_list {
|
|
256
|
+
top:initial;
|
|
257
|
+
right:initial;
|
|
258
|
+
left:20px;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
.lm_dragProxy.lm_right .lm_content {
|
|
264
|
+
float: left;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.lm_dragProxy.lm_right,
|
|
268
|
+
.lm_stack.lm_right {
|
|
269
|
+
.lm_header {
|
|
270
|
+
.lm_tabs {
|
|
271
|
+
transform: rotate(90deg) scaleX(1);
|
|
272
|
+
left: 100%;
|
|
273
|
+
margin-left: 0;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
.lm_controls {
|
|
277
|
+
left: 3px;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
.lm_tabdropdown_list {
|
|
281
|
+
top:initial;
|
|
282
|
+
right:20px;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
.lm_dragProxy.lm_bottom,
|
|
288
|
+
.lm_stack.lm_bottom {
|
|
289
|
+
.lm_header {
|
|
290
|
+
width: 100%;
|
|
291
|
+
.lm_tab {
|
|
292
|
+
margin-top:0;
|
|
293
|
+
border-top: none;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
.lm_controls {
|
|
297
|
+
top: 3px;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.lm_tabdropdown_list {
|
|
301
|
+
top:initial;
|
|
302
|
+
bottom:20px;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
.lm_drop_tab_placeholder {
|
|
308
|
+
float: left;
|
|
309
|
+
width: $width2;
|
|
310
|
+
visibility: hidden;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
// Dropdown arrow for additional tabs when too many to be displayed
|
|
314
|
+
.lm_header {
|
|
315
|
+
.lm_controls .lm_tabdropdown:before {
|
|
316
|
+
content: '';
|
|
317
|
+
width: 0;
|
|
318
|
+
height: 0;
|
|
319
|
+
vertical-align: middle;
|
|
320
|
+
display: inline-block;
|
|
321
|
+
border-top: 5px dashed;
|
|
322
|
+
border-right: 5px solid transparent;
|
|
323
|
+
border-left: 5px solid transparent;
|
|
324
|
+
color: white; // Overriden in specific Themes
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
.lm_tabdropdown_list {
|
|
328
|
+
position: absolute;
|
|
329
|
+
top: 20px;
|
|
330
|
+
right: 0;
|
|
331
|
+
z-index: 5;
|
|
332
|
+
overflow: hidden;
|
|
333
|
+
|
|
334
|
+
.lm_tab {
|
|
335
|
+
clear: both;
|
|
336
|
+
padding-right: 10px;
|
|
337
|
+
margin: 0;
|
|
338
|
+
|
|
339
|
+
.lm_title {
|
|
340
|
+
width: 100px;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
.lm_close_tab {
|
|
345
|
+
display: none !important;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
/***********************************
|
|
351
|
+
* Drag Proxy
|
|
352
|
+
***********************************/
|
|
353
|
+
|
|
354
|
+
// Single Pane content during Drag (style of moving window following mouse)
|
|
355
|
+
.lm_dragProxy {
|
|
356
|
+
position: absolute;
|
|
357
|
+
top: 0;
|
|
358
|
+
left: 0;
|
|
359
|
+
z-index: 30;
|
|
360
|
+
|
|
361
|
+
.lm_header {
|
|
362
|
+
background: transparent;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
.lm_content {
|
|
366
|
+
border-top: none;
|
|
367
|
+
overflow: hidden;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
// Placeholder Container of target position
|
|
372
|
+
.lm_dropTargetIndicator {
|
|
373
|
+
display: none;
|
|
374
|
+
position: absolute;
|
|
375
|
+
z-index: 35;
|
|
376
|
+
transition: all 200ms ease;
|
|
377
|
+
|
|
378
|
+
// Inner Placeholder
|
|
379
|
+
.lm_inner {
|
|
380
|
+
width: $width0;
|
|
381
|
+
height: $height0;
|
|
382
|
+
position: relative;
|
|
383
|
+
top: 0;
|
|
384
|
+
left: 0;
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
.lm_transition_indicator {
|
|
389
|
+
display: none;
|
|
390
|
+
width: $width1;
|
|
391
|
+
height: $height1;
|
|
392
|
+
position: absolute;
|
|
393
|
+
top: 0;
|
|
394
|
+
left: 0;
|
|
395
|
+
z-index: 20;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
// If a specific Pane is Popped Out, so move it to a different Browser Window, Icon to restore original position is:
|
|
399
|
+
.lm_popin {
|
|
400
|
+
width: $width1;
|
|
401
|
+
height: $height1;
|
|
402
|
+
position: absolute;
|
|
403
|
+
bottom: 0;
|
|
404
|
+
right: 0;
|
|
405
|
+
z-index: 9999;
|
|
406
|
+
|
|
407
|
+
> * {
|
|
408
|
+
width: $width0;
|
|
409
|
+
height: $height0;
|
|
410
|
+
position: absolute;
|
|
411
|
+
top: 0;
|
|
412
|
+
left: 0;
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
> .lm_bg {
|
|
416
|
+
z-index: 10;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
> .lm_icon {
|
|
420
|
+
z-index: 20;
|
|
421
|
+
}
|
|
422
|
+
}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
@use "../goldenlayout-base.scss";
|
|
2
|
+
|
|
3
|
+
// TODO
|
|
4
|
+
// Images should be changed to SVG sprites so that colors can be changed
|
|
5
|
+
|
|
6
|
+
// Color variables (appears count calculates by raw css)
|
|
7
|
+
$baseBkgdColor: var(--color-layout-base-bkgd, #000000); // Appears 7 times
|
|
8
|
+
$singlePaneContentBkgdColor: var(--color-layout-single-pane-content-bkgd, #222222); // Appears 3 times
|
|
9
|
+
$popinIconBorderForeColor: var(--color-layout-popin-icon-border-fore, #eeeeee); // Appears 2 times
|
|
10
|
+
$activeTabForeColor: var(--color-layout-active-tab-fore, #dddddd); // Appears 2 times
|
|
11
|
+
|
|
12
|
+
$dropTargetIndicatorOutlineForeColor: var(--color-layout-drop-target-indicator-outline-fore, #cccccc); // Appears 1 time
|
|
13
|
+
$splitterDraggingBkgdColor: var(--color-layout-splitter-dragging-bkgd, #444444); // Appears 1 time
|
|
14
|
+
$singleTabContainerForeColor: var(--color-layout-single-tab-container-fore, #999999); // Appears 1 time
|
|
15
|
+
$singleTablContainerBkgdColor: var(--color-layout-single-tab-container-bkgd, #111111); // Appears 1 time
|
|
16
|
+
$selectedHeaderBkgdColor: var(--color-layout-selected-header-bkgd, #452500); // Appears 1 time
|
|
17
|
+
$transitionIndicatorBorderForeColor: var(--color-layout-transition-indicator-border-fore, #555555); // Appears 1 time
|
|
18
|
+
$dropDownArrowForeColor: var(--color-layout-drop-down-arrow-fore, #ffffff); // Appears 2 time
|
|
19
|
+
|
|
20
|
+
$focusedTabBkgdColor: var(--color-layout-focused-tab-bkgd, #354be3); // Appears 1 time
|
|
21
|
+
|
|
22
|
+
// ".lm_dragging" is applied to BODY tag during Drag and is also directly applied to the root of the object being dragged
|
|
23
|
+
|
|
24
|
+
// Entire GoldenLayout Container, if a background is set, it is visible as color of "pane header" and "splitters" (if these latest has opacity very low)
|
|
25
|
+
.lm_goldenlayout {
|
|
26
|
+
background: $baseBkgdColor;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// Single Pane content (area in which final dragged content is contained)
|
|
30
|
+
.lm_content {
|
|
31
|
+
background: $singlePaneContentBkgdColor;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Single Pane content during Drag (style of moving window following mouse)
|
|
35
|
+
.lm_dragProxy {
|
|
36
|
+
.lm_content {
|
|
37
|
+
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Placeholder Container of target position
|
|
42
|
+
.lm_dropTargetIndicator {
|
|
43
|
+
box-shadow: inset 0 0 30px $baseBkgdColor;
|
|
44
|
+
outline: 1px dashed $dropTargetIndicatorOutlineForeColor;
|
|
45
|
+
transition: all 200ms ease;
|
|
46
|
+
|
|
47
|
+
// Inner Placeholder
|
|
48
|
+
.lm_inner {
|
|
49
|
+
background: $baseBkgdColor;
|
|
50
|
+
opacity: 0.2;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Separator line (handle to change pane size)
|
|
55
|
+
.lm_splitter {
|
|
56
|
+
background: $baseBkgdColor;
|
|
57
|
+
opacity: 0.001;
|
|
58
|
+
transition: opacity 200ms ease;
|
|
59
|
+
|
|
60
|
+
&:hover, // When hovered by mouse...
|
|
61
|
+
&.lm_dragging {
|
|
62
|
+
background: $splitterDraggingBkgdColor;
|
|
63
|
+
opacity: 1;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// Pane Header (container of Tabs for each pane)
|
|
68
|
+
.lm_header {
|
|
69
|
+
height: 20px;
|
|
70
|
+
user-select: none;
|
|
71
|
+
|
|
72
|
+
.lm_controls {
|
|
73
|
+
background: $singlePaneContentBkgdColor;
|
|
74
|
+
top: 2px;
|
|
75
|
+
right: 0;
|
|
76
|
+
display: flex;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// Single Tab container. A single Tab is set for each pane, a group of Tabs are contained in ".lm_header"
|
|
80
|
+
.lm_tab {
|
|
81
|
+
font-size: 12px;
|
|
82
|
+
color: $singleTabContainerForeColor;
|
|
83
|
+
background: $singleTablContainerBkgdColor;
|
|
84
|
+
margin-right: 2px;
|
|
85
|
+
padding-bottom: 2px;
|
|
86
|
+
padding-top: 2px;
|
|
87
|
+
|
|
88
|
+
// .lm_title // Present in LIGHT Theme
|
|
89
|
+
// {
|
|
90
|
+
// padding-top:1px;
|
|
91
|
+
// }
|
|
92
|
+
|
|
93
|
+
// Close Tab Icon
|
|
94
|
+
.lm_close_tab {
|
|
95
|
+
width: 11px;
|
|
96
|
+
height: 11px;
|
|
97
|
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAATElEQVR4nG3OwQ0DMQwDwZGRBtR/j1YJzMc5+IDoR+yCVO29g+pu981MFgqZmRdAfU7+CYWcbF11LwALjpBL0N0qybNx/RPU+gOeiS/+XCRwDlTgkQAAAABJRU5ErkJggg==);
|
|
98
|
+
background-position: center center;
|
|
99
|
+
background-repeat: no-repeat;
|
|
100
|
+
top: 4px;
|
|
101
|
+
right: 6px;
|
|
102
|
+
opacity: 0.4;
|
|
103
|
+
|
|
104
|
+
&:hover {
|
|
105
|
+
opacity: 1;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// If Tab is active, so if it's in foreground
|
|
110
|
+
&.lm_active {
|
|
111
|
+
border-bottom: none;
|
|
112
|
+
padding-bottom: 3px;
|
|
113
|
+
|
|
114
|
+
.lm_close_tab {
|
|
115
|
+
opacity: 1;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
&.lm_focused {
|
|
119
|
+
background-color: $focusedTabBkgdColor;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.lm_dragProxy.lm_bottom,
|
|
126
|
+
.lm_stack.lm_bottom {
|
|
127
|
+
.lm_header .lm_tab {
|
|
128
|
+
box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
|
|
129
|
+
&.lm_active {
|
|
130
|
+
box-shadow: 0 2px 2px $baseBkgdColor;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// If Pane Header (container of Tabs for each pane) is selected (used only if addition of new Contents is made "by selection" and not "by drag")
|
|
136
|
+
.lm_selected {
|
|
137
|
+
.lm_header {
|
|
138
|
+
background-color: $selectedHeaderBkgdColor;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.lm_tab {
|
|
143
|
+
&:hover, // If Tab is hovered
|
|
144
|
+
&.lm_active // If Tab is active, so if it's in foreground
|
|
145
|
+
{
|
|
146
|
+
background: $singlePaneContentBkgdColor;
|
|
147
|
+
color: $activeTabForeColor;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// Dropdown arrow for additional tabs when too many to be displayed
|
|
152
|
+
.lm_header .lm_controls .lm_tabdropdown:before {
|
|
153
|
+
color: $dropDownArrowForeColor;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// Pane controls (popout, maximize, minimize, close)
|
|
157
|
+
.lm_controls {
|
|
158
|
+
// All Pane controls shares these
|
|
159
|
+
> * {
|
|
160
|
+
position: relative;
|
|
161
|
+
background-position: center center;
|
|
162
|
+
background-repeat: no-repeat;
|
|
163
|
+
opacity: 0.4;
|
|
164
|
+
transition: opacity 300ms ease;
|
|
165
|
+
|
|
166
|
+
&:hover {
|
|
167
|
+
opacity: 1;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// Icon to PopOut Pane, so move it to a different Browser Window
|
|
172
|
+
.lm_popout {
|
|
173
|
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAPklEQVR4nI2Q0QoAIAwCNfr/X7aXCpGN8snBdgejJOzckpkxs9jR6K6T5JpU0nWl5pSXTk7qwh8SnNT+CAAWCgkKFpuSWsUAAAAASUVORK5CYII=);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// Icon to Maximize Pane, so it will fill the entire GoldenLayout Container
|
|
177
|
+
.lm_maximise {
|
|
178
|
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAKElEQVR4nGP8////fwYCgImQAgYGBgYWKM2IR81/okwajIpgvsMbVgAwgQYRVakEKQAAAABJRU5ErkJggg==);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// Icon to Close Pane and so remove it from GoldenLayout Container
|
|
182
|
+
.lm_close {
|
|
183
|
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAQUlEQVR4nHXOQQ4AMAgCQeT/f6aXpsGK3jSTuCVJAAr7iBdoAwCKd0nwfaAdHbYERw5b44+E8JoBjEYGMBq5gAYP3usUDu2IvoUAAAAASUVORK5CYII=);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// If a specific Pane is maximized
|
|
188
|
+
.lm_maximised {
|
|
189
|
+
// Pane Header (container of Tabs for each pane) can have different style when is Maximized
|
|
190
|
+
.lm_header {
|
|
191
|
+
background-color: $baseBkgdColor;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// Pane controls are different in Maximized Mode, especially the old Icon "Maximise" that now has a different meaning, so "Minimize" (even if CSS Class did not change)
|
|
195
|
+
.lm_controls {
|
|
196
|
+
.lm_maximise {
|
|
197
|
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAJ0lEQVR4nGP8//8/AzGAiShVI1YhCwMDA8OsWbPwBmZaWhoj0SYCAN1lBxMAX4n0AAAAAElFTkSuQmCC);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.lm_transition_indicator {
|
|
203
|
+
background-color: $baseBkgdColor;
|
|
204
|
+
border: 1px dashed $transitionIndicatorBorderForeColor;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// If a specific Pane is Popped Out, so move it to a different Browser Window, Icon to restore original position is:
|
|
208
|
+
.lm_popin {
|
|
209
|
+
cursor: pointer;
|
|
210
|
+
|
|
211
|
+
// Background of Icon
|
|
212
|
+
.lm_bg {
|
|
213
|
+
background: $dropDownArrowForeColor;
|
|
214
|
+
opacity: 0.3;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
// Icon to Restore original position in Golden Layout Container
|
|
218
|
+
.lm_icon {
|
|
219
|
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAJCAYAAADpeqZqAAAAWklEQVR4nJWOyw3AIAxDHcQC7L8jbwT3AlJBfNp3SiI7dtRaLSlKKeoA1oEsKSQZCEluexw8Tm3ohk+E7bnOUHUGcNh+HwbBygw4AZ7FN/Lt84p0l+yTflV8AKQyLdcCRJi/AAAAAElFTkSuQmCC);
|
|
220
|
+
background-position: center center;
|
|
221
|
+
background-repeat: no-repeat;
|
|
222
|
+
border-left: 1px solid $popinIconBorderForeColor;
|
|
223
|
+
border-top: 1px solid $popinIconBorderForeColor;
|
|
224
|
+
opacity: 0.7;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
&:hover {
|
|
228
|
+
.lm_icon {
|
|
229
|
+
opacity: 1;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|