dockview-core 4.11.0 → 4.12.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 (41) hide show
  1. package/dist/cjs/api/component.api.d.ts +3 -1
  2. package/dist/cjs/api/component.api.js +2 -2
  3. package/dist/cjs/dockview/components/panel/content.d.ts +7 -0
  4. package/dist/cjs/dockview/components/panel/content.js +11 -0
  5. package/dist/cjs/dockview/dockviewComponent.d.ts +7 -1
  6. package/dist/cjs/dockview/dockviewComponent.js +159 -84
  7. package/dist/cjs/dockview/dockviewGroupPanelModel.js +3 -0
  8. package/dist/cjs/dockview/dockviewPanel.d.ts +6 -4
  9. package/dist/cjs/dockview/dockviewPanel.js +12 -0
  10. package/dist/dockview-core.amd.js +119 -34
  11. package/dist/dockview-core.amd.js.map +1 -1
  12. package/dist/dockview-core.amd.min.js +2 -2
  13. package/dist/dockview-core.amd.min.js.map +1 -1
  14. package/dist/dockview-core.amd.min.noStyle.js +2 -2
  15. package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
  16. package/dist/dockview-core.amd.noStyle.js +119 -34
  17. package/dist/dockview-core.amd.noStyle.js.map +1 -1
  18. package/dist/dockview-core.cjs.js +119 -34
  19. package/dist/dockview-core.cjs.js.map +1 -1
  20. package/dist/dockview-core.esm.js +119 -34
  21. package/dist/dockview-core.esm.js.map +1 -1
  22. package/dist/dockview-core.esm.min.js +2 -2
  23. package/dist/dockview-core.esm.min.js.map +1 -1
  24. package/dist/dockview-core.js +119 -34
  25. package/dist/dockview-core.js.map +1 -1
  26. package/dist/dockview-core.min.js +2 -2
  27. package/dist/dockview-core.min.js.map +1 -1
  28. package/dist/dockview-core.min.noStyle.js +2 -2
  29. package/dist/dockview-core.min.noStyle.js.map +1 -1
  30. package/dist/dockview-core.noStyle.js +119 -34
  31. package/dist/dockview-core.noStyle.js.map +1 -1
  32. package/dist/esm/api/component.api.d.ts +3 -1
  33. package/dist/esm/api/component.api.js +2 -2
  34. package/dist/esm/dockview/components/panel/content.d.ts +7 -0
  35. package/dist/esm/dockview/components/panel/content.js +11 -0
  36. package/dist/esm/dockview/dockviewComponent.d.ts +7 -1
  37. package/dist/esm/dockview/dockviewComponent.js +90 -31
  38. package/dist/esm/dockview/dockviewGroupPanelModel.js +3 -0
  39. package/dist/esm/dockview/dockviewPanel.d.ts +6 -4
  40. package/dist/esm/dockview/dockviewPanel.js +12 -0
  41. package/package.json +1 -1
@@ -481,7 +481,9 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
481
481
  /**
482
482
  * Create a component from a serialized object.
483
483
  */
484
- fromJSON(data: SerializedDockview): void;
484
+ fromJSON(data: SerializedDockview, options?: {
485
+ reuseExistingPanels: boolean;
486
+ }): void;
485
487
  /**
486
488
  * Create a serialized object of the current component.
487
489
  */
