dockview-angular 5.2.0 → 6.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 (59) hide show
  1. package/README.md +3 -1
  2. package/dist/README.md +3 -1
  3. package/dist/dockview.css +1945 -196
  4. package/dist/fesm2022/dockview-angular.mjs +163 -45
  5. package/dist/fesm2022/dockview-angular.mjs.map +1 -1
  6. package/dist/types/dockview-angular.d.ts +264 -0
  7. package/dist/types/dockview-angular.d.ts.map +1 -0
  8. package/package.json +6 -4
  9. package/dist/dockview-angular.d.ts.map +0 -1
  10. package/dist/esm2022/dockview-angular.mjs +0 -5
  11. package/dist/esm2022/lib/dockview/dockview-angular.component.mjs +0 -187
  12. package/dist/esm2022/lib/dockview/types.mjs +0 -3
  13. package/dist/esm2022/lib/dockview-angular.module.mjs +0 -38
  14. package/dist/esm2022/lib/gridview/angular-gridview-panel.mjs +0 -24
  15. package/dist/esm2022/lib/gridview/gridview-angular.component.mjs +0 -98
  16. package/dist/esm2022/lib/gridview/types.mjs +0 -3
  17. package/dist/esm2022/lib/paneview/angular-pane-part.mjs +0 -26
  18. package/dist/esm2022/lib/paneview/paneview-angular.component.mjs +0 -122
  19. package/dist/esm2022/lib/paneview/types.mjs +0 -3
  20. package/dist/esm2022/lib/splitview/angular-splitview-panel.mjs +0 -24
  21. package/dist/esm2022/lib/splitview/splitview-angular.component.mjs +0 -98
  22. package/dist/esm2022/lib/splitview/types.mjs +0 -3
  23. package/dist/esm2022/lib/utils/angular-renderer.mjs +0 -83
  24. package/dist/esm2022/lib/utils/component-factory.mjs +0 -100
  25. package/dist/esm2022/lib/utils/lifecycle-utils.mjs +0 -69
  26. package/dist/esm2022/public-api.mjs +0 -17
  27. package/dist/index.d.ts +0 -6
  28. package/dist/lib/dockview/dockview-angular.component.d.ts +0 -54
  29. package/dist/lib/dockview/dockview-angular.component.d.ts.map +0 -1
  30. package/dist/lib/dockview/types.d.ts +0 -28
  31. package/dist/lib/dockview/types.d.ts.map +0 -1
  32. package/dist/lib/dockview-angular.module.d.ts +0 -12
  33. package/dist/lib/dockview-angular.module.d.ts.map +0 -1
  34. package/dist/lib/gridview/angular-gridview-panel.d.ts +0 -10
  35. package/dist/lib/gridview/angular-gridview-panel.d.ts.map +0 -1
  36. package/dist/lib/gridview/gridview-angular.component.d.ts +0 -32
  37. package/dist/lib/gridview/gridview-angular.component.d.ts.map +0 -1
  38. package/dist/lib/gridview/types.d.ts +0 -13
  39. package/dist/lib/gridview/types.d.ts.map +0 -1
  40. package/dist/lib/paneview/angular-pane-part.d.ts +0 -14
  41. package/dist/lib/paneview/angular-pane-part.d.ts.map +0 -1
  42. package/dist/lib/paneview/paneview-angular.component.d.ts +0 -35
  43. package/dist/lib/paneview/paneview-angular.component.d.ts.map +0 -1
  44. package/dist/lib/paneview/types.d.ts +0 -15
  45. package/dist/lib/paneview/types.d.ts.map +0 -1
  46. package/dist/lib/splitview/angular-splitview-panel.d.ts +0 -10
  47. package/dist/lib/splitview/angular-splitview-panel.d.ts.map +0 -1
  48. package/dist/lib/splitview/splitview-angular.component.d.ts +0 -32
  49. package/dist/lib/splitview/splitview-angular.component.d.ts.map +0 -1
  50. package/dist/lib/splitview/types.d.ts +0 -13
  51. package/dist/lib/splitview/types.d.ts.map +0 -1
  52. package/dist/lib/utils/angular-renderer.d.ts +0 -21
  53. package/dist/lib/utils/angular-renderer.d.ts.map +0 -1
  54. package/dist/lib/utils/component-factory.d.ts +0 -21
  55. package/dist/lib/utils/component-factory.d.ts.map +0 -1
  56. package/dist/lib/utils/lifecycle-utils.d.ts +0 -19
  57. package/dist/lib/utils/lifecycle-utils.d.ts.map +0 -1
  58. package/dist/public-api.d.ts +0 -14
  59. package/dist/public-api.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { GridviewPanel, SplitviewPanel, PROPERTY_KEYS_DOCKVIEW, createDockview, PROPERTY_KEYS_GRIDVIEW, createGridview, PROPERTY_KEYS_PANEVIEW, createPaneview, PROPERTY_KEYS_SPLITVIEW, createSplitview } from 'dockview-core';
