igniteui-dockmanager 1.17.0-beta.0 → 1.17.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 (36) hide show
  1. package/custom-elements.json +47 -9
  2. package/dist/cjs/igc-button-component_21.cjs.entry.js +43 -25
  3. package/dist/cjs/igc-button-component_21.cjs.entry.js.map +1 -1
  4. package/dist/cjs/igniteui-dockmanager.cjs.js +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/locale-93b1abd9.js.map +1 -1
  7. package/dist/collection/components/dockmanager/dockmanager-component.css +12 -12
  8. package/dist/collection/components/dockmanager/dockmanager-component.js +66 -23
  9. package/dist/collection/components/dockmanager/dockmanager-component.js.map +1 -1
  10. package/dist/collection/components/dockmanager/dockmanager.interfaces.js.map +1 -1
  11. package/dist/collection/components/dockmanager/dockmanager.public-interfaces.js.map +1 -1
  12. package/dist/collection/components/dockmanager/dockmanager.service.js +3 -1
  13. package/dist/collection/components/dockmanager/dockmanager.service.js.map +1 -1
  14. package/dist/collection/components/dockmanager/pane-navigator/pane-navigator-component.js +1 -0
  15. package/dist/collection/components/dockmanager/pane-navigator/pane-navigator-component.js.map +1 -1
  16. package/dist/collection/utils/test-utils.js.map +1 -1
  17. package/dist/esm/igc-button-component_21.entry.js +43 -25
  18. package/dist/esm/igc-button-component_21.entry.js.map +1 -1
  19. package/dist/esm/igniteui-dockmanager.js +1 -1
  20. package/dist/esm/loader.js +1 -1
  21. package/dist/esm/locale-9d5d3b14.js.map +1 -1
  22. package/dist/igniteui-dockmanager/igniteui-dockmanager.esm.js +1 -1
  23. package/dist/igniteui-dockmanager/igniteui-dockmanager.esm.js.map +1 -1
  24. package/dist/igniteui-dockmanager/p-bb430fa4.entry.js +2 -0
  25. package/dist/igniteui-dockmanager/p-bb430fa4.entry.js.map +1 -0
  26. package/dist/igniteui-dockmanager/p-e7fd6176.js.map +1 -1
  27. package/dist/types/components/dockmanager/dockmanager-component.d.ts +14 -1
  28. package/dist/types/components/dockmanager/dockmanager.interfaces.d.ts +4 -0
  29. package/dist/types/components/dockmanager/dockmanager.public-interfaces.d.ts +23 -0
  30. package/dist/types/components.d.ts +12 -0
  31. package/dist/types/utils/test-utils.d.ts +4 -0
  32. package/loader/cdn.js +2 -2
  33. package/loader/index.cjs.js +2 -2
  34. package/package.json +1 -1
  35. package/dist/igniteui-dockmanager/p-a30930a4.entry.js +0 -2
  36. package/dist/igniteui-dockmanager/p-a30930a4.entry.js.map +0 -1
@@ -525,6 +525,13 @@
525
525
  "text": "'none' | 'vertical' | 'horizontal' | 'both'"
526
526
  }
527
527
  },
528
+ {
529
+ "kind": "field",
530
+ "name": "autoScrollConfig",
531
+ "type": {
532
+ "text": "{ edgeThreshold: number, scrollSpeed: number }"
533
+ }
534
+ },
528
535
  {
529
536
  "kind": "method",
530
537
  "name": "focusElement"
@@ -1460,15 +1467,6 @@
1460
1467
  },
1461
1468
  "privacy": "private"
1462
1469
  },
1463
- {
1464
- "kind": "field",
1465
- "name": "autoScrollInterval",
1466
- "type": {
1467
- "text": "number"
1468
- },
1469
- "privacy": "private",
1470
- "default": "null"
1471
- },
1472
1470
  {
1473
1471
  "kind": "field",
1474
1472
  "name": "autoScrollDirection",
@@ -1515,6 +1513,15 @@
1515
1513
  "text": "IgcContentPane"
1516
1514
  }
1517
1515
  },
1516
+ {
1517
+ "kind": "field",
1518
+ "name": "autoScrollInterval",
1519
+ "type": {
1520
+ "text": "number"
1521
+ },
1522
+ "privacy": "private",
1523
+ "default": "null"
1524
+ },
1518
1525
  {
1519
1526
  "kind": "method",
1520
1527
  "name": "flyoutPaneChanged",
@@ -1761,6 +1768,15 @@
1761
1768
  },