@@ -667,8 +667,8 @@ export class DockviewApi {
667
667
  /**
668
668
  * Create a component from a serialized object.
669
669
  */
670
- fromJSON(data) {
671
- this.component.fromJSON(data);
670
+ fromJSON(data, options) {
671
+ this.component.fromJSON(data, options);
672
672
  }
673
673
  /**
674
674
  * Create a serialized object of the current component.
@@ -17,6 +17,7 @@ export interface IContentContainer extends IDisposable {
17
17
  renderPanel(panel: IDockviewPanel, options: {
18
18
  asActive: boolean;
19
19
  }): void;
20
+ refreshFocusState(): void;
20
21
  }
21
22
  export declare class ContentContainer extends CompositeDisposable implements IContentContainer {
22
23
  private readonly accessor;
@@ -24,6 +25,7 @@ export declare class ContentContainer extends CompositeDisposable implements ICo
24
25
  private readonly _element;
25
26
  private panel;
26
27
  private readonly disposable;
28
+ private focusTracker;
27
29
  private readonly _onDidFocus;
28
30
  readonly onDidFocus: Event<void>;
29
31
  private readonly _onDidBlur;
@@ -40,4 +42,9 @@ export declare class ContentContainer extends CompositeDisposable implements ICo
40
42
  layout(_width: number, _height: number): void;
41
43
  closePanel(): void;
42
44
  dispose(): void;
45
+ /**
46
+ * Refresh the focus tracker state to handle cases where focus state
47
+ * gets out of sync due to programmatic panel activation
48
+ */
49
+ refreshFocusState(): void;
43
50
  }
@@ -92,6 +92,7 @@ export class ContentContainer extends CompositeDisposable {
92
92
  }
93
93
  if (doRender) {
94
94
  const focusTracker = trackFocus(container);
95
+ this.focusTracker = focusTracker;
95
96
  const disposable = new CompositeDisposable();
96
97
  disposable.addDisposables(focusTracker, focusTracker.onDidFocus(() => this._onDidFocus.fire()), focusTracker.onDidBlur(() => this._onDidBlur.fire()));
97
98
  this.disposable.value = disposable;
@@ -119,4 +120,14 @@ export class ContentContainer extends CompositeDisposable {
119
120
  this.disposable.dispose();
120
121
  super.dispose();
121
122
  }
123
+ /**
124
+ * Refresh the focus tracker state to handle cases where focus state
125
+ * gets out of sync due to programmatic panel activation
126
+ */
127
+ refreshFocusState() {
128
+ var _a;
129
+ if ((_a = this.focusTracker) === null || _a === void 0 ? void 0 : _a.refreshState) {
130
+ this.focusTracker.refreshState();
131
+ }
132
+ }
122
133
  }
@@ -94,6 +94,7 @@ type MoveGroupOrPanelOptions = {
94
94
  index?: number;
95
95
  };
96
96
  skipSetActive?: boolean;
97
+ keepEmptyGroups?: boolean;
97
98
  };
98
99
  export interface FloatingGroupOptions {
99
100
  x?: number;
@@ -175,6 +176,9 @@ export interface IDockviewComponent extends IBaseGrid<DockviewGroupPanel> {
175
176
  window: Window;
176
177
  }) => void;
177
178
  }): Promise<boolean>;
179
+ fromJSON(data: any, options?: {
180
+ reuseExistingPanels: boolean;
181
+ }): void;
178
182
  }
179
183
  export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> implements IDockviewComponent {
180
184
  private readonly nextGroupId;
@@ -260,7 +264,9 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
260
264
  * @returns A JSON respresentation of the layout
261
265
  */
262
266
  toJSON(): SerializedDockview;
263
- fromJSON(data: SerializedDockview): void;
267
+ fromJSON(data: SerializedDockview, options?: {
268
+ reuseExistingPanels: boolean;
269
+ }): void;
264
270
  clear(): void;
265
271
  closeAllGroups(): void;
266
272
  addPanel<T extends object = Parameters>(options: AddPanelOptions<T>): DockviewPanel;
@@ -635,7 +635,7 @@ export class DockviewComponent extends BaseGrid {
635
635
  : (_e = (_d = this.options.floatingGroupBounds) === null || _d === void 0 ? void 0 : _d.minimumHeightWithinViewport) !== null && _e !== void 0 ? _e : DEFAULT_FLOATING_GROUP_OVERFLOW_SIZE }));
636
636
  const el = group.element.querySelector('.dv-void-container');
637
637
  if (!el) {
638
- throw new Error('failed to find drag handle');
638
+ throw new Error('dockview: failed to find drag handle');
639
639
  }
