@datagrok-libraries/dock-spawn-dg 0.0.1

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 (222) hide show
  1. package/.eslintrc.json +47 -0
  2. package/CHANGELOG.md +355 -0
  3. package/LICENSE +21 -0
  4. package/README.md +11 -0
  5. package/css/dock-manager-context-menu.css +19 -0
  6. package/css/dock-manager-style.css +190 -0
  7. package/css/dock-manager.css +411 -0
  8. package/images/close.svg +6 -0
  9. package/images/dock_bottom.png +0 -0
  10. package/images/dock_bottom_sel.png +0 -0
  11. package/images/dock_fill.png +0 -0
  12. package/images/dock_fill_sel.png +0 -0
  13. package/images/dock_left.png +0 -0
  14. package/images/dock_left_sel.png +0 -0
  15. package/images/dock_right.png +0 -0
  16. package/images/dock_right_sel.png +0 -0
  17. package/images/dock_top.png +0 -0
  18. package/images/dock_top_sel.png +0 -0
  19. package/index.ts +32 -0
  20. package/lib/BrowserDialogHelper.d.ts +8 -0
  21. package/lib/BrowserDialogHelper.d.ts.map +1 -0
  22. package/lib/BrowserDialogHelper.js +60 -0
  23. package/lib/ContainerType.d.ts +7 -0
  24. package/lib/ContainerType.d.ts.map +1 -0
  25. package/lib/ContainerType.js +7 -0
  26. package/lib/Dialog.d.ts +51 -0
  27. package/lib/Dialog.d.ts.map +1 -0
  28. package/lib/Dialog.js +209 -0
  29. package/lib/DockConfig.d.ts +9 -0
  30. package/lib/DockConfig.d.ts.map +1 -0
  31. package/lib/DockConfig.js +14 -0
  32. package/lib/DockGraphDeserializer.d.ts +19 -0
  33. package/lib/DockGraphDeserializer.d.ts.map +1 -0
  34. package/lib/DockGraphDeserializer.js +114 -0
  35. package/lib/DockGraphSerializer.d.ts +14 -0
  36. package/lib/DockGraphSerializer.d.ts.map +1 -0
  37. package/lib/DockGraphSerializer.js +40 -0
  38. package/lib/DockLayoutEngine.d.ts +36 -0
  39. package/lib/DockLayoutEngine.d.ts.map +1 -0
  40. package/lib/DockLayoutEngine.js +323 -0
  41. package/lib/DockManager.d.ts +155 -0
  42. package/lib/DockManager.d.ts.map +1 -0
  43. package/lib/DockManager.js +752 -0
  44. package/lib/DockManagerContext.d.ts +10 -0
  45. package/lib/DockManagerContext.d.ts.map +1 -0
  46. package/lib/DockManagerContext.js +12 -0
  47. package/lib/DockModel.d.ts +9 -0
  48. package/lib/DockModel.d.ts.map +1 -0
  49. package/lib/DockModel.js +8 -0
  50. package/lib/DockNode.d.ts +16 -0
  51. package/lib/DockNode.d.ts.map +1 -0
  52. package/lib/DockNode.js +64 -0
  53. package/lib/DockWheel.d.ts +41 -0
  54. package/lib/DockWheel.d.ts.map +1 -0
  55. package/lib/DockWheel.js +208 -0
  56. package/lib/DockWheelItem.d.ts +16 -0
  57. package/lib/DockWheelItem.d.ts.map +1 -0
  58. package/lib/DockWheelItem.js +34 -0
  59. package/lib/DocumentManagerContainer.d.ts +16 -0
  60. package/lib/DocumentManagerContainer.d.ts.map +1 -0
  61. package/lib/DocumentManagerContainer.js +28 -0
  62. package/lib/DocumentTabPage.d.ts +11 -0
  63. package/lib/DocumentTabPage.d.ts.map +1 -0
  64. package/lib/DocumentTabPage.js +26 -0
  65. package/lib/DraggableContainer.d.ts +51 -0
  66. package/lib/DraggableContainer.d.ts.map +1 -0
  67. package/lib/DraggableContainer.js +145 -0
  68. package/lib/EventHandler.d.ts +8 -0
  69. package/lib/EventHandler.d.ts.map +1 -0
  70. package/lib/EventHandler.js +14 -0
  71. package/lib/FillDockContainer.d.ts +34 -0
  72. package/lib/FillDockContainer.d.ts.map +1 -0
  73. package/lib/FillDockContainer.js +80 -0
  74. package/lib/HorizontalDockContainer.d.ts +7 -0
  75. package/lib/HorizontalDockContainer.d.ts.map +1 -0
  76. package/lib/HorizontalDockContainer.js +9 -0
  77. package/lib/PanelContainer.d.ts +114 -0
  78. package/lib/PanelContainer.d.ts.map +1 -0
  79. package/lib/PanelContainer.js +517 -0
  80. package/lib/Point.d.ts +6 -0
  81. package/lib/Point.d.ts.map +1 -0
  82. package/lib/Point.js +8 -0
  83. package/lib/ResizableContainer.d.ts +56 -0
  84. package/lib/ResizableContainer.d.ts.map +1 -0
  85. package/lib/ResizableContainer.js +254 -0
  86. package/lib/ResizeHandle.d.ts +16 -0
  87. package/lib/ResizeHandle.d.ts.map +1 -0
  88. package/lib/ResizeHandle.js +58 -0
  89. package/lib/SplitterBar.d.ts +33 -0
  90. package/lib/SplitterBar.d.ts.map +1 -0
  91. package/lib/SplitterBar.js +137 -0
  92. package/lib/SplitterDockContainer.d.ts +36 -0
  93. package/lib/SplitterDockContainer.d.ts.map +1 -0
  94. package/lib/SplitterDockContainer.js +75 -0
  95. package/lib/SplitterPanel.d.ts +27 -0
  96. package/lib/SplitterPanel.d.ts.map +1 -0
  97. package/lib/SplitterPanel.js +195 -0
  98. package/lib/TabHandle.d.ts +56 -0
  99. package/lib/TabHandle.d.ts.map +1 -0
  100. package/lib/TabHandle.js +292 -0
  101. package/lib/TabHost.d.ts +47 -0
  102. package/lib/TabHost.d.ts.map +1 -0
  103. package/lib/TabHost.js +238 -0
  104. package/lib/TabPage.d.ts +20 -0
  105. package/lib/TabPage.d.ts.map +1 -0
  106. package/lib/TabPage.js +81 -0
  107. package/lib/UndockInitiator.d.ts +32 -0
  108. package/lib/UndockInitiator.d.ts.map +1 -0
  109. package/lib/UndockInitiator.js +152 -0
  110. package/lib/Utils.d.ts +15 -0
  111. package/lib/Utils.d.ts.map +1 -0
  112. package/lib/Utils.js +69 -0
  113. package/lib/VerticalDockContainer.d.ts +7 -0
  114. package/lib/VerticalDockContainer.d.ts.map +1 -0
  115. package/lib/VerticalDockContainer.js +9 -0
  116. package/lib/enums/PanelType.d.ts +5 -0
  117. package/lib/enums/PanelType.d.ts.map +1 -0
  118. package/lib/enums/PanelType.js +5 -0
  119. package/lib/enums/TabHostDirection.d.ts +7 -0
  120. package/lib/enums/TabHostDirection.d.ts.map +1 -0
  121. package/lib/enums/TabHostDirection.js +7 -0
  122. package/lib/enums/WheelTypes.d.ts +12 -0
  123. package/lib/enums/WheelTypes.d.ts.map +1 -0
  124. package/lib/enums/WheelTypes.js +14 -0
  125. package/lib/i18n/Defaults.d.ts +12 -0
  126. package/lib/i18n/Defaults.d.ts.map +1 -0
  127. package/lib/i18n/Defaults.js +9 -0
  128. package/lib/i18n/Localizer.d.ts +7 -0
  129. package/lib/i18n/Localizer.d.ts.map +1 -0
  130. package/lib/i18n/Localizer.js +16 -0
  131. package/lib/index.d.ts +33 -0
  132. package/lib/index.d.ts.map +1 -0
  133. package/lib/index.js +32 -0
  134. package/lib/interfaces/IDockContainer.d.ts +26 -0
  135. package/lib/interfaces/IDockContainer.d.ts.map +1 -0
  136. package/lib/interfaces/IDockContainer.js +1 -0
  137. package/lib/interfaces/IDockContainerWithSize.d.ts +6 -0
  138. package/lib/interfaces/IDockContainerWithSize.d.ts.map +1 -0
  139. package/lib/interfaces/IDockContainerWithSize.js +1 -0
  140. package/lib/interfaces/ILayoutEventListener.d.ts +27 -0
  141. package/lib/interfaces/ILayoutEventListener.d.ts.map +1 -0
  142. package/lib/interfaces/ILayoutEventListener.js +1 -0
  143. package/lib/interfaces/IMouseOrTouchEvent.d.ts +7 -0
  144. package/lib/interfaces/IMouseOrTouchEvent.d.ts.map +1 -0
  145. package/lib/interfaces/IMouseOrTouchEvent.js +1 -0
  146. package/lib/interfaces/INodeInfo.d.ts +8 -0
  147. package/lib/interfaces/INodeInfo.d.ts.map +1 -0
  148. package/lib/interfaces/INodeInfo.js +1 -0
  149. package/lib/interfaces/IPanelInfo.d.ts +10 -0
  150. package/lib/interfaces/IPanelInfo.d.ts.map +1 -0
  151. package/lib/interfaces/IPanelInfo.js +1 -0
  152. package/lib/interfaces/IRectangle.d.ts +7 -0
  153. package/lib/interfaces/IRectangle.d.ts.map +1 -0
  154. package/lib/interfaces/IRectangle.js +1 -0
  155. package/lib/interfaces/ISize.d.ts +5 -0
  156. package/lib/interfaces/ISize.d.ts.map +1 -0
  157. package/lib/interfaces/ISize.js +1 -0
  158. package/lib/interfaces/IState.d.ts +12 -0
  159. package/lib/interfaces/IState.d.ts.map +1 -0
  160. package/lib/interfaces/IState.js +1 -0
  161. package/lib/interfaces/IThickness.d.ts +7 -0
  162. package/lib/interfaces/IThickness.d.ts.map +1 -0
  163. package/lib/interfaces/IThickness.js +1 -0
  164. package/lib/webcomponent/DockSpawnTsWebcomponent.d.ts +35 -0
  165. package/lib/webcomponent/DockSpawnTsWebcomponent.d.ts.map +1 -0
  166. package/lib/webcomponent/DockSpawnTsWebcomponent.js +209 -0
  167. package/lib/webcomponent/styles.d.ts +5 -0
  168. package/lib/webcomponent/styles.d.ts.map +1 -0
  169. package/lib/webcomponent/styles.js +537 -0
  170. package/package.json +36 -0
  171. package/src/BrowserDialogHelper.ts +76 -0
  172. package/src/ContainerType.ts +6 -0
  173. package/src/Dialog.ts +253 -0
  174. package/src/DockConfig.ts +15 -0
  175. package/src/DockGraphDeserializer.ts +129 -0
  176. package/src/DockGraphSerializer.ts +53 -0
  177. package/src/DockLayoutEngine.ts +370 -0
  178. package/src/DockManager.ts +880 -0
  179. package/src/DockManagerContext.ts +16 -0
  180. package/src/DockModel.ts +12 -0
  181. package/src/DockNode.ts +81 -0
  182. package/src/DockWheel.ts +215 -0
  183. package/src/DockWheelItem.ts +41 -0
  184. package/src/DocumentManagerContainer.ts +39 -0
  185. package/src/DocumentTabPage.ts +35 -0
  186. package/src/DraggableContainer.ts +177 -0
  187. package/src/EventHandler.ts +17 -0
  188. package/src/FillDockContainer.ts +98 -0
  189. package/src/HorizontalDockContainer.ts +13 -0
  190. package/src/PanelContainer.ts +596 -0
  191. package/src/Point.ts +10 -0
  192. package/src/ResizableContainer.ts +293 -0
  193. package/src/ResizeHandle.ts +59 -0
  194. package/src/SplitterBar.ts +157 -0
  195. package/src/SplitterDockContainer.ts +95 -0
  196. package/src/SplitterPanel.ts +228 -0
  197. package/src/TabHandle.ts +347 -0
  198. package/src/TabHost.ts +267 -0
  199. package/src/TabPage.ts +98 -0
  200. package/src/UndockInitiator.ts +181 -0
  201. package/src/Utils.ts +85 -0
  202. package/src/VerticalDockContainer.ts +13 -0
  203. package/src/enums/PanelType.ts +4 -0
  204. package/src/enums/TabHostDirection.ts +6 -0
  205. package/src/enums/WheelTypes.ts +14 -0
  206. package/src/i18n/Defaults.ts +20 -0
  207. package/src/i18n/Localizer.ts +23 -0
  208. package/src/index.ts +32 -0
  209. package/src/interfaces/IDockContainer.ts +27 -0
  210. package/src/interfaces/IDockContainerWithSize.ts +6 -0
  211. package/src/interfaces/ILayoutEventListener.ts +28 -0
  212. package/src/interfaces/IMouseOrTouchEvent.ts +6 -0
  213. package/src/interfaces/INodeInfo.ts +8 -0
  214. package/src/interfaces/IPanelInfo.ts +10 -0
  215. package/src/interfaces/IRectangle.ts +6 -0
  216. package/src/interfaces/ISize.ts +4 -0
  217. package/src/interfaces/IState.ts +12 -0
  218. package/src/interfaces/IThickness.ts +6 -0
  219. package/src/webcomponent/DockSpawnTsWebcomponent.ts +248 -0
  220. package/src/webcomponent/styles.ts +544 -0
  221. package/tsconfig.json +74 -0
  222. package/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,411 @@