2
2
  export * from 'dockview-core';
3
3
  import * as i0 from '@angular/core';
4
- import { ApplicationRef, createComponent, EventEmitter, inject, Injector, EnvironmentInjector, Output, Input, ViewChild, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
4
+ import { ApplicationRef, TemplateRef, createComponent, EventEmitter, inject, Injector, EnvironmentInjector, Output, Input, ViewChild, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
5
5
  import { CommonModule } from '@angular/common';
6
6
  import { Subject } from 'rxjs';
7
7
  import { takeUntil } from 'rxjs/operators';
@@ -10,6 +10,7 @@ class AngularRenderer {
10
10
  constructor(options) {
11
11
  this.options = options;
12
12
  this.componentRef = null;
13
+ this.viewRef = null;
13
14
  this._element = null;
14
15
  this.appRef = options.injector.get(ApplicationRef);
15
16
  }
@@ -22,11 +23,15 @@ class AngularRenderer {
22
23
  get component() {
23
24
  return this.componentRef;
24
25
  }
26
+ get view() {
27
+ return this.viewRef;
28
+ }
25
29
  init(parameters) {
26
- // Only forward params, api, and containerApi to the component
27
- // (matching the React renderer). Other init parameters like
28
- // 'title' are internal to the framework.
30
+ // Forward the known user-facing fields from panel/tab renderers
31
+ // and context menu item renderers. Other internal fields (e.g. 'title')
32
+ // are excluded here; update() further guards with `key in instance`.
29
33
  const filtered = {};
34
+ // Panel / tab renderer fields
30
35
  if ('params' in parameters) {
31
36
  filtered['params'] = parameters['params'];
32
37
  }
@@ -36,7 +41,20 @@ class AngularRenderer {
36
41
  if ('containerApi' in parameters) {
37
42
  filtered['containerApi'] = parameters['containerApi'];
38
43
  }
39
- if (this.componentRef) {
44
+ // Context menu item renderer fields (IContextMenuItemComponentProps)
45
+ if ('panel' in parameters) {
46
+ filtered['panel'] = parameters['panel'];
47
+ }
48
+ if ('group' in parameters) {
49
+ filtered['group'] = parameters['group'];
50
+ }
51
+ if ('close' in parameters) {
52
+ filtered['close'] = parameters['close'];
53
+ }
54
+ if ('componentProps' in parameters) {
55
+ filtered['componentProps'] = parameters['componentProps'];
56
+ }
57
+ if (this._element) {
40
58
  this.update(filtered);
41
59
  }
42
60
  else {
@@ -44,46 +62,66 @@ class AngularRenderer {
44
62
  }
45
63
  }
46
64
  update(params) {
65
+ // Only component can have parameters
47
66
  if (!this.componentRef) {
48
67
  return;
49
68
  }
50
69
  const instance = this.componentRef.instance;
51
70
  for (const key of Object.keys(params)) {
52
- if (key in instance) {
53
- instance[key] = params[key];
54
- }
71
+ instance[key] = params[key];
72
+ }
73
+ // Trigger change detection
74
+ if (this.viewRef) {
75
+ this.viewRef.markForCheck();
55
76
  }
56
- // trigger change detection
57
- this.componentRef.changeDetectorRef.markForCheck();
58
77
  }
59
78
  render(parameters) {
60
79
  try {
61
- // Create the component using modern Angular API
62
- this.componentRef = createComponent(this.options.component, {
63
- environmentInjector: this.options.environmentInjector ||
64
- this.options.injector,
65
- elementInjector: this.options.injector,
66
- });
67
- // Set initial parameters
68
- this.update(parameters);
69
- // Get the DOM element
70
- const hostView = this.componentRef.hostView;
71
- this._element = hostView.rootNodes[0];
72
- // attach to change detection
73
- this.appRef.attachView(hostView);
74
- // trigger change detection
75
- this.componentRef.changeDetectorRef.markForCheck();
80
+ if (this.options.component instanceof TemplateRef) {
81
+ this.setupView(this.options.component);
82
+ }
83
+ else {
84
+ this.setupComponent(this.options.component, parameters);
85
+ }
76
86
  }
77
87
  catch (error) {
78
- console.error('Error creating Angular component:', error);
88
+ console.error('dockview: error creating Angular component', error);
79
89
  throw error;
80
90
  }
81
91
  }
92
+ setupComponent(component, parameters) {
93
+ // Create the component using modern Angular API
94
+ this.componentRef = createComponent(component, {
95
+ environmentInjector: this.options.environmentInjector ||
96
+ this.options.injector,
97
+ elementInjector: this.options.injector,
98
+ });
99
+ // Set initial parameters
100
+ this.update(parameters);
101
+ // Get the DOM element
102
+ this.viewRef = this.componentRef.hostView;
103
+ this._element = this.viewRef.rootNodes[0];
104
+ // always attach for now
105
+ this.appRef.attachView(this.viewRef);
106
+ this.viewRef.markForCheck();
107
+ }
108
+ setupView(template) {
109
+ // Create embedded view from template
110
+ this.viewRef = template.createEmbeddedView({}, this.options.injector);
111
+ this._element = this.viewRef.rootNodes[0];
112
+ // always attach for now
113
+ this.appRef.attachView(this.viewRef);
114
+ this.viewRef.markForCheck();
115
+ }
82
116
  dispose() {
83
117
  if (this.componentRef) {
84
118
  this.componentRef.destroy();
85
119
  this.componentRef = null;
86
120
  }
121
+ if (this.viewRef) {
122
+ this.viewRef.destroy();
123
+ this.viewRef = null;
124
+ }
87
125
  this._element = null;
88
126
  }
89
127
  }
@@ -278,7 +316,7 @@ class AngularDisposable {
278
316
  callback();
279
317
  }
280
318
  catch (error) {
281
- console.error('Error in dispose callback:', error);
319
+ console.error('dockview: error in dispose callback', error);
282
320
  }
283
321
  });
284
322
  this.disposeCallbacks = [];
@@ -306,7 +344,7 @@ class AngularLifecycleManager {
306
344
  disposable.dispose();
307
345
  }
308
346
  catch (error) {
309
- console.error('Error disposing resource:', error);
347
+ console.error('dockview: error disposing resource', error);
310
348
  }
311
349
  });
312
350
  this.disposables = [];
@@ -320,6 +358,52 @@ function createAngularDisposable(disposeCallback) {
320
358
  return disposable;
321
359
  }
322
360
 
361
+ class AngularTabGroupChipRenderer {
362
+ get element() {
363
+ return this._element;
364
+ }
365
+ constructor(component, injector, environmentInjector) {
366
+ this.component = component;
367
+ this.injector = injector;
368
+ this.environmentInjector = environmentInjector;
369
+ this.componentRef = null;
370
+ this._element = document.createElement('div');
371
+ this._element.className = 'dv-angular-part';
372
+ this._element.style.display = 'inline-flex';
373
+ this.appRef = injector.get(ApplicationRef);
374
+ }
375
+ init(params) {
376
+ this.componentRef = createComponent(this.component, {
377
+ environmentInjector: this.environmentInjector ||
378
+ this.injector,
379
+ elementInjector: this.injector,
380
+ });
381
+ const instance = this.componentRef.instance;
382
+ instance['tabGroup'] = params.tabGroup;
383
+ instance['api'] = params.api;
384
+ const hostView = this.componentRef.hostView;
385
+ const rootNode = hostView.rootNodes[0];
386
+ this._element.appendChild(rootNode);
387
+ this.appRef.attachView(hostView);
388
+ this.componentRef.changeDetectorRef.markForCheck();
389
+ }
390
+ update(params) {
391
+ if (!this.componentRef) {
392
+ return;
393
+ }
394
+ const instance = this.componentRef.instance;
395
+ instance['tabGroup'] = params.tabGroup;
396
+ this.componentRef.changeDetectorRef.markForCheck();
397
+ }
398
+ dispose() {
399
+ if (this.componentRef) {
400
+ this.appRef.detachView(this.componentRef.hostView);
401
+ this.componentRef.destroy();
402
+ this.componentRef = null;
403
+ }
404
+ }
405
+ }
406
+
323
407
  class DockviewAngularComponent {
324
408
  constructor() {
325
409
  this.ready = new EventEmitter();
@@ -349,6 +433,15 @@ class DockviewAngularComponent {
349
433
  hasChanges = true;
350
434
  }
351
435
  });
436
+ // Handle tabGroupChipComponent → createTabGroupChipComponent mapping
437
+ if (changes['tabGroupChipComponent'] &&
438
+ !changes['tabGroupChipComponent'].isFirstChange()) {
439
+ const chipComponent = changes['tabGroupChipComponent'].currentValue;
440
+ coreChanges.createTabGroupChipComponent = chipComponent
441
+ ? () => new AngularTabGroupChipRenderer(chipComponent, this.injector, this.environmentInjector)
442
+ : undefined;
443
+ hasChanges = true;
444
+ }
352
445
  if (hasChanges) {
353
446
  this.dockviewApi.updateOptions(coreChanges);
354
447
  }
@@ -380,6 +473,12 @@ class DockviewAngularComponent {
380
473
  coreOptions[key] = value;
381
474
  }
382
475
  });