1762
1769
  "default": "null"
1763
1770
  },
1771
+ {
1772
+ "kind": "field",
1773
+ "name": "autoScrollConfig",
1774
+ "type": {
1775
+ "text": "{ edgeThreshold: number, scrollSpeed: number }"
1776
+ },
1777
+ "default": "{ edgeThreshold: 20, scrollSpeed: 25 }",
1778
+ "description": "Configuration for edge auto-scrolling behavior during drag operations.\r\n\r\n- `edgeThreshold`: Distance in pixels from the container's edge that triggers scrolling.\r\n- `scrollSpeed`: Number of pixels to scroll per interval (affects scroll rate)."
1779
+ },
1764
1780
  {
1765
1781
  "kind": "method",
1766
1782
  "name": "activePaneChange",
@@ -3309,6 +3325,10 @@
3309
3325
  "type": {
3310
3326
  "text": "IgcContentPane"
3311
3327
  }
3328
+ },
3329
+ {
3330
+ "name": "auto-scroll-config",
3331
+ "fieldName": "autoScrollConfig"
3312
3332
  }
3313
3333
  ],
3314
3334
  "tagName": "igc-dockmanager",
@@ -3689,6 +3709,24 @@
3689
3709
  },
3690
3710
  "description": "Determines whether the end user can dock the dragged pane directly in the parent split pane by dragging it over a splitter.\r\nIf enabled, a docking indicator will be shown over the splitter's drag handler. Defaults to false."
3691
3711
  },
3712
+ {
3713
+ "kind": "field",
3714
+ "name": "allowRootDock",
3715
+ "type": {
3716
+ "text": "boolean"
3717
+ },
3718
+ "description": "Determines whether docking into the root-level pane is allowed.\r\n\r\nWhen set to true (default), panes can be docked directly into the root container. \r\nThis is done by creating a new root pane and repositioning the existing root pane as a sibling to the newly docked content pane.",
3719
+ "default": "true"
3720
+ },
3721
+ {
3722
+ "kind": "field",
3723
+ "name": "autoScrollConfig",
3724
+ "type": {
3725
+ "text": "{ edgeThreshold: number, scrollSpeed: number }"
3726
+ },
3727
+ "description": "Configuration for edge auto-scrolling behavior during drag operations.\r\n\r\n- `edgeThreshold`: Distance in pixels from the container's edge that triggers scrolling.\r\n- `scrollSpeed`: Number of pixels to scroll per interval (affects scroll rate).",
3728
+ "default": "{ edgeThreshold: 10, scrollSpeed: 25 }"
3729
+ },
3692
3730
  {
3693
3731
  "kind": "method",
3694
3732
  "name": "dropPane",
@@ -764,7 +764,9 @@ class IgcDockManagerService {
764
764
  else if (parent.useFixedSize === true && (((_b = this.draggedPaneParent) === null || _b === void 0 ? void 0 : _b.useFixedSize) !== true || ((_c = this.draggedPaneParent) === null || _c === void 0 ? void 0 : _c.orientation) !== parent.orientation)) {
765
765
  const floatingPane = this.dockManager.draggedPane;
766
766
  const floatingPaneSizeInPixels = parent.orientation === locale.IgcSplitPaneOrientation.vertical ? floatingPane === null || floatingPane === void 0 ? void 0 : floatingPane.floatingHeight : floatingPane === null || floatingPane === void 0 ? void 0 : floatingPane.floatingWidth;
767
- this.dockManager.draggedPane.size = floatingPaneSizeInPixels;
767
+ if (floatingPaneSizeInPixels) {
768
+ this.dockManager.draggedPane.size = floatingPaneSizeInPixels;
769
+ }
768
770
  }
769
771
  parent.panes.splice(index + 1, 0, this.dockManager.draggedPane);
770
772
  }
@@ -2167,7 +2169,7 @@ class IgcDockManagerKeyboardService {
2167
2169
  }
2168
2170
  }
2169
2171
 
