@aptre/flex-layout 0.2.4 → 0.3.0-beta.2

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 (112) hide show
  1. package/README.md +154 -311
  2. package/dist/DockLocation.d.ts +2 -2
  3. package/dist/DropInfo.d.ts +4 -4
  4. package/dist/I18nLabel.d.ts +7 -9
  5. package/dist/Rect.d.ts +14 -1
  6. package/dist/Types.d.ts +16 -0
  7. package/dist/index.d.ts +21 -22
  8. package/dist/index.mjs +4529 -4618
  9. package/dist/model/Actions.d.ts +40 -23
  10. package/dist/model/BorderNode.d.ts +10 -14
  11. package/dist/model/BorderSet.d.ts +1 -2
  12. package/dist/model/IJsonModel.d.ts +697 -35
  13. package/dist/model/LayoutWindow.d.ts +28 -0
  14. package/dist/model/Model.d.ts +29 -24
  15. package/dist/model/Node.d.ts +5 -5
  16. package/dist/model/RowNode.d.ts +5 -6
  17. package/dist/model/TabNode.d.ts +15 -8
  18. package/dist/model/TabSetNode.d.ts +13 -10
  19. package/dist/view/BorderTab.d.ts +2 -0
  20. package/dist/view/Icons.d.ts +1 -0
  21. package/dist/view/Layout.d.ts +95 -116
  22. package/dist/view/Row.d.ts +1 -0
  23. package/dist/view/SizeTracker.d.ts +10 -0
  24. package/dist/view/Utils.d.ts +11 -1
  25. package/package.json +21 -25
  26. package/style/_base.scss +138 -32
  27. package/style/dark.css +145 -40
  28. package/style/dark.css.map +1 -1
  29. package/style/dark.scss +3 -1
  30. package/style/gray.css +144 -39
  31. package/style/gray.css.map +1 -1
  32. package/style/gray.scss +2 -0
  33. package/style/light.css +147 -42
  34. package/style/light.css.map +1 -1
  35. package/style/light.scss +4 -2
  36. package/style/rounded.css +697 -0
  37. package/style/rounded.css.map +1 -0
  38. package/style/rounded.scss +193 -0
  39. package/style/underline.css +145 -40
  40. package/style/underline.css.map +1 -1
  41. package/style/underline.scss +2 -0
  42. package/tsconfig.json +3 -3
  43. package/typedoc/assets/hierarchy.js +1 -0
  44. package/typedoc/assets/highlight.css +18 -18
  45. package/typedoc/assets/icons.js +17 -14
  46. package/typedoc/assets/icons.svg +1 -1
  47. package/typedoc/assets/main.js +5 -4
  48. package/typedoc/assets/navigation.js +1 -1
  49. package/typedoc/assets/search.js +1 -1
  50. package/typedoc/assets/style.css +1422 -1224
  51. package/typedoc/classes/Action.html +2 -2
  52. package/typedoc/classes/Actions.html +65 -52
  53. package/typedoc/classes/BorderNode.html +26 -30
  54. package/typedoc/classes/BorderSet.html +2 -2
  55. package/typedoc/classes/DockLocation.html +9 -9
  56. package/typedoc/classes/DropInfo.html +3 -3
  57. package/typedoc/classes/Layout.html +99 -83
  58. package/typedoc/classes/LayoutWindow.html +12 -0
  59. package/typedoc/classes/Model.html +44 -40
  60. package/typedoc/classes/Node.html +12 -12
  61. package/typedoc/classes/Orientation.html +5 -5
  62. package/typedoc/classes/Rect.html +18 -11
  63. package/typedoc/classes/RowNode.html +16 -17
  64. package/typedoc/classes/TabNode.html +40 -34
  65. package/typedoc/classes/TabSetNode.html +40 -41
  66. package/typedoc/enums/CLASSES.html +94 -78
  67. package/typedoc/enums/I18nLabel.html +11 -13
  68. package/typedoc/enums/ICloseType.html +4 -4
  69. package/typedoc/hierarchy.html +1 -1
  70. package/typedoc/index.html +1 -51
  71. package/typedoc/interfaces/IBorderAttributes.html +32 -9
  72. package/typedoc/interfaces/IDraggable.html +1 -1
  73. package/typedoc/interfaces/IDropTarget.html +1 -1
  74. package/typedoc/interfaces/IGlobalAttributes.html +190 -47
  75. package/typedoc/interfaces/IIcons.html +5 -4
  76. package/typedoc/interfaces/IJsonBorderNode.html +32 -9
  77. package/typedoc/interfaces/IJsonModel.html +3 -2
  78. package/typedoc/interfaces/IJsonPopout.html +3 -0
  79. package/typedoc/interfaces/IJsonRect.html +5 -0
  80. package/typedoc/interfaces/IJsonRowNode.html +8 -5
  81. package/typedoc/interfaces/IJsonTabNode.html +73 -15
  82. package/typedoc/interfaces/IJsonTabSetNode.html +68 -23
  83. package/typedoc/interfaces/ILayoutProps.html +36 -22
  84. package/typedoc/interfaces/IRowAttributes.html +8 -5
  85. package/typedoc/interfaces/ITabAttributes.html +73 -15
  86. package/typedoc/interfaces/ITabRenderValues.html +5 -3
  87. package/typedoc/interfaces/ITabSetAttributes.html +63 -24
  88. package/typedoc/interfaces/ITabSetRenderValues.html +8 -7
  89. package/typedoc/types/DragRectRenderCallback.html +1 -1
  90. package/typedoc/types/IBorderLocation.html +1 -1
  91. package/typedoc/types/ITabLocation.html +1 -1
  92. package/typedoc/types/NodeMouseEvent.html +1 -1
  93. package/typedoc/types/ShowOverflowMenuCallback.html +1 -1
  94. package/typedoc/types/TabSetPlaceHolderCallback.html +1 -1
  95. package/typedoc/variables/FlexLayoutVersion.html +1 -0
  96. package/dist/DragDrop.d.ts +0 -15
  97. package/dist/model/SplitterNode.d.ts +0 -5
  98. package/typedoc/classes/DragDrop.html +0 -10
  99. package/typedoc/classes/SplitterNode.html +0 -13
  100. package/typedoc/interfaces/ICustomDropDestination.html +0 -10
  101. package/typedoc/interfaces/IFontValues.html +0 -5
  102. package/typedoc/interfaces/ILayoutState.html +0 -9
  103. package/typedoc/interfaces/ITitleObject.html +0 -3
  104. package/typedoc/types/CustomDragCallback.html +0 -1
  105. package/typedoc/types/FloatingTabPlaceholderRenderCallback.html +0 -1
  106. package/typedoc/types/IInsets.html +0 -1
  107. package/typedoc/types/IconFactory.html +0 -1
  108. package/typedoc/types/TitleFactory.html +0 -1
  109. /package/dist/{PopupMenu.d.ts → view/DragContainer.d.ts} +0 -0
  110. /package/dist/view/{FloatingWindow.d.ts → Overlay.d.ts} +0 -0
  111. /package/dist/view/{FloatingWindowTab.d.ts → PopoutWindow.d.ts} +0 -0
  112. /package/dist/view/{TabFloating.d.ts → PopupMenu.d.ts} +0 -0
