igniteui-dockmanager 1.11.3 → 1.12.0-beta.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 (29) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/cjs/igc-button-component_20.cjs.entry.js +61 -21
  3. package/dist/cjs/igniteui-dockmanager.cjs.js +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/collection/collection-manifest.json +1 -1
  6. package/dist/collection/components/context-menu/context-menu-component.js +25 -10
  7. package/dist/collection/components/dockmanager/dockmanager-component.js +28 -10
  8. package/dist/collection/components/dockmanager/panes/splitter-component.js +20 -1
  9. package/dist/collection/components/sample-component/sample-component.js +5 -1
  10. package/dist/esm/igc-button-component_20.entry.js +61 -21
  11. package/dist/esm/igniteui-dockmanager.js +1 -1
  12. package/dist/esm/loader.js +1 -1
  13. package/dist/esm-es5/igc-button-component_20.entry.js +1 -1
  14. package/dist/esm-es5/igniteui-dockmanager.js +1 -1
  15. package/dist/esm-es5/loader.js +1 -1
  16. package/dist/igniteui-dockmanager/igniteui-dockmanager.esm.js +1 -1
  17. package/dist/igniteui-dockmanager/p-7c30b111.system.entry.js +1 -0
  18. package/dist/igniteui-dockmanager/p-a03fdb35.entry.js +1 -0
  19. package/dist/igniteui-dockmanager/p-f8e35aef.system.js +1 -1
  20. package/dist/types/components/dockmanager/dockmanager-component.d.ts +1 -0
  21. package/dist/types/components/dockmanager/dockmanager.service.d.ts +1 -1
  22. package/dist/types/components/dockmanager/panes/splitter-component.d.ts +1 -1
  23. package/dist/types/components/sample-component/sample-component.d.ts +1 -0
  24. package/dist/types/components.d.ts +2 -0
  25. package/loader/cdn.js +2 -2
  26. package/loader/index.cjs.js +2 -2
  27. package/package.json +17 -12
  28. package/dist/igniteui-dockmanager/p-6137195e.entry.js +0 -1
  29. package/dist/igniteui-dockmanager/p-e68e23f0.system.entry.js +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,32 @@
2
2
 
3
3
  All notable changes for each version of this project will be documented in this file.
4
4
 