2170
- const dockmanagerComponentCss = ":host{position:relative;z-index:0;display:flex;overflow:hidden;box-sizing:border-box;height:100%;background:var(--igc-dock-background, var(--igc-background-color, #E5E7E9));color:var(--igc-dock-text, var(--igc-text-color, rgba(0, 0, 0, 0.72)));font-family:var(--igc-font-family, \"Titillium Web\", \"Roboto\", \"Helvetica Neue\", sans-serif);outline-style:none;--unpinned-tab-area-size:30px}:host igc-icon-component svg{width:17px;height:17px}.pane-container--vertical,.pane-container--horizontal,.pane-container{display:flex;flex-grow:1;max-height:100vh;max-width:100vw;height:100%;width:100%}.pane-container--horizontal{overflow-x:auto}.pane-container--vertical{flex-direction:column;overflow-y:auto}.unpinned-tab-area{display:flex;flex-direction:column;width:var(--unpinned-tab-area-size);height:auto}.unpinned-tab-area--left{padding:8px 8px 8px 0}.unpinned-tab-area--right{padding:8px 0 8px 8px}.unpinned-tab-area--bottom{padding-top:8px}.unpinned-tab-area--horizontal{flex-direction:row;width:auto;height:var(--unpinned-tab-area-size)}.unpinned-tab-area--hidden{display:none}.flyout-pane{display:flex;flex-direction:column;position:absolute;width:100%;height:100%;pointer-events:none;z-index:2}.flyout-pane igc-content-pane-component{box-shadow:0 12px 8px var(--igc-flyout-shadow-color, rgba(0, 0, 0, 0.08))}.flyout-pane--right{flex-direction:row-reverse}.flyout-pane--right igc-content-pane-component{box-shadow:-12px 0px 8px var(--igc-flyout-shadow-color, rgba(0, 0, 0, 0.08))}.flyout-pane--bottom{flex-direction:column-reverse}.flyout-pane--bottom igc-content-pane-component{box-shadow:0 -12px 8px var(--igc-flyout-shadow-color, rgba(0, 0, 0, 0.08))}.flyout-pane--left{flex-direction:row}.flyout-pane--left igc-content-pane-component{box-shadow:12px 0px 8px var(--igc-flyout-shadow-color, rgba(0, 0, 0, 0.08))}.floating-panes{position:fixed;top:0;left:0;bottom:0;right:0;pointer-events:none;z-index:10000}.docking-indicators-container{position:absolute;display:flex;flex-direction:column;width:100%;height:100%;pointer-events:none;z-index:10004}.content{overflow:auto;height:100%;flex-grow:1;color:var(--igc-pane-content-text, var(--igc-text-color, rgba(0, 0, 0, 0.72)));background:var(--igc-pane-content-background, var(--igc-border-color, #F3F5F7));position:relative}.maximized{position:absolute;top:0;bottom:0;left:0;right:0;z-index:10002}.drop-shadow{background-color:var(--igc-drop-shadow-background, rgba(100, 149, 237, 0.2));position:fixed;z-index:10003;display:block;pointer-events:none}.hidden{height:0;opacity:0;padding:0;pointer-events:none;min-height:0 !important;transition:opacity 0.5s ease;position:absolute}.transitioned{overflow:hidden;transition:opacity 0.5s ease;position:absolute;z-index:999;width:100%}::-webkit-scrollbar{height:var(--igc-sb-size, 12px);width:var(--igc-sb-size, 12px)}::-webkit-scrollbar-track{background:var(--igc-sb-track-bg-color, #e5e7e9)}::-webkit-scrollbar-track:hover,::-webkit-scrollbar-track:active{background:var(--igc-sb-track-bg-color-hover, #e5e7e9)}::-webkit-scrollbar-corner{background:var(--igc-sb-corner-bg, #e5e7e9);border:var(--igc-sb-corner-border-size, 0) solid var(--igc-sb-corner-border-color, transparent)}::-webkit-scrollbar-track-piece{border:var(--igc-sb-track-border-size, 0) solid var(--igc-sb-track-border-color, transparent)}::-webkit-scrollbar-button:vertical:start:decrement,::-webkit-scrollbar-button:vertical:end:increment,::-webkit-scrollbar-button:horizontal:start:decrement,::-webkit-scrollbar-button:horizontal:end:increment{display:none}::-webkit-scrollbar-thumb{min-height:var(--igc-sb-thumb-min-height, 32px);border-radius:var(--igc-sb-thumb-border-radius, 0);border:var(--igc-sb-thumb-border-size, 0) solid var(--igc-sb-thumb-border-color, transparent);background-clip:content-box;background-color:var(--igc-sb-thumb-bg-color, #d1d1d1)}::-webkit-scrollbar-thumb:hover{background-color:var(--igc-sb-thumb-bg-color-hover, #afafaf)}";
2172
+ const dockmanagerComponentCss = ":host{position:relative;z-index:0;display:flex;overflow:hidden;box-sizing:border-box;height:100%;background:var(--igc-dock-background, var(--igc-background-color, #E5E7E9));color:var(--igc-dock-text, var(--igc-text-color, rgba(0, 0, 0, 0.72)));font-family:var(--igc-font-family, \"Titillium Web\", \"Roboto\", \"Helvetica Neue\", sans-serif);outline-style:none;--unpinned-tab-area-size:30px}:host igc-icon-component svg{width:17px;height:17px}.pane-container--vertical,.pane-container--horizontal,.pane-container{display:flex;flex-grow:1;max-height:100vh;max-width:100vw;height:100%;width:100%}.pane-container--horizontal{overflow-x:auto}.pane-container--vertical{flex-direction:column;overflow-y:auto}.unpinned-tab-area{display:flex;flex-direction:column;width:var(--unpinned-tab-area-size);height:auto}.unpinned-tab-area--left{padding:8px 8px 8px 0}.unpinned-tab-area--right{padding:8px 0 8px 8px}.unpinned-tab-area--bottom{padding-top:8px}.unpinned-tab-area--horizontal{flex-direction:row;width:auto;height:var(--unpinned-tab-area-size)}.unpinned-tab-area--hidden{display:none}.flyout-pane{display:flex;flex-direction:column;position:absolute;width:100%;height:100%;pointer-events:none;z-index:2}.flyout-pane igc-content-pane-component{box-shadow:0 12px 8px var(--igc-flyout-shadow-color, rgba(0, 0, 0, 0.08))}.flyout-pane--right{flex-direction:row-reverse}.flyout-pane--right igc-content-pane-component{box-shadow:-12px 0px 8px var(--igc-flyout-shadow-color, rgba(0, 0, 0, 0.08))}.flyout-pane--bottom{flex-direction:column-reverse}.flyout-pane--bottom igc-content-pane-component{box-shadow:0 -12px 8px var(--igc-flyout-shadow-color, rgba(0, 0, 0, 0.08))}.flyout-pane--left{flex-direction:row}.flyout-pane--left igc-content-pane-component{box-shadow:12px 0px 8px var(--igc-flyout-shadow-color, rgba(0, 0, 0, 0.08))}.floating-panes{position:fixed;top:0;left:0;bottom:0;right:0;pointer-events:none;z-index:10000}.docking-indicators-container{position:absolute;display:flex;flex-direction:column;width:100%;height:100%;pointer-events:none;z-index:10004}.content{overflow:auto;height:100%;flex-grow:1;color:var(--igc-pane-content-text, var(--igc-text-color, rgba(0, 0, 0, 0.72)));background:var(--igc-pane-content-background, var(--igc-border-color, #F3F5F7));position:relative}.maximized{position:absolute;top:0;bottom:0;left:0;right:0;z-index:10002}.drop-shadow{background-color:var(--igc-drop-shadow-background, rgba(100, 149, 237, 0.2));position:fixed;z-index:10003;display:block;pointer-events:none}.hidden{height:0;opacity:0;padding:0;pointer-events:none;min-height:0 !important;transition:opacity 0.5s ease;position:absolute}.transitioned{overflow:hidden;transition:opacity 0.5s ease;position:absolute;z-index:999;width:100%}::-webkit-scrollbar{height:var(--igc-sb-size, var(--sb-size, 12px));width:var(--igc-sb-size, var(--sb-size, 12px))}::-webkit-scrollbar-track{background:var(--igc-sb-track-bg-color, var(--sb-track-bg-color, #e5e7e9))}::-webkit-scrollbar-track:hover,::-webkit-scrollbar-track:active{background:var(--igc-sb-track-bg-color-hover, var(--sb-track-bg-color-hover, #e5e7e9))}::-webkit-scrollbar-corner{background:var(--igc-sb-corner-bg, var(--sb-corner-bg, #e5e7e9));border:var(--igc-sb-corner-border-size, var(--sb-corner-border-size, 0)) solid var(--igc-sb-corner-border-color, var(--sb-corner-border-color, transparent))}::-webkit-scrollbar-track-piece{border:var(--igc-sb-track-border-size, var(--sb-track-border-size, 0)) solid var(--igc-sb-track-border-color, var(--sb-track-border-color, transparent))}::-webkit-scrollbar-button:vertical:start:decrement,::-webkit-scrollbar-button:vertical:end:increment,::-webkit-scrollbar-button:horizontal:start:decrement,::-webkit-scrollbar-button:horizontal:end:increment{display:none}::-webkit-scrollbar-thumb{min-height:var(--igc-sb-thumb-min-height, var(--sb-thumb-min-height, 32px));border-radius:var(--igc-sb-thumb-border-radius, var(--sb-thumb-border-radius, 0));border:var(--igc-sb-thumb-border-size, var(--sb-thumb-border-size, 0)) solid var(--igc-sb-thumb-border-color, var(--sb-thumb-border-color, transparent));background-clip:content-box;background-color:var(--igc-sb-thumb-bg-color, var(--sb-thumb-bg-color, #d1d1d1))}::-webkit-scrollbar-thumb:hover{background-color:var(--igc-sb-thumb-bg-color-hover, var(--sb-thumb-bg-color-hover, #afafaf))}";
2171
2173
 