@@ -1,16 +1,21 @@
1
- import { ICloseType } from "./ICloseType.js";
1
+ import { ICloseType } from "./ICloseType";
2
2
  export type IBorderLocation = "top" | "bottom" | "left" | "right";
3
3
  export type ITabLocation = "top" | "bottom";
4
- export type IInsets = {
5
- top: number;
6
- right: number;
7
- bottom: number;
8
- left: number;
9
- };
10
4
  export interface IJsonModel {
11
5
  global?: IGlobalAttributes;
12
6
  borders?: IJsonBorderNode[];
13
7
  layout: IJsonRowNode;
8
+ popouts?: Record<string, IJsonPopout>;
9
+ }
10
+ export interface IJsonRect {
11
+ x: number;
12
+ y: number;
13
+ width: number;
14
+ height: number;
15
+ }
16
+ export interface IJsonPopout {
17
+ layout: IJsonRowNode;
18
+ rect: IJsonRect;
14
19
  }
15
20
  export interface IJsonBorderNode extends IBorderAttributes {
16
21
  location: IBorderLocation;
@@ -20,130 +25,787 @@ export interface IJsonRowNode extends IRowAttributes {
20
25
  children: (IJsonRowNode | IJsonTabSetNode)[];
21
26
  }
22
27
  export interface IJsonTabSetNode extends ITabSetAttributes {
28
+ /** Marks this as the active tab set, read from initial json but
29
+ * must subseqently be set on the model (only one tab set can be active)*/
23
30
  active?: boolean;
31
+ /** Marks this tab set as being maximized, read from initial json but
32
+ * must subseqently be set on the model (only one tab set can be maximized) */
24
33
  maximized?: boolean;
25
34
  children: IJsonTabNode[];
26
35
  }
27
36
  export interface IJsonTabNode extends ITabAttributes {
28
37
  }
29
38
  export interface IGlobalAttributes {
39
+ /**
40
+ Value for BorderNode attribute autoSelectTabWhenClosed if not overridden
41
+
42
+ whether to select new/moved tabs in border when the border is currently closed
43
+
44
+ Default: false
45
+ */
30
46
  borderAutoSelectTabWhenClosed?: boolean;
47
+ /**
48
+ Value for BorderNode attribute autoSelectTabWhenOpen if not overridden
49
+
50
+ whether to select new/moved tabs in border when the border is already open
51
+
52
+ Default: true
53
+ */
31
54
  borderAutoSelectTabWhenOpen?: boolean;
32
- borderBarSize?: number;
55
+ /**
56
+ Value for BorderNode attribute className if not overridden
57
+
58
+ class applied to tab button
59
+
60
+ Default: undefined
61
+ */
33
62
  borderClassName?: string;
63
+ /**
64
+ Value for BorderNode attribute enableAutoHide if not overridden
65
+
66
+ hide border if it has zero tabs
67
+
68
+ Default: false
69
+ */
34
70
  borderEnableAutoHide?: boolean;
71
+ /**
72
+ Value for BorderNode attribute enableDrop if not overridden
73
+
74
+ whether tabs can be dropped into this border
75
+
76
+ Default: true
77
+ */
35
78
  borderEnableDrop?: boolean;
79
+ /**
80
+ Value for BorderNode attribute maxSize if not overridden
81
+
82
+ the maximum size of the tab area
83
+
84
+ Default: 99999
85
+ */
86
+ borderMaxSize?: number;
87
+ /**
88
+ Value for BorderNode attribute minSize if not overridden
89
+
90
+ the minimum size of the tab area
91
+
92
+ Default: 0
93
+ */
36
94
  borderMinSize?: number;
95
+ /**
96
+ Value for BorderNode attribute size if not overridden
97
+
98
+ size of the tab area when selected
99
+
100
+ Default: 200
101
+ */
37
102
  borderSize?: number;
103
+ /**
104
+ enable docking to the edges of the layout, this will show the edge indicators
105
+
106
+ Default: true
107
+ */
38
108
  enableEdgeDock?: boolean;
109
+ /**
110
+ boolean indicating if tab icons should rotate with the text in the left and right borders
111
+
112
+ Default: true
113
+ */
39
114
  enableRotateBorderIcons?: boolean;
40
- enableUseVisibility?: boolean;
41
- legacyOverflowMenu?: boolean;
42
- marginInsets?: IInsets;
115
+ /**
116
+ the top level 'row' will layout horizontally by default, set this option true to make it layout vertically
117
+
118
+ Default: false
119
+ */
43
120
  rootOrientationVertical?: boolean;
121
+ /**
122
+ enable a small centralized handle on all splitters
123
+
124
+ Default: false
125
+ */
126
+ splitterEnableHandle?: boolean;
127
+ /**
128
+ additional width in pixels of the splitter hit test area
129
+
130
+ Default: 0
131
+ */
44
132
  splitterExtra?: number;
133
+ /**
134
+ width in pixels of all splitters between tabsets/borders
135
+
136
+ Default: 8
137
+ */
45
138
  splitterSize?: number;
139
+ /**
140
+ Value for TabNode attribute borderHeight if not overridden
141
+
142
+ height when added to border, -1 will use border size
143
+
144
+ Default: -1
145
+ */
46
146
  tabBorderHeight?: number;
147
+ /**
148
+ Value for TabNode attribute borderWidth if not overridden
149
+
150
+ width when added to border, -1 will use border size
151
+
152
+ Default: -1
153
+ */
47
154
  tabBorderWidth?: number;
155
+ /**
156
+ Value for TabNode attribute className if not overridden
157
+
158
+ class applied to tab button
159
+
160
+ Default: undefined
161
+ */
48
162
  tabClassName?: string;
163
+ /**
164
+ Value for TabNode attribute closeType if not overridden
165
+
166
+ see values in ICloseType
167
+
168
+ Default: 1
169
+ */
49
170
  tabCloseType?: ICloseType;
171
+ /**
172
+ Value for TabNode attribute contentClassName if not overridden
173
+
174
+ class applied to tab content
175
+
176
+ Default: undefined
177
+ */
50
178
  tabContentClassName?: string;
179
+ /**
180
+
181
+
182
+ Default: 0.3
183
+ */
51
184
  tabDragSpeed?: number;
185
+ /**
186
+ Value for TabNode attribute enableClose if not overridden
187
+
188
+ allow user to close tab via close button
189
+
190
+ Default: true
191
+ */
52
192
  tabEnableClose?: boolean;
193
+ /**
194
+ Value for TabNode attribute enableDrag if not overridden
195
+
196
+ allow user to drag tab to new location
197
+
198
+ Default: true
199
+ */
53
200
  tabEnableDrag?: boolean;
54
- tabEnableFloat?: boolean;
201
+ /**
202
+ Value for TabNode attribute enablePopout if not overridden
203
+
204
+ enable popout (in popout capable browser)
205
+
206
+ Default: false
207
+ */
208
+ tabEnablePopout?: boolean;
209
+ /**
210
+ Value for TabNode attribute enablePopoutIcon if not overridden
211
+
212
+ whether to show the popout icon in the tabset header if this tab enables popouts
213
+
214
+ Default: true
215
+ */
216
+ tabEnablePopoutIcon?: boolean;
217
+ /**
218
+ Value for TabNode attribute enablePopoutOverlay if not overridden
219
+
220
+ if this tab will not work correctly in a popout window when the main window is backgrounded (inactive)
221
+ then enabling this option will gray out this tab
222
+
223
+ Default: false
224
+ */
225
+ tabEnablePopoutOverlay?: boolean;
226
+ /**
227
+ Value for TabNode attribute enableRename if not overridden
228
+
229
+ allow user to rename tabs by double clicking
230
+
231
+ Default: true
232
+ */
55
233
  tabEnableRename?: boolean;
234
+ /**
235
+ Value for TabNode attribute enableRenderOnDemand if not overridden
236
+
237
+ whether to avoid rendering component until tab is visible
238
+
239
+ Default: true
240
+ */
56
241
  tabEnableRenderOnDemand?: boolean;
242
+ /**
243
+ Value for TabNode attribute icon if not overridden
244
+
245
+ the tab icon
246
+
247
+ Default: undefined
248
+ */
57
249
  tabIcon?: string;
250
+ /**
251
+ Value for TabNode attribute maxHeight if not overridden
252
+
253
+ the max height of this tab
254
+
255
+ Default: 99999
256
+ */
257
+ tabMaxHeight?: number;
258
+ /**
259
+ Value for TabNode attribute maxWidth if not overridden
260
+
261
+ the max width of this tab
262
+
263
+ Default: 99999
264
+ */
265
+ tabMaxWidth?: number;
266
+ /**
267
+ Value for TabNode attribute minHeight if not overridden
268
+
269
+ the min height of this tab
270
+
271
+ Default: 0
272
+ */
273
+ tabMinHeight?: number;
274
+ /**
275
+ Value for TabNode attribute minWidth if not overridden
276
+
277
+ the min width of this tab
278
+
279
+ Default: 0
280
+ */
281
+ tabMinWidth?: number;
282
+ /**
283
+ Value for TabSetNode attribute autoSelectTab if not overridden
284
+
285
+ whether to select new/moved tabs in tabset
286
+
287
+ Default: true
288
+ */
58
289
  tabSetAutoSelectTab?: boolean;
59
- tabSetBorderInsets?: IInsets;
60
- tabSetClassNameHeader?: string;
290
+ /**
291
+ Value for TabSetNode attribute classNameTabStrip if not overridden
292
+
293
+ a class name to apply to the tab strip
294
+
295
+ Default: undefined
296
+ */
61
297
  tabSetClassNameTabStrip?: string;
298
+ /**
299
+ Value for TabSetNode attribute enableActiveIcon if not overridden
300
+
301
+ whether the active icon (*) should be displayed when the tabset is active
302
+
303
+ Default: false
304
+ */
305
+ tabSetEnableActiveIcon?: boolean;
306
+ /**
307
+ Value for TabSetNode attribute enableClose if not overridden
308
+
309
+ allow user to close tabset via a close button
310
+
311
+ Default: false
312
+ */
62
313
  tabSetEnableClose?: boolean;
314
+ /**
315
+ Value for TabSetNode attribute enableDeleteWhenEmpty if not overridden
316
+
317
+ whether to delete this tabset when is has no tabs
318
+
319
+ Default: true
320
+ */
63
321
  tabSetEnableDeleteWhenEmpty?: boolean;
322
+ /**
323
+ Value for TabSetNode attribute enableDivide if not overridden
324
+
325
+ allow user to drag tabs to region of this tabset, splitting into new tabset
326
+
327
+ Default: true
328
+ */
64
329
  tabSetEnableDivide?: boolean;
330
+ /**
331
+ Value for TabSetNode attribute enableDrag if not overridden
332
+
333
+ allow user to drag tabs out this tabset
334
+
335
+ Default: true
336
+ */
65
337
  tabSetEnableDrag?: boolean;
338
+ /**
339
+ Value for TabSetNode attribute enableDrop if not overridden
340
+
341
+ allow user to drag tabs into this tabset
342
+
343
+ Default: true
344
+ */
66
345
  tabSetEnableDrop?: boolean;
346
+ /**
347
+ Value for TabSetNode attribute enableMaximize if not overridden
348
+
349
+ allow user to maximize tabset to fill view via maximize button
350
+
351
+ Default: true
352
+ */
67
353
  tabSetEnableMaximize?: boolean;
354
+ /**
355
+ Value for TabSetNode attribute enableSingleTabStretch if not overridden
356
+
357
+ if the tabset has only a single tab then stretch the single tab to fill area and display in a header style
358
+
359
+ Default: false
360
+ */
68
361
  tabSetEnableSingleTabStretch?: boolean;
362
+ /**
363
+ Value for TabSetNode attribute enableTabStrip if not overridden
364
+
365
+ enable tab strip and allow multiple tabs in this tabset
366
+
367
+ Default: true
368
+ */
69
369
  tabSetEnableTabStrip?: boolean;
70
- tabSetHeaderHeight?: number;
71
- tabSetMarginInsets?: IInsets;
370
+ /**
371
+ Value for TabSetNode attribute enableTabWrap if not overridden
372
+
373
+ show tabs in location top or bottom
374
+
375
+ Default: false
376
+ */
377
+ tabSetEnableTabWrap?: boolean;
378
+ /**
379
+ Value for TabSetNode attribute maxHeight if not overridden
380
+
381
+ maximum height (in px) for this tabset
382
+
383
+ Default: 99999
384
+ */
385
+ tabSetMaxHeight?: number;
386
+ /**
387
+ Value for TabSetNode attribute maxWidth if not overridden
388
+
389
+ maximum width (in px) for this tabset
390
+
391
+ Default: 99999
392
+ */
393
+ tabSetMaxWidth?: number;
394
+ /**
395
+ Value for TabSetNode attribute minHeight if not overridden
396
+
397
+ minimum height (in px) for this tabset
398
+
399
+ Default: 0
400
+ */
72
401
  tabSetMinHeight?: number;
402
+ /**
403
+ Value for TabSetNode attribute minWidth if not overridden
404
+
405
+ minimum width (in px) for this tabset
406
+
407
+ Default: 0
408
+ */
73
409
  tabSetMinWidth?: number;
410
+ /**
411
+ Value for TabSetNode attribute tabLocation if not overridden
412
+
413
+ the location of the tabs either top or bottom
414
+
415
+ Default: "top"
416
+ */
74
417
  tabSetTabLocation?: ITabLocation;
75
- tabSetTabStripHeight?: number;
76
418
  }
77
419
  export interface IRowAttributes {
78
- height?: number;
420
+ /**
421
+ the unique id of the row, if left undefined a uuid will be assigned
422
+
423
+ Default: undefined
424
+ */
79
425
  id?: string;
80
- type: "row";
426
+ /**
427
+
428
+
429
+ Fixed value: "row"
430
+ */
431
+ type?: string;
432
+ /**
433
+ relative weight for sizing of this row in parent row
434
+
435
+ Default: 100
436
+ */
81
437
  weight?: number;
82
- width?: number;
83
438
  }
84
439
  export interface ITabSetAttributes {
440
+ /**
441
+ whether to select new/moved tabs in tabset
442
+
443
+ Default: inherited from Global attribute tabSetAutoSelectTab (default true)
444
+ */
85
445
  autoSelectTab?: boolean;
86
- borderInsets?: IInsets;
87
- classNameHeader?: string;
446
+ /**
447
+ a class name to apply to the tab strip
448
+
449
+ Default: inherited from Global attribute tabSetClassNameTabStrip (default undefined)
450
+ */
88
451
  classNameTabStrip?: string;
452
+ /**
453
+ a place to hold json config used in your own code
454
+
455
+ Default: undefined
456
+ */
89
457
  config?: any;
458
+ /**
459
+ whether the active icon (*) should be displayed when the tabset is active
460
+
461
+ Default: inherited from Global attribute tabSetEnableActiveIcon (default false)
462
+ */
463
+ enableActiveIcon?: boolean;
464
+ /**
465
+ allow user to close tabset via a close button
466
+
467
+ Default: inherited from Global attribute tabSetEnableClose (default false)
468
+ */
90
469
  enableClose?: boolean;
470
+ /**
471
+ whether to delete this tabset when is has no tabs
472
+
473
+ Default: inherited from Global attribute tabSetEnableDeleteWhenEmpty (default true)
474
+ */
91
475
  enableDeleteWhenEmpty?: boolean;
476
+ /**
477
+ allow user to drag tabs to region of this tabset, splitting into new tabset
478
+
479
+ Default: inherited from Global attribute tabSetEnableDivide (default true)
480
+ */
92
481
  enableDivide?: boolean;
482
+ /**
483
+ allow user to drag tabs out this tabset
484
+
485
+ Default: inherited from Global attribute tabSetEnableDrag (default true)
486
+ */
93
487
  enableDrag?: boolean;
488
+ /**
489
+ allow user to drag tabs into this tabset
490
+
491
+ Default: inherited from Global attribute tabSetEnableDrop (default true)
492
+ */
94
493
  enableDrop?: boolean;
494
+ /**
495
+ allow user to maximize tabset to fill view via maximize button
496
+
497
+ Default: inherited from Global attribute tabSetEnableMaximize (default true)
498
+ */
95
499
  enableMaximize?: boolean;
500
+ /**
501
+ if the tabset has only a single tab then stretch the single tab to fill area and display in a header style
502
+
503
+ Default: inherited from Global attribute tabSetEnableSingleTabStretch (default false)
504
+ */
96
505
  enableSingleTabStretch?: boolean;
506
+ /**
507
+ enable tab strip and allow multiple tabs in this tabset
508
+
509
+ Default: inherited from Global attribute tabSetEnableTabStrip (default true)
510
+ */
97
511
  enableTabStrip?: boolean;
98
- headerHeight?: number;
99
- height?: number;
512
+ /**
513
+ show tabs in location top or bottom
514
+
515
+ Default: inherited from Global attribute tabSetEnableTabWrap (default false)
516
+ */
517
+ enableTabWrap?: boolean;
518
+ /**
519
+ the unique id of the tab set, if left undefined a uuid will be assigned
520
+
521
+ Default: undefined
522
+ */
100
523
  id?: string;
101
- marginInsets?: IInsets;
524
+ /**
525
+ maximum height (in px) for this tabset
526
+
527
+ Default: inherited from Global attribute tabSetMaxHeight (default 99999)
528
+ */
529
+ maxHeight?: number;
530
+ /**
531
+ maximum width (in px) for this tabset
532
+
533
+ Default: inherited from Global attribute tabSetMaxWidth (default 99999)
534
+ */
535
+ maxWidth?: number;
536
+ /**
537
+ minimum height (in px) for this tabset
538
+
539
+ Default: inherited from Global attribute tabSetMinHeight (default 0)
540
+ */
102
541
  minHeight?: number;
542
+ /**
543
+ minimum width (in px) for this tabset
544
+
545
+ Default: inherited from Global attribute tabSetMinWidth (default 0)
546
+ */
103
547
  minWidth?: number;
548
+ /**
549
+
550
+
551
+ Default: undefined
552
+ */
104
553
  name?: string;
554
+ /**
555
+ index of selected/visible tab in tabset
556
+
557
+ Default: 0
558
+ */
105
559
  selected?: number;
560
+ /**
561
+ the location of the tabs either top or bottom
562
+
563
+ Default: inherited from Global attribute tabSetTabLocation (default "top")
564
+ */
106
565
  tabLocation?: ITabLocation;
107
- tabStripHeight?: number;
108
- type: "tabset";
566
+ /**
567
+
568
+
569
+ Fixed value: "tabset"
570
+ */
571
+ type?: string;
572
+ /**
573
+ relative weight for sizing of this tabset in parent row
574
+
575
+ Default: 100
576
+ */
109
577
  weight?: number;
110
- width?: number;
111
- maximized?: boolean;
112
- active?: boolean;
113
578
  }
114
579
  export interface ITabAttributes {
580
+ /**
581
+ if there is no name specifed then this value will be used in the overflow menu
582
+
583
+ Default: undefined
584
+ */
115
585
  altName?: string;
586
+ /**
587
+ height when added to border, -1 will use border size
588
+
589
+ Default: inherited from Global attribute tabBorderHeight (default -1)
590
+ */
116
591
  borderHeight?: number;
592
+ /**
593
+ width when added to border, -1 will use border size
594
+
595
+ Default: inherited from Global attribute tabBorderWidth (default -1)
596
+ */
117
597
  borderWidth?: number;
598
+ /**
599
+ class applied to tab button
600
+
601
+ Default: inherited from Global attribute tabClassName (default undefined)
602
+ */
118
603
  className?: string;
604
+ /**
605
+ see values in ICloseType
606
+
607
+ Default: inherited from Global attribute tabCloseType (default 1)
608
+ */
119
609
  closeType?: ICloseType;
610
+ /**
611
+ string identifying which component to run (for factory)
612
+
613
+ Default: undefined
614
+ */
120
615
  component?: string;
616
+ /**
617
+ a place to hold json config for the hosted component
618
+
619
+ Default: undefined
620
+ */
121
621
  config?: any;
622
+ /**
623
+ class applied to tab content
624
+
625
+ Default: inherited from Global attribute tabContentClassName (default undefined)
626
+ */
122
627
  contentClassName?: string;
123
- tabsetClassName?: string;
628
+ /**
629
+ allow user to close tab via close button
630
+
631
+ Default: inherited from Global attribute tabEnableClose (default true)
632
+ */
124
633
  enableClose?: boolean;
634
+ /**
635
+ allow user to drag tab to new location
636
+
637
+ Default: inherited from Global attribute tabEnableDrag (default true)
638
+ */
125
639
  enableDrag?: boolean;
126
- enableFloat?: boolean;
640
+ /**
641
+ enable popout (in popout capable browser)
642
+
643
+ Default: inherited from Global attribute tabEnablePopout (default false)
644
+ */
645
+ enablePopout?: boolean;
646
+ /**
647
+ whether to show the popout icon in the tabset header if this tab enables popouts
648
+
649
+ Default: inherited from Global attribute tabEnablePopoutIcon (default true)
650
+ */
651
+ enablePopoutIcon?: boolean;
652
+ /**
653
+ if this tab will not work correctly in a popout window when the main window is backgrounded (inactive)
654
+ then enabling this option will gray out this tab
655
+
656
+ Default: inherited from Global attribute tabEnablePopoutOverlay (default false)
657
+ */
658
+ enablePopoutOverlay?: boolean;
659
+ /**
660
+ allow user to rename tabs by double clicking
661
+
662
+ Default: inherited from Global attribute tabEnableRename (default true)
663
+ */
127
664
  enableRename?: boolean;
665
+ /**
666
+ whether to avoid rendering component until tab is visible
667
+
668
+ Default: inherited from Global attribute tabEnableRenderOnDemand (default true)
669
+ */
128
670
  enableRenderOnDemand?: boolean;
129
- floating?: boolean;
671
+ /**
672
+ if enabled the tab will re-mount when popped out/in
673
+
674
+ Default: false
675
+ */
676
+ enableWindowReMount?: boolean;
677
+ /**
678
+ An optional help text for the tab to be displayed upon tab hover.
679
+
680
+ Default: undefined
681
+ */
130
682
  helpText?: string;
683
+ /**
684
+ the tab icon
685
+
686
+ Default: inherited from Global attribute tabIcon (default undefined)
687
+ */
131
688
  icon?: string;
689
+ /**
690
+ the unique id of the tab, if left undefined a uuid will be assigned
691
+
692
+ Default: undefined
693
+ */
132
694
  id?: string;
695
+ /**
696
+ the max height of this tab
697
+
698
+ Default: inherited from Global attribute tabMaxHeight (default 99999)
699
+ */
700
+ maxHeight?: number;
701
+ /**
702
+ the max width of this tab
703
+
704
+ Default: inherited from Global attribute tabMaxWidth (default 99999)
705
+ */
706
+ maxWidth?: number;
707
+ /**
708
+ the min height of this tab
709
+
710
+ Default: inherited from Global attribute tabMinHeight (default 0)
711
+ */
712
+ minHeight?: number;
713
+ /**
714
+ the min width of this tab
715
+
716
+ Default: inherited from Global attribute tabMinWidth (default 0)
717
+ */
718
+ minWidth?: number;
719
+ /**
720
+ name of tab to be displayed in the tab button
721
+
722
+ Default: "[Unnamed Tab]"
723
+ */
133
724
  name?: string;
725
+ /**
726
+ class applied to parent tabset when this is the only tab and it is stretched to fill the tabset
727
+
728
+ Default: undefined
729
+ */
730
+ tabsetClassName?: string;
731
+ /**
732
+
733
+
734
+ Fixed value: "tab"
735
+ */
134
736
  type?: string;
135
737
  }
136
738
  export interface IBorderAttributes {
739
+ /**
740
+ whether to select new/moved tabs in border when the border is currently closed
741
+
742
+ Default: inherited from Global attribute borderAutoSelectTabWhenClosed (default false)
743
+ */
137
744
  autoSelectTabWhenClosed?: boolean;
745
+ /**
746
+ whether to select new/moved tabs in border when the border is already open
747
+
748
+ Default: inherited from Global attribute borderAutoSelectTabWhenOpen (default true)
749
+ */
138
750
  autoSelectTabWhenOpen?: boolean;
139
- barSize?: number;
751
+ /**
752
+ class applied to tab button
753
+
754
+ Default: inherited from Global attribute borderClassName (default undefined)
755
+ */
140
756
  className?: string;
757
+ /**
758
+ a place to hold json config used in your own code
759
+
760
+ Default: undefined
761
+ */
141
762
  config?: any;
763
+ /**
764
+ hide border if it has zero tabs
765
+
766
+ Default: inherited from Global attribute borderEnableAutoHide (default false)
767
+ */
142
768
  enableAutoHide?: boolean;
769
+ /**
770
+ whether tabs can be dropped into this border
771
+
772
+ Default: inherited from Global attribute borderEnableDrop (default true)
773
+ */
143
774
  enableDrop?: boolean;
775
+ /**
776
+ the maximum size of the tab area
777
+
778
+ Default: inherited from Global attribute borderMaxSize (default 99999)
779
+ */
780
+ maxSize?: number;
781
+ /**
782
+ the minimum size of the tab area
783
+
784
+ Default: inherited from Global attribute borderMinSize (default 0)
785
+ */
144
786
  minSize?: number;
787
+ /**
788
+ index of selected/visible tab in border; -1 means no tab selected
789
+
790
+ Default: -1
791
+ */
145
792
  selected?: number;
793
+ /**
794
+ show/hide this border
795
+
796
+ Default: true
797
+ */
146
798
  show?: boolean;
799
+ /**
800
+ size of the tab area when selected
801
+
802
+ Default: inherited from Global attribute borderSize (default 200)
803
+ */
147
804
  size?: number;
148
- type: "border";
805
+ /**
806
+
807
+
808
+ Fixed value: "border"
809
+ */
810
+ type?: string;
149
811
  }