dockview-core 7.0.4 → 8.1.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.
- package/LICENCE.md +21 -0
- package/README.md +17 -86
- package/dist/cjs/api/component.api.d.ts +100 -9
- package/dist/cjs/api/dockviewGroupPanelApi.d.ts +45 -1
- package/dist/cjs/api/dockviewPanelApi.d.ts +21 -0
- package/dist/cjs/dismissableLayer.d.ts +57 -0
- package/dist/cjs/dnd/backend.d.ts +2 -2
- package/dist/cjs/dnd/dataTransfer.d.ts +1 -0
- package/dist/cjs/dnd/dropTargetAnchorContainer.d.ts +12 -0
- package/dist/cjs/dnd/droptarget.d.ts +94 -0
- package/dist/cjs/dnd/ghost.d.ts +1 -0
- package/dist/cjs/dnd/pointer/longPress.d.ts +2 -2
- package/dist/cjs/dnd/pointer/pointerDragController.d.ts +5 -2
- package/dist/cjs/dnd/pointer/pointerDragSource.d.ts +1 -1
- package/dist/cjs/dnd/pointer/pointerDropTarget.d.ts +30 -1
- package/dist/cjs/dnd/pointer/pointerGhost.d.ts +1 -1
- package/dist/cjs/dockview/accessibilityMessages.d.ts +6 -0
- package/dist/cjs/dockview/advancedDnDService.d.ts +31 -0
- package/dist/cjs/dockview/components/panel/content.d.ts +1 -1
- package/dist/cjs/dockview/components/tab/defaultTab.d.ts +2 -0
- package/dist/cjs/dockview/components/tab/tab.d.ts +2 -0
- package/dist/cjs/dockview/components/titlebar/floatingTitleBar.d.ts +2 -2
- package/dist/cjs/dockview/components/titlebar/groupDragSource.d.ts +1 -1
- package/dist/cjs/dockview/components/titlebar/tabGroupChip.d.ts +1 -1
- package/dist/cjs/dockview/components/titlebar/tabGroupIndicator.d.ts +73 -2
- package/dist/cjs/dockview/components/titlebar/tabGroups.d.ts +1 -1
- package/dist/cjs/dockview/components/titlebar/tabReorderController.d.ts +295 -0
- package/dist/cjs/dockview/components/titlebar/tabs.d.ts +120 -50
- package/dist/cjs/dockview/components/titlebar/tabsContainer.d.ts +48 -0
- package/dist/cjs/dockview/dndCapabilities.d.ts +1 -1
- package/dist/cjs/dockview/dockviewComponent.d.ts +307 -19
- package/dist/cjs/dockview/dockviewGroupPanel.d.ts +5 -0
- package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +76 -2
- package/dist/cjs/dockview/dockviewPanel.d.ts +12 -0
- package/dist/cjs/dockview/dockviewShell.d.ts +48 -24
- package/dist/cjs/dockview/edgeGroupService.d.ts +20 -0
- package/dist/cjs/dockview/events.d.ts +6 -0
- package/dist/cjs/dockview/liveRegionService.d.ts +18 -5
- package/dist/cjs/dockview/moduleContracts.d.ts +485 -14
- package/dist/cjs/dockview/modules.d.ts +101 -22
- package/dist/cjs/dockview/options.d.ts +336 -30
- package/dist/cjs/dockview/optionsModules.d.ts +73 -0
- package/dist/cjs/dockview/popoutWindowService.d.ts +15 -10
- package/dist/cjs/dockview/rootDropTargetService.d.ts +11 -0
- package/dist/cjs/dockview/tabGroup.d.ts +3 -0
- package/dist/cjs/dockview/tabGroupAccent.d.ts +1 -1
- package/dist/cjs/dockview/tabGroupChipsService.d.ts +10 -0
- package/dist/cjs/dockview/theme.d.ts +2 -2
- package/dist/cjs/dockview/types.d.ts +3 -0
- package/dist/cjs/dom.d.ts +9 -1
- package/dist/cjs/events.d.ts +1 -1
- package/dist/cjs/gridview/baseComponentGridview.d.ts +2 -2
- package/dist/cjs/gridview/branchNode.d.ts +16 -0
- package/dist/cjs/gridview/gridview.d.ts +2 -0
- package/dist/cjs/index.d.ts +35 -29
- package/dist/cjs/lifecycle.d.ts +1 -0
- package/dist/cjs/overlay/overlay.d.ts +4 -2
- package/dist/cjs/overlay/overlayRenderContainer.d.ts +8 -0
- package/dist/cjs/paneview/paneview.d.ts +2 -1
- package/dist/cjs/paneview/paneviewComponent.d.ts +3 -0
- package/dist/cjs/paneview/paneviewPanel.d.ts +5 -0
- package/dist/cjs/scrollbar.d.ts +10 -0
- package/dist/cjs/splitview/viewItem.d.ts +10 -0
- package/dist/cjs/svg.d.ts +1 -0
- package/dist/cjs/types.d.ts +8 -0
- package/dist/dockview-core.js +18513 -19679
- package/dist/dockview-core.min.js +4138 -6
- package/dist/dockview-core.min.noStyle.js +6 -7
- package/dist/dockview-core.noStyle.js +18512 -19656
- package/dist/package/main.cjs.js +18123 -19267
- package/dist/package/main.cjs.min.js +6 -6
- package/dist/package/main.esm.min.mjs +6 -6
- package/dist/package/main.esm.mjs +18081 -19260
- package/package.json +81 -77
- package/dist/cjs/api/component.api.js +0 -1242
- package/dist/cjs/api/dockviewGroupPanelApi.js +0 -200
- package/dist/cjs/api/dockviewPanelApi.js +0 -172
- package/dist/cjs/api/entryPoints.js +0 -27
- package/dist/cjs/api/gridviewPanelApi.js +0 -45
- package/dist/cjs/api/panelApi.js +0 -133
- package/dist/cjs/api/paneviewPanelApi.js +0 -57
- package/dist/cjs/api/splitviewPanelApi.js +0 -47
- package/dist/cjs/array.js +0 -66
- package/dist/cjs/constants.js +0 -11
- package/dist/cjs/dnd/backend.js +0 -171
- package/dist/cjs/dnd/dataTransfer.js +0 -100
- package/dist/cjs/dnd/dnd.js +0 -74
- package/dist/cjs/dnd/dropOverlay.js +0 -197
- package/dist/cjs/dnd/dropTargetAnchorContainer.js +0 -104
- package/dist/cjs/dnd/droptarget.js +0 -362
- package/dist/cjs/dnd/ghost.js +0 -17
- package/dist/cjs/dnd/pointer/index.js +0 -13
- package/dist/cjs/dnd/pointer/longPress.js +0 -151
- package/dist/cjs/dnd/pointer/pointerDragController.js +0 -243
- package/dist/cjs/dnd/pointer/pointerDragSource.js +0 -197
- package/dist/cjs/dnd/pointer/pointerDropTarget.js +0 -198
- package/dist/cjs/dnd/pointer/pointerGhost.js +0 -44
- package/dist/cjs/dnd/pointer/types.js +0 -2
- package/dist/cjs/dockview/accessibilityMessages.js +0 -51
- package/dist/cjs/dockview/allModules.js +0 -25
- package/dist/cjs/dockview/components/panel/content.js +0 -213
- package/dist/cjs/dockview/components/popupService.js +0 -132
- package/dist/cjs/dockview/components/tab/defaultTab.js +0 -70
- package/dist/cjs/dockview/components/tab/tab.js +0 -281
- package/dist/cjs/dockview/components/titlebar/floatingTitleBar.js +0 -95
- package/dist/cjs/dockview/components/titlebar/groupDragSource.js +0 -218
- package/dist/cjs/dockview/components/titlebar/tabGroupChip.js +0 -104
- package/dist/cjs/dockview/components/titlebar/tabGroupIndicator.js +0 -477
- package/dist/cjs/dockview/components/titlebar/tabGroups.js +0 -854
- package/dist/cjs/dockview/components/titlebar/tabOverflowControl.js +0 -19
- package/dist/cjs/dockview/components/titlebar/tabs.js +0 -2016
- package/dist/cjs/dockview/components/titlebar/tabsContainer.js +0 -458
- package/dist/cjs/dockview/components/titlebar/voidContainer.js +0 -120
- package/dist/cjs/dockview/components/watermark/watermark.js +0 -40
- package/dist/cjs/dockview/deserializer.js +0 -39
- package/dist/cjs/dockview/dndCapabilities.js +0 -39
- package/dist/cjs/dockview/dockviewComponent.js +0 -3896
- package/dist/cjs/dockview/dockviewFloatingGroupPanel.js +0 -70
- package/dist/cjs/dockview/dockviewGroupPanel.js +0 -204
- package/dist/cjs/dockview/dockviewGroupPanelModel.js +0 -1514
- package/dist/cjs/dockview/dockviewPanel.js +0 -265
- package/dist/cjs/dockview/dockviewPanelModel.js +0 -105
- package/dist/cjs/dockview/dockviewShell.js +0 -744
- package/dist/cjs/dockview/edgeGroupService.js +0 -128
- package/dist/cjs/dockview/events.js +0 -67
- package/dist/cjs/dockview/floatingGroupService.js +0 -231
- package/dist/cjs/dockview/framework.js +0 -2
- package/dist/cjs/dockview/headerActionsService.js +0 -149
- package/dist/cjs/dockview/liveRegionService.js +0 -185
- package/dist/cjs/dockview/moduleContracts.js +0 -2
- package/dist/cjs/dockview/modules.js +0 -304
- package/dist/cjs/dockview/options.js +0 -103
- package/dist/cjs/dockview/popoutWindowService.js +0 -261
- package/dist/cjs/dockview/rootDropTargetService.js +0 -87
- package/dist/cjs/dockview/strictEventsSequencing.js +0 -63
- package/dist/cjs/dockview/tabGroup.js +0 -219
- package/dist/cjs/dockview/tabGroupAccent.js +0 -126
- package/dist/cjs/dockview/theme.js +0 -139
- package/dist/cjs/dockview/types.js +0 -2
- package/dist/cjs/dockview/validate.js +0 -76
- package/dist/cjs/dockview/watermarkService.js +0 -61
- package/dist/cjs/dom.js +0 -543
- package/dist/cjs/events.js +0 -296
- package/dist/cjs/framwork.js +0 -2
- package/dist/cjs/gridview/baseComponentGridview.js +0 -330
- package/dist/cjs/gridview/basePanelView.js +0 -162
- package/dist/cjs/gridview/branchNode.js +0 -372
- package/dist/cjs/gridview/gridview.js +0 -776
- package/dist/cjs/gridview/gridviewComponent.js +0 -363
- package/dist/cjs/gridview/gridviewPanel.js +0 -249
- package/dist/cjs/gridview/leafNode.js +0 -169
- package/dist/cjs/gridview/options.js +0 -17
- package/dist/cjs/gridview/types.js +0 -2
- package/dist/cjs/index.js +0 -105
- package/dist/cjs/lifecycle.js +0 -80
- package/dist/cjs/math.js +0 -38
- package/dist/cjs/overlay/overlay.js +0 -602
- package/dist/cjs/overlay/overlayRenderContainer.js +0 -309
- package/dist/cjs/panel/types.js +0 -2
- package/dist/cjs/paneview/defaultPaneviewHeader.js +0 -92
- package/dist/cjs/paneview/draggablePaneviewPanel.js +0 -141
- package/dist/cjs/paneview/options.js +0 -44
- package/dist/cjs/paneview/paneview.js +0 -203
- package/dist/cjs/paneview/paneviewComponent.js +0 -430
- package/dist/cjs/paneview/paneviewPanel.js +0 -275
- package/dist/cjs/popoutWindow.js +0 -244
- package/dist/cjs/resizable.js +0 -97
- package/dist/cjs/scrollbar.js +0 -169
- package/dist/cjs/splitview/options.js +0 -19
- package/dist/cjs/splitview/splitview.js +0 -999
- package/dist/cjs/splitview/splitviewComponent.js +0 -401
- package/dist/cjs/splitview/splitviewPanel.js +0 -179
- package/dist/cjs/splitview/viewItem.js +0 -119
- package/dist/cjs/svg.js +0 -43
- package/dist/cjs/types.js +0 -2
- package/dist/dockview-core.min.js.map +0 -1
- package/dist/dockview-core.min.noStyle.js.map +0 -1
- package/dist/esm/api/component.api.d.ts +0 -640
- package/dist/esm/api/component.api.js +0 -887
- package/dist/esm/api/dockviewGroupPanelApi.d.ts +0 -109
- package/dist/esm/api/dockviewGroupPanelApi.js +0 -155
- package/dist/esm/api/dockviewPanelApi.d.ts +0 -84
- package/dist/esm/api/dockviewPanelApi.js +0 -124
- package/dist/esm/api/entryPoints.d.ts +0 -9
- package/dist/esm/api/entryPoints.js +0 -21
- package/dist/esm/api/gridviewPanelApi.d.ts +0 -37
- package/dist/esm/api/gridviewPanelApi.js +0 -23
- package/dist/esm/api/panelApi.d.ts +0 -100
- package/dist/esm/api/panelApi.js +0 -87
- package/dist/esm/api/paneviewPanelApi.d.ts +0 -26
- package/dist/esm/api/paneviewPanelApi.js +0 -27
- package/dist/esm/api/splitviewPanelApi.d.ts +0 -32
- package/dist/esm/api/splitviewPanelApi.js +0 -25
- package/dist/esm/array.d.ts +0 -13
- package/dist/esm/array.js +0 -57
- package/dist/esm/constants.d.ts +0 -8
- package/dist/esm/constants.js +0 -8
- package/dist/esm/dnd/backend.d.ts +0 -70
- package/dist/esm/dnd/backend.js +0 -148
- package/dist/esm/dnd/dataTransfer.d.ts +0 -31
- package/dist/esm/dnd/dataTransfer.js +0 -67
- package/dist/esm/dnd/dnd.d.ts +0 -32
- package/dist/esm/dnd/dnd.js +0 -51
- package/dist/esm/dnd/dropOverlay.d.ts +0 -20
- package/dist/esm/dnd/dropOverlay.js +0 -192
- package/dist/esm/dnd/dropTargetAnchorContainer.d.ts +0 -16
- package/dist/esm/dnd/dropTargetAnchorContainer.js +0 -73
- package/dist/esm/dnd/droptarget.d.ts +0 -116
- package/dist/esm/dnd/droptarget.js +0 -316
- package/dist/esm/dnd/ghost.d.ts +0 -4
- package/dist/esm/dnd/ghost.js +0 -14
- package/dist/esm/dnd/pointer/index.d.ts +0 -11
- package/dist/esm/dnd/pointer/index.js +0 -5
- package/dist/esm/dnd/pointer/longPress.d.ts +0 -32
- package/dist/esm/dnd/pointer/longPress.js +0 -127
- package/dist/esm/dnd/pointer/pointerDragController.d.ts +0 -60
- package/dist/esm/dnd/pointer/pointerDragController.js +0 -193
- package/dist/esm/dnd/pointer/pointerDragSource.d.ts +0 -61
- package/dist/esm/dnd/pointer/pointerDragSource.js +0 -173
- package/dist/esm/dnd/pointer/pointerDropTarget.d.ts +0 -39
- package/dist/esm/dnd/pointer/pointerDropTarget.js +0 -168
- package/dist/esm/dnd/pointer/pointerGhost.d.ts +0 -30
- package/dist/esm/dnd/pointer/pointerGhost.js +0 -39
- package/dist/esm/dnd/pointer/types.d.ts +0 -16
- package/dist/esm/dnd/pointer/types.js +0 -1
- package/dist/esm/dockview/accessibilityMessages.d.ts +0 -32
- package/dist/esm/dockview/accessibilityMessages.js +0 -30
- package/dist/esm/dockview/allModules.d.ts +0 -8
- package/dist/esm/dockview/allModules.js +0 -22
- package/dist/esm/dockview/components/panel/content.d.ts +0 -54
- package/dist/esm/dockview/components/panel/content.js +0 -185
- package/dist/esm/dockview/components/popupService.d.ts +0 -21
- package/dist/esm/dockview/components/popupService.js +0 -108
- package/dist/esm/dockview/components/tab/defaultTab.d.ts +0 -12
- package/dist/esm/dockview/components/tab/defaultTab.js +0 -43
- package/dist/esm/dockview/components/tab/tab.d.ts +0 -44
- package/dist/esm/dockview/components/tab/tab.js +0 -242
- package/dist/esm/dockview/components/titlebar/floatingTitleBar.d.ts +0 -34
- package/dist/esm/dockview/components/titlebar/floatingTitleBar.js +0 -65
- package/dist/esm/dockview/components/titlebar/groupDragSource.d.ts +0 -51
- package/dist/esm/dockview/components/titlebar/groupDragSource.js +0 -178
- package/dist/esm/dockview/components/titlebar/tabGroupChip.d.ts +0 -37
- package/dist/esm/dockview/components/titlebar/tabGroupChip.js +0 -77
- package/dist/esm/dockview/components/titlebar/tabGroupIndicator.d.ts +0 -72
- package/dist/esm/dockview/components/titlebar/tabGroupIndicator.js +0 -360
- package/dist/esm/dockview/components/titlebar/tabGroups.d.ts +0 -107
- package/dist/esm/dockview/components/titlebar/tabGroups.js +0 -621
- package/dist/esm/dockview/components/titlebar/tabOverflowControl.d.ts +0 -8
- package/dist/esm/dockview/components/titlebar/tabOverflowControl.js +0 -16
- package/dist/esm/dockview/components/titlebar/tabs.d.ts +0 -167
- package/dist/esm/dockview/components/titlebar/tabs.js +0 -1653
- package/dist/esm/dockview/components/titlebar/tabsContainer.d.ts +0 -104
- package/dist/esm/dockview/components/titlebar/tabsContainer.js +0 -359
- package/dist/esm/dockview/components/titlebar/voidContainer.d.ts +0 -21
- package/dist/esm/dockview/components/titlebar/voidContainer.js +0 -92
- package/dist/esm/dockview/components/watermark/watermark.d.ts +0 -8
- package/dist/esm/dockview/components/watermark/watermark.js +0 -14
- package/dist/esm/dockview/deserializer.d.ts +0 -12
- package/dist/esm/dockview/deserializer.js +0 -34
- package/dist/esm/dockview/dndCapabilities.d.ts +0 -19
- package/dist/esm/dockview/dndCapabilities.js +0 -36
- package/dist/esm/dockview/dockviewComponent.d.ts +0 -626
- package/dist/esm/dockview/dockviewComponent.js +0 -3214
- package/dist/esm/dockview/dockviewFloatingGroupPanel.d.ts +0 -45
- package/dist/esm/dockview/dockviewFloatingGroupPanel.js +0 -44
- package/dist/esm/dockview/dockviewGroupPanel.d.ts +0 -35
- package/dist/esm/dockview/dockviewGroupPanel.js +0 -142
- package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +0 -358
- package/dist/esm/dockview/dockviewGroupPanelModel.js +0 -1180
- package/dist/esm/dockview/dockviewPanel.d.ts +0 -69
- package/dist/esm/dockview/dockviewPanel.js +0 -178
- package/dist/esm/dockview/dockviewPanelModel.d.ts +0 -37
- package/dist/esm/dockview/dockviewPanelModel.js +0 -81
- package/dist/esm/dockview/dockviewShell.d.ts +0 -150
- package/dist/esm/dockview/dockviewShell.js +0 -678
- package/dist/esm/dockview/edgeGroupService.d.ts +0 -38
- package/dist/esm/dockview/edgeGroupService.js +0 -63
- package/dist/esm/dockview/events.d.ts +0 -38
- package/dist/esm/dockview/events.js +0 -34
- package/dist/esm/dockview/floatingGroupService.d.ts +0 -37
- package/dist/esm/dockview/floatingGroupService.js +0 -150
- package/dist/esm/dockview/framework.d.ts +0 -65
- package/dist/esm/dockview/framework.js +0 -1
- package/dist/esm/dockview/headerActionsService.d.ts +0 -32
- package/dist/esm/dockview/headerActionsService.js +0 -86
- package/dist/esm/dockview/liveRegionService.d.ts +0 -53
- package/dist/esm/dockview/liveRegionService.js +0 -159
- package/dist/esm/dockview/moduleContracts.d.ts +0 -119
- package/dist/esm/dockview/moduleContracts.js +0 -1
- package/dist/esm/dockview/modules.d.ts +0 -110
- package/dist/esm/dockview/modules.js +0 -170
- package/dist/esm/dockview/options.d.ts +0 -474
- package/dist/esm/dockview/options.js +0 -77
- package/dist/esm/dockview/popoutWindowService.d.ts +0 -95
- package/dist/esm/dockview/popoutWindowService.js +0 -175
- package/dist/esm/dockview/rootDropTargetService.d.ts +0 -35
- package/dist/esm/dockview/rootDropTargetService.js +0 -82
- package/dist/esm/dockview/strictEventsSequencing.d.ts +0 -7
- package/dist/esm/dockview/strictEventsSequencing.js +0 -41
- package/dist/esm/dockview/tabGroup.d.ts +0 -99
- package/dist/esm/dockview/tabGroup.js +0 -144
- package/dist/esm/dockview/tabGroupAccent.d.ts +0 -65
- package/dist/esm/dockview/tabGroupAccent.js +0 -114
- package/dist/esm/dockview/theme.d.ts +0 -86
- package/dist/esm/dockview/theme.js +0 -136
- package/dist/esm/dockview/types.d.ts +0 -53
- package/dist/esm/dockview/types.js +0 -1
- package/dist/esm/dockview/validate.d.ts +0 -0
- package/dist/esm/dockview/validate.js +0 -76
- package/dist/esm/dockview/watermarkService.d.ts +0 -30
- package/dist/esm/dockview/watermarkService.js +0 -56
- package/dist/esm/dom.d.ts +0 -60
- package/dist/esm/dom.js +0 -375
- package/dist/esm/events.d.ts +0 -79
- package/dist/esm/events.js +0 -219
- package/dist/esm/framwork.d.ts +0 -4
- package/dist/esm/framwork.js +0 -1
- package/dist/esm/gridview/baseComponentGridview.d.ts +0 -111
- package/dist/esm/gridview/baseComponentGridview.js +0 -237
- package/dist/esm/gridview/basePanelView.d.ts +0 -40
- package/dist/esm/gridview/basePanelView.js +0 -91
- package/dist/esm/gridview/branchNode.d.ts +0 -57
- package/dist/esm/gridview/branchNode.js +0 -257
- package/dist/esm/gridview/gridview.d.ts +0 -158
- package/dist/esm/gridview/gridview.js +0 -681
- package/dist/esm/gridview/gridviewComponent.d.ts +0 -88
- package/dist/esm/gridview/gridviewComponent.js +0 -265
- package/dist/esm/gridview/gridviewPanel.d.ts +0 -77
- package/dist/esm/gridview/gridviewPanel.js +0 -182
- package/dist/esm/gridview/leafNode.d.ts +0 -34
- package/dist/esm/gridview/leafNode.js +0 -102
- package/dist/esm/gridview/options.d.ts +0 -15
- package/dist/esm/gridview/options.js +0 -14
- package/dist/esm/gridview/types.d.ts +0 -3
- package/dist/esm/gridview/types.js +0 -1
- package/dist/esm/index.d.ts +0 -58
- package/dist/esm/index.js +0 -44
- package/dist/esm/lifecycle.d.ts +0 -25
- package/dist/esm/lifecycle.js +0 -56
- package/dist/esm/math.d.ts +0 -5
- package/dist/esm/math.js +0 -32
- package/dist/esm/overlay/overlay.d.ts +0 -91
- package/dist/esm/overlay/overlay.js +0 -520
- package/dist/esm/overlay/overlayRenderContainer.d.ts +0 -24
- package/dist/esm/overlay/overlayRenderContainer.js +0 -249
- package/dist/esm/panel/types.d.ts +0 -33
- package/dist/esm/panel/types.js +0 -1
- package/dist/esm/paneview/defaultPaneviewHeader.d.ts +0 -21
- package/dist/esm/paneview/defaultPaneviewHeader.js +0 -65
- package/dist/esm/paneview/draggablePaneviewPanel.d.ts +0 -38
- package/dist/esm/paneview/draggablePaneviewPanel.js +0 -107
- package/dist/esm/paneview/options.d.ts +0 -30
- package/dist/esm/paneview/options.js +0 -22
- package/dist/esm/paneview/paneview.d.ts +0 -41
- package/dist/esm/paneview/paneview.js +0 -148
- package/dist/esm/paneview/paneviewComponent.d.ts +0 -133
- package/dist/esm/paneview/paneviewComponent.js +0 -306
- package/dist/esm/paneview/paneviewPanel.d.ts +0 -98
- package/dist/esm/paneview/paneviewPanel.js +0 -192
- package/dist/esm/popoutWindow.d.ts +0 -38
- package/dist/esm/popoutWindow.js +0 -170
- package/dist/esm/resizable.d.ts +0 -12
- package/dist/esm/resizable.js +0 -66
- package/dist/esm/scrollbar.d.ts +0 -15
- package/dist/esm/scrollbar.js +0 -139
- package/dist/esm/splitview/options.d.ts +0 -21
- package/dist/esm/splitview/options.js +0 -16
- package/dist/esm/splitview/splitview.d.ts +0 -145
- package/dist/esm/splitview/splitview.js +0 -770
- package/dist/esm/splitview/splitviewComponent.d.ts +0 -101
- package/dist/esm/splitview/splitviewComponent.js +0 -267
- package/dist/esm/splitview/splitviewPanel.d.ts +0 -45
- package/dist/esm/splitview/splitviewPanel.js +0 -108
- package/dist/esm/splitview/viewItem.d.ts +0 -25
- package/dist/esm/splitview/viewItem.js +0 -74
- package/dist/esm/svg.d.ts +0 -3
- package/dist/esm/svg.js +0 -31
- package/dist/esm/types.d.ts +0 -31
- package/dist/esm/types.js +0 -1
- package/dist/styles/dockview.css +0 -3436
package/LICENCE.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2021 mathuo
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,96 +1,27 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
+
|
|
3
|
+
<picture>
|
|
4
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/dockview/dockview/blob/HEAD/static/img/dockview-lockup-dark.svg?raw=true">
|
|
5
|
+
<img src="https://github.com/dockview/dockview/blob/HEAD/static/img/dockview-lockup-light.svg?raw=true" alt="Dockview" width="480">
|
|
6
|
+
</picture>
|
|
7
|
+
|
|
2
8
|
<h1>dockview-core</h1>
|
|
3
9
|
|
|
4
|
-
<p>
|
|
10
|
+
<p>Internal core layout engine. Not a supported install target.</p>
|
|
5
11
|
|
|
6
12
|
</div>
|
|
7
13
|
|
|
8
14
|
---
|
|
9
15
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
[
|
|
14
|
-
[
|
|
15
|
-
[
|
|
16
|
-
|
|
17
|
-
##
|
|
18
|
-
|
|
19
|
-

|
|
20
|
-
|
|
21
|
-
Please see the website: https://dockview.dev
|
|
22
|
-
|
|
23
|
-
> **`dockview-core` is an internal package.** Install
|
|
24
|
-
> **[`dockview`](https://www.npmjs.com/package/dockview)** instead — the JavaScript
|
|
25
|
-
> JavaScript / TypeScript package that ships the full feature set out of the box. Using a
|
|
26
|
-
> framework? Install the bindings: [`dockview-react`](https://www.npmjs.com/package/dockview-react),
|
|
27
|
-
> [`dockview-vue`](https://www.npmjs.com/package/dockview-vue) or
|
|
28
|
-
> [`dockview-angular`](https://www.npmjs.com/package/dockview-angular).
|
|
29
|
-
|
|
30
|
-
## Features
|
|
31
|
-
|
|
32
|
-
- Serialization / deserialization with full layout management
|
|
33
|
-
- Support for split-views, grid-views and 'dockable' views
|
|
34
|
-
- Themeable and customizable
|
|
35
|
-
- Tab and Group docking / Drag n' Drop
|
|
36
|
-
- Touch & mobile support
|
|
37
|
-
- Popout Windows
|
|
38
|
-
- Floating Groups
|
|
39
|
-
- Edge Groups
|
|
40
|
-
- Tab Groups
|
|
41
|
-
- Extensive API
|
|
42
|
-
- Supports Shadow DOMs
|
|
43
|
-
- High test coverage
|
|
44
|
-
- Documentation website with live examples
|
|
45
|
-
- Transparent builds and Code Analysis
|
|
46
|
-
- Security at mind - verified publishing and builds through GitHub Actions
|
|
47
|
-
|
|
48
|
-
## Quick Start
|
|
49
|
-
|
|
50
|
-
Install from [npm](https://www.npmjs.com/package/dockview-core):
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
npm install dockview-core
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Import the stylesheet:
|
|
57
|
-
|
|
58
|
-
```css
|
|
59
|
-
@import 'dockview-core/dist/styles/dockview.css';
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
Create a dockview instance:
|
|
63
|
-
|
|
64
|
-
```ts
|
|
65
|
-
import { DockviewComponent } from 'dockview-core';
|
|
66
|
-
|
|
67
|
-
const element = document.getElementById('app');
|
|
68
|
-
|
|
69
|
-
const dockview = new DockviewComponent(element, {
|
|
70
|
-
createComponent: (options) => {
|
|
71
|
-
switch (options.name) {
|
|
72
|
-
case 'my-component':
|
|
73
|
-
return {
|
|
74
|
-
init: (params) => {
|
|
75
|
-
params.containerElement.textContent = 'Hello World';
|
|
76
|
-
},
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
dockview.addPanel({
|
|
83
|
-
id: 'panel_1',
|
|
84
|
-
component: 'my-component',
|
|
85
|
-
});
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
Apply a theme to a parent element:
|
|
89
|
-
|
|
90
|
-
```html
|
|
91
|
-
<div id="app" class="dockview-theme-dark" style="height: 400px;"></div>
|
|
92
|
-
```
|
|
16
|
+
> **`dockview-core` is an internal package.** It is published only because the
|
|
17
|
+
> public packages depend on it at install time. Install one of these instead:
|
|
18
|
+
>
|
|
19
|
+
> - **[`dockview`](https://www.npmjs.com/package/dockview)** - JavaScript / TypeScript
|
|
20
|
+
> - **[`dockview-react`](https://www.npmjs.com/package/dockview-react)** - React
|
|
21
|
+
> - **[`dockview-vue`](https://www.npmjs.com/package/dockview-vue)** - Vue 3
|
|
22
|
+
> - **[`dockview-angular`](https://www.npmjs.com/package/dockview-angular)** - Angular
|
|
93
23
|
|
|
94
|
-
|
|
24
|
+
`dockview` re-exports this package in full, so everything documented on the website
|
|
25
|
+
is available from `dockview` or a framework binding.
|
|
95
26
|
|
|
96
|
-
|
|
27
|
+
Documentation: https://dockview.dev
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { DockviewActivePanelChangeEvent, DockviewLayoutMutationEvent, DockviewMaximizedGroupChangeEvent, DockviewPopoutGroupOptions, FloatingGroupOptions, GroupNavigationDirection, IDockviewComponent, MovePanelEvent, PopoutGroup, PopoutGroupChangePositionEvent, PopoutGroupChangeSizeEvent, SerializedDockview } from '../dockview/dockviewComponent';
|
|
2
|
-
import { AddGroupOptions, AddPanelOptions, DockviewComponentOptions, DockviewDndOverlayEvent, MovementOptions } from '../dockview/options';
|
|
1
|
+
import { DockviewActivePanelChangeEvent, DockviewPanelPinnedChangeEvent, DockviewLayoutMutationEvent, DockviewMaximizedGroupChangeEvent, DockviewPopoutGroupOptions, FloatingGroupOptions, GroupNavigationDirection, IDockviewComponent, MovePanelEvent, PopoutGroup, PopoutGroupChangePositionEvent, PopoutGroupChangeSizeEvent, SerializedDockview } from '../dockview/dockviewComponent';
|
|
2
|
+
import { AddGroupOptions, AddPanelOptions, DockviewComponentOptions, DockviewDndOverlayEvent, MovementOptions, SmartGuidesOptions } from '../dockview/options';
|
|
3
|
+
import { DockviewMessages } from '../dockview/accessibilityMessages';
|
|
3
4
|
import { Parameters } from '../panel/types';
|
|
4
5
|
import { Direction } from '../gridview/baseComponentGridview';
|
|
5
6
|
import { AddGridviewComponentOptions, IGridviewComponent, SerializedGridviewComponent } from '../gridview/gridviewComponent';
|
|
@@ -11,6 +12,7 @@ import { IView, Orientation, Sizing } from '../splitview/splitview';
|
|
|
11
12
|
import { ISplitviewPanel } from '../splitview/splitviewPanel';
|
|
12
13
|
import { DockviewGroupPanel, IDockviewGroupPanel } from '../dockview/dockviewGroupPanel';
|
|
13
14
|
import { Event } from '../events';
|
|
15
|
+
import { LayoutHistoryChangeEvent, SmartGuidesSnapEvent, SmartGuidesSnapTogetherEvent } from '../dockview/moduleContracts';
|
|
14
16
|
import { IDockviewPanel } from '../dockview/dockviewPanel';
|
|
15
17
|
import { PaneviewDidDropEvent } from '../paneview/draggablePaneviewPanel';
|
|
16
18
|
import { GroupDragEvent, TabDragEvent } from '../dockview/components/titlebar/tabsContainer';
|
|
@@ -21,7 +23,7 @@ import { DockviewTabGroupColorEntry } from '../dockview/tabGroupAccent';
|
|
|
21
23
|
import { PaneviewComponentOptions, PaneviewDndOverlayEvent } from '../paneview/options';
|
|
22
24
|
import { SplitviewComponentOptions } from '../splitview/options';
|
|
23
25
|
import { GridviewComponentOptions } from '../gridview/options';
|
|
24
|
-
import { EdgeGroupPosition,
|
|
26
|
+
import { EdgeGroupPosition, AddEdgeGroupOptions } from '../dockview/dockviewShell';
|
|
25
27
|
import { DockviewGroupPanelApi } from './dockviewGroupPanelApi';
|
|
26
28
|
export interface CommonApi<T = any> {
|
|
27
29
|
readonly height: number;
|
|
@@ -384,6 +386,11 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
|
|
|
384
386
|
* {@link DockviewOrigin} (`'user'` vs `'api'`) of the change.
|
|
385
387
|
*/
|
|
386
388
|
get onDidActivePanelChange(): Event<DockviewActivePanelChangeEvent>;
|
|
389
|
+
/**
|
|
390
|
+
* Fired when a panel is pinned or unpinned (PinnedTabs module). Carries the
|
|
391
|
+
* panel and its new `isPinned` state.
|
|
392
|
+
*/
|
|
393
|
+
get onDidPanelPinnedChange(): Event<DockviewPanelPinnedChangeEvent>;
|
|
387
394
|
/**
|
|
388
395
|
* Invoked when a panel is added. May be called multiple times when moving panels.
|
|
389
396
|
*/
|
|
@@ -416,7 +423,7 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
|
|
|
416
423
|
* Fires before each top-level structural layout mutation (add / remove /
|
|
417
424
|
* move / float / popout / maximize / load / clear). Compound operations
|
|
418
425
|
* (e.g. a drag) fire once. Pair with `onDidMutateLayout` to bracket a
|
|
419
|
-
* change
|
|
426
|
+
* change, which is useful for undo/redo, autosave and dirty-tracking.
|
|
420
427
|
*/
|
|
421
428
|
get onWillMutateLayout(): Event<DockviewLayoutMutationEvent>;
|
|
422
429
|
/** Fires after each top-level structural layout mutation. See `onWillMutateLayout`. */
|
|
@@ -451,7 +458,7 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
|
|
|
451
458
|
*/
|
|
452
459
|
get onDidAddPopoutGroup(): Event<PopoutGroup>;
|
|
453
460
|
/**
|
|
454
|
-
* Fires when a popout group is removed
|
|
461
|
+
* Fires when a popout group is removed, whether the user closed its window
|
|
455
462
|
* or it was docked back programmatically. Symmetric with
|
|
456
463
|
* {@link onDidAddPopoutGroup}; not fired during component disposal.
|
|
457
464
|
*/
|
|
@@ -493,7 +500,7 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
|
|
|
493
500
|
get groups(): DockviewGroupPanel[];
|
|
494
501
|
/**
|
|
495
502
|
* The nearest grid group in a spatial direction from `group`, comparing
|
|
496
|
-
* group centre points
|
|
503
|
+
* group centre points, e.g. the group visually to the left. Floating and
|
|
497
504
|
* popout groups are ignored. Returns `undefined` when there is no group in
|
|
498
505
|
* that direction. Pair with `group.api.boundingBox` to build your own
|
|
499
506
|
* spatial navigation.
|
|
@@ -507,6 +514,12 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
|
|
|
507
514
|
* Active group object.
|
|
508
515
|
*/
|
|
509
516
|
get activeGroup(): DockviewGroupPanel | undefined;
|
|
517
|
+
/**
|
|
518
|
+
* The resolved accessibility message catalog (the app's `messages`
|
|
519
|
+
* overrides merged over the English defaults). Used by parts that surface
|
|
520
|
+
* localisable AT strings, e.g. the default tab's close-button label.
|
|
521
|
+
*/
|
|
522
|
+
get messages(): DockviewMessages;
|
|
510
523
|
constructor(component: IDockviewComponent);
|
|
511
524
|
/**
|
|
512
525
|
* Focus the component. Will try to focus an active panel if one exists.
|
|
@@ -563,11 +576,64 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
|
|
|
563
576
|
*/
|
|
564
577
|
clear(): void;
|
|
565
578
|
/**
|
|
566
|
-
*
|
|
579
|
+
* Undo the previous recorded layout mutation. No-op when there is nothing
|
|
580
|
+
* to undo, when `layoutHistory.enabled` is not set, or when the
|
|
581
|
+
* LayoutHistory module is absent.
|
|
582
|
+
*/
|
|
583
|
+
undo(): void;
|
|
584
|
+
/** Re-apply the next layout mutation undone via {@link undo}. */
|
|
585
|
+
redo(): void;
|
|
586
|
+
/** Whether {@link undo} would do something. Reactive via {@link onDidChangeHistory}. */
|
|
587
|
+
get canUndo(): boolean;
|
|
588
|
+
/** Whether {@link redo} would do something. */
|
|
589
|
+
get canRedo(): boolean;
|
|
590
|
+
/** Drop both undo and redo stacks (e.g. on document switch). */
|
|
591
|
+
clearHistory(): void;
|
|
592
|
+
/** Fires whenever the undo/redo stacks change. */
|
|
593
|
+
get onDidChangeHistory(): Event<LayoutHistoryChangeEvent>;
|
|
594
|
+
/**
|
|
595
|
+
* Whether Smart Guides snapping is active (the `smartGuides` option is
|
|
596
|
+
* present + enabled and the module is registered). Reactive via
|
|
597
|
+
* {@link setSmartGuidesEnabled}.
|
|
598
|
+
*/
|
|
599
|
+
get smartGuidesEnabled(): boolean;
|
|
600
|
+
/** Toggle Smart Guides snapping at runtime (no-op when the module is absent). */
|
|
601
|
+
setSmartGuidesEnabled(enabled: boolean): void;
|
|
602
|
+
/** Merge a partial Smart Guides option override in at runtime. */
|
|
603
|
+
updateSmartGuidesOptions(options: Partial<SmartGuidesOptions>): void;
|
|
604
|
+
/** Fires when a dragged floating group commits an alignment snap on drop. */
|
|
605
|
+
get onDidSnapFloat(): Event<SmartGuidesSnapEvent>;
|
|
606
|
+
/** Fires when a dragged floating group docks/merges into another on drop. */
|
|
607
|
+
get onDidSnapTogether(): Event<SmartGuidesSnapTogetherEvent>;
|
|
608
|
+
/**
|
|
609
|
+
* Resolves once any in-flight popout-window restoration completes. Popout
|
|
610
|
+
* windows re-open asynchronously, so after an {@link undo} / {@link redo} (or
|
|
611
|
+
* {@link fromJSON}) that re-opens a popout, await this to know the window is
|
|
612
|
+
* ready. Already-resolved when nothing is restoring.
|
|
613
|
+
*/
|
|
614
|
+
get popoutRestorationPromise(): Promise<void>;
|
|
615
|
+
/**
|
|
616
|
+
* Activate the next panel or group, moving focus programmatically. Pass
|
|
617
|
+
* `{ includePanel: true }` to step through the panels of the active group
|
|
618
|
+
* before advancing to the next group.
|
|
619
|
+
*/
|
|
620
|
+
activateNext(options?: MovementOptions): void;
|
|
621
|
+
/**
|
|
622
|
+
* Activate the previous panel or group, moving focus programmatically. Pass
|
|
623
|
+
* `{ includePanel: true }` to step through the panels of the active group
|
|
624
|
+
* before advancing to the previous group.
|
|
625
|
+
*/
|
|
626
|
+
activatePrevious(options?: MovementOptions): void;
|
|
627
|
+
/**
|
|
628
|
+
* @deprecated Use {@link DockviewApi.activateNext} instead. Renamed because
|
|
629
|
+
* this advances the active panel/group (focus), it does not relocate a
|
|
630
|
+
* panel. Removal planned for a future major release.
|
|
567
631
|
*/
|
|
568
632
|
moveToNext(options?: MovementOptions): void;
|
|
569
633
|
/**
|
|
570
|
-
*
|
|
634
|
+
* @deprecated Use {@link DockviewApi.activatePrevious} instead. Renamed
|
|
635
|
+
* because this advances the active panel/group (focus), it does not
|
|
636
|
+
* relocate a panel. Removal planned for a future major release.
|
|
571
637
|
*/
|
|
572
638
|
moveToPrevious(options?: MovementOptions): void;
|
|
573
639
|
maximizeGroup(panel: IDockviewPanel): void;
|
|
@@ -582,7 +648,19 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
|
|
|
582
648
|
* Add an edge group at the given position. Returns the group panel API
|
|
583
649
|
* for the newly created group. Throws if a group already exists there.
|
|
584
650
|
*/
|
|
585
|
-
addEdgeGroup(position: EdgeGroupPosition, options:
|
|
651
|
+
addEdgeGroup(position: EdgeGroupPosition, options: AddEdgeGroupOptions): DockviewGroupPanelApi;
|
|
652
|
+
/**
|
|
653
|
+
* Reveal (create-or-fill) the edge group at `position` and move the dragged
|
|
654
|
+
* item described by `data` into it. A newly created edge group tears down to
|
|
655
|
+
* zero footprint when later emptied. Drives the dock-to-edge groups behind
|
|
656
|
+
* the `dockToEdgeGroups` option; a no-op if edge groups are unavailable.
|
|
657
|
+
*/
|
|
658
|
+
revealEdgeGroupWithData(position: EdgeGroupPosition, data: {
|
|
659
|
+
groupId: string;
|
|
660
|
+
panelId?: string | null;
|
|
661
|
+
}, options?: {
|
|
662
|
+
autoHide?: boolean;
|
|
663
|
+
}): void;
|
|
586
664
|
/**
|
|
587
665
|
* Get the group panel API for an edge group at the given position.
|
|
588
666
|
* Returns `undefined` if no edge group is configured at that position.
|
|
@@ -601,6 +679,19 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
|
|
|
601
679
|
* All panels inside the group are disposed. Throws if no group exists at position.
|
|
602
680
|
*/
|
|
603
681
|
removeEdgeGroup(position: EdgeGroupPosition): void;
|
|
682
|
+
/**
|
|
683
|
+
* Pin (expand) the collapsed edge group at `position`. Requires the
|
|
684
|
+
* auto-hide edge groups module; no-op when it is absent.
|
|
685
|
+
*/
|
|
686
|
+
pinEdgeGroup(position: EdgeGroupPosition): void;
|
|
687
|
+
/** Auto-hide (collapse to a strip) the edge group at `position`. */
|
|
688
|
+
autoHideEdgeGroup(position: EdgeGroupPosition): void;
|
|
689
|
+
/**
|
|
690
|
+
* Peek (slide out as an overlay, without reflowing the grid) or close the
|
|
691
|
+
* collapsed edge group at `position`. No-op when the auto-hide module is
|
|
692
|
+
* absent or the group is not collapsed.
|
|
693
|
+
*/
|
|
694
|
+
peekEdgeGroup(position: EdgeGroupPosition, peek: boolean): void;
|
|
604
695
|
updateOptions(options: Partial<DockviewComponentOptions>): void;
|
|
605
696
|
private _getGroupModel;
|
|
606
697
|
createTabGroup(options: {
|
|
@@ -3,7 +3,7 @@ import { DockviewComponent } from '../dockview/dockviewComponent';
|
|
|
3
3
|
import { Box } from '../types';
|
|
4
4
|
import { DockviewGroupPanel } from '../dockview/dockviewGroupPanel';
|
|
5
5
|
import { DockviewGroupActivePanelChangeEvent, DockviewGroupLocation, DockviewGroupPanelLocked } from '../dockview/dockviewGroupPanelModel';
|
|
6
|
-
import { DockviewHeaderPosition } from '../dockview/options';
|
|
6
|
+
import { DockviewHeaderDirection, DockviewHeaderPosition } from '../dockview/options';
|
|
7
7
|
import { Emitter, Event } from '../events';
|
|
8
8
|
import { GridviewPanelApi, GridviewPanelApiImpl, SizeEvent } from './gridviewPanelApi';
|
|
9
9
|
export interface DockviewGroupMoveParams {
|
|
@@ -21,6 +21,15 @@ export interface DockviewGroupMoveParams {
|
|
|
21
21
|
export interface DockviewGroupPanelCollapsedChangeEvent {
|
|
22
22
|
readonly isCollapsed: boolean;
|
|
23
23
|
}
|
|
24
|
+
export interface DockviewGroupPanelPeekChangeEvent {
|
|
25
|
+
readonly isPeeking: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface DockviewGroupPanelHeaderDirectionChangeEvent {
|
|
28
|
+
/** The header's new axis: `'horizontal'` (top/bottom) or `'vertical'` (left/right). */
|
|
29
|
+
readonly direction: DockviewHeaderDirection;
|
|
30
|
+
/** The header position that produced the new direction. */
|
|
31
|
+
readonly position: DockviewHeaderPosition;
|
|
32
|
+
}
|
|
24
33
|
export interface DockviewGroupPanelApi extends GridviewPanelApi {
|
|
25
34
|
readonly onDidLocationChange: Event<DockviewGroupPanelLocationChangeEvent>;
|
|
26
35
|
/**
|
|
@@ -36,6 +45,19 @@ export interface DockviewGroupPanelApi extends GridviewPanelApi {
|
|
|
36
45
|
* Never fires for non-edge groups.
|
|
37
46
|
*/
|
|
38
47
|
readonly onDidCollapsedChange: Event<DockviewGroupPanelCollapsedChangeEvent>;
|
|
48
|
+
/**
|
|
49
|
+
* Fired when an edge group's auto-hide *peek* state changes (the slid-out
|
|
50
|
+
* overlay shown/hidden while the group stays logically collapsed). Never
|
|
51
|
+
* fires for non-edge groups or without the auto-hide module.
|
|
52
|
+
*/
|
|
53
|
+
readonly onDidPeekChange: Event<DockviewGroupPanelPeekChangeEvent>;
|
|
54
|
+
/**
|
|
55
|
+
* Fires when this group's header flips orientation between horizontal
|
|
56
|
+
* (top/bottom) and vertical (left/right), e.g. when `headerPosition`
|
|
57
|
+
* moves from `top` to `left`. Does not fire for position changes that
|
|
58
|
+
* keep the same axis (top↔bottom, left↔right) or for the initial set.
|
|
59
|
+
*/
|
|
60
|
+
readonly onDidHeaderDirectionChange: Event<DockviewGroupPanelHeaderDirectionChangeEvent>;
|
|
39
61
|
readonly location: DockviewGroupLocation;
|
|
40
62
|
/**
|
|
41
63
|
* Whether this group is locked against drop interactions.
|
|
@@ -68,6 +90,21 @@ export interface DockviewGroupPanelApi extends GridviewPanelApi {
|
|
|
68
90
|
* Always returns false for non-edge groups.
|
|
69
91
|
*/
|
|
70
92
|
isCollapsed(): boolean;
|
|
93
|
+
/** True while this edge group is peeking (auto-hide slid-out overlay). */
|
|
94
|
+
isPeeking(): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Opt this edge group in/out of auto-hide (pinnable tool-window) behaviour
|
|
97
|
+
* at runtime, overriding the global `autoHideEdgeGroups` option. Pass
|
|
98
|
+
* `undefined` to clear the override and inherit the global. No-op for
|
|
99
|
+
* non-edge groups or without the auto-hide module.
|
|
100
|
+
*/
|
|
101
|
+
setAutoHide(value: boolean | undefined): void;
|
|
102
|
+
/**
|
|
103
|
+
* The resolved auto-hide state of this edge group: the per-group override
|
|
104
|
+
* if one is set, otherwise the global `autoHideEdgeGroups` option for this
|
|
105
|
+
* edge. Always returns false for non-edge groups.
|
|
106
|
+
*/
|
|
107
|
+
isAutoHide(): boolean;
|
|
71
108
|
}
|
|
72
109
|
export interface DockviewGroupPanelLocationChangeEvent {
|
|
73
110
|
readonly location: DockviewGroupLocation;
|
|
@@ -82,6 +119,10 @@ export declare class DockviewGroupPanelApiImpl extends GridviewPanelApiImpl {
|
|
|
82
119
|
readonly onDidActivePanelChange: Event<DockviewGroupActivePanelChangeEvent>;
|
|
83
120
|
readonly _onDidCollapsedChange: Emitter<DockviewGroupPanelCollapsedChangeEvent>;
|
|
84
121
|
readonly onDidCollapsedChange: Event<DockviewGroupPanelCollapsedChangeEvent>;
|
|
122
|
+
readonly _onDidPeekChange: Emitter<DockviewGroupPanelPeekChangeEvent>;
|
|
123
|
+
readonly onDidPeekChange: Event<DockviewGroupPanelPeekChangeEvent>;
|
|
124
|
+
readonly _onDidHeaderDirectionChange: Emitter<DockviewGroupPanelHeaderDirectionChangeEvent>;
|
|
125
|
+
readonly onDidHeaderDirectionChange: Event<DockviewGroupPanelHeaderDirectionChangeEvent>;
|
|
85
126
|
get location(): DockviewGroupLocation;
|
|
86
127
|
/**
|
|
87
128
|
* The group's bounding box relative to the top-left of the dockview root,
|
|
@@ -105,5 +146,8 @@ export declare class DockviewGroupPanelApiImpl extends GridviewPanelApiImpl {
|
|
|
105
146
|
collapse(): void;
|
|
106
147
|
expand(): void;
|
|
107
148
|
isCollapsed(): boolean;
|
|
149
|
+
isPeeking(): boolean;
|
|
150
|
+
setAutoHide(value: boolean | undefined): void;
|
|
151
|
+
isAutoHide(): boolean;
|
|
108
152
|
initialize(group: DockviewGroupPanel): void;
|
|
109
153
|
}
|
|
@@ -9,6 +9,9 @@ import { DockviewGroupLocation } from '../dockview/dockviewGroupPanelModel';
|
|
|
9
9
|
export interface TitleEvent {
|
|
10
10
|
readonly title: string;
|
|
11
11
|
}
|
|
12
|
+
export interface PinnedChangeEvent {
|
|
13
|
+
readonly isPinned: boolean;
|
|
14
|
+
}
|
|
12
15
|
export interface RendererChangedEvent {
|
|
13
16
|
readonly renderer: DockviewPanelRenderer;
|
|
14
17
|
}
|
|
@@ -29,14 +32,28 @@ export interface DockviewPanelApi extends Omit<GridviewPanelApi, 'setVisible' |
|
|
|
29
32
|
readonly isGroupActive: boolean;
|
|
30
33
|
readonly renderer: DockviewPanelRenderer;
|
|
31
34
|
readonly title: string | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Whether this panel's tab is pinned. Pinned tabs render before unpinned
|
|
37
|
+
* tabs, never overflow, and resist cross-boundary reorder. Owned by the
|
|
38
|
+
* PinnedTabs module. Reads `false` until a panel is pinned, which requires
|
|
39
|
+
* `pinnedTabs.enabled` (both `setPinned` and restore are gated on it), so a
|
|
40
|
+
* component with pinning disabled always reports `false`.
|
|
41
|
+
*/
|
|
42
|
+
readonly isPinned: boolean;
|
|
32
43
|
readonly onDidActiveGroupChange: Event<ActiveGroupEvent>;
|
|
33
44
|
readonly onDidGroupChange: Event<GroupChangedEvent>;
|
|
34
45
|
readonly onDidTitleChange: Event<TitleEvent>;
|
|
46
|
+
readonly onDidChangePinned: Event<PinnedChangeEvent>;
|
|
35
47
|
readonly onDidRendererChange: Event<RendererChangedEvent>;
|
|
36
48
|
readonly location: DockviewGroupLocation;
|
|
37
49
|
readonly onDidLocationChange: Event<DockviewGroupPanelLocationChangeEvent>;
|
|
38
50
|
close(): void;
|
|
39
51
|
setTitle(title: string): void;
|
|
52
|
+
/**
|
|
53
|
+
* Pin or unpin this panel's tab. No-op (warns once) when the PinnedTabs
|
|
54
|
+
* module is not registered, and dormant unless `pinnedTabs.enabled` is set.
|
|
55
|
+
*/
|
|
56
|
+
setPinned(pinned: boolean): void;
|
|
40
57
|
setRenderer(renderer: DockviewPanelRenderer): void;
|
|
41
58
|
moveTo(options: DockviewPanelMoveParams): void;
|
|
42
59
|
maximize(): void;
|
|
@@ -54,6 +71,8 @@ export declare class DockviewPanelApiImpl extends GridviewPanelApiImpl implement
|
|
|
54
71
|
private readonly _tabComponent;
|
|
55
72
|
readonly _onDidTitleChange: Emitter<TitleEvent>;
|
|
56
73
|
readonly onDidTitleChange: Event<TitleEvent>;
|
|
74
|
+
readonly _onDidChangePinned: Emitter<PinnedChangeEvent>;
|
|
75
|
+
readonly onDidChangePinned: Event<PinnedChangeEvent>;
|
|
57
76
|
private readonly _onDidActiveGroupChange;
|
|
58
77
|
readonly onDidActiveGroupChange: Event<ActiveGroupEvent>;
|
|
59
78
|
private readonly _onDidGroupChange;
|
|
@@ -65,6 +84,7 @@ export declare class DockviewPanelApiImpl extends GridviewPanelApiImpl implement
|
|
|
65
84
|
private readonly groupEventsDisposable;
|
|
66
85
|
get location(): DockviewGroupLocation;
|
|
67
86
|
get title(): string | undefined;
|
|
87
|
+
get isPinned(): boolean;
|
|
68
88
|
get isGroupActive(): boolean;
|
|
69
89
|
get renderer(): DockviewPanelRenderer;
|
|
70
90
|
set group(value: DockviewGroupPanel);
|
|
@@ -75,6 +95,7 @@ export declare class DockviewPanelApiImpl extends GridviewPanelApiImpl implement
|
|
|
75
95
|
setActive(): void;
|
|
76
96
|
moveTo(options: DockviewPanelMoveParams): void;
|
|
77
97
|
setTitle(title: string): void;
|
|
98
|
+
setPinned(pinned: boolean): void;
|
|
78
99
|
setRenderer(renderer: DockviewPanelRenderer): void;
|
|
79
100
|
close(): void;
|
|
80
101
|
maximize(): void;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { IDisposable } from './lifecycle';
|
|
2
|
+
export interface DismissableLayerOptions {
|
|
3
|
+
/** Window to listen on. Pass the popout window for popout-hosted layers.
|
|
4
|
+
* Defaults to the global `window`. */
|
|
5
|
+
readonly window?: Window;
|
|
6
|
+
/** Invoked when any enabled dismiss signal fires. */
|
|
7
|
+
readonly onDismiss: () => void;
|
|
8
|
+
/** A pointerdown landed *inside* the layer (not a dismissal). Use it to
|
|
9
|
+
* mark interaction (e.g. make a transient layer sticky). */
|
|
10
|
+
readonly onInsidePointerDown?: (event: PointerEvent) => void;
|
|
11
|
+
/** Whether a pointer event is inside the layer. Defaults to a DOM
|
|
12
|
+
* `contains` check against {@link DismissableLayerOptions.elements}.
|
|
13
|
+
* Provide this for geometry-based hit testing (e.g. when the visible
|
|
14
|
+
* content is a sibling overlay stacked on top of the layer). */
|
|
15
|
+
readonly isInside?: (event: PointerEvent) => boolean;
|
|
16
|
+
/** Elements treated as "inside" by the default contains check. */
|
|
17
|
+
readonly elements?: () => HTMLElement[];
|
|
18
|
+
/** Dismiss on `Escape` (default `true`). */
|
|
19
|
+
readonly escape?: boolean;
|
|
20
|
+
/** Extra keys that also dismiss (e.g. `'Enter'`). */
|
|
21
|
+
readonly keys?: readonly string[];
|
|
22
|
+
/** Dismiss on a pointerdown outside the layer (default `true`). */
|
|
23
|
+
readonly outsidePointerDown?: boolean;
|
|
24
|
+
/** Ignore outside-pointerdowns for this many ms after opening. Covers the
|
|
25
|
+
* gesture that opened the layer (e.g. a touch long-press) dispatching a
|
|
26
|
+
* follow-up pointerdown just outside it. */
|
|
27
|
+
readonly pointerDownGraceMs?: number;
|
|
28
|
+
/** Dismiss on window resize, skipping touch-driven resizes (default
|
|
29
|
+
* `false`). */
|
|
30
|
+
readonly resize?: boolean;
|
|
31
|
+
/** Dismiss when focus moves to an element *outside* the layer (default
|
|
32
|
+
* `false`): the "slide back on focus loss" behaviour. */
|
|
33
|
+
readonly focusOut?: boolean;
|
|
34
|
+
/** Whether a newly-focused element is inside the layer (for
|
|
35
|
+
* {@link focusOut}). Defaults to a `contains` check against
|
|
36
|
+
* {@link elements}. Provide this for geometry-based testing when the
|
|
37
|
+
* content is a sibling overlay stacked on top of the layer. */
|
|
38
|
+
readonly isFocusInside?: (focused: Element) => boolean;
|
|
39
|
+
/** Listen in the capture phase (default `false`). Use capture when the
|
|
40
|
+
* layer must see the event before content handlers stop its propagation. */
|
|
41
|
+
readonly capture?: boolean;
|
|
42
|
+
/** Clock source for the grace window. Defaults to `Date.now`. */
|
|
43
|
+
readonly now?: () => number;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The shared dismissal lifecycle behind transient surfaces (popovers, menus,
|
|
47
|
+
* peeks): while it lives it watches a configurable set of dismiss signals
|
|
48
|
+
* (Escape / extra keys, outside-pointerdown with an optional grace window,
|
|
49
|
+
* window resize, focus moving outside) and calls `onDismiss`. Inside/outside is
|
|
50
|
+
* decided by an `isInside` predicate (geometry) or a `contains` check against
|
|
51
|
+
* `elements`. Dispose to detach every listener.
|
|
52
|
+
*
|
|
53
|
+
* It owns only the *signals*, not the surface element, its position, or any
|
|
54
|
+
* hover/keep-open policy, so callers keep their own element lifecycle and
|
|
55
|
+
* layer this underneath.
|
|
56
|
+
*/
|
|
57
|
+
export declare function createDismissableLayer(options: DismissableLayerOptions): IDisposable;
|
|
@@ -5,8 +5,8 @@ import { DroptargetOptions, IDropTarget } from './droptarget';
|
|
|
5
5
|
* mechanism (HTML5 native events, pointer events) behind a uniform set of
|
|
6
6
|
* `createX` methods.
|
|
7
7
|
*
|
|
8
|
-
* The backends are stateless
|
|
9
|
-
* are exported as module-level singletons so they need no construction
|
|
8
|
+
* The backends are stateless. `html5Backend` and `pointerBackend` below
|
|
9
|
+
* are exported as module-level singletons, so they need no construction
|
|
10
10
|
* or wiring through the component tree.
|
|
11
11
|
*/
|
|
12
12
|
export interface IDragBackend {
|
|
@@ -5,8 +5,20 @@ export declare class DropTargetAnchorContainer extends CompositeDisposable {
|
|
|
5
5
|
private _model;
|
|
6
6
|
private _outline;
|
|
7
7
|
private _disabled;
|
|
8
|
+
/**
|
|
9
|
+
* Handle for a deferred {@link DropTargetTargetModel.scheduleClear}. The
|
|
10
|
+
* HTML5 backend does not clear this container on `dragleave` (that would
|
|
11
|
+
* churn the shared overlay and kill its slide transition on every crossing
|
|
12
|
+
* between adjacent targets). Instead it *schedules* a clear, which a
|
|
13
|
+
* subsequent `getElements` (the next target rendering into this container)
|
|
14
|
+
* cancels — so the overlay slides between targets, but is torn down when the
|
|
15
|
+
* drag genuinely leaves to somewhere that doesn't re-render here.
|
|
16
|
+
*/
|
|
17
|
+
private _pendingClear;
|
|
8
18
|
get disabled(): boolean;
|
|
9
19
|
set disabled(value: boolean);
|
|
20
|
+
private _cancelPendingClear;
|
|
21
|
+
private _clearNow;
|
|
10
22
|
get model(): DropTargetTargetModel | undefined;
|
|
11
23
|
constructor(element: HTMLElement, options: {
|
|
12
24
|
disabled: boolean;
|