2172
2174
  var ActionReason;
2173
2175
  (function (ActionReason) {
@@ -2211,7 +2213,6 @@ const IgcDockManager = class {
2211
2213
  this.proximityDockThreshold = 50;
2212
2214
  this.proximityOuterDockThreshold = 25;
2213
2215
  this.anyPaneIgnoringResizeConstraints = false;
2214
- this.autoScrollInterval = null;
2215
2216
  this.autoScrollDirection = { x: 0, y: 0 };
2216
2217
  this.templatableComponents = [
2217
2218
  {
@@ -2351,6 +2352,7 @@ const IgcDockManager = class {
2351
2352
  };
2352
2353
  this.dropTargetPaneInfo = undefined;
2353
2354
  this.flyoutPane = undefined;
2355
+ this.autoScrollInterval = null;
2354
2356
  this.floatingPaneZIndicesMap = new Map();
2355
2357
  this.contextMenuMeta = undefined;
2356
2358
  this.dropShadowRect = undefined;
@@ -2379,6 +2381,10 @@ const IgcDockManager = class {
2379
2381
  this.draggedPane = undefined;
2380
2382
  this.dropPosition = undefined;
2381
2383
  this.activePane = null;
2384
+ this.autoScrollConfig = {
2385
+ edgeThreshold: 20,
2386
+ scrollSpeed: 25
2387
+ };
2382
2388
  }
2383
2389
  flyoutPaneChanged(newValue) {
2384
2390
  if (newValue) {
@@ -2963,7 +2969,8 @@ const IgcDockManager = class {
2963
2969
  this.paneDragMoved(event.detail.clientX, event.detail.clientY, event);
2964
2970
  }
2965
2971
  paneDragMoved(clientX, clientY, event) {
2966
- this.handleAutoScroll(clientX, clientY);
2972
+ var _a;
2973
+ ((_a = this.layout) === null || _a === void 0 ? void 0 : _a.rootPane.useFixedSize) && this.handleAutoScroll(clientX, clientY);
2967
2974
  this.handleDropPositionChange(clientX, clientY, event === null || event === void 0 ? void 0 : event.target);
2968
2975
  const x = event === null || event === void 0 ? void 0 : event.detail.clientX;
2969
2976
  const y = event === null || event === void 0 ? void 0 : event.detail.clientY;
@@ -2994,46 +3001,47 @@ const IgcDockManager = class {
2994
3001
  }
2995
3002
  }
2996
3003
  handleAutoScroll(clientX, clientY) {
2997
- const SCROLL_ZONE = 50; // px from edge to start scrolling
2998
- const SCROLL_SPEED = 30; // px per interval
3004
+ const SCROLL_ZONE = this.autoScrollConfig.edgeThreshold; // px from edge to start scrolling
3005
+ const SCROLL_SPEED = this.autoScrollConfig.scrollSpeed; // px per interval
2999
3006
  const rootSplitPane = this.dockedPanesContainer.children[0];
3000
3007
  if (!rootSplitPane)
3001
3008
  return;
3002
3009
  const rect = rootSplitPane.getBoundingClientRect();
3003
- let x = 0, y = 0;
3010
+ let newX = 0, newY = 0; // Use newX, newY to distinguish from this.autoScrollDirection
3004
3011
  if (clientX - rect.left < SCROLL_ZONE) {
3005
- x = -SCROLL_SPEED;
3012
+ newX = -SCROLL_SPEED;
3006
3013
  }
3007
3014
  else if (rect.right - clientX < SCROLL_ZONE) {
3008
- x = SCROLL_SPEED;
3015
+ newX = SCROLL_SPEED;
3009
3016
  }
3010
3017
  if (clientY - rect.top < SCROLL_ZONE) {
3011
- y = -SCROLL_SPEED;
3018
+ newY = -SCROLL_SPEED;
3012
3019
  }
3013
3020
  else if (rect.bottom - clientY < SCROLL_ZONE) {
3014
- y = SCROLL_SPEED;
3015
- }
3016
- // If direction changed or started, set interval
3017
- if ((x !== this.autoScrollDirection.x || y !== this.autoScrollDirection.y) || (x !== 0 || y !== 0 && !this.autoScrollInterval)) {
3018
- this.autoScrollDirection = { x, y };
3021
+ newY = SCROLL_SPEED;
3022
+ }
3023
+ // Condition to start or change scrolling direction
3024
+ // Start/Change if:
3025
+ // 1. The calculated new direction is different from the current active direction, OR
3026
+ // 2. We've just entered a scroll zone (newX/newY is not 0) AND there's no active interval.
3027
+ if ((newX !== this.autoScrollDirection.x || newY !== this.autoScrollDirection.y) ||
3028
+ ((newX !== 0 || newY !== 0) && !this.autoScrollInterval)) {
3029
+ this.autoScrollDirection = { x: newX, y: newY }; // Update the stored direction
3030
+ // Always clear the existing interval if there is one, before setting a new one
3019
3031
  if (this.autoScrollInterval) {
3020
3032
  clearInterval(this.autoScrollInterval);
3021
3033
  this.autoScrollInterval = null;
3022
3034
  }
3023
- if (x !== 0 || y !== 0) {
3035
+ // If we are currently in a scroll zone (newX or newY is not 0), start a new interval
3036
+ if (newX !== 0 || newY !== 0) {
3024
3037
  this.autoScrollInterval = window.setInterval(() => {
3025
- if (x !== 0)
3026
- rootSplitPane.scrollLeft += x;
3027
- if (y !== 0)
3028
- rootSplitPane.scrollTop += y;
3038
+ if (this.autoScrollDirection.x !== 0)
3039
+ rootSplitPane.scrollLeft += this.autoScrollDirection.x;
3040
+ if (this.autoScrollDirection.y !== 0)
3041
+ rootSplitPane.scrollTop += this.autoScrollDirection.y;
3029
3042
  }, 30);
3030
3043
  }
3031
3044
  }
3032
- // Stop scrolling if not near any edge
3033
- if (x === 0 && y === 0 && this.autoScrollInterval) {
3034
- clearInterval(this.autoScrollInterval);
3035
- this.autoScrollInterval = null;
3036
- }
3037
3045
  }
3038
3046
  getInnerDropTargetParentRect() {
3039
3047
  if (this.dropTargetPaneInfo && this.service.proximityDockPosition) {
@@ -3361,6 +3369,15 @@ const IgcDockManager = class {
3361
3369
  this.dropTargetPaneInfo = null;
3362
3370
  }
3363
3371
  }
3372
+ else if (this.dropTargetPaneInfo && this.dropTargetPaneInfo.pane === dropPane) {
3373
+ // If the drop target pane is the same as the previous one, update the targetRect and visibleTargetRect
3374
+ const paneRect = paneElement.getBoundingClientRect();
3375
+ this.paneVisibleRect = new DOMRect(paneRect.x, paneRect.y, paneRect.width, paneRect.height);
3376
+ this.paneVisibleRect = this.reduceRectBasedOnSplitters(this.paneVisibleRect, paneElement);
3377
+ this.paneVisibleRect = this.reduceRectBasedOnDockManagerBorders(this.paneVisibleRect);
3378
+ this.dropTargetPaneInfo.targetRect = paneRect;
3379
+ this.dropTargetPaneInfo.visibleTargetRect = this.paneVisibleRect;
3380
+ }
3364
3381
  }
3365
3382
  else {
3366
3383
  this.dropTargetPaneInfo = null;
@@ -4675,6 +4692,7 @@ const IgcPaneNavigatorComponent = class {
4675
4692
  this.navigateToIndex(newValue, 'previous');
4676
4693
  }
4677
4694
  connectedCallback() {
4695
+ this.activePanes = this.activePanes.filter(pane => !(pane.contentId === 'placeholder' && pane.size === 0));
4678
4696
  this.allItems = [...this.activePanes, ...this.activeDocuments];
4679
4697
  }
4680
4698
  componentDidLoad() {