dockview-angular 5.1.0 → 6.0.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 (59) hide show
  1. package/README.md +3 -1
  2. package/dist/README.md +3 -1
  3. package/dist/dockview.css +1968 -195
  4. package/dist/fesm2022/dockview-angular.mjs +164 -44
  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 +12 -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 -185
  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 -53
  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" }, 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,6 +604,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
492
604
  type: Input
493
605
  }], singleTabMode: [{
494
606
  type: Input
607
+ }], getTabContextMenuItems: [{
608
+ type: Input
609
+ }], getTabGroupChipContextMenuItems: [{
610
+ type: Input
611
+ }], tabGroupColors: [{
612
+ type: Input
613
+ }], tabGroupAccent: [{
614
+ type: Input
495
615
  }], ready: [{
496
616
  type: Output
497
617
  }], didDrop: [{
@@ -566,10 +686,10 @@ class GridviewAngularComponent {
566
686
  },
567
687
  };
568
688
  }
569
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GridviewAngularComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
570
- 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 }); }
571
691
  }
572
- 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: [{
573
693
  type: Component,
574
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"] }]
575
695
  }], propDecorators: { containerRef: [{
@@ -680,10 +800,10 @@ class PaneviewAngularComponent {
680
800
  this.lifecycleManager.addDisposable(disposable);
681
801
  }
682
802
  }
683
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaneviewAngularComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
684
- 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 }); }
685
805
  }
686
- 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: [{
687
807
  type: Component,
688
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"] }]
689
809
  }], propDecorators: { containerRef: [{
@@ -775,10 +895,10 @@ class SplitviewAngularComponent {
775
895
  },
776
896
  };
777
897
  }
778
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SplitviewAngularComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
779
- 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 }); }
780
900
  }
781
- 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: [{
782
902
  type: Component,
783
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"] }]
784
904
  }], propDecorators: { containerRef: [{
@@ -803,8 +923,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
803
923
  }] } });
804
924
 
805
925
  class DockviewAngularModule {
806
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DockviewAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
807
- 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,
808
928
  DockviewAngularComponent,
809
929
  GridviewAngularComponent,
810
930
  PaneviewAngularComponent,
@@ -812,9 +932,9 @@ class DockviewAngularModule {
812
932
  GridviewAngularComponent,
813
933
  PaneviewAngularComponent,
814
934
  SplitviewAngularComponent] }); }
815
- 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] }); }
816
936
  }
817
- 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: [{
818
938
  type: NgModule,
819
939
  args: [{
820
940
  imports: [