1
+ /************* Panel with title bar ************/
2
+ .panel-base {
3
+ pointer-events: none;
4
+ }
5
+
6
+ .panel-base:focus {
7
+ outline: 0;
8
+ }
9
+
10
+ .panel-titlebar {
11
+ width: 100%;
12
+ overflow: hidden;
13
+ height: 25px;
14
+ pointer-events: auto;
15
+ }
16
+
17
+ .panel-titlebar-icon {
18
+ height: 16px;
19
+ margin-right: 3px;
20
+ }
21
+
22
+ .panel-titlebar-text {
23
+ float: left;
24
+ padding-left: 10px;
25
+ padding-top: 5px;
26
+ text-overflow: ellipsis;
27
+ overflow: hidden;
28
+ width: calc(100% - 30px);
29
+ white-space: nowrap;
30
+ }
31
+
32
+ .panel-titlebar-text > span {
33
+ vertical-align: top;
34
+ }
35
+
36
+ .panel-titlebar-button-close {
37
+ display: flex;
38
+ justify-content: flex-end;
39
+ align-items: center;
40
+ width: 25px;
41
+ height: 25px;
42
+ position: absolute;
43
+ right: 0;
44
+ top: 0;
45
+ }
46
+
47
+ .panel-titlebar-button-close::after {
48
+ float: right;
49
+ cursor: pointer;
50
+ padding-right: 8px;
51
+ content: 'x';
52
+ font-weight: normal;
53
+ font-family: Verdana, Geneva, Tahoma, sans-serif;
54
+ display: flex;
55
+ height: 100%;
56
+ align-items: center;
57
+ }
58
+
59
+ .panel-titlebar-button-close:hover {
60
+ color: black;
61
+ }
62
+
63
+ .panel-content {
64
+ width: 100%;
65
+ overflow: hidden;
66
+ }
67
+
68
+ .panel-content * {
69
+ /* margin: 0px; */
70
+ }
71
+
72
+ .panel-content-wrapper {
73
+ width: 100%;
74
+ height: 100%;
75
+ position: relative;
76
+ }
77
+
78
+ .panel-grayout {
79
+ position: absolute;
80
+ top: 0;
81
+ left: 0;
82
+ width: 100%;
83
+ height: 100%;
84
+ background: rgb(0 0 0 / 50%);
85
+ z-index: 10;
86
+ pointer-events: all;
87
+ }
88
+
89
+ .panel-has-changes {
90
+ font-style: italic;
91
+ }
92
+
93
+ .panel-has-changes::before {
94
+ content: '* ';
95
+ }
96
+
97
+ /***************** Floating dialog box ****************/
98
+
99
+ .dialog-floating {
100
+ position: absolute;
101
+ }
102
+
103
+ .dialog-floating:focus {
104
+ outline: 0;
105
+ }
106
+
107
+ /************ Resize decorator ************/
108
+
109
+ .resize-handle {
110
+ position: absolute;
111
+ width: 6px;
112
+ height: 6px;
113
+ z-index: 10;
114
+ }
115
+
116
+ .resize-handle-corner {
117
+ position: absolute;
118
+ width: 12px;
119
+ height: 12px;
120
+ z-index: 10;
121
+ }
122
+
123
+ .resize-handle-e {
124
+ cursor: e-resize;
125
+ }
126
+
127
+ .resize-handle-w {
128
+ cursor: w-resize;
129
+ }
130
+
131
+ .resize-handle-s {
132
+ cursor: s-resize;
133
+ }
134
+
135
+ .resize-handle-n {
136
+ cursor: n-resize;
137
+ }
138
+
139
+ .resize-handle-ne {
140
+ cursor: ne-resize;
141
+ }
142
+
143
+ .resize-handle-nw {
144
+ cursor: nw-resize;
145
+ }
146
+
147
+ .resize-handle-se {
148
+ cursor: se-resize;
149
+ }
150
+
151
+ .resize-handle-sw {
152
+ cursor: sw-resize;
153
+ }
154
+
155
+ /******************* Dock Manager ********************/
156
+
157
+ .dock-container {
158
+ position: relative;
159
+ }
160
+
161
+ .dock-container-fill {}
162
+
163
+ /******************* Document Manager ********************/
164
+
165
+ .document-manager {}
166
+
167
+ /******************* Dock Wheel ********************/
168
+
169
+ .dock-wheel-base {
170
+ position: absolute;
171
+ }
172
+
173
+ .dock-wheel-item {
174
+ position: absolute;
175
+ width: 32px;
176
+ height: 32px;
177
+ }
178
+
179
+ .dock-wheel-fill {
180
+ margin-left: -16px;
181
+ margin-top: -16px;
182
+ }
183
+
184
+ .dock-wheel-left {
185
+ margin-left: -48px;
186
+ margin-top: -16px;
187
+ }
188
+
189
+ .dock-wheel-right {
190
+ margin-left: 16px;
191
+ margin-top: -16px;
192
+ }
193
+
194
+ .dock-wheel-top {
195
+ margin-left: -16px;
196
+ margin-top: -48px;
197
+ }
198
+
199
+ .dock-wheel-down {
200
+ margin-left: -16px;
201
+ margin-top: 16px;
202
+ }
203
+
204
+ .dock-wheel-panel-preview {
205
+ position: absolute;
206
+ background-color: rgba(128, 128, 255, 0.5);
207
+ }
208
+
209
+ .dock-wheel-fill-icon {
210
+ background: url(../images/dock_fill.png) 0 0;
211
+ }
212
+
213
+ .dock-wheel-left-icon {
214
+ background: url(../images/dock_left.png) 0 0;
215
+ }
216
+
217
+ .dock-wheel-right-icon {
218
+ background: url(../images/dock_right.png) 0 0;
219
+ }
220
+
221
+ .dock-wheel-top-icon {
222
+ background: url(../images/dock_top.png) 0 0;
223
+ }
224
+
225
+ .dock-wheel-down-icon {
226
+ background: url(../images/dock_bottom.png) 0 0;
227
+ }
228
+
229
+ .dock-wheel-fill-icon-hover {
230
+ background: url(../images/dock_fill_sel.png) 0 0;
231
+ }
232
+
233
+ .dock-wheel-left-icon-hover {
234
+ background: url(../images/dock_left_sel.png) 0 0;
235
+ }
236
+
237
+ .dock-wheel-right-icon-hover {
238
+ background: url(../images/dock_right_sel.png) 0 0;
239
+ }
240
+
241
+ .dock-wheel-top-icon-hover {
242
+ background: url(../images/dock_top_sel.png) 0 0;
243
+ }
244
+
245
+ .dock-wheel-down-icon-hover {
246
+ background: url(../images/dock_bottom_sel.png) 0 0;
247
+ }
248
+
249
+ /**************************** Splitter *********************************/
250
+
251
+ .splitter-container-horizontal {
252
+ float: left;
253
+ position: relative;
254
+ pointer-events: none;
255
+ }
256
+
257
+ .splitter-container-vertical {
258
+ position: relative;
259
+ pointer-events: none;
260
+ }
261
+
262
+ .splitbar-horizontal {
263
+ width: 100%;
264
+ height: 5px;
265
+ cursor: n-resize;
266
+ position: relative;
267
+ pointer-events: auto;
268
+ }
269
+
270
+ .splitbar-vertical {
271
+ width: 5px;
272
+ height: 100%;
273
+ float: left;
274
+ cursor: e-resize;
275
+ position: relative;
276
+ pointer-events: auto;
277
+ }
278
+
279
+ .splitbar-horizontal-ghoust {
280
+ width: 100%;
281
+ height: 5px;
282
+ cursor: n-resize;
283
+ position: absolute;
284
+ }
285
+
286
+ .splitbar-vertical-ghoust {
287
+ width: 5px;
288
+ height: 100%;
289
+ position: absolute;
290
+ cursor: e-resize;
291
+ }
292
+
293
+ /*************************** Tab Host ********************************/
294
+
295
+ .dockspan-tab-host {
296
+ display: inline-block;
297
+ position: absolute;
298
+ }
299
+
300
+ .dockspan-tab-content {
301
+ position: relative;
302
+ }
303
+
304
+ .dockspan-tab-content:focus {
305
+ outline: 0;
306
+ }
307
+
308
+ .dockspan-tab-content * {}
309
+
310
+ .dockspan-tab-handle {
311
+ position: relative;
312
+ height: 22px;
313
+ float: left;
314
+ overflow: hidden;
315
+ cursor: pointer;
316
+ padding-right: 16px;
317
+ }
318
+
319
+ .dockspan-tab-handle:hover {
320
+ cursor: pointer;
321
+ }
322
+
323
+ .dockspan-tab-handle-selected {}
324
+
325
+ .dockspan-tab-handle-text {
326
+ margin-top: 3px;
327
+ margin-left: 6px;
328
+ margin-right: 6px;
329
+ white-space: nowrap;
330
+ overflow: hidden;
331
+ float: left;
332
+ text-overflow: ellipsis;
333
+ width: calc(100% - 3px);
334
+ display: block;
335
+ }
336
+
337
+ .dockspan-tab-handle-text > span {
338
+ vertical-align: top;
339
+ }
340
+
341
+ .dockspan-tab-handle-close-button {}
342
+
343
+ .dockspan-tab-handle-close-button::after {
344
+ margin-right: 5px;
345
+ float: right;
346
+ position: absolute;
347
+ right: 0;
348
+ content: 'x';
349
+ font-weight: normal;
350
+ font-family: Verdana, Geneva, Tahoma, sans-serif;
351
+ cursor: pointer;
352
+ display: flex;
353
+ height: 100%;
354
+ align-items: center;
355
+ }
356
+
357
+ .dockspan-tab-handle-close-button:hover {
358
+ color: black;
359
+ }
360
+
361
+ .dockspan-tab-handle-list-container {
362
+ height: 22px;
363
+ overflow: hidden;
364
+ display: none;
365
+ pointer-events: auto;
366
+ }
367
+
368
+ .dockspan-tab-handle-list-container-visible {
369
+ display: flex;
370
+ }
371
+
372
+ .dockspan-tab-handle-content-seperator {
373
+ height: 4px;
374
+ display: none;
375
+ }
376
+
377
+ .dockspan-tab-handle-content-seperator-visible {
378
+ display: block;
379
+ }
380
+
381
+ .dockspan-tab-handle-content-seperator-selected {}
382
+
383
+ .dockspab-tab-handle-context-menu {
384
+ position: absolute;
385
+ z-index: 10000000;
386
+ background-color: white;
387
+ border: white;
388
+ border: black solid 2px;
389
+ padding: 5px;
390
+ }
391
+
392
+ .dockspab-tab-handle-context-menu>div {
393
+ cursor: pointer;
394
+ padding: 2px;
395
+ }
396
+
397
+ .dockspab-tab-handle-context-menu>div:hover {
398
+ background-color: gray;
399
+ cursor: pointer;
400
+ padding: 2px;
401
+ }
402
+
403
+ /*************************** Text Selection **************************/
404
+
405
+ .disable-selection {
406
+ user-select: none;
407
+ -moz-user-select: none;
408
+ -webkit-user-select: none;
409
+ -ms-user-select: none;
410
+ cursor: default;
411
+ }
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
3
+ <g id="close">
4
+ <path id="x" d="M18.717 6.697l-1.414-1.414-5.303 5.303-5.303-5.303-1.414 1.414 5.303 5.303-5.303 5.303 1.414 1.414 5.303-5.303 5.303 5.303 1.414-1.414-5.303-5.303z"/>
5
+ </g>
6
+ </svg>
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/index.ts ADDED
@@ -0,0 +1,32 @@
1
+ export * from './src/ContainerType';
2
+ export * from './src/Dialog';
3
+ export * from './src/DockConfig';
4
+ export * from './src/DockGraphSerializer';
5
+ export * from './src/DockLayoutEngine';
6
+ export * from './src/DockManager';
7
+ export * from './src/DockManagerContext';
8
+ export * from './src/DockModel';
9
+ export * from './src/DockNode';
10
+ export * from './src/DockWheel';
11
+ export * from './src/DockWheelItem';
12
+ export * from './src/DocumentManagerContainer';
13
+ export * from './src/DocumentTabPage';
14
+ export * from './src/DraggableContainer';
15
+ export * from './src/EventHandler';
16
+ export * from './src/FillDockContainer';
17
+ export * from './src/HorizontalDockContainer';
18
+ export * from './src/PanelContainer';
19
+ export * from './src/Point';
20
+ export * from './src/ResizableContainer';
21
+ export * from './src/ResizeHandle';
22
+ export * from './src/SplitterBar';
23
+ export * from './src/SplitterDockContainer';
24
+ export * from './src/SplitterPanel';
25
+ export * from './src/TabHandle';
26
+ export * from './src/TabHost';
27
+ export * from './src/TabPage';
28
+ export * from './src/UndockInitiator';
29
+ export * from './src/Utils';
30
+ export * from './src/VerticalDockContainer';
31
+ export * from './src/i18n/Localizer';
32
+ export * from './src/webcomponent/DockSpawnTsWebcomponent';
@@ -0,0 +1,8 @@
1
+ export declare function moveElementToNewBrowserWindow(element: HTMLElement, params: {
2
+ title?: string;
3
+ closeCallback?: () => void;
4
+ newWindowClosedCallback?: () => void;
5
+ focused: (e: FocusEvent) => void;
6
+ blured: (e: FocusEvent) => void;
7
+ }): void;
8
+ //# sourceMappingURL=BrowserDialogHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserDialogHelper.d.ts","sourceRoot":"","sources":["../src/BrowserDialogHelper.ts"],"names":[],"mappings":"AAAA,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACjC,MAAM,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACnC,QAqDA"}
@@ -0,0 +1,60 @@
1
+ export function moveElementToNewBrowserWindow(element, params) {
2
+ const rect = element.getBoundingClientRect();
3
+ const newWindowBounds = { x: rect.x + 24, y: rect.y + 60, width: rect.width, height: rect.height };
4
+ const win = window.open('about:blank', undefined, `popup=yes,left=${newWindowBounds.x},top=${newWindowBounds.y},width=${newWindowBounds.width},height=${newWindowBounds.height}`);
5
+ win.onfocus = (e) => params.focused(e);
6
+ win.onblur = (e) => params.blured(e);
7
+ const styles = [...document.head.querySelectorAll('link')].map((x) => x.cloneNode());
8
+ for (const s of styles)
9
+ win.document.head.appendChild(win.document.adoptNode(s));
10
+ const st = win.document.createElement('style');
11
+ st.innerText = `
12
+ html {
13
+ overflow: hidden;
14
+ position: fixed;
15
+ width: 100%;
16
+ height: 100%;
17
+ }
18
+ body {
19
+ height: 100%;
20
+ width: 100%;
21
+ margin: 0;
22
+ }
23
+ `;
24
+ win.document.head.appendChild(st);
25
+ const titleEl = win.document.createElement('title');
26
+ titleEl.innerText = params.title;
27
+ win.document.head.appendChild(titleEl);
28
+ win.onunload = () => params.newWindowClosedCallback();
29
+ const cache = new Map();
30
+ const listSs = new Map();
31
+ function backupSs(el) {
32
+ if (el.shadowRoot) {
33
+ if (el.shadowRoot.adoptedStyleSheets.length > 0)
34
+ listSs.set(el, [...el.shadowRoot.adoptedStyleSheets.map((x) => cloneStyleSheet(win, x, cache))]);
35
+ for (const e of el.shadowRoot.querySelectorAll('*'))
36
+ backupSs(e);
37
+ }
38
+ }
39
+ backupSs(element);
40
+ for (const e of element.querySelectorAll('*'))
41
+ backupSs(e);
42
+ win.document.body.appendChild(win.document.adoptNode(element));
43
+ for (const e of listSs)
44
+ e[0].shadowRoot.adoptedStyleSheets = e[1];
45
+ params.closeCallback();
46
+ }
47
+ function cloneStyleSheet(window, stylesheet, cache) {
48
+ const existingCopy = cache.get(stylesheet);
49
+ if (existingCopy)
50
+ return existingCopy;
51
+ let payload = '';
52
+ const rules = stylesheet.cssRules;
53
+ for (let i = 0; i < rules.length; i++)
54
+ payload += rules[i].cssText + '\n';
55
+ //@ts-ignore
56
+ const newStylesheet = new window.CSSStyleSheet();
57
+ cache.set(stylesheet, newStylesheet);
58
+ newStylesheet.replaceSync(payload);
59
+ return newStylesheet;
60
+ }
@@ -0,0 +1,7 @@
1
+ export declare enum ContainerType {
2
+ horizontal = "horizontal",
3
+ vertical = "vertical",
4
+ fill = "fill",
5
+ panel = "panel"
6
+ }
7
+ //# sourceMappingURL=ContainerType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContainerType.d.ts","sourceRoot":"","sources":["../src/ContainerType.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACrB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,KAAK,UAAU;CAClB"}
@@ -0,0 +1,7 @@
1
+ export var ContainerType;
2
+ (function (ContainerType) {
3
+ ContainerType["horizontal"] = "horizontal";
4
+ ContainerType["vertical"] = "vertical";
5
+ ContainerType["fill"] = "fill";
6
+ ContainerType["panel"] = "panel";
7
+ })(ContainerType || (ContainerType = {}));
@@ -0,0 +1,51 @@
1
+ import { DockManager } from './DockManager.js';
2
+ import { Point } from './Point.js';
3
+ import { PanelContainer } from './PanelContainer.js';
4
+ import { DraggableContainer } from './DraggableContainer.js';
5
+ import { ResizableContainer } from './ResizableContainer.js';
6
+ import { EventHandler } from './EventHandler.js';
7
+ import { DockNode } from './DockNode.js';
8
+ export declare class Dialog {
9
+ elementDialog: HTMLDivElement & {
10
+ floatingDialog: Dialog;
11
+ };
12
+ draggable: DraggableContainer;
13
+ panel: PanelContainer;
14
+ dockManager: DockManager;
15
+ eventListener: DockManager;
16
+ position: Point;
17
+ resizable: ResizableContainer;
18
+ disableResize: boolean;
19
+ mouseDownHandler: any;
20
+ onKeyPressBound: any;
21
+ noDocking: boolean;
22
+ isHidden: boolean;
23
+ keyPressHandler: EventHandler;
24
+ focusHandler: EventHandler;
25
+ grayoutParent: PanelContainer;
26
+ contextmenuHandler: EventHandler;
27
+ _ctxMenu: HTMLDivElement;
28
+ _windowsContextMenuCloseBound: any;
29
+ constructor(panel: PanelContainer, dockManager: DockManager, grayoutParent?: PanelContainer, disableResize?: boolean);
30
+ saveState(x: number, y: number): void;
31
+ static fromElement(id: string, dockManager: DockManager): Dialog;
32
+ _initialize(): void;
33
+ setPosition(x: number, y: number): void;
34
+ getPosition(): Point;
35
+ onFocus(): void;
36
+ onMouseDown(e: PointerEvent): void;
37
+ destroy(): void;
38
+ resize(width: number, height: number): void;
39
+ setTitle(title: string): void;
40
+ setTitleIcon(iconName: string): void;
41
+ bringToFront(): void;
42
+ hide(): void;
43
+ close(): void;
44
+ remove(): void;
45
+ show(): void;
46
+ static createContextMenuContentCallback: (dialog: Dialog, documentMangerNodes: DockNode[]) => Node[];
47
+ oncontextMenuClicked(e: MouseEvent): void;
48
+ closeContextMenu(): void;
49
+ windowsContextMenuClose(e: Event): void;
50
+ }
51
+ //# sourceMappingURL=Dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../src/Dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AACjC,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC,qBAAa,MAAM;IACjB,aAAa,EAAE,cAAc,GAAG;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,SAAS,EAAE,kBAAkB,CAAC;IAC9B,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,WAAW,CAAC;IAC3B,QAAQ,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,GAAG,CAAC;IACtB,eAAe,EAAE,GAAG,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,YAAY,CAAC;IAC9B,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,cAAc,CAAC;IAC9B,kBAAkB,EAAE,YAAY,CAAC;IACjC,QAAQ,EAAE,cAAc,CAAC;IACzB,6BAA6B,EAAE,GAAG,CAAC;gBAEvB,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,cAAc,EAAE,aAAa,CAAC,EAAE,OAAO;IAapH,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAK9B,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW;IAIvD,WAAW;IAyBX,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAShC,WAAW,IAAI,KAAK;IAIpB,OAAO;IAKP,WAAW,CAAC,CAAC,EAAE,YAAY;IAK3B,OAAO;IA6BP,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAIpC,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,YAAY,CAAC,QAAQ,EAAE,MAAM;IAI7B,YAAY;IAMZ,IAAI;IAYJ,KAAK;IAOL,MAAM;IAIN,IAAI;IAUJ,MAAM,CAAC,gCAAgC,WAAY,MAAM,uBAAuB,QAAQ,EAAE,KAAG,IAAI,EAAE,CA4BjG;IAEF,oBAAoB,CAAC,CAAC,EAAE,UAAU;IAyBlC,gBAAgB;IAQhB,uBAAuB,CAAC,CAAC,EAAE,KAAK;CASjC"}