@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.
Files changed (226) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +24 -0
  3. package/dist/cjs/index.js +40 -0
  4. package/dist/cjs/index.js.map +1 -0
  5. package/dist/cjs/ts/config/config.js +870 -0
  6. package/dist/cjs/ts/config/config.js.map +1 -0
  7. package/dist/cjs/ts/config/resolved-config.js +477 -0
  8. package/dist/cjs/ts/config/resolved-config.js.map +1 -0
  9. package/dist/cjs/ts/container/component-container.js +412 -0
  10. package/dist/cjs/ts/container/component-container.js.map +1 -0
  11. package/dist/cjs/ts/controls/browser-popout.js +298 -0
  12. package/dist/cjs/ts/controls/browser-popout.js.map +1 -0
  13. package/dist/cjs/ts/controls/drag-proxy.js +221 -0
  14. package/dist/cjs/ts/controls/drag-proxy.js.map +1 -0
  15. package/dist/cjs/ts/controls/drag-source.js +149 -0
  16. package/dist/cjs/ts/controls/drag-source.js.map +1 -0
  17. package/dist/cjs/ts/controls/drop-target-indicator.js +31 -0
  18. package/dist/cjs/ts/controls/drop-target-indicator.js.map +1 -0
  19. package/dist/cjs/ts/controls/header-button.js +34 -0
  20. package/dist/cjs/ts/controls/header-button.js.map +1 -0
  21. package/dist/cjs/ts/controls/header.js +366 -0
  22. package/dist/cjs/ts/controls/header.js.map +1 -0
  23. package/dist/cjs/ts/controls/splitter.js +42 -0
  24. package/dist/cjs/ts/controls/splitter.js.map +1 -0
  25. package/dist/cjs/ts/controls/tab.js +262 -0
  26. package/dist/cjs/ts/controls/tab.js.map +1 -0
  27. package/dist/cjs/ts/controls/tabs-container.js +236 -0
  28. package/dist/cjs/ts/controls/tabs-container.js.map +1 -0
  29. package/dist/cjs/ts/controls/transition-indicator.js +64 -0
  30. package/dist/cjs/ts/controls/transition-indicator.js.map +1 -0
  31. package/dist/cjs/ts/errors/external-error.js +46 -0
  32. package/dist/cjs/ts/errors/external-error.js.map +1 -0
  33. package/dist/cjs/ts/errors/internal-error.js +38 -0
  34. package/dist/cjs/ts/errors/internal-error.js.map +1 -0
  35. package/dist/cjs/ts/golden-layout.js +299 -0
  36. package/dist/cjs/ts/golden-layout.js.map +1 -0
  37. package/dist/cjs/ts/items/component-item.js +190 -0
  38. package/dist/cjs/ts/items/component-item.js.map +1 -0
  39. package/dist/cjs/ts/items/component-parentable-item.js +18 -0
  40. package/dist/cjs/ts/items/component-parentable-item.js.map +1 -0
  41. package/dist/cjs/ts/items/content-item.js +414 -0
  42. package/dist/cjs/ts/items/content-item.js.map +1 -0
  43. package/dist/cjs/ts/items/ground-item.js +352 -0
  44. package/dist/cjs/ts/items/ground-item.js.map +1 -0
  45. package/dist/cjs/ts/items/row-or-column.js +609 -0
  46. package/dist/cjs/ts/items/row-or-column.js.map +1 -0
  47. package/dist/cjs/ts/items/stack.js +841 -0
  48. package/dist/cjs/ts/items/stack.js.map +1 -0
  49. package/dist/cjs/ts/layout-manager.js +1618 -0
  50. package/dist/cjs/ts/layout-manager.js.map +1 -0
  51. package/dist/cjs/ts/utils/config-minifier.js +218 -0
  52. package/dist/cjs/ts/utils/config-minifier.js.map +1 -0
  53. package/dist/cjs/ts/utils/dom-constants.js +3 -0
  54. package/dist/cjs/ts/utils/dom-constants.js.map +1 -0
  55. package/dist/cjs/ts/utils/drag-listener.js +132 -0
  56. package/dist/cjs/ts/utils/drag-listener.js.map +1 -0
  57. package/dist/cjs/ts/utils/event-emitter.js +201 -0
  58. package/dist/cjs/ts/utils/event-emitter.js.map +1 -0
  59. package/dist/cjs/ts/utils/event-hub.js +135 -0
  60. package/dist/cjs/ts/utils/event-hub.js.map +1 -0
  61. package/dist/cjs/ts/utils/i18n-strings.js +74 -0
  62. package/dist/cjs/ts/utils/i18n-strings.js.map +1 -0
  63. package/dist/cjs/ts/utils/jquery-legacy.js +15 -0
  64. package/dist/cjs/ts/utils/jquery-legacy.js.map +1 -0
  65. package/dist/cjs/ts/utils/style-constants.js +11 -0
  66. package/dist/cjs/ts/utils/style-constants.js.map +1 -0
  67. package/dist/cjs/ts/utils/types.js +94 -0
  68. package/dist/cjs/ts/utils/types.js.map +1 -0
  69. package/dist/cjs/ts/utils/utils.js +211 -0
  70. package/dist/cjs/ts/utils/utils.js.map +1 -0
  71. package/dist/cjs/ts/virtual-layout.js +247 -0
  72. package/dist/cjs/ts/virtual-layout.js.map +1 -0
  73. package/dist/css/goldenlayout-base.css +319 -0
  74. package/dist/css/themes/goldenlayout-borderless-dark-theme.css +136 -0
  75. package/dist/css/themes/goldenlayout-dark-theme.css +139 -0
  76. package/dist/css/themes/goldenlayout-light-theme.css +129 -0
  77. package/dist/css/themes/goldenlayout-soda-theme.css +126 -0
  78. package/dist/css/themes/goldenlayout-translucent-theme.css +152 -0
  79. package/dist/esm/index.js +21 -0
  80. package/dist/esm/index.js.map +1 -0
  81. package/dist/esm/ts/config/config.js +864 -0
  82. package/dist/esm/ts/config/config.js.map +1 -0
  83. package/dist/esm/ts/config/resolved-config.js +474 -0
  84. package/dist/esm/ts/config/resolved-config.js.map +1 -0
  85. package/dist/esm/ts/container/component-container.js +408 -0
  86. package/dist/esm/ts/container/component-container.js.map +1 -0
  87. package/dist/esm/ts/controls/browser-popout.js +294 -0
  88. package/dist/esm/ts/controls/browser-popout.js.map +1 -0
  89. package/dist/esm/ts/controls/drag-proxy.js +217 -0
  90. package/dist/esm/ts/controls/drag-proxy.js.map +1 -0
  91. package/dist/esm/ts/controls/drag-source.js +145 -0
  92. package/dist/esm/ts/controls/drag-source.js.map +1 -0
  93. package/dist/esm/ts/controls/drop-target-indicator.js +27 -0
  94. package/dist/esm/ts/controls/drop-target-indicator.js.map +1 -0
  95. package/dist/esm/ts/controls/header-button.js +30 -0
  96. package/dist/esm/ts/controls/header-button.js.map +1 -0
  97. package/dist/esm/ts/controls/header.js +362 -0
  98. package/dist/esm/ts/controls/header.js.map +1 -0
  99. package/dist/esm/ts/controls/splitter.js +38 -0
  100. package/dist/esm/ts/controls/splitter.js.map +1 -0
  101. package/dist/esm/ts/controls/tab.js +258 -0
  102. package/dist/esm/ts/controls/tab.js.map +1 -0
  103. package/dist/esm/ts/controls/tabs-container.js +232 -0
  104. package/dist/esm/ts/controls/tabs-container.js.map +1 -0
  105. package/dist/esm/ts/controls/transition-indicator.js +60 -0
  106. package/dist/esm/ts/controls/transition-indicator.js.map +1 -0
  107. package/dist/esm/ts/errors/external-error.js +38 -0
  108. package/dist/esm/ts/errors/external-error.js.map +1 -0
  109. package/dist/esm/ts/errors/internal-error.js +31 -0
  110. package/dist/esm/ts/errors/internal-error.js.map +1 -0
  111. package/dist/esm/ts/golden-layout.js +295 -0
  112. package/dist/esm/ts/golden-layout.js.map +1 -0
  113. package/dist/esm/ts/items/component-item.js +186 -0
  114. package/dist/esm/ts/items/component-item.js.map +1 -0
  115. package/dist/esm/ts/items/component-parentable-item.js +14 -0
  116. package/dist/esm/ts/items/component-parentable-item.js.map +1 -0
  117. package/dist/esm/ts/items/content-item.js +410 -0
  118. package/dist/esm/ts/items/content-item.js.map +1 -0
  119. package/dist/esm/ts/items/ground-item.js +348 -0
  120. package/dist/esm/ts/items/ground-item.js.map +1 -0
  121. package/dist/esm/ts/items/row-or-column.js +605 -0
  122. package/dist/esm/ts/items/row-or-column.js.map +1 -0
  123. package/dist/esm/ts/items/stack.js +837 -0
  124. package/dist/esm/ts/items/stack.js.map +1 -0
  125. package/dist/esm/ts/layout-manager.js +1614 -0
  126. package/dist/esm/ts/layout-manager.js.map +1 -0
  127. package/dist/esm/ts/utils/config-minifier.js +215 -0
  128. package/dist/esm/ts/utils/config-minifier.js.map +1 -0
  129. package/dist/esm/ts/utils/dom-constants.js +2 -0
  130. package/dist/esm/ts/utils/dom-constants.js.map +1 -0
  131. package/dist/esm/ts/utils/drag-listener.js +128 -0
  132. package/dist/esm/ts/utils/drag-listener.js.map +1 -0
  133. package/dist/esm/ts/utils/event-emitter.js +197 -0
  134. package/dist/esm/ts/utils/event-emitter.js.map +1 -0
  135. package/dist/esm/ts/utils/event-hub.js +131 -0
  136. package/dist/esm/ts/utils/event-hub.js.map +1 -0
  137. package/dist/esm/ts/utils/i18n-strings.js +71 -0
  138. package/dist/esm/ts/utils/i18n-strings.js.map +1 -0
  139. package/dist/esm/ts/utils/jquery-legacy.js +11 -0
  140. package/dist/esm/ts/utils/jquery-legacy.js.map +1 -0
  141. package/dist/esm/ts/utils/style-constants.js +8 -0
  142. package/dist/esm/ts/utils/style-constants.js.map +1 -0
  143. package/dist/esm/ts/utils/types.js +91 -0
  144. package/dist/esm/ts/utils/types.js.map +1 -0
  145. package/dist/esm/ts/utils/utils.js +191 -0
  146. package/dist/esm/ts/utils/utils.js.map +1 -0
  147. package/dist/esm/ts/virtual-layout.js +243 -0
  148. package/dist/esm/ts/virtual-layout.js.map +1 -0
  149. package/dist/img/lm_close_black.png +0 -0
  150. package/dist/img/lm_close_tab_white.png +0 -0
  151. package/dist/img/lm_close_white.png +0 -0
  152. package/dist/img/lm_maximise_black.png +0 -0
  153. package/dist/img/lm_maximise_white.png +0 -0
  154. package/dist/img/lm_minimize_black.png +0 -0
  155. package/dist/img/lm_minimize_white.png +0 -0
  156. package/dist/img/lm_popin_black.png +0 -0
  157. package/dist/img/lm_popin_white.png +0 -0
  158. package/dist/img/lm_popout_black.png +0 -0
  159. package/dist/img/lm_popout_white.png +0 -0
  160. package/dist/less/goldenlayout-base.less +422 -0
  161. package/dist/less/themes/goldenlayout-borderless-dark-theme.less +230 -0
  162. package/dist/less/themes/goldenlayout-dark-theme.less +233 -0
  163. package/dist/less/themes/goldenlayout-light-theme.less +223 -0
  164. package/dist/less/themes/goldenlayout-soda-theme.less +211 -0
  165. package/dist/less/themes/goldenlayout-translucent-theme.less +237 -0
  166. package/dist/scss/goldenlayout-base.scss +422 -0
  167. package/dist/scss/themes/_goldenlayout-var-theme.scss +232 -0
  168. package/dist/types/golden-layout-untrimmed.d.ts +3428 -0
  169. package/dist/types/index.d.ts +2246 -0
  170. package/dist/types/tsdoc-metadata.json +11 -0
  171. package/package.json +107 -0
  172. package/src/TOOLCHAIN.md +54 -0
  173. package/src/img/lm_close_black.png +0 -0
  174. package/src/img/lm_close_tab_white.png +0 -0
  175. package/src/img/lm_close_white.png +0 -0
  176. package/src/img/lm_maximise_black.png +0 -0
  177. package/src/img/lm_maximise_white.png +0 -0
  178. package/src/img/lm_minimize_black.png +0 -0
  179. package/src/img/lm_minimize_white.png +0 -0
  180. package/src/img/lm_popin_black.png +0 -0
  181. package/src/img/lm_popin_white.png +0 -0
  182. package/src/img/lm_popout_black.png +0 -0
  183. package/src/img/lm_popout_white.png +0 -0
  184. package/src/index.ts +21 -0
  185. package/src/less/goldenlayout-base.less +422 -0
  186. package/src/less/themes/goldenlayout-borderless-dark-theme.less +230 -0
  187. package/src/less/themes/goldenlayout-dark-theme.less +233 -0
  188. package/src/less/themes/goldenlayout-light-theme.less +223 -0
  189. package/src/less/themes/goldenlayout-soda-theme.less +211 -0
  190. package/src/less/themes/goldenlayout-translucent-theme.less +237 -0
  191. package/src/scss/goldenlayout-base.scss +422 -0
  192. package/src/scss/themes/_goldenlayout-var-theme.scss +232 -0
  193. package/src/ts/config/config.ts +1283 -0
  194. package/src/ts/config/resolved-config.ts +621 -0
  195. package/src/ts/container/component-container.ts +500 -0
  196. package/src/ts/controls/browser-popout.ts +325 -0
  197. package/src/ts/controls/drag-proxy.ts +259 -0
  198. package/src/ts/controls/drag-source.ts +167 -0
  199. package/src/ts/controls/drop-target-indicator.ts +35 -0
  200. package/src/ts/controls/header-button.ts +39 -0
  201. package/src/ts/controls/header.ts +483 -0
  202. package/src/ts/controls/splitter.ts +50 -0
  203. package/src/ts/controls/tab.ts +293 -0
  204. package/src/ts/controls/tabs-container.ts +281 -0
  205. package/src/ts/controls/transition-indicator.ts +78 -0
  206. package/src/ts/errors/external-error.ts +39 -0
  207. package/src/ts/errors/internal-error.ts +34 -0
  208. package/src/ts/golden-layout.ts +365 -0
  209. package/src/ts/items/component-item.ts +252 -0
  210. package/src/ts/items/component-parentable-item.ts +16 -0
  211. package/src/ts/items/content-item.ts +513 -0
  212. package/src/ts/items/ground-item.ts +404 -0
  213. package/src/ts/items/row-or-column.ts +707 -0
  214. package/src/ts/items/stack.ts +975 -0
  215. package/src/ts/layout-manager.ts +1862 -0
  216. package/src/ts/utils/config-minifier.ts +235 -0
  217. package/src/ts/utils/dom-constants.ts +44 -0
  218. package/src/ts/utils/drag-listener.ts +178 -0
  219. package/src/ts/utils/event-emitter.ts +275 -0
  220. package/src/ts/utils/event-hub.ts +163 -0
  221. package/src/ts/utils/i18n-strings.ts +96 -0
  222. package/src/ts/utils/jquery-legacy.ts +12 -0
  223. package/src/ts/utils/style-constants.ts +6 -0
  224. package/src/ts/utils/types.ts +145 -0
  225. package/src/ts/utils/utils.ts +206 -0
  226. package/src/ts/virtual-layout.ts +328 -0