476
+ if (this.tabGroupChipComponent) {
477
+ const chipComponent = this.tabGroupChipComponent;
478
+ coreOptions.createTabGroupChipComponent = () => {
479
+ return new AngularTabGroupChipRenderer(chipComponent, this.injector, this.environmentInjector);
480
+ };
481
+ }
383
482
  return coreOptions;
384
483
  }
385
484
  createFrameworkOptions() {
@@ -422,6 +521,17 @@ class DockviewAngularComponent {
422
521
  return componentFactory.createHeaderActionsComponent('prefix');
423
522
  }
424
523
  : undefined,
524
+ createContextMenuItemComponent: (options) => {
525
+ if (!options.component) {
526
+ return undefined;
527
+ }
528
+ const renderer = new AngularRenderer({
529
+ component: options.component,
530
+ injector: this.injector,
531
+ environmentInjector: this.environmentInjector,
532
+ });
533
+ return renderer;
534
+ },
425
535
  };
426
536
  }
427
537
  setupEventListeners() {
@@ -443,10 +553,10 @@ class DockviewAngularComponent {
443
553
  this.lifecycleManager.addDisposable(disposable);
444
554
  }
445
555
  }
446
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DockviewAngularComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
447
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DockviewAngularComponent, isStandalone: true, selector: "dv-dockview", inputs: { components: "components", tabComponents: "tabComponents", watermarkComponent: "watermarkComponent", defaultTabComponent: "defaultTabComponent", leftHeaderActionsComponent: "leftHeaderActionsComponent", rightHeaderActionsComponent: "rightHeaderActionsComponent", prefixHeaderActionsComponent: "prefixHeaderActionsComponent", className: "className", orientation: "orientation", hideBorders: "hideBorders", rootOverlayModel: "rootOverlayModel", defaultTabComponent_: "defaultTabComponent_", tabHeight: "tabHeight", disableFloatingGroups: "disableFloatingGroups", floatingGroupBounds: "floatingGroupBounds", popoutUrl: "popoutUrl", debug: "debug", locked: "locked", disableAutoResizing: "disableAutoResizing", singleTabMode: "singleTabMode", tabAnimation: "tabAnimation" }, outputs: { ready: "ready", didDrop: "didDrop", willDrop: "willDrop" }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["dockviewContainer"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: '<div #dockviewContainer class="dockview-container"></div>', isInline: true, styles: [":host{display:block;width:100%;height:100%}.dockview-container{width:100%;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
556
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DockviewAngularComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
557
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: DockviewAngularComponent, isStandalone: true, selector: "dv-dockview", inputs: { components: "components", tabComponents: "tabComponents", watermarkComponent: "watermarkComponent", defaultTabComponent: "defaultTabComponent", leftHeaderActionsComponent: "leftHeaderActionsComponent", rightHeaderActionsComponent: "rightHeaderActionsComponent", prefixHeaderActionsComponent: "prefixHeaderActionsComponent", tabGroupChipComponent: "tabGroupChipComponent", className: "className", orientation: "orientation", hideBorders: "hideBorders", rootOverlayModel: "rootOverlayModel", defaultTabComponent_: "defaultTabComponent_", tabHeight: "tabHeight", disableFloatingGroups: "disableFloatingGroups", floatingGroupBounds: "floatingGroupBounds", popoutUrl: "popoutUrl", debug: "debug", locked: "locked", disableAutoResizing: "disableAutoResizing", singleTabMode: "singleTabMode", getTabContextMenuItems: "getTabContextMenuItems", getTabGroupChipContextMenuItems: "getTabGroupChipContextMenuItems", tabGroupColors: "tabGroupColors", tabGroupAccent: "tabGroupAccent" }, outputs: { ready: "ready", didDrop: "didDrop", willDrop: "willDrop" }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["dockviewContainer"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: '<div #dockviewContainer class="dockview-container"></div>', isInline: true, styles: [":host{display:block;width:100%;height:100%}.dockview-container{width:100%;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
448
558
  }
449
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DockviewAngularComponent, decorators: [{
559
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DockviewAngularComponent, decorators: [{
450
560
  type: Component,
451
561
  args: [{ selector: 'dv-dockview', standalone: true, template: '<div #dockviewContainer class="dockview-container"></div>', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;width:100%;height:100%}.dockview-container{width:100%;height:100%}\n"] }]
452
562
  }], propDecorators: { containerRef: [{
@@ -466,6 +576,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
466
576
  type: Input
467
577
  }], prefixHeaderActionsComponent: [{
468
578
  type: Input
579
+ }], tabGroupChipComponent: [{
580
+ type: Input
469
581
  }], className: [{
470
582
  type: Input
471
583
  }], orientation: [{
@@ -492,7 +604,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
492
604
  type: Input
493
605
  }], singleTabMode: [{
494
606
  type: Input
495
- }], tabAnimation: [{
607
+ }], getTabContextMenuItems: [{
608
+ type: Input
609
+ }], getTabGroupChipContextMenuItems: [{
610
+ type: Input
611
+ }], tabGroupColors: [{
612
+ type: Input
613
+ }], tabGroupAccent: [{
496
614
  type: Input
497
615
  }], ready: [{
498
616
  type: Output
@@ -568,10 +686,10 @@ class GridviewAngularComponent {
568
686
  },
569
687
  };
570
688
  }
571
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GridviewAngularComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
572
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GridviewAngularComponent, isStandalone: true, selector: "dv-gridview", inputs: { components: "components", className: "className", orientation: "orientation", proportionalLayout: "proportionalLayout", hideBorders: "hideBorders", debug: "debug", disableAutoResizing: "disableAutoResizing" }, outputs: { ready: "ready" }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["gridviewContainer"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: '<div #gridviewContainer class="gridview-container"></div>', isInline: true, styles: [":host{display:block;width:100%;height:100%}.gridview-container{width:100%;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
689
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: GridviewAngularComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
690
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: GridviewAngularComponent, isStandalone: true, selector: "dv-gridview", inputs: { components: "components", className: "className", orientation: "orientation", proportionalLayout: "proportionalLayout", hideBorders: "hideBorders", debug: "debug", disableAutoResizing: "disableAutoResizing" }, outputs: { ready: "ready" }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["gridviewContainer"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: '<div #gridviewContainer class="gridview-container"></div>', isInline: true, styles: [":host{display:block;width:100%;height:100%}.gridview-container{width:100%;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
573
691
  }
574
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GridviewAngularComponent, decorators: [{
692
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: GridviewAngularComponent, decorators: [{
575
693
  type: Component,
576
694
  args: [{ selector: 'dv-gridview', standalone: true, template: '<div #gridviewContainer class="gridview-container"></div>', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;width:100%;height:100%}.gridview-container{width:100%;height:100%}\n"] }]
577
695
  }], propDecorators: { containerRef: [{
@@ -682,10 +800,10 @@ class PaneviewAngularComponent {
682
800
  this.lifecycleManager.addDisposable(disposable);
683
801
  }
684
802
  }
685
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaneviewAngularComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
686
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PaneviewAngularComponent, isStandalone: true, selector: "dv-paneview", inputs: { components: "components", headerComponents: "headerComponents", className: "className", orientation: "orientation", hideBorders: "hideBorders", debug: "debug", disableAutoResizing: "disableAutoResizing" }, outputs: { ready: "ready", drop: "drop" }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["paneviewContainer"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: '<div #paneviewContainer class="paneview-container"></div>', isInline: true, styles: [":host{display:block;width:100%;height:100%}.paneview-container{width:100%;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
803
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: PaneviewAngularComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
804
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: PaneviewAngularComponent, isStandalone: true, selector: "dv-paneview", inputs: { components: "components", headerComponents: "headerComponents", className: "className", orientation: "orientation", hideBorders: "hideBorders", debug: "debug", disableAutoResizing: "disableAutoResizing" }, outputs: { ready: "ready", drop: "drop" }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["paneviewContainer"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: '<div #paneviewContainer class="paneview-container"></div>', isInline: true, styles: [":host{display:block;width:100%;height:100%}.paneview-container{width:100%;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
687
805
  }
688
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaneviewAngularComponent, decorators: [{
806
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: PaneviewAngularComponent, decorators: [{
689
807
  type: Component,
690
808
  args: [{ selector: 'dv-paneview', standalone: true, template: '<div #paneviewContainer class="paneview-container"></div>', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;width:100%;height:100%}.paneview-container{width:100%;height:100%}\n"] }]
691
809
  }], propDecorators: { containerRef: [{
@@ -777,10 +895,10 @@ class SplitviewAngularComponent {
777
895
  },
778
896
  };
779
897
  }
780
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SplitviewAngularComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
781
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SplitviewAngularComponent, isStandalone: true, selector: "dv-splitview", inputs: { components: "components", className: "className", orientation: "orientation", proportionalLayout: "proportionalLayout", hideBorders: "hideBorders", debug: "debug", disableAutoResizing: "disableAutoResizing" }, outputs: { ready: "ready" }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["splitviewContainer"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: '<div #splitviewContainer class="splitview-container"></div>', isInline: true, styles: [":host{display:block;width:100%;height:100%}.splitview-container{width:100%;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
898
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: SplitviewAngularComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
899
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: SplitviewAngularComponent, isStandalone: true, selector: "dv-splitview", inputs: { components: "components", className: "className", orientation: "orientation", proportionalLayout: "proportionalLayout", hideBorders: "hideBorders", debug: "debug", disableAutoResizing: "disableAutoResizing" }, outputs: { ready: "ready" }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["splitviewContainer"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: '<div #splitviewContainer class="splitview-container"></div>', isInline: true, styles: [":host{display:block;width:100%;height:100%}.splitview-container{width:100%;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
782
900
  }
783
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SplitviewAngularComponent, decorators: [{
901
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: SplitviewAngularComponent, decorators: [{
784
902
  type: Component,
785
903
  args: [{ selector: 'dv-splitview', standalone: true, template: '<div #splitviewContainer class="splitview-container"></div>', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;width:100%;height:100%}.splitview-container{width:100%;height:100%}\n"] }]
786
904
  }], propDecorators: { containerRef: [{
@@ -805,8 +923,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
805
923
  }] } });
806
924
 
807
925
  class DockviewAngularModule {
808
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DockviewAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
809
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: DockviewAngularModule, imports: [CommonModule,
926
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DockviewAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
927
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: DockviewAngularModule, imports: [CommonModule,
810
928
  DockviewAngularComponent,
811
929
  GridviewAngularComponent,
812
930
  PaneviewAngularComponent,
@@ -814,9 +932,9 @@ class DockviewAngularModule {
814
932
  GridviewAngularComponent,
815
933
  PaneviewAngularComponent,
816
934
  SplitviewAngularComponent] }); }
817
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DockviewAngularModule, imports: [CommonModule] }); }
935
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DockviewAngularModule, imports: [CommonModule] }); }
818
936
  }
819
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DockviewAngularModule, decorators: [{
937
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DockviewAngularModule, decorators: [{
820
938
  type: NgModule,
821
939
  args: [{
822
940
  imports: [