640
640
  overlay.setupDrag(el, {
641
641
  inDragMode: typeof (options === null || options === void 0 ? void 0 : options.inDragMode) === 'boolean'
@@ -709,7 +709,7 @@ export class DockviewComponent extends BaseGrid {
709
709
  case 'right':
710
710
  return this.createGroupAtLocation([this.gridview.length], undefined, options); // insert into last position
711
711
  default:
712
- throw new Error(`unsupported position ${position}`);
712
+ throw new Error(`dockview: unsupported position ${position}`);
713
713
  }
714
714
  }
715
715
  updateOptions(options) {
@@ -855,15 +855,48 @@ export class DockviewComponent extends BaseGrid {
855
855
  }
856
856
  return result;
857
857
  }
858
- fromJSON(data) {
858
+ fromJSON(data, options) {
859
859
  var _a, _b;
860
+ const existingPanels = new Map();
861
+ let tempGroup;
862
+ if (options === null || options === void 0 ? void 0 : options.reuseExistingPanels) {
863
+ /**
864
+ * What are we doing here?
865
+ *
866
+ * 1. Create a temporary group to hold any panels that currently exist and that also exist in the new layout
867
+ * 2. Remove that temporary group from the group mapping so that it doesn't get cleared when we clear the layout
868
+ */
869
+ tempGroup = this.createGroup();
870
+ this._groups.delete(tempGroup.api.id);
871
+ const newPanels = Object.keys(data.panels);
872
+ for (const panel of this.panels) {
873
+ if (newPanels.includes(panel.api.id)) {
874
+ existingPanels.set(panel.api.id, panel);
875
+ }
876
+ }
877
+ this.movingLock(() => {
878
+ Array.from(existingPanels.values()).forEach((panel) => {
879
+ this.moveGroupOrPanel({
880
+ from: {
881
+ groupId: panel.api.group.api.id,
882
+ panelId: panel.api.id,
883
+ },
884
+ to: {
885
+ group: tempGroup,
886
+ position: 'center',
887
+ },
888
+ keepEmptyGroups: true,
889
+ });
890
+ });
891
+ });
892
+ }
860
893
  this.clear();
861
894
  if (typeof data !== 'object' || data === null) {
862
- throw new Error('serialized layout must be a non-null object');
895
+ throw new Error('dockview: serialized layout must be a non-null object');
863
896
  }
864
897
  const { grid, panels, activeGroup } = data;
865
898
  if (grid.root.type !== 'branch' || !Array.isArray(grid.root.data)) {
866
- throw new Error('root must be of type branch');
899
+ throw new Error('dockview: root must be of type branch');
867
900
  }
868
901
  try {
869
902
  // take note of the existing dimensions
@@ -872,7 +905,7 @@ export class DockviewComponent extends BaseGrid {
872
905
  const createGroupFromSerializedState = (data) => {
873
906
  const { id, locked, hideHeader, views, activeView } = data;
874
907
  if (typeof id !== 'string') {
875
- throw new Error('group id must be of type string');
908
+ throw new Error('dockview: group id must be of type string');
876
909
  }
877
910
  const group = this.createGroup({
878
911
  id,
@@ -887,17 +920,38 @@ export class DockviewComponent extends BaseGrid {
887
920
  * In running this section first we avoid firing lots of 'add' events in the event of a failure
888
921
  * due to a corruption of input data.
889
922
  */
890
- const panel = this._deserializer.fromJSON(panels[child], group);
891
- createdPanels.push(panel);
923
+ const existingPanel = existingPanels.get(child);
924
+ if (tempGroup && existingPanel) {
925
+ this.movingLock(() => {
926
+ tempGroup.model.removePanel(existingPanel);
927
+ });
928
+ createdPanels.push(existingPanel);
929
+ existingPanel.updateFromStateModel(panels[child]);
930
+ }
931
+ else {
932
+ const panel = this._deserializer.fromJSON(panels[child], group);
933
+ createdPanels.push(panel);
934
+ }
892
935
  }
893
936
  for (let i = 0; i < views.length; i++) {
894
937
  const panel = createdPanels[i];
895
938
  const isActive = typeof activeView === 'string' &&
896
939
  activeView === panel.id;
897
- group.model.openPanel(panel, {
898
- skipSetActive: !isActive,
899
- skipSetGroupActive: true,
900
- });
940
+ const hasExisting = existingPanels.has(panel.api.id);
941
+ if (hasExisting) {
942
+ this.movingLock(() => {
943
+ group.model.openPanel(panel, {
944
+ skipSetActive: !isActive,
945
+ skipSetGroupActive: true,
946
+ });
947
+ });
948
+ }
949
+ else {
950
+ group.model.openPanel(panel, {
951
+ skipSetActive: !isActive,
952
+ skipSetGroupActive: true,
953
+ });
954
+ }
901
955
  }
902
956
  if (!group.activePanel && group.panels.length > 0) {
903
957
  group.model.openPanel(group.panels[group.panels.length - 1], {
@@ -936,7 +990,9 @@ export class DockviewComponent extends BaseGrid {
936
990
  setTimeout(() => {
937
991
  this.addPopoutGroup(group, {
938
992
  position: position !== null && position !== void 0 ? position : undefined,
939
- overridePopoutGroup: gridReferenceGroup ? group : undefined,
993
+ overridePopoutGroup: gridReferenceGroup
994
+ ? group
995
+ : undefined,
940
996
  referenceGroup: gridReferenceGroup
941
997
  ? this.getPanel(gridReferenceGroup)
942
998
  : undefined,
@@ -1022,11 +1078,11 @@ export class DockviewComponent extends BaseGrid {
1022
1078
  addPanel(options) {
1023
1079
  var _a, _b;
1024
1080
  if (this.panels.find((_) => _.id === options.id)) {
1025
- throw new Error(`panel with id ${options.id} already exists`);
1081
+ throw new Error(`dockview: panel with id ${options.id} already exists`);
1026
1082
  }
1027
1083
  let referenceGroup;
1028
1084
  if (options.position && options.floating) {
1029
- throw new Error('you can only provide one of: position, floating as arguments to .addPanel(...)');
1085
+ throw new Error('dockview: you can only provide one of: position, floating as arguments to .addPanel(...)');
1030
1086
  }
1031
1087
  const initial = {
1032
1088
  width: options.initialWidth,
@@ -1040,7 +1096,7 @@ export class DockviewComponent extends BaseGrid {
1040
1096
  : options.position.referencePanel;
1041
1097
  index = options.position.index;
1042
1098
  if (!referencePanel) {
1043
- throw new Error(`referencePanel '${options.position.referencePanel}' does not exist`);
1099
+ throw new Error(`dockview: referencePanel '${options.position.referencePanel}' does not exist`);
1044
1100
  }
1045
1101
  referenceGroup = this.findGroup(referencePanel);
1046
1102
  }
@@ -1051,7 +1107,7 @@ export class DockviewComponent extends BaseGrid {
1051
1107
  : options.position.referenceGroup;
1052
1108
  index = options.position.index;
1053
1109
  if (!referenceGroup) {
1054
- throw new Error(`referenceGroup '${options.position.referenceGroup}' does not exist`);
1110
+ throw new Error(`dockview: referenceGroup '${options.position.referenceGroup}' does not exist`);
1055
1111
  }
1056
1112
  }
1057
1113
  else {
@@ -1163,7 +1219,7 @@ export class DockviewComponent extends BaseGrid {
1163
1219
  }) {
1164
1220
  const group = panel.group;
1165
1221
  if (!group) {
1166
- throw new Error(`cannot remove panel ${panel.id}. it's missing a group.`);
1222
+ throw new Error(`dockview: cannot remove panel ${panel.id}. it's missing a group.`);
1167
1223
  }
1168
1224
  group.model.removePanel(panel, {
1169
1225
  skipSetActiveGroup: options.skipSetActiveGroup,
@@ -1212,11 +1268,11 @@ export class DockviewComponent extends BaseGrid {
1212
1268
  ? this.panels.find((panel) => panel.id === options.referencePanel)
1213
1269
  : options.referencePanel;
1214
1270
  if (!referencePanel) {
1215
- throw new Error(`reference panel ${options.referencePanel} does not exist`);
1271
+ throw new Error(`dockview: reference panel ${options.referencePanel} does not exist`);
1216
1272
  }
1217
1273
  referenceGroup = this.findGroup(referencePanel);
1218
1274
  if (!referenceGroup) {
1219
- throw new Error(`reference group for reference panel ${options.referencePanel} does not exist`);
1275
+ throw new Error(`dockview: reference group for reference panel ${options.referencePanel} does not exist`);
1220
1276
  }
1221
1277
  }
1222
1278
  else if (isGroupOptionsWithGroup(options)) {
@@ -1225,7 +1281,7 @@ export class DockviewComponent extends BaseGrid {
1225
1281
  ? (_a = this._groups.get(options.referenceGroup)) === null || _a === void 0 ? void 0 : _a.value
1226
1282
  : options.referenceGroup;
1227
1283
  if (!referenceGroup) {
1228
- throw new Error(`reference group ${options.referenceGroup} does not exist`);
1284
+ throw new Error(`dockview: reference group ${options.referenceGroup} does not exist`);
1229
1285
  }
1230
1286
  }
1231
1287
  else {
@@ -1293,7 +1349,7 @@ export class DockviewComponent extends BaseGrid {
1293
1349
  }
1294
1350
  return floatingGroup.group;
1295
1351
  }
1296
- throw new Error('failed to find floating group');
1352
+ throw new Error('dockview: failed to find floating group');
1297
1353
  }
1298
1354
  if (group.api.location.type === 'popout') {
1299
1355
  const selectedGroup = this._popoutGroups.find((_) => _.popoutGroup === group);
@@ -1324,7 +1380,7 @@ export class DockviewComponent extends BaseGrid {
1324
1380
  this.updateWatermark();
1325
1381
  return selectedGroup.popoutGroup;
1326
1382
  }
1327
- throw new Error('failed to find popout group');
1383
+ throw new Error('dockview: failed to find popout group');
1328
1384
  }
1329
1385
  const re = super.doRemoveGroup(group, options);
1330
1386
  if (!(options === null || options === void 0 ? void 0 : options.skipActive)) {
@@ -1355,7 +1411,7 @@ export class DockviewComponent extends BaseGrid {
1355
1411
  ? (_a = this._groups.get(sourceGroupId)) === null || _a === void 0 ? void 0 : _a.value
1356
1412
  : undefined;
1357
1413
  if (!sourceGroup) {
1358
- throw new Error(`Failed to find group id ${sourceGroupId}`);
1414
+ throw new Error(`dockview: Failed to find group id ${sourceGroupId}`);
1359
1415
  }
1360
1416
  if (sourceItemId === undefined) {
1361
1417
  /**
@@ -1380,9 +1436,9 @@ export class DockviewComponent extends BaseGrid {
1380
1436
  skipSetActiveGroup: true,
1381
1437
  }));
1382
1438
  if (!removedPanel) {
1383
- throw new Error(`No panel with id ${sourceItemId}`);
1439
+ throw new Error(`dockview: No panel with id ${sourceItemId}`);
1384
1440
  }
1385
- if (sourceGroup.model.size === 0) {
1441
+ if (!options.keepEmptyGroups && sourceGroup.model.size === 0) {
1386
1442
  // remove the group and do not set a new group as active
1387
1443
  this.doRemoveGroup(sourceGroup, { skipActive: true });
1388
1444
  }
@@ -1392,7 +1448,8 @@ export class DockviewComponent extends BaseGrid {
1392
1448
  var _a;
1393
1449
  return destinationGroup.model.openPanel(removedPanel, {
1394
1450
  index: destinationIndex,
1395
- skipSetActive: ((_a = options.skipSetActive) !== null && _a !== void 0 ? _a : false) && !isDestinationGroupEmpty,
1451
+ skipSetActive: ((_a = options.skipSetActive) !== null && _a !== void 0 ? _a : false) &&
1452
+ !isDestinationGroupEmpty,
1396
1453
  skipSetGroupActive: true,
1397
1454
  });
1398
1455
  });
@@ -1447,7 +1504,9 @@ export class DockviewComponent extends BaseGrid {
1447
1504
  }));
1448
1505
  this.doRemoveGroup(sourceGroup, { skipActive: true });
1449
1506
  const newGroup = this.createGroupAtLocation(targetLocation);
1450
- this.movingLock(() => newGroup.model.openPanel(removedPanel));
1507
+ this.movingLock(() => newGroup.model.openPanel(removedPanel, {
1508
+ skipSetActive: true,
1509
+ }));
1451
1510
  this.doSetGroupAndPanelActive(newGroup);
1452
1511
  this._onDidMovePanel.fire({
1453
1512
  panel: this.getGroupPanel(sourceItemId),
@@ -1480,7 +1539,7 @@ export class DockviewComponent extends BaseGrid {
1480
1539
  skipSetActiveGroup: true,
1481
1540
  }));
1482
1541
  if (!removedPanel) {
1483
- throw new Error(`No panel with id ${sourceItemId}`);
1542
+ throw new Error(`dockview: No panel with id ${sourceItemId}`);
1484
1543
  }
1485
1544
  const dropLocation = getRelativeLocation(this.gridview.orientation, referenceLocation, destinationTarget);
1486
1545
  const group = this.createGroupAtLocation(dropLocation);
@@ -1535,7 +1594,7 @@ export class DockviewComponent extends BaseGrid {
1535
1594
  case 'floating': {
1536
1595
  const selectedFloatingGroup = this._floatingGroups.find((x) => x.group === from);
1537
1596
  if (!selectedFloatingGroup) {
1538
- throw new Error('failed to find floating group');
1597
+ throw new Error('dockview: failed to find floating group');
1539
1598
  }
1540
1599
  selectedFloatingGroup.dispose();
1541
1600
  break;
@@ -1543,7 +1602,7 @@ export class DockviewComponent extends BaseGrid {
1543
1602
  case 'popout': {
1544
1603
  const selectedPopoutGroup = this._popoutGroups.find((x) => x.popoutGroup === from);
1545
1604
  if (!selectedPopoutGroup) {
1546
- throw new Error('failed to find popout group');
1605
+ throw new Error('dockview: failed to find popout group');
1547
1606
  }
1548
1607
  // Remove from popout groups list to prevent automatic restoration
1549
1608
  const index = this._popoutGroups.indexOf(selectedPopoutGroup);
@@ -488,8 +488,11 @@ export class DockviewGroupPanelModel extends CompositeDisposable {
488
488
  this._activePanel = panel;
489
489
  if (panel) {
490
490
  this.tabsContainer.setActivePanel(panel);
491
+ this.contentContainer.openPanel(panel);
491
492
  panel.layout(this._width, this._height);
492
493
  this.updateMru(panel);
494
+ // Refresh focus state to handle programmatic activation without DOM focus change
495
+ this.contentContainer.refreshFocusState();
493
496
  this._onDidActivePanelChange.fire({
494
497
  panel,
495
498
  });
@@ -21,6 +21,7 @@ export interface IDockviewPanel extends IDisposable, IPanel {
21
21
  updateParentGroup(group: DockviewGroupPanel, options?: {
22
22
  skipSetActive?: boolean;
23
23
  }): void;
24
+ updateFromStateModel(state: GroupviewPanelState): void;
24
25
  init(params: IGroupPanelInitParameters): void;
25
26
  toJSON(): GroupviewPanelState;
26
27
  setTitle(title: string): void;
@@ -37,10 +38,10 @@ export declare class DockviewPanel extends CompositeDisposable implements IDockv
37
38
  private _params?;
38
39
  private _title;
39
40
  private _renderer;
40
- private readonly _minimumWidth;
41
- private readonly _minimumHeight;
42
- private readonly _maximumWidth;
43
- private readonly _maximumHeight;
41
+ private _minimumWidth;
42
+ private _minimumHeight;
43
+ private _maximumWidth;
44
+ private _maximumHeight;
44
45
  get params(): Parameters | undefined;
45
46
  get title(): string | undefined;
46
47
  get group(): DockviewGroupPanel;
@@ -58,6 +59,7 @@ export declare class DockviewPanel extends CompositeDisposable implements IDockv
58
59
  setTitle(title: string): void;
59
60
  setRenderer(renderer: DockviewPanelRenderer): void;
60
61
  update(event: PanelUpdateEvent): void;
62
+ updateFromStateModel(state: GroupviewPanelState): void;
61
63
  updateParentGroup(group: DockviewGroupPanel, options?: {
62
64
  skipSetActive?: boolean;
63
65
  }): void;
@@ -115,6 +115,18 @@ export class DockviewPanel extends CompositeDisposable {
115
115
  params: this._params,
116
116
  });
117
117
  }
118
+ updateFromStateModel(state) {
119
+ var _a, _b, _c;
120
+ this._maximumHeight = state.maximumHeight;
121
+ this._minimumHeight = state.minimumHeight;
122
+ this._maximumWidth = state.maximumWidth;
123
+ this._minimumWidth = state.minimumWidth;
124
+ this.update({ params: (_a = state.params) !== null && _a !== void 0 ? _a : {} });
125
+ this.setTitle((_b = state.title) !== null && _b !== void 0 ? _b : this.id);
126
+ this.setRenderer((_c = state.renderer) !== null && _c !== void 0 ? _c : this.accessor.renderer);
127
+ // state.contentComponent;
128
+ // state.tabComponent;
129
+ }
118
130
  updateParentGroup(group, options) {
119
131
  this._group = group;
120
132
  this.api.group = this._group;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dockview-core",
3
- "version": "4.11.0",
3
+ "version": "4.12.0",
4
4
  "description": "Zero dependency layout manager supporting tabs, grids and splitviews",
5
5
  "keywords": [
6
6
  "splitview",