@@ -0,0 +1,230 @@
1
+ // Color variables (appears count calculates by raw css)
2
+ @color0: #000000; // Appears 7 times
3
+ @color1: #222222; // Appears 3 times
4
+ @color2: #eeeeee; // Appears 2 times
5
+ @color3: #dddddd; // Appears 2 times
6
+
7
+ @color4: #cccccc; // Appears 1 time
8
+ @color5: #444444; // Appears 1 time
9
+ @color6: #999999; // Appears 1 time
10
+ @color7: #111111; // Appears 1 time
11
+ @color8: #452500; // Appears 1 time
12
+ @color9: #555555; // Appears 1 time
13
+ @color10: #ffffff; // Appears 2 time
14
+
15
+ @color11: #354be3; // Appears 1 time
16
+
17
+ // ".lm_dragging" is applied to BODY tag during Drag and is also directly applied to the root of the object being dragged
18
+
19
+ // 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)
20
+ .lm_goldenlayout {
21
+ background: @color0;
22
+ }
23
+
24
+ // Single Pane content (area in which final dragged content is contained)
25
+ .lm_content {
26
+ background: @color1;
27
+ }
28
+
29
+ // Single Pane content during Drag (style of moving window following mouse)
30
+ .lm_dragProxy {
31
+ .lm_content {
32
+ box-shadow: 2px 2px 4px fade(@color0,90%);
33
+ }
34
+ }
35
+
36
+ // Placeholder Container of target position
37
+ .lm_dropTargetIndicator {
38
+ box-shadow: inset 0 0 30px @color0;
39
+ outline: 1px dashed @color4;
40
+
41
+ // Inner Placeholder
42
+ .lm_inner {
43
+ background: @color0;
44
+ opacity: 0.2;
45
+ }
46
+ }
47
+
48
+ // Separator line (handle to change pane size)
49
+ .lm_splitter {
50
+ background: @color0;
51
+ opacity: 0.001;
52
+ transition: opacity 200ms ease;
53
+
54
+ &:hover, // When hovered by mouse...
55
+ &.lm_dragging {
56
+ background: @color5;
57
+ opacity: 1;
58
+ }
59
+ }
60
+
61
+ // Pane Header (container of Tabs for each pane)
62
+ .lm_header {
63
+ height: 20px;
64
+
65
+ // Single Tab container. A single Tab is set for each pane, a group of Tabs are contained in ".lm_header"
66
+ .lm_tab {
67
+ font-family: Arial, sans-serif;
68
+ font-size: 12px;
69
+ color: @color6;
70
+ background: @color7;
71
+ margin-right: 2px;
72
+ padding-bottom: 2px;
73
+ padding-top: 2px;
74
+
75
+ /*.lm_title // Present in LIGHT Theme
76
+ {
77
+ padding-top:1px;
78
+ }*/
79
+
80
+ // Close Tab Icon
81
+ .lm_close_tab {
82
+ width: 11px;
83
+ height: 11px;
84
+ background-image: data-uri('../../img/lm_close_white.png');
85
+ background-position: center center;
86
+ background-repeat: no-repeat;
87
+ top: 4px;
88
+ right: 6px;
89
+ opacity: 0.4;
90
+
91
+ &:hover {
92
+ opacity: 1;
93
+ }
94
+ }
95
+
96
+ // If Tab is active, so if it's in foreground
97
+ &.lm_active {
98
+ border-bottom: none;
99
+ padding-bottom: 3px;
100
+
101
+ .lm_close_tab {
102
+ opacity: 1;
103
+ }
104
+
105
+ &.lm_focused {
106
+ background-color: @color11;
107
+ }
108
+ }
109
+ }
110
+ }
111
+
112
+ .lm_dragProxy,
113
+ .lm_stack {
114
+ &.lm_right {
115
+ .lm_header .lm_tab {
116
+ &.lm_active {
117
+ box-shadow: 2px -2px 2px @color0;
118
+ }
119
+ }
120
+ }
121
+
122
+ &.lm_bottom {
123
+ .lm_header .lm_tab {
124
+ box-shadow: 2px 2px 2px fade(@color0,30%);
125
+
126
+ &.lm_active {
127
+ box-shadow: 0 2px 2px @color0;
128
+ }
129
+ }
130
+ }
131
+ }
132
+
133
+ // 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")
134
+ .lm_selected {
135
+ .lm_header {
136
+ background-color: @color8;
137
+ }
138
+ }
139
+
140
+ .lm_tab {
141
+ &:hover, // If Tab is hovered
142
+ &.lm_active // If Tab is active, so if it's in foreground
143
+ {
144
+ background: @color1;
145
+ color: @color3;
146
+ }
147
+ }
148
+
149
+ // Dropdown arrow for additional tabs when too many to be displayed
150
+ .lm_header .lm_controls .lm_tabdropdown:before {
151
+ color: @color10;
152
+ }
153
+
154
+ // Pane controls (popout, maximize, minimize, close)
155
+ .lm_controls {
156
+ // All Pane controls shares these
157
+ > * {
158
+ position: relative;
159
+ background-position: center center;
160
+ background-repeat: no-repeat;
161
+ opacity: 0.4;
162
+ transition: opacity 300ms ease;
163
+
164
+ &:hover {
165
+ opacity: 1;
166
+ }
167
+ }
168
+
169
+ // Icon to PopOut Pane, so move it to a different Browser Window
170
+ .lm_popout {
171
+ background-image: data-uri('../../img/lm_popout_white.png');
172
+ }
173
+
174
+ // Icon to Maximize Pane, so it will fill the entire GoldenLayout Container
175
+ .lm_maximise {
176
+ background-image: data-uri('../../img/lm_maximise_white.png');
177
+ }
178
+
179
+ // Icon to Close Pane and so remove it from GoldenLayout Container
180
+ .lm_close {
181
+ background-image: data-uri('../../img/lm_close_white.png');
182
+ }
183
+ }
184
+
185
+ // If a specific Pane is maximized
186
+ .lm_maximised {
187
+ // Pane Header (container of Tabs for each pane) can have different style when is Maximized
188
+ .lm_header {
189
+ background-color: @color0;
190
+ }
191
+
192
+ // 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)
193
+ .lm_controls {
194
+ .lm_maximise {
195
+ background-image: data-uri('../../img/lm_minimize_white.png');
196
+ }
197
+ }
198
+ }
199
+
200
+ .lm_transition_indicator {
201
+ background-color: @color0;
202
+ border: 1px dashed @color9;
203
+ }
204
+
205
+ // If a specific Pane is Popped Out, so move it to a different Browser Window, Icon to restore original position is:
206
+ .lm_popin {
207
+ cursor: pointer;
208
+
209
+ // Background of Icon
210
+ .lm_bg {
211
+ background: @color10;
212
+ opacity: 0.3;
213
+ }
214
+
215
+ // Icon to Restore original position in Golden Layout Container
216
+ .lm_icon {
217
+ background-image: data-uri('../../img/lm_popin_white.png');
218
+ background-position: center center;
219
+ background-repeat: no-repeat;
220
+ border-left: 1px solid @color2;
221
+ border-top: 1px solid @color2;
222
+ opacity: 0.7;
223
+ }
224
+
225
+ &:hover {
226
+ .lm_icon {
227
+ opacity: 1;
228
+ }
229
+ }
230
+ }
@@ -0,0 +1,233 @@
1
+ // Color variables (appears count calculates by raw css)
2
+ @color0: #000000; // Appears 7 times
3
+ @color1: #222222; // Appears 3 times
4
+ @color2: #eeeeee; // Appears 2 times
5
+ @color3: #dddddd; // Appears 2 times
6
+
7
+ @color4: #cccccc; // Appears 1 time
8
+ @color5: #444444; // Appears 1 time
9
+ @color6: #999999; // Appears 1 time
10
+ @color7: #111111; // Appears 1 time
11
+ @color8: #452500; // Appears 1 time
12
+ @color9: #555555; // Appears 1 time
13
+ @color10: #ffffff; // Appears 2 time
14
+
15
+ @color11: #354be3; // Appears 1 time
16
+
17
+ // ".lm_dragging" is applied to BODY tag during Drag and is also directly applied to the root of the object being dragged
18
+
19
+ // 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)
20
+ .lm_goldenlayout {
21
+ background: @color0;
22
+ }
23
+
24
+ // Single Pane content (area in which final dragged content is contained)
25
+ .lm_content {
26
+ background: @color1;
27
+ border: 1px solid transparent;
28
+ }
29
+
30
+ // Single Pane content during Drag (style of moving window following mouse)
31
+ .lm_dragProxy {
32
+ .lm_content {
33
+ box-shadow: 2px 2px 4px fade(@color0,90%);
34
+ }
35
+ }
36
+
37
+ // Placeholder Container of target position
38
+ .lm_dropTargetIndicator {
39
+ box-shadow: inset 0 0 30px @color0;
40
+ outline: 1px dashed @color4;
41
+
42
+ // Inner Placeholder
43
+ .lm_inner {
44
+ background: @color0;
45
+ opacity: 0.2;
46
+ }
47
+ }
48
+
49
+ // Separator line (handle to change pane size)
50
+ .lm_splitter {
51
+ background: @color0;
52
+ opacity: 0.001;
53
+ transition: opacity 200ms ease;
54
+
55
+ &:hover, // When hovered by mouse...
56
+ &.lm_dragging {
57
+ background: @color5;
58
+ opacity: 1;
59
+ }
60
+ }
61
+
62
+ // Pane Header (container of Tabs for each pane)
63
+ .lm_header {
64
+ height: 20px;
65
+
66
+ // Single Tab container. A single Tab is set for each pane, a group of Tabs are contained in ".lm_header"
67
+ .lm_tab {
68
+ font-family: Arial, sans-serif;
69
+ font-size: 12px;
70
+ color: @color6;
71
+ background: @color7;
72
+ box-shadow: 2px -2px 2px fade(@color0,30%);
73
+ margin-right: 2px;
74
+ padding-bottom: 2px;
75
+ padding-top: 2px;
76
+
77
+ /*.lm_title // Present in LIGHT Theme
78
+ {
79
+ padding-top:1px;
80
+ }*/
81
+
82
+ // Close Tab Icon
83
+ .lm_close_tab {
84
+ width: 11px;
85
+ height: 11px;
86
+ background-image: data-uri('../../img/lm_close_white.png');
87
+ background-position: center center;
88
+ background-repeat: no-repeat;
89
+ top: 4px;
90
+ right: 6px;
91
+ opacity: 0.4;
92
+
93
+ &:hover {
94
+ opacity: 1;
95
+ }
96
+ }
97
+
98
+ // If Tab is active, so if it's in foreground
99
+ &.lm_active {
100
+ border-bottom: none;
101
+ box-shadow: 0 -2px 2px @color0;
102
+ padding-bottom: 3px;
103
+
104
+ .lm_close_tab {
105
+ opacity: 1;
106
+ }
107
+
108
+ &.lm_focused {
109
+ background-color: @color11;
110
+ }
111
+ }
112
+ }
113
+ }
114
+
115
+ .lm_dragProxy,
116
+ .lm_stack {
117
+ &.lm_right {
118
+ .lm_header .lm_tab {
119
+ &.lm_active {
120
+ box-shadow: 2px -2px 2px @color0;
121
+ }
122
+ }
123
+ }
124
+
125
+ &.lm_bottom {
126
+ .lm_header .lm_tab {
127
+ box-shadow: 2px 2px 2px fade(@color0,30%);
128
+
129
+ &.lm_active {
130
+ box-shadow: 0 2px 2px @color0;
131
+ }
132
+ }
133
+ }
134
+ }
135
+
136
+ // 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")
137
+ .lm_selected {
138
+ .lm_header {
139
+ background-color: @color8;
140
+ }
141
+ }
142
+
143
+ .lm_tab {
144
+ &:hover, // If Tab is hovered
145
+ &.lm_active // If Tab is active, so if it's in foreground
146
+ {
147
+ background: @color1;
148
+ color: @color3;
149
+ }
150
+ }
151
+
152
+ // Dropdown arrow for additional tabs when too many to be displayed
153
+ .lm_header .lm_controls .lm_tabdropdown:before {
154
+ color: @color10;
155
+ }
156
+
157
+ // Pane controls (popout, maximize, minimize, close)
158
+ .lm_controls {
159
+ // All Pane controls shares these
160
+ > * {
161
+ position: relative;
162
+ background-position: center center;
163
+ background-repeat: no-repeat;
164
+ opacity: 0.4;
165
+ transition: opacity 300ms ease;
166
+
167
+ &:hover {
168
+ opacity: 1;
169
+ }
170
+ }
171
+
172
+ // Icon to PopOut Pane, so move it to a different Browser Window
173
+ .lm_popout {
174
+ background-image: data-uri('../../img/lm_popout_white.png');
175
+ }
176
+
177
+ // Icon to Maximize Pane, so it will fill the entire GoldenLayout Container
178
+ .lm_maximise {
179
+ background-image: data-uri('../../img/lm_maximise_white.png');
180
+ }
181
+
182
+ // Icon to Close Pane and so remove it from GoldenLayout Container
183
+ .lm_close {
184
+ background-image: data-uri('../../img/lm_close_white.png');
185
+ }
186
+ }
187
+
188
+ // If a specific Pane is maximized
189
+ .lm_maximised {
190
+ // Pane Header (container of Tabs for each pane) can have different style when is Maximized
191
+ .lm_header {
192
+ background-color: @color0;
193
+ }
194
+
195
+ // 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)
196
+ .lm_controls {
197
+ .lm_maximise {
198
+ background-image: data-uri('../../img/lm_minimize_white.png');
199
+ }
200
+ }
201
+ }
202
+
203
+ .lm_transition_indicator {
204
+ background-color: @color0;
205
+ border: 1px dashed @color9;
206
+ }
207
+
208
+ // If a specific Pane is Popped Out, so move it to a different Browser Window, Icon to restore original position is:
209
+ .lm_popin {
210
+ cursor: pointer;
211
+
212
+ // Background of Icon
213
+ .lm_bg {
214
+ background: @color10;
215
+ opacity: 0.3;
216
+ }
217
+
218
+ // Icon to Restore original position in Golden Layout Container
219
+ .lm_icon {
220
+ background-image: data-uri('../../img/lm_popin_white.png');
221
+ background-position: center center;
222
+ background-repeat: no-repeat;
223
+ border-left: 1px solid @color2;
224
+ border-top: 1px solid @color2;
225
+ opacity: 0.7;
226
+ }
227
+
228
+ &:hover {
229
+ .lm_icon {
230
+ opacity: 1;
231
+ }
232
+ }
233
+ }
@@ -0,0 +1,223 @@
1
+ // Color variables (appears count calculates by raw css)
2
+ @color0: #e1e1e1; // Appears 3 times
3
+ @color1: #000000; // Appears 4 times
4
+ @color2: #cccccc; // Appears 3 times
5
+ @color3: #777777; // Appears 2 times
6
+
7
+ @color4: #ffffff; // Appears 1 time
8
+ @color5: #555555; // Appears 1 time
9
+ @color6: #452500; // Appears 1 time
10
+ @color7: #fafafa; // Appears 1 time
11
+ @color8: #999999; // Appears 1 time
12
+ @color9: #bbbbbb; // Appears 1 time
13
+ @color10: #888888; // Appears 1 time
14
+ @color11: #f4f4f4; // Appears 1 time
15
+
16
+ // ".lm_dragging" is applied to BODY tag during Drag and is also directly applied to the root of the object being dragged
17
+
18
+ // 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)
19
+ .lm_goldenlayout {
20
+ background:@color11;
21
+ }
22
+
23
+ // Single Pane content (area in which final dragged content is contained)
24
+ .lm_content {
25
+ background: @color0;
26
+ border: 1px solid @color2;
27
+ }
28
+
29
+ // Single Pane content during Drag (style of moving window following mouse)
30
+ .lm_dragProxy {
31
+ .lm_content {
32
+ box-shadow: 2px 2px 4px fade(@color1,20%);
33
+ }
34
+ }
35
+
36
+ // Placeholder Container of target position
37
+ .lm_dropTargetIndicator {
38
+ box-shadow: inset 0 0 30px fade(@color1,40%);
39
+ outline: 1px dashed @color2;
40
+
41
+ // Inner Placeholder
42
+ .lm_inner {
43
+ background: @color1;
44
+ opacity: 0.1;
45
+ }
46
+ }
47
+
48
+ // Separator line (handle to change pane size)
49
+ .lm_splitter {
50
+ background: @color8;
51
+ opacity: 0.001;
52
+ transition: opacity 200ms ease;
53
+
54
+ &:hover, // When hovered by mouse...
55
+ &.lm_dragging {
56
+ background: @color9;
57
+ opacity: 1;
58
+ }
59
+ }
60
+
61
+ // Pane Header (container of Tabs for each pane)
62
+ .lm_header {
63
+ height: 20px;
64
+
65
+ // Single Tab container. A single Tab is set for each pane, a group of Tabs are contained in ".lm_header"
66
+ .lm_tab {
67
+ font-family: Arial, sans-serif;
68
+ font-size: 12px;
69
+ color: @color10;
70
+ background: @color7;
71
+ margin-right: 2px;
72
+ padding-bottom: 4px;
73
+ border: 1px solid @color2;
74
+ border-bottom: none;
75
+
76
+ .lm_title {
77
+ padding-top: 1px;
78
+ }
79
+
80
+ // Close Tab Icon
81
+ .lm_close_tab {
82
+ width: 11px;
83
+ height: 11px;
84
+ background-image: data-uri('../../img/lm_close_black.png');
85
+ background-position: center center;
86
+ background-repeat: no-repeat;
87
+ top: 4px;
88
+ right: 6px;
89
+ opacity: 0.4;
90
+
91
+ &:hover {
92
+ opacity: 1;
93
+ }
94
+ }
95
+
96
+ // If Tab is active, so if it's in foreground
97
+ &.lm_active {
98
+ border-bottom: none;
99
+ box-shadow: 2px -2px 2px -2px fade(@color1,20%);
100
+ padding-bottom: 5px;
101
+
102
+ .lm_close_tab {
103
+ opacity: 1;
104
+ }
105
+ }
106
+ }
107
+ }
108
+
109
+ .lm_dragProxy,
110
+ .lm_stack {
111
+ &.lm_right {
112
+ .lm_header .lm_tab {
113
+ &.lm_active {
114
+ box-shadow: 2px -2px 2px -2px fade(@color1,20%);
115
+ }
116
+ }
117
+ }
118
+
119
+ &.lm_bottom {
120
+ .lm_header .lm_tab {
121
+ &.lm_active {
122
+ box-shadow: 2px 2px 2px -2px fade(@color1,20%);
123
+ }
124
+ }
125
+ }
126
+ }
127
+
128
+ // 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")
129
+ .lm_selected {
130
+ .lm_header {
131
+ background-color: @color6;
132
+ }
133
+ }
134
+
135
+ .lm_tab {
136
+ &:hover, // If Tab is hovered
137
+ &.lm_active // If Tab is active, so if it's in foreground
138
+ {
139
+ background: @color0;
140
+ color: @color3;
141
+ }
142
+ }
143
+
144
+ // Dropdown arrow for additional tabs when too many to be displayed
145
+ .lm_header .lm_controls .lm_tabdropdown:before {
146
+ color: @color1;
147
+ }
148
+
149
+ // Pane controls (popout, maximize, minimize, close)
150
+ .lm_controls {
151
+ // All Pane controls shares these
152
+ > * {
153
+ position: relative;
154
+ background-position: center center;
155
+ background-repeat: no-repeat;
156
+ opacity: 0.4;
157
+ transition: opacity 300ms ease;
158
+
159
+ &:hover {
160
+ opacity: 1;
161
+ }
162
+ }
163
+
164
+ // Icon to PopOut Pane, so move it to a different Browser Window
165
+ .lm_popout {
166
+ background-image: data-uri('../../img/lm_popout_black.png');
167
+ }
168
+
169
+ // Icon to Maximize Pane, so it will fill the entire GoldenLayout Container
170
+ .lm_maximise {
171
+ background-image: data-uri('../../img/lm_maximise_black.png');
172
+ }
173
+
174
+ // Icon to Close Pane and so remove it from GoldenLayout Container
175
+ .lm_close {
176
+ background-image: data-uri('../../img/lm_close_black.png');
177
+ }
178
+ }
179
+
180
+ // If a specific Pane is maximized
181
+ .lm_maximised {
182
+ // Pane Header (container of Tabs for each pane) can have different style when is Maximized
183
+ .lm_header {
184
+ background-color: @color4;
185
+ }
186
+
187
+ // 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)
188
+ .lm_controls {
189
+ .lm_maximise {
190
+ background-image: data-uri('../../img/lm_minimize_black.png');
191
+ }
192
+ }
193
+ }
194
+
195
+ .lm_transition_indicator {
196
+ background-color: @color1;
197
+ border: 1px dashed @color5;
198
+ }
199
+
200
+ // If a specific Pane is Popped Out, so move it to a different Browser Window, Icon to restore original position is:
201
+ .lm_popin {
202
+ cursor: pointer;
203
+
204
+ // Background of Icon
205
+ .lm_bg {
206
+ background: @color1;
207
+ opacity: 0.7;
208
+ }
209
+
210
+ // Icon to Restore original position in Golden Layout Container
211
+ .lm_icon {
212
+ background-image: data-uri('../../img/lm_popin_black.png');
213
+ background-position: center center;
214
+ background-repeat: no-repeat;
215
+ opacity: 0.7;
216
+ }
217
+
218
+ &:hover {
219
+ .lm_icon {
220
+ opacity: 1;
221
+ }
222
+ }
223
+ }