5
+ ## 1.12.0
6
+
7
+ ### Bug fixes
8
+ - Docking not working with allowFloating: false [#40](https://github.com/IgniteUI/igniteui-dockmanager/issues/40)
9
+ - Flyout pane closing while active [#41](https://github.com/IgniteUI/igniteui-dockmanager/issues/41)
10
+ - Focusable elements does not receive focus [#42](https://github.com/IgniteUI/igniteui-dockmanager/issues/42)
11
+ - Navigating with pane navigator does not bring selected floating window on top [#48](https://github.com/IgniteUI/igniteui-dockmanager/issues/48)
12
+ - Event `splitterResizeStart` can't be cancelled
13
+ - Tabs context menu not positioning correctly
14
+
15
+ ## 1.11.3
16
+
17
+ ### New features
18
+ - Add `contextMenuPosition` property
19
+ - Add `selected` option for `tab-header-close-button` CSS part
20
+
21
+ ## 1.11.2
22
+
23
+ ### New features
24
+ - Add `hovered` option for `tab-header-close-button` CSS part
25
+
26
+ ## 1.11.1
27
+
28
+ ### Bug fixes
29
+ - CSS part fixes for `tab-header`
30
+
5
31
  ## 1.11.0
6
32
 
7
33
  ### New features
@@ -158,15 +158,29 @@ let IgcContextMenuComponent = class {
158
158
  componentDidLoad() {
159
159
  const menuItemsDivRect = this.menuItemsDiv.getBoundingClientRect();
160
160
  const hostRect = this.elem.getBoundingClientRect();
161
- const tabRect = this.target.getRootNode().host.getBoundingClientRect();
162
- const isRTL = tabRect.right - menuItemsDivRect.right <= 0;
163
- const menuToBottom = tabRect.top - menuItemsDivRect.top + tabRect.height;
164
- const menuToTop = tabRect.top - menuItemsDivRect.height - menuItemsDivRect.top;
165
- const menuToStart = isRTL ? tabRect.right - menuItemsDivRect.width : tabRect.left;
166
- const menuToEnd = isRTL ? tabRect.left : tabRect.right - menuItemsDivRect.width;
167
- const menuToCenter = tabRect.left + (tabRect.width - menuItemsDivRect.width) / 2;
161
+ const rootNodeShadowHost = this.target.getRootNode();
162
+ const rootHostRect = rootNodeShadowHost.host.getBoundingClientRect();
163
+ const isTabs = rootNodeShadowHost.host.tagName.toLowerCase() === 'igc-tab-header-component';
164
+ const tabsContentHost = isTabs ? rootNodeShadowHost.host.parentElement.shadowRoot : rootNodeShadowHost;
165
+ const tabRect = tabsContentHost.host.getBoundingClientRect();
166
+ const tabsContentRect = tabsContentHost.querySelector('div[part~="tabs-content"]').getBoundingClientRect();
167
+ const tabStripArea = tabsContentHost.querySelector('div[part~="tab-strip-area"]').getBoundingClientRect();
168
+ const isRTL = rootHostRect.right - menuItemsDivRect.right <= 0;
169
+ const shouldChangeOpenOrientation = tabRect.bottom + menuItemsDivRect.height >= window.innerHeight
170
+ || tabRect.height + menuItemsDivRect.height >= window.innerHeight;
171
+ const menuToBottom = shouldChangeOpenOrientation
172
+ ? tabsContentRect.top + (tabsContentRect.height - menuItemsDivRect.bottom)
173
+ : rootHostRect.top - menuItemsDivRect.top + rootHostRect.height;
174
+ const menuToTop = tabStripArea.height + (menuItemsDivRect.top - rootHostRect.top);
175
+ const menuToStart = isRTL ? rootHostRect.right - menuItemsDivRect.width : rootHostRect.left;
176
+ const menuToEnd = isRTL ? rootHostRect.left : rootHostRect.right - menuItemsDivRect.width;
177
+ const menuToCenter = rootHostRect.left + (rootHostRect.width - menuItemsDivRect.width) / 2;
168
178
  let menuLeft = !isRTL ? menuToStart : menuToEnd;
169
- let menuTop = this.orientation === IgcContextMenuOrientation.bottom ? menuToBottom : menuToTop;
179
+ let menuTop = this.orientation === IgcContextMenuOrientation.bottom
180
+ ? isTabs
181
+ ? menuToBottom
182
+ : menuToTop
183
+ : menuToBottom;
170
184
  const menuBottom = menuTop + menuItemsDivRect.height;
171
185
  menuTop = menuTop >= 0 ? menuTop : menuToBottom;
172
186
  switch (this.position) {
@@ -174,10 +188,10 @@ let IgcContextMenuComponent = class {
174
188
  menuLeft = menuToStart;
175
189
  break;
176
190
  case 'center':
177
- menuLeft = tabRect.width > menuItemsDivRect.width && menuToCenter;
191
+ menuLeft = rootHostRect.width > menuItemsDivRect.width && menuToCenter;
178
192
  break;
179
193
  case 'stretch':
180
- this.menuItemsDiv.style.width = tabRect.width > menuItemsDivRect.width && `${tabRect.width}px`;
194
+ this.menuItemsDiv.style.width = rootHostRect.width > menuItemsDivRect.width && `${rootHostRect.width}px`;
181
195
  break;
182
196
  case 'end':
183
197
  default:
@@ -186,6 +200,7 @@ let IgcContextMenuComponent = class {
186
200
  if (this.orientation === IgcContextMenuOrientation.bottom && menuBottom > hostRect.height) {
187
201
  menuTop = menuToTop;
188
202
  }
203
+ menuLeft = menuLeft - menuItemsDivRect.left;
189
204
  this.menuItemsDiv.style.left = `${menuLeft}px`;
190
205
  this.menuItemsDiv.style.top = `${menuTop}px`;
191
206
  this.menuItemsDiv.style.visibility = 'visible';
@@ -1794,6 +1809,7 @@ let IgcDockManager = class {
1794
1809
  this.scheduledCallbacks = [];
1795
1810
  this.shouldClearActivePane = true;
1796
1811
  this.isDragging = false;
1812
+ this.splitterOffset = 1;
1797
1813
  this.templatableComponents = [
1798
1814
  {
1799
1815
  slot: 'paneHeaderCloseButton',
@@ -1970,9 +1986,7 @@ let IgcDockManager = class {
1970
1986
  activePaneChange(newValue, oldValue) {
1971
1987
  var _a;
1972
1988
  const args = { newPane: newValue, oldPane: oldValue };
1973
- if (this.flyoutPane &&
1974
- newValue !== this.flyoutPane &&
1975
- (!newValue || newValue.isPinned !== false || this.activePaneInternalSet)) {
1989
+ if (this.flyoutPane && newValue && newValue !== this.flyoutPane) {
1976
1990
  this.service.flyoutPane(this.flyoutPane);
1977
1991
  }
1978
1992
  this.activePaneChanged.emit(args);
@@ -2239,8 +2253,17 @@ let IgcDockManager = class {
2239
2253
  this.service.resizeFlyoutPane(event.detail);
2240
2254
  this.splitterResizeEnd.emit();
2241
2255
  }
2242
- handleSplitterResizeStart() {
2243
- this.splitterResizeStart.emit();
2256
+ handleSplitterResizeStart(event) {
2257
+ const splitter = event.target;
2258
+ const resizeStartEvent = this.splitterResizeStart.emit();
2259
+ if (resizeStartEvent.defaultPrevented) {
2260
+ this.splitterOffset = 0;
2261
+ splitter.showDragGhost = false;
2262
+ }
2263
+ else {
2264
+ this.splitterOffset = 1;
2265
+ splitter.showDragGhost = true;
2266
+ }
2244
2267
  }
2245
2268
  handleSplitterResizeEnd(parentPane, pane, event) {
2246
2269
  const splitter = event.target;
@@ -2249,7 +2272,7 @@ let IgcDockManager = class {
2249
2272
  const paneComponents = splitPaneChildren.filter(c => c.tagName.toLowerCase() !== 'igc-splitter-component');
2250
2273
  const sizeProperty = parentPane.orientation === locale.IgcSplitPaneOrientation.horizontal ? 'offsetWidth' : 'offsetHeight';
2251
2274
  const sizeSum = paneComponents.reduce((s, p) => p[sizeProperty] + s, 0);
2252
- let offsetPercentage = event.detail / sizeSum;
2275
+ let offsetPercentage = this.splitterOffset * event.detail / sizeSum;
2253
2276
  let rtl = false;
2254
2277
  if (this.element.dir !== '') {
2255
2278
  rtl = this.element.dir === 'rtl';
@@ -2531,8 +2554,10 @@ let IgcDockManager = class {
2531
2554
  if ((!this.dropTargetPaneInfo || this.dropTargetPaneInfo.pane !== dropPane) && dropPane !== this.draggedPane) {
2532
2555
  const docHost = this.service.getDocHostParent(dropPane);
2533
2556
  const dropPaneRoot = this.service.getRootParent(dropPane);
2534
- const floatingPaneWithoutDocHost = this.layout.floatingPanes.indexOf(dropPaneRoot) !== -1 &&
2535
- !this.service.getChildDocHostRecursive(dropPaneRoot);
2557
+ const floatingPaneWithoutDocHost = this.layout.floatingPanes
2558
+ ? this.layout.floatingPanes.indexOf(dropPaneRoot) !== -1 &&
2559
+ !this.service.getChildDocHostRecursive(dropPaneRoot)
2560
+ : false;
2536
2561
  if (!this.documentOnlyDrag
2537
2562
  || docHost
2538
2563
  || floatingPaneWithoutDocHost
@@ -2628,8 +2653,11 @@ let IgcDockManager = class {
2628
2653
  if (!targetPane) {
2629
2654
  targetPane = pane.panes[0];
2630
2655
  }
2631
- this.setActivePane(targetPane);
2632
- this.setFocus(targetPane);
2656
+ const nodeName = event.target.nodeName.toLowerCase();
2657
+ if (nodeName === 'igc-dockmanager') {
2658
+ this.setActivePane(targetPane);
2659
+ this.setFocus(targetPane);
2660
+ }
2633
2661
  this.contentPaneId = targetPane.contentId;
2634
2662
  });
2635
2663
  }
@@ -2914,6 +2942,11 @@ let IgcDockManager = class {
2914
2942
  }
2915
2943
  handlePaneNavigatorClosed(ev) {
2916
2944
  this.service.normalizeMaximizedPane(ev.detail);
2945
+ const parent = this.service.getRootParent(ev.detail);
2946
+ const isParentFloating = this.service.isFloatingPane(parent);
2947
+ if (isParentFloating) {
2948
+ this.service.bringFloatingPaneOnTop(parent);
2949
+ }
2917
2950
  if (ev.detail && this.activePane !== ev.detail) {
2918
2951
  this.activePane = ev.detail;
2919
2952
  }
@@ -3726,6 +3759,9 @@ let IgcSplitterComponent = class {
3726
3759
  this.dragEndHelper();
3727
3760
  };
3728
3761
  this.dragMove = (args) => {
3762
+ if (!this.ghostElement) {
3763
+ return;
3764
+ }
3729
3765
  const rect = this.ghostElement.getBoundingClientRect();
3730
3766
  const isHorizontal = this.splitPaneOrientation === locale.IgcSplitPaneOrientation.horizontal;
3731
3767
  const clientCoordinate = isHorizontal ? args.clientX : args.clientY;
@@ -4814,6 +4850,10 @@ let SampleComponent = class {
4814
4850
  handleDragEnd(event) {
4815
4851
  this.log(event);
4816
4852
  }
4853
+ handleSplitterResizeStart(event) {
4854
+ this.log(event, Object.assign({}, event.detail));
4855
+ // event.preventDefault();
4856
+ }
4817
4857
  handleFloatingPaneResizeStart(event) {
4818
4858
  this.log(event, Object.assign({}, event.detail));
4819
4859
  // event.preventDefault();
@@ -4846,7 +4886,7 @@ let SampleComponent = class {
4846
4886
  render() {
4847
4887
  return (index.h(index.Host, null, index.h("div", null, index.h("button", { onClick: () => this.saveLayout() }, "Save Layout"), index.h("button", { onClick: () => this.loadLayout() }, "Load Layout"), index.h("button", { onClick: () => this.setActivePane() }, "Set Active Pane"), index.h("button", { onClick: () => this.addPane() }, "Add Floating Pane"), index.h("button", { onClick: () => this.addTab() }, "Add Tab Pane"), index.h("button", { onClick: () => this.disableContentPane() }, "Disable Tab Pane"), index.h("input", { id: "hideOnClose", type: "checkbox", style: { marginLeft: '20px' }, ref: el => this.hideOnCloseCheckbox = el }), index.h("label", { htmlFor: "hideOnClose" }, "Hide on close"), index.h("span", { style: { marginLeft: '20px' } }, "Hidden Panes:"), index.h("select", { style: { width: '150px' }, ref: el => this.hiddenPanesSelect = el }, this.hiddenPanes.map(p => {
4848
4888
  return (index.h("option", { value: p.id }, p.header));
4849
- })), index.h("button", { onClick: () => this.showPane() }, "Show Pane"), index.h("button", { onClick: () => this.showAllPanes() }, "Show All Panes")), index.h("igc-dockmanager", { layout: this.layout, onPaneClose: this.handlePaneClose.bind(this), onPanePinnedToggle: this.handlePinnedToggle.bind(this), onActivePaneChanged: this.handleActivePaneChanged.bind(this), onPaneDragStart: this.handleDragStart.bind(this), onPaneDragOver: this.handleDragOver.bind(this), onPaneDragEnd: this.handleDragEnd.bind(this), onFloatingPaneResizeStart: this.handleFloatingPaneResizeStart.bind(this), onFloatingPaneResizeMove: this.handleFloatingPaneResizeMove.bind(this), onFloatingPaneResizeEnd: this.handleFloatingPaneResizeEnd.bind(this), onLayoutChange: this.handleLayoutChange.bind(this),
4889
+ })), index.h("button", { onClick: () => this.showPane() }, "Show Pane"), index.h("button", { onClick: () => this.showAllPanes() }, "Show All Panes")), index.h("igc-dockmanager", { layout: this.layout, onPaneClose: this.handlePaneClose.bind(this), onPanePinnedToggle: this.handlePinnedToggle.bind(this), onActivePaneChanged: this.handleActivePaneChanged.bind(this), onPaneDragStart: this.handleDragStart.bind(this), onPaneDragOver: this.handleDragOver.bind(this), onPaneDragEnd: this.handleDragEnd.bind(this), onSplitterResizeStart: this.handleSplitterResizeStart.bind(this), onFloatingPaneResizeStart: this.handleFloatingPaneResizeStart.bind(this), onFloatingPaneResizeMove: this.handleFloatingPaneResizeMove.bind(this), onFloatingPaneResizeEnd: this.handleFloatingPaneResizeEnd.bind(this), onLayoutChange: this.handleLayoutChange.bind(this),
4850
4890
  // resourceStrings={this.getCustomResourceStrings()}
4851
4891
  ref: el => this.dockManager = el,
4852
4892
  // allowFloatingPanesResize={false}
@@ -15,5 +15,5 @@ const patchBrowser = () => {
15
15
  };
16
16
 
17
17
  patchBrowser().then(options => {
18
- return index.bootstrapLazy([["igc-button-component_20.cjs",[[2,"sample-component",{"hiddenPanes":[1040]}],[1,"igc-dockmanager",{"navigationPaneMeta":[1040],"allowMaximize":[4,"allow-maximize"],"showHeaderIconOnHover":[1,"show-header-icon-on-hover"],"maximizedPane":[1040],"resourceStrings":[1040],"allowFloatingPanesResize":[4,"allow-floating-panes-resize"],"disableKeyboardNavigation":[4,"disable-keyboard-navigation"],"contextMenuPosition":[1,"context-menu-position"],"layout":[1040],"draggedPane":[1040],"dropPosition":[16],"activePane":[1040],"dropTargetPaneInfo":[32],"flyoutPane":[32],"floatingPaneZIndicesMap":[32],"contextMenuMeta":[32],"dropShadowRect":[32],"templates":[32],"hasCustomMaximizeButton":[32],"hasCustomMinimizeButton":[32],"dropPane":[64],"removePane":[64]},[[0,"focusout","handleFocusOut"],[0,"keydown","handleKeyDown"],[1,"pointerdown","handlePointerDown"],[1,"pointerup","handlePointerUp"]]],[1,"igc-tabs-component",{"size":[2],"maximized":[4],"allowMaximize":[4,"allow-maximize"],"tabHeadersPosition":[1,"tab-headers-position"],"selectedIndex":[1026,"selected-index"],"hasHeaders":[4,"has-headers"],"showHiddenTabsMenu":[4,"show-hidden-tabs-menu"],"resourceStrings":[16],"hiddenTabsMenuMeta":[32],"hasHiddenTabs":[32]},[[0,"tabMouseDown","handleTabMouseDown"]]],[2,"igc-joystick-indicator-component",{"dropTargetPaneInfo":[16],"documentOnlyDrag":[4,"document-only-drag"]}],[1,"igc-pane-header-component",{"dragService":[1040],"pinned":[4],"maximized":[4],"isFloating":[4,"is-floating"],"forcedDrag":[4,"forced-drag"],"isFloatingPaneHeader":[4,"is-floating-pane-header"],"allowClose":[4,"allow-close"],"allowMaximize":[4,"allow-maximize"],"allowPinning":[4,"allow-pinning"],"pane":[16],"isActive":[4,"is-active"],"disabled":[4],"resourceStrings":[16]}],[1,"igc-tab-header-component",{"dragService":[1040],"selected":[4],"hovered":[4],"position":[1],"iconName":[1,"icon-name"],"header":[1],"isActive":[4,"is-active"],"resourceStrings":[16],"forcedDrag":[4,"forced-drag"],"disabled":[4],"showHeaderIconOnHover":[1,"show-header-icon-on-hover"]},[[1,"mousedown","handleMouseDown"],[1,"mouseenter","handleMouseEnter"],[1,"mouseleave","handleMouseLeave"]]],[1,"igc-floating-pane-component",{"allowResize":[4,"allow-resize"],"floatingLocation":[16],"floatingWidth":[2,"floating-width"],"floatingHeight":[2,"floating-height"],"hasHeader":[4,"has-header"],"maximized":[4],"floatingMinHeight":[2,"floating-min-height"],"floatingMinWidth":[2,"floating-min-width"],"floatingId":[1,"floating-id"]}],[2,"igc-root-docking-indicator-component",{"position":[1]}],[1,"igc-content-pane-component",{"size":[2],"isFlyout":[4,"is-flyout"],"unpinnedSize":[2,"unpinned-size"],"header":[1],"disabled":[4],"isSingleFloating":[4,"is-single-floating"]}],[2,"igc-document-host-component",{"size":[2]}],[1,"igc-pane-navigator-component",{"activeDocuments":[16],"activePanes":[16],"selectedIndex":[1026,"selected-index"],"previousActivePaneIndex":[2,"previous-active-pane-index"],"resourceStrings":[16]},[[0,"keyup","handleKeyUp"],[0,"keydown","handleKeydown"]]],[2,"igc-split-pane-component",{"orientation":[1],"size":[2]}],[1,"igc-splitter-component",{"splitPaneOrientation":[1,"split-pane-orientation"],"flyoutLocation":[1,"flyout-location"],"showDragGhost":[32],"dragOffset":[32],"hasCustomSplitterHandle":[32]},[[0,"keydown","handleKeydownEvent"],[1,"mousedown","handleMouseDown"]]],[1,"igc-tab-panel-component",{"selected":[4],"disabled":[4]}],[1,"igc-unpinned-pane-header-component",{"location":[1],"isActive":[4,"is-active"],"disabled":[4]}],[1,"igc-context-menu-component",{"orientation":[1],"position":[1],"target":[16],"items":[16],"activeIndex":[1026,"active-index"]},[[0,"focusout","emitMenuClosed"]]],[2,"igc-joystick-icon-component",{"isDocHost":[4,"is-doc-host"],"position":[1],"empty":[4]}],[2,"igc-resizer-component",{"orientation":[1],"dragOffsetX":[32],"dragOffsetY":[32]}],[1,"igc-button-component",{"disabled":[4],"name":[513],"type":[513],"value":[513]}],[2,"igc-icon-component",{"name":[1]}]]]], options);
18
+ return index.bootstrapLazy([["igc-button-component_20.cjs",[[2,"sample-component",{"hiddenPanes":[1040]}],[1,"igc-dockmanager",{"navigationPaneMeta":[1040],"allowMaximize":[4,"allow-maximize"],"showHeaderIconOnHover":[1,"show-header-icon-on-hover"],"maximizedPane":[1040],"resourceStrings":[1040],"allowFloatingPanesResize":[4,"allow-floating-panes-resize"],"disableKeyboardNavigation":[4,"disable-keyboard-navigation"],"contextMenuPosition":[1,"context-menu-position"],"layout":[1040],"draggedPane":[1040],"dropPosition":[16],"activePane":[1040],"dropTargetPaneInfo":[32],"flyoutPane":[32],"floatingPaneZIndicesMap":[32],"contextMenuMeta":[32],"dropShadowRect":[32],"templates":[32],"hasCustomMaximizeButton":[32],"hasCustomMinimizeButton":[32],"dropPane":[64],"removePane":[64]},[[0,"focusout","handleFocusOut"],[0,"keydown","handleKeyDown"],[1,"pointerdown","handlePointerDown"],[1,"pointerup","handlePointerUp"]]],[1,"igc-tabs-component",{"size":[2],"maximized":[4],"allowMaximize":[4,"allow-maximize"],"tabHeadersPosition":[1,"tab-headers-position"],"selectedIndex":[1026,"selected-index"],"hasHeaders":[4,"has-headers"],"showHiddenTabsMenu":[4,"show-hidden-tabs-menu"],"resourceStrings":[16],"hiddenTabsMenuMeta":[32],"hasHiddenTabs":[32]},[[0,"tabMouseDown","handleTabMouseDown"]]],[2,"igc-joystick-indicator-component",{"dropTargetPaneInfo":[16],"documentOnlyDrag":[4,"document-only-drag"]}],[1,"igc-pane-header-component",{"dragService":[1040],"pinned":[4],"maximized":[4],"isFloating":[4,"is-floating"],"forcedDrag":[4,"forced-drag"],"isFloatingPaneHeader":[4,"is-floating-pane-header"],"allowClose":[4,"allow-close"],"allowMaximize":[4,"allow-maximize"],"allowPinning":[4,"allow-pinning"],"pane":[16],"isActive":[4,"is-active"],"disabled":[4],"resourceStrings":[16]}],[1,"igc-tab-header-component",{"dragService":[1040],"selected":[4],"hovered":[4],"position":[1],"iconName":[1,"icon-name"],"header":[1],"isActive":[4,"is-active"],"resourceStrings":[16],"forcedDrag":[4,"forced-drag"],"disabled":[4],"showHeaderIconOnHover":[1,"show-header-icon-on-hover"]},[[1,"mousedown","handleMouseDown"],[1,"mouseenter","handleMouseEnter"],[1,"mouseleave","handleMouseLeave"]]],[1,"igc-floating-pane-component",{"allowResize":[4,"allow-resize"],"floatingLocation":[16],"floatingWidth":[2,"floating-width"],"floatingHeight":[2,"floating-height"],"hasHeader":[4,"has-header"],"maximized":[4],"floatingMinHeight":[2,"floating-min-height"],"floatingMinWidth":[2,"floating-min-width"],"floatingId":[1,"floating-id"]}],[2,"igc-root-docking-indicator-component",{"position":[1]}],[1,"igc-content-pane-component",{"size":[2],"isFlyout":[4,"is-flyout"],"unpinnedSize":[2,"unpinned-size"],"header":[1],"disabled":[4],"isSingleFloating":[4,"is-single-floating"]}],[2,"igc-document-host-component",{"size":[2]}],[1,"igc-pane-navigator-component",{"activeDocuments":[16],"activePanes":[16],"selectedIndex":[1026,"selected-index"],"previousActivePaneIndex":[2,"previous-active-pane-index"],"resourceStrings":[16]},[[0,"keyup","handleKeyUp"],[0,"keydown","handleKeydown"]]],[2,"igc-split-pane-component",{"orientation":[1],"size":[2]}],[1,"igc-splitter-component",{"showDragGhost":[4,"show-drag-ghost"],"splitPaneOrientation":[1,"split-pane-orientation"],"flyoutLocation":[1,"flyout-location"],"dragOffset":[32],"hasCustomSplitterHandle":[32]},[[0,"keydown","handleKeydownEvent"],[1,"mousedown","handleMouseDown"]]],[1,"igc-tab-panel-component",{"selected":[4],"disabled":[4]}],[1,"igc-unpinned-pane-header-component",{"location":[1],"isActive":[4,"is-active"],"disabled":[4]}],[1,"igc-context-menu-component",{"orientation":[1],"position":[1],"target":[16],"items":[16],"activeIndex":[1026,"active-index"]},[[0,"focusout","emitMenuClosed"]]],[2,"igc-joystick-icon-component",{"isDocHost":[4,"is-doc-host"],"position":[1],"empty":[4]}],[2,"igc-resizer-component",{"orientation":[1],"dragOffsetX":[32],"dragOffsetY":[32]}],[1,"igc-button-component",{"disabled":[4],"name":[513],"type":[513],"value":[513]}],[2,"igc-icon-component",{"name":[1]}]]]], options);
19
19
  });
@@ -14,7 +14,7 @@ const patchEsm = () => {
14
14
  const defineCustomElements = (win, options) => {
15
15
  if (typeof window === 'undefined') return Promise.resolve();
16
16
  return patchEsm().then(() => {
17
- return index.bootstrapLazy([["igc-button-component_20.cjs",[[2,"sample-component",{"hiddenPanes":[1040]}],[1,"igc-dockmanager",{"navigationPaneMeta":[1040],"allowMaximize":[4,"allow-maximize"],"showHeaderIconOnHover":[1,"show-header-icon-on-hover"],"maximizedPane":[1040],"resourceStrings":[1040],"allowFloatingPanesResize":[4,"allow-floating-panes-resize"],"disableKeyboardNavigation":[4,"disable-keyboard-navigation"],"contextMenuPosition":[1,"context-menu-position"],"layout":[1040],"draggedPane":[1040],"dropPosition":[16],"activePane":[1040],"dropTargetPaneInfo":[32],"flyoutPane":[32],"floatingPaneZIndicesMap":[32],"contextMenuMeta":[32],"dropShadowRect":[32],"templates":[32],"hasCustomMaximizeButton":[32],"hasCustomMinimizeButton":[32],"dropPane":[64],"removePane":[64]},[[0,"focusout","handleFocusOut"],[0,"keydown","handleKeyDown"],[1,"pointerdown","handlePointerDown"],[1,"pointerup","handlePointerUp"]]],[1,"igc-tabs-component",{"size":[2],"maximized":[4],"allowMaximize":[4,"allow-maximize"],"tabHeadersPosition":[1,"tab-headers-position"],"selectedIndex":[1026,"selected-index"],"hasHeaders":[4,"has-headers"],"showHiddenTabsMenu":[4,"show-hidden-tabs-menu"],"resourceStrings":[16],"hiddenTabsMenuMeta":[32],"hasHiddenTabs":[32]},[[0,"tabMouseDown","handleTabMouseDown"]]],[2,"igc-joystick-indicator-component",{"dropTargetPaneInfo":[16],"documentOnlyDrag":[4,"document-only-drag"]}],[1,"igc-pane-header-component",{"dragService":[1040],"pinned":[4],"maximized":[4],"isFloating":[4,"is-floating"],"forcedDrag":[4,"forced-drag"],"isFloatingPaneHeader":[4,"is-floating-pane-header"],"allowClose":[4,"allow-close"],"allowMaximize":[4,"allow-maximize"],"allowPinning":[4,"allow-pinning"],"pane":[16],"isActive":[4,"is-active"],"disabled":[4],"resourceStrings":[16]}],[1,"igc-tab-header-component",{"dragService":[1040],"selected":[4],"hovered":[4],"position":[1],"iconName":[1,"icon-name"],"header":[1],"isActive":[4,"is-active"],"resourceStrings":[16],"forcedDrag":[4,"forced-drag"],"disabled":[4],"showHeaderIconOnHover":[1,"show-header-icon-on-hover"]},[[1,"mousedown","handleMouseDown"],[1,"mouseenter","handleMouseEnter"],[1,"mouseleave","handleMouseLeave"]]],[1,"igc-floating-pane-component",{"allowResize":[4,"allow-resize"],"floatingLocation":[16],"floatingWidth":[2,"floating-width"],"floatingHeight":[2,"floating-height"],"hasHeader":[4,"has-header"],"maximized":[4],"floatingMinHeight":[2,"floating-min-height"],"floatingMinWidth":[2,"floating-min-width"],"floatingId":[1,"floating-id"]}],[2,"igc-root-docking-indicator-component",{"position":[1]}],[1,"igc-content-pane-component",{"size":[2],"isFlyout":[4,"is-flyout"],"unpinnedSize":[2,"unpinned-size"],"header":[1],"disabled":[4],"isSingleFloating":[4,"is-single-floating"]}],[2,"igc-document-host-component",{"size":[2]}],[1,"igc-pane-navigator-component",{"activeDocuments":[16],"activePanes":[16],"selectedIndex":[1026,"selected-index"],"previousActivePaneIndex":[2,"previous-active-pane-index"],"resourceStrings":[16]},[[0,"keyup","handleKeyUp"],[0,"keydown","handleKeydown"]]],[2,"igc-split-pane-component",{"orientation":[1],"size":[2]}],[1,"igc-splitter-component",{"splitPaneOrientation":[1,"split-pane-orientation"],"flyoutLocation":[1,"flyout-location"],"showDragGhost":[32],"dragOffset":[32],"hasCustomSplitterHandle":[32]},[[0,"keydown","handleKeydownEvent"],[1,"mousedown","handleMouseDown"]]],[1,"igc-tab-panel-component",{"selected":[4],"disabled":[4]}],[1,"igc-unpinned-pane-header-component",{"location":[1],"isActive":[4,"is-active"],"disabled":[4]}],[1,"igc-context-menu-component",{"orientation":[1],"position":[1],"target":[16],"items":[16],"activeIndex":[1026,"active-index"]},[[0,"focusout","emitMenuClosed"]]],[2,"igc-joystick-icon-component",{"isDocHost":[4,"is-doc-host"],"position":[1],"empty":[4]}],[2,"igc-resizer-component",{"orientation":[1],"dragOffsetX":[32],"dragOffsetY":[32]}],[1,"igc-button-component",{"disabled":[4],"name":[513],"type":[513],"value":[513]}],[2,"igc-icon-component",{"name":[1]}]]]], options);
17
+ return index.bootstrapLazy([["igc-button-component_20.cjs",[[2,"sample-component",{"hiddenPanes":[1040]}],[1,"igc-dockmanager",{"navigationPaneMeta":[1040],"allowMaximize":[4,"allow-maximize"],"showHeaderIconOnHover":[1,"show-header-icon-on-hover"],"maximizedPane":[1040],"resourceStrings":[1040],"allowFloatingPanesResize":[4,"allow-floating-panes-resize"],"disableKeyboardNavigation":[4,"disable-keyboard-navigation"],"contextMenuPosition":[1,"context-menu-position"],"layout":[1040],"draggedPane":[1040],"dropPosition":[16],"activePane":[1040],"dropTargetPaneInfo":[32],"flyoutPane":[32],"floatingPaneZIndicesMap":[32],"contextMenuMeta":[32],"dropShadowRect":[32],"templates":[32],"hasCustomMaximizeButton":[32],"hasCustomMinimizeButton":[32],"dropPane":[64],"removePane":[64]},[[0,"focusout","handleFocusOut"],[0,"keydown","handleKeyDown"],[1,"pointerdown","handlePointerDown"],[1,"pointerup","handlePointerUp"]]],[1,"igc-tabs-component",{"size":[2],"maximized":[4],"allowMaximize":[4,"allow-maximize"],"tabHeadersPosition":[1,"tab-headers-position"],"selectedIndex":[1026,"selected-index"],"hasHeaders":[4,"has-headers"],"showHiddenTabsMenu":[4,"show-hidden-tabs-menu"],"resourceStrings":[16],"hiddenTabsMenuMeta":[32],"hasHiddenTabs":[32]},[[0,"tabMouseDown","handleTabMouseDown"]]],[2,"igc-joystick-indicator-component",{"dropTargetPaneInfo":[16],"documentOnlyDrag":[4,"document-only-drag"]}],[1,"igc-pane-header-component",{"dragService":[1040],"pinned":[4],"maximized":[4],"isFloating":[4,"is-floating"],"forcedDrag":[4,"forced-drag"],"isFloatingPaneHeader":[4,"is-floating-pane-header"],"allowClose":[4,"allow-close"],"allowMaximize":[4,"allow-maximize"],"allowPinning":[4,"allow-pinning"],"pane":[16],"isActive":[4,"is-active"],"disabled":[4],"resourceStrings":[16]}],[1,"igc-tab-header-component",{"dragService":[1040],"selected":[4],"hovered":[4],"position":[1],"iconName":[1,"icon-name"],"header":[1],"isActive":[4,"is-active"],"resourceStrings":[16],"forcedDrag":[4,"forced-drag"],"disabled":[4],"showHeaderIconOnHover":[1,"show-header-icon-on-hover"]},[[1,"mousedown","handleMouseDown"],[1,"mouseenter","handleMouseEnter"],[1,"mouseleave","handleMouseLeave"]]],[1,"igc-floating-pane-component",{"allowResize":[4,"allow-resize"],"floatingLocation":[16],"floatingWidth":[2,"floating-width"],"floatingHeight":[2,"floating-height"],"hasHeader":[4,"has-header"],"maximized":[4],"floatingMinHeight":[2,"floating-min-height"],"floatingMinWidth":[2,"floating-min-width"],"floatingId":[1,"floating-id"]}],[2,"igc-root-docking-indicator-component",{"position":[1]}],[1,"igc-content-pane-component",{"size":[2],"isFlyout":[4,"is-flyout"],"unpinnedSize":[2,"unpinned-size"],"header":[1],"disabled":[4],"isSingleFloating":[4,"is-single-floating"]}],[2,"igc-document-host-component",{"size":[2]}],[1,"igc-pane-navigator-component",{"activeDocuments":[16],"activePanes":[16],"selectedIndex":[1026,"selected-index"],"previousActivePaneIndex":[2,"previous-active-pane-index"],"resourceStrings":[16]},[[0,"keyup","handleKeyUp"],[0,"keydown","handleKeydown"]]],[2,"igc-split-pane-component",{"orientation":[1],"size":[2]}],[1,"igc-splitter-component",{"showDragGhost":[4,"show-drag-ghost"],"splitPaneOrientation":[1,"split-pane-orientation"],"flyoutLocation":[1,"flyout-location"],"dragOffset":[32],"hasCustomSplitterHandle":[32]},[[0,"keydown","handleKeydownEvent"],[1,"mousedown","handleMouseDown"]]],[1,"igc-tab-panel-component",{"selected":[4],"disabled":[4]}],[1,"igc-unpinned-pane-header-component",{"location":[1],"isActive":[4,"is-active"],"disabled":[4]}],[1,"igc-context-menu-component",{"orientation":[1],"position":[1],"target":[16],"items":[16],"activeIndex":[1026,"active-index"]},[[0,"focusout","emitMenuClosed"]]],[2,"igc-joystick-icon-component",{"isDocHost":[4,"is-doc-host"],"position":[1],"empty":[4]}],[2,"igc-resizer-component",{"orientation":[1],"dragOffsetX":[32],"dragOffsetY":[32]}],[1,"igc-button-component",{"disabled":[4],"name":[513],"type":[513],"value":[513]}],[2,"igc-icon-component",{"name":[1]}]]]], options);
18
18
  });
19
19
  };
20
20
 
@@ -2,6 +2,7 @@
2
2
  "entries": [
3
3
  "./components/button/button-component.js",
4
4
  "./components/context-menu/context-menu-component.js",
5
+ "./components/dockmanager/panes/splitter-component.js",
5
6
  "./components/dockmanager/dockmanager-component.js",
6
7
  "./components/dockmanager/docking/joystick-icon-component.js",
7
8
  "./components/dockmanager/docking/joystick-indicator-component.js",
@@ -13,7 +14,6 @@
13
14
  "./components/dockmanager/panes/pane-header-component.js",
14
15
  "./components/dockmanager/panes/resizer-component.js",
15
16
  "./components/dockmanager/panes/split-pane-component.js",
16
- "./components/dockmanager/panes/splitter-component.js",
17
17
  "./components/dockmanager/panes/unpinned-pane-header-component.js",
18
18
  "./components/icon/icon-component.js",
19
19
  "./components/sample-component/sample-component.js",
@@ -31,15 +31,29 @@ export class IgcContextMenuComponent {
31
31
  componentDidLoad() {
32
32
  const menuItemsDivRect = this.menuItemsDiv.getBoundingClientRect();
33
33
  const hostRect = this.elem.getBoundingClientRect();
34
- const tabRect = this.target.getRootNode().host.getBoundingClientRect();
35
- const isRTL = tabRect.right - menuItemsDivRect.right <= 0;
36
- const menuToBottom = tabRect.top - menuItemsDivRect.top + tabRect.height;
37
- const menuToTop = tabRect.top - menuItemsDivRect.height - menuItemsDivRect.top;
38
- const menuToStart = isRTL ? tabRect.right - menuItemsDivRect.width : tabRect.left;
39
- const menuToEnd = isRTL ? tabRect.left : tabRect.right - menuItemsDivRect.width;
40
- const menuToCenter = tabRect.left + (tabRect.width - menuItemsDivRect.width) / 2;
34
+ const rootNodeShadowHost = this.target.getRootNode();
35
+ const rootHostRect = rootNodeShadowHost.host.getBoundingClientRect();
36
+ const isTabs = rootNodeShadowHost.host.tagName.toLowerCase() === 'igc-tab-header-component';
37
+ const tabsContentHost = isTabs ? rootNodeShadowHost.host.parentElement.shadowRoot : rootNodeShadowHost;
38
+ const tabRect = tabsContentHost.host.getBoundingClientRect();
39
+ const tabsContentRect = tabsContentHost.querySelector('div[part~="tabs-content"]').getBoundingClientRect();
40
+ const tabStripArea = tabsContentHost.querySelector('div[part~="tab-strip-area"]').getBoundingClientRect();
41
+ const isRTL = rootHostRect.right - menuItemsDivRect.right <= 0;
42
+ const shouldChangeOpenOrientation = tabRect.bottom + menuItemsDivRect.height >= window.innerHeight
43
+ || tabRect.height + menuItemsDivRect.height >= window.innerHeight;
44
+ const menuToBottom = shouldChangeOpenOrientation
45
+ ? tabsContentRect.top + (tabsContentRect.height - menuItemsDivRect.bottom)
46
+ : rootHostRect.top - menuItemsDivRect.top + rootHostRect.height;
47
+ const menuToTop = tabStripArea.height + (menuItemsDivRect.top - rootHostRect.top);
48
+ const menuToStart = isRTL ? rootHostRect.right - menuItemsDivRect.width : rootHostRect.left;
49
+ const menuToEnd = isRTL ? rootHostRect.left : rootHostRect.right - menuItemsDivRect.width;
50
+ const menuToCenter = rootHostRect.left + (rootHostRect.width - menuItemsDivRect.width) / 2;
41
51
  let menuLeft = !isRTL ? menuToStart : menuToEnd;
42
- let menuTop = this.orientation === IgcContextMenuOrientation.bottom ? menuToBottom : menuToTop;
52
+ let menuTop = this.orientation === IgcContextMenuOrientation.bottom
53
+ ? isTabs
54
+ ? menuToBottom
55
+ : menuToTop
56
+ : menuToBottom;
43
57
  const menuBottom = menuTop + menuItemsDivRect.height;
44
58
  menuTop = menuTop >= 0 ? menuTop : menuToBottom;
45
59
  switch (this.position) {
@@ -47,10 +61,10 @@ export class IgcContextMenuComponent {
47
61
  menuLeft = menuToStart;
48
62
  break;
49
63
  case 'center':
50
- menuLeft = tabRect.width > menuItemsDivRect.width && menuToCenter;
64
+ menuLeft = rootHostRect.width > menuItemsDivRect.width && menuToCenter;
51
65
  break;
52
66
  case 'stretch':
53
- this.menuItemsDiv.style.width = tabRect.width > menuItemsDivRect.width && `${tabRect.width}px`;
67
+ this.menuItemsDiv.style.width = rootHostRect.width > menuItemsDivRect.width && `${rootHostRect.width}px`;
54
68
  break;
55
69
  case 'end':
56
70
  default:
@@ -59,6 +73,7 @@ export class IgcContextMenuComponent {
59
73
  if (this.orientation === IgcContextMenuOrientation.bottom && menuBottom > hostRect.height) {
60
74
  menuTop = menuToTop;
61
75
  }
76
+ menuLeft = menuLeft - menuItemsDivRect.left;
62
77
  this.menuItemsDiv.style.left = `${menuLeft}px`;
63
78
  this.menuItemsDiv.style.top = `${menuTop}px`;
64
79
  this.menuItemsDiv.style.visibility = 'visible';
@@ -27,6 +27,7 @@ export class IgcDockManager {
27
27
  this.scheduledCallbacks = [];
28
28
  this.shouldClearActivePane = true;
29
29
  this.isDragging = false;
30
+ this.splitterOffset = 1;
30
31
  this.templatableComponents = [
31
32
  {
32
33
  slot: 'paneHeaderCloseButton',
@@ -203,9 +204,7 @@ export class IgcDockManager {
203
204
  activePaneChange(newValue, oldValue) {
204
205
  var _a;
205
206
  const args = { newPane: newValue, oldPane: oldValue };
206
- if (this.flyoutPane &&
207
- newValue !== this.flyoutPane &&
208
- (!newValue || newValue.isPinned !== false || this.activePaneInternalSet)) {
207
+ if (this.flyoutPane && newValue && newValue !== this.flyoutPane) {
209
208
  this.service.flyoutPane(this.flyoutPane);
210
209
  }
211
210
  this.activePaneChanged.emit(args);
@@ -472,8 +471,17 @@ export class IgcDockManager {
472
471
  this.service.resizeFlyoutPane(event.detail);
473
472
  this.splitterResizeEnd.emit();
474
473
  }
475
- handleSplitterResizeStart() {
476
- this.splitterResizeStart.emit();
474
+ handleSplitterResizeStart(event) {
475
+ const splitter = event.target;
476
+ const resizeStartEvent = this.splitterResizeStart.emit();
477
+ if (resizeStartEvent.defaultPrevented) {
478
+ this.splitterOffset = 0;
479
+ splitter.showDragGhost = false;
480
+ }
481
+ else {
482
+ this.splitterOffset = 1;
483
+ splitter.showDragGhost = true;
484
+ }
477
485
  }
478
486
  handleSplitterResizeEnd(parentPane, pane, event) {
479
487
  const splitter = event.target;
@@ -482,7 +490,7 @@ export class IgcDockManager {
482
490
  const paneComponents = splitPaneChildren.filter(c => c.tagName.toLowerCase() !== 'igc-splitter-component');
483
491
  const sizeProperty = parentPane.orientation === IgcSplitPaneOrientation.horizontal ? 'offsetWidth' : 'offsetHeight';
484
492
  const sizeSum = paneComponents.reduce((s, p) => p[sizeProperty] + s, 0);
485
- let offsetPercentage = event.detail / sizeSum;
493
+ let offsetPercentage = this.splitterOffset * event.detail / sizeSum;
486
494
  let rtl = false;
487
495
  if (this.element.dir !== '') {
488
496
  rtl = this.element.dir === 'rtl';
@@ -764,8 +772,10 @@ export class IgcDockManager {
764
772
  if ((!this.dropTargetPaneInfo || this.dropTargetPaneInfo.pane !== dropPane) && dropPane !== this.draggedPane) {
765
773
  const docHost = this.service.getDocHostParent(dropPane);
766
774
  const dropPaneRoot = this.service.getRootParent(dropPane);
767
- const floatingPaneWithoutDocHost = this.layout.floatingPanes.indexOf(dropPaneRoot) !== -1 &&
768
- !this.service.getChildDocHostRecursive(dropPaneRoot);
775
+ const floatingPaneWithoutDocHost = this.layout.floatingPanes
776
+ ? this.layout.floatingPanes.indexOf(dropPaneRoot) !== -1 &&
777
+ !this.service.getChildDocHostRecursive(dropPaneRoot)
778
+ : false;
769
779
  if (!this.documentOnlyDrag
770
780
  || docHost
771
781
  || floatingPaneWithoutDocHost
@@ -861,8 +871,11 @@ export class IgcDockManager {
861
871
  if (!targetPane) {
862
872
  targetPane = pane.panes[0];
863
873
  }
864
- this.setActivePane(targetPane);
865
- this.setFocus(targetPane);
874
+ const nodeName = event.target.nodeName.toLowerCase();
875
+ if (nodeName === 'igc-dockmanager') {
876
+ this.setActivePane(targetPane);
877
+ this.setFocus(targetPane);
878
+ }
866
879
  this.contentPaneId = targetPane.contentId;
867
880
  });
868
881
  }
@@ -1170,6 +1183,11 @@ export class IgcDockManager {
1170
1183
  }
1171
1184
  handlePaneNavigatorClosed(ev) {
1172
1185
  this.service.normalizeMaximizedPane(ev.detail);
1186
+ const parent = this.service.getRootParent(ev.detail);
1187
+ const isParentFloating = this.service.isFloatingPane(parent);
1188
+ if (isParentFloating) {
1189
+ this.service.bringFloatingPaneOnTop(parent);
1190
+ }
1173
1191
  if (ev.detail && this.activePane !== ev.detail) {
1174
1192
  this.activePane = ev.detail;
1175
1193
  }
@@ -19,6 +19,9 @@ export class IgcSplitterComponent {
19
19
  this.dragEndHelper();
20
20
  };
21
21
  this.dragMove = (args) => {
22
+ if (!this.ghostElement) {
23
+ return;
24
+ }
22
25
  const rect = this.ghostElement.getBoundingClientRect();
23
26
  const isHorizontal = this.splitPaneOrientation === IgcSplitPaneOrientation.horizontal;
24
27
  const clientCoordinate = isHorizontal ? args.clientX : args.clientY;
@@ -222,6 +225,23 @@ export class IgcSplitterComponent {
222
225
  "$": ["splitter-component.css"]
223
226
  }; }
224
227
  static get properties() { return {
228
+ "showDragGhost": {
229
+ "type": "boolean",
230
+ "mutable": false,
231
+ "complexType": {
232
+ "original": "boolean",
233
+ "resolved": "boolean",
234
+ "references": {}
235
+ },
236
+ "required": false,
237
+ "optional": false,
238
+ "docs": {
239
+ "tags": [],
240
+ "text": ""
241
+ },
242
+ "attribute": "show-drag-ghost",
243
+ "reflect": false
244
+ },
225
245
  "splitPaneOrientation": {
226
246
  "type": "string",
227
247
  "mutable": false,
@@ -268,7 +288,6 @@ export class IgcSplitterComponent {
268
288
  }
269
289
  }; }
270
290
  static get states() { return {
271
- "showDragGhost": {},
272
291
  "dragOffset": {},
273
292
  "hasCustomSplitterHandle": {}
274
293
  }; }
@@ -468,6 +468,10 @@ export class SampleComponent {
468
468
  handleDragEnd(event) {
469
469
  this.log(event);
470
470
  }
471
+ handleSplitterResizeStart(event) {
472
+ this.log(event, Object.assign({}, event.detail));
473
+ // event.preventDefault();
474
+ }
471
475
  handleFloatingPaneResizeStart(event) {
472
476
  this.log(event, Object.assign({}, event.detail));
473
477
  // event.preventDefault();
@@ -514,7 +518,7 @@ export class SampleComponent {
514
518
  })),
515
519
  h("button", { onClick: () => this.showPane() }, "Show Pane"),
516
520
  h("button", { onClick: () => this.showAllPanes() }, "Show All Panes")),
517
- h("igc-dockmanager", { layout: this.layout, onPaneClose: this.handlePaneClose.bind(this), onPanePinnedToggle: this.handlePinnedToggle.bind(this), onActivePaneChanged: this.handleActivePaneChanged.bind(this), onPaneDragStart: this.handleDragStart.bind(this), onPaneDragOver: this.handleDragOver.bind(this), onPaneDragEnd: this.handleDragEnd.bind(this), onFloatingPaneResizeStart: this.handleFloatingPaneResizeStart.bind(this), onFloatingPaneResizeMove: this.handleFloatingPaneResizeMove.bind(this), onFloatingPaneResizeEnd: this.handleFloatingPaneResizeEnd.bind(this), onLayoutChange: this.handleLayoutChange.bind(this),
521
+ h("igc-dockmanager", { layout: this.layout, onPaneClose: this.handlePaneClose.bind(this), onPanePinnedToggle: this.handlePinnedToggle.bind(this), onActivePaneChanged: this.handleActivePaneChanged.bind(this), onPaneDragStart: this.handleDragStart.bind(this), onPaneDragOver: this.handleDragOver.bind(this), onPaneDragEnd: this.handleDragEnd.bind(this), onSplitterResizeStart: this.handleSplitterResizeStart.bind(this), onFloatingPaneResizeStart: this.handleFloatingPaneResizeStart.bind(this), onFloatingPaneResizeMove: this.handleFloatingPaneResizeMove.bind(this), onFloatingPaneResizeEnd: this.handleFloatingPaneResizeEnd.bind(this), onLayoutChange: this.handleLayoutChange.bind(this),
518
522
  // resourceStrings={this.getCustomResourceStrings()}
519
523
  ref: el => this.dockManager = el,
520
524
  // allowFloatingPanesResize={false}