dockview-core 7.0.3 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/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 +46 -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 +303 -19
- package/dist/cjs/dockview/dockviewGroupPanel.d.ts +5 -0
- package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +52 -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 +480 -14
- package/dist/cjs/dockview/modules.d.ts +101 -22
- package/dist/cjs/dockview/options.d.ts +337 -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/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/gridview/baseComponentGridview.d.ts +2 -2
- 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/svg.d.ts +1 -0
- package/dist/cjs/types.d.ts +8 -0
- package/dist/dockview-core.js +18391 -19679
- package/dist/dockview-core.min.js +4138 -6
- package/dist/dockview-core.min.noStyle.js +6 -7
- package/dist/dockview-core.noStyle.js +18390 -19656
- package/dist/package/main.cjs.js +18002 -19268
- package/dist/package/main.cjs.min.js +6 -6
- package/dist/package/main.esm.min.mjs +6 -6
- package/dist/package/main.esm.mjs +17959 -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
|
@@ -6,19 +6,70 @@ export interface DroptargetEvent {
|
|
|
6
6
|
readonly position: Position;
|
|
7
7
|
/** Narrow with `instanceof DragEvent` before reading `dataTransfer`. */
|
|
8
8
|
readonly nativeEvent: DragEvent | PointerEvent;
|
|
9
|
+
/**
|
|
10
|
+
* The resolved cell was marked `edge` by a {@link PositionResolver}: an
|
|
11
|
+
* "outer" cell that should dock against the whole layout, not this target.
|
|
12
|
+
* The target renders no overlay for it; the consumer routes the commit.
|
|
13
|
+
*/
|
|
14
|
+
readonly edge?: boolean;
|
|
9
15
|
}
|
|
10
16
|
export declare class WillShowOverlayEvent extends DockviewEvent implements DroptargetEvent {
|
|
11
17
|
private readonly options;
|
|
12
18
|
get nativeEvent(): DragEvent | PointerEvent;
|
|
13
19
|
get position(): Position;
|
|
20
|
+
/** See {@link DroptargetEvent.edge}. */
|
|
21
|
+
get edge(): boolean;
|
|
22
|
+
/** See {@link PositionResolverResult.edgeGroup}. A display hint; a consumer
|
|
23
|
+
* (e.g. the DnD compass) can bow out of this cell. */
|
|
24
|
+
get edgeGroup(): boolean;
|
|
14
25
|
constructor(options: {
|
|
15
26
|
nativeEvent: DragEvent | PointerEvent;
|
|
16
27
|
position: Position;
|
|
28
|
+
edge?: boolean;
|
|
29
|
+
edgeGroup?: boolean;
|
|
17
30
|
});
|
|
18
31
|
}
|
|
19
32
|
export declare function directionToPosition(direction: Direction): Position;
|
|
20
33
|
export declare function positionToDirection(position: Position): Direction;
|
|
21
34
|
export type Position = 'top' | 'bottom' | 'left' | 'right' | 'center';
|
|
35
|
+
/** The pointer location within a drop target, handed to a {@link PositionResolver}. */
|
|
36
|
+
export interface PositionResolverArgs {
|
|
37
|
+
/** Pointer X within the target element (px from its left edge). */
|
|
38
|
+
readonly x: number;
|
|
39
|
+
/** Pointer Y within the target element (px from its top edge). */
|
|
40
|
+
readonly y: number;
|
|
41
|
+
readonly width: number;
|
|
42
|
+
readonly height: number;
|
|
43
|
+
/** The drop zones this target currently accepts. */
|
|
44
|
+
readonly zones: ReadonlySet<Position>;
|
|
45
|
+
/** The originating drag event (HTML5 or pointer backend). */
|
|
46
|
+
readonly event: DragEvent | PointerEvent;
|
|
47
|
+
}
|
|
48
|
+
export interface PositionResolverResult {
|
|
49
|
+
readonly position: Position;
|
|
50
|
+
/**
|
|
51
|
+
* Marks an outer / whole-layout-edge cell. The built-in drop overlay only
|
|
52
|
+
* reads `position`; consumers that route edge cells differently can read this.
|
|
53
|
+
*/
|
|
54
|
+
readonly edge?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Display hint: this cell docks as a dedicated edge group (not a grid-edge
|
|
57
|
+
* split). Purely advisory. A co-installed resolver's UI (e.g. the DnD
|
|
58
|
+
* compass) can suppress its own overlay for these cells so they don't
|
|
59
|
+
* double-render with the edge-group affordance.
|
|
60
|
+
*/
|
|
61
|
+
readonly edgeGroup?: boolean;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Pluggable replacement for the built-in cursor-quadrant drop resolution.
|
|
65
|
+
* Supplied via {@link DroptargetOptions.positionResolver}, it maps a pointer
|
|
66
|
+
* location within a target to a drop {@link Position} (or `null` for no drop)
|
|
67
|
+
* instead of the default threshold-band quadrant. Both DnD backends consult the
|
|
68
|
+
* same resolver. When unset, the default quadrant behaviour applies unchanged.
|
|
69
|
+
*/
|
|
70
|
+
export interface PositionResolver {
|
|
71
|
+
resolve(args: PositionResolverArgs): PositionResolverResult | null;
|
|
72
|
+
}
|
|
22
73
|
export type CanDisplayOverlay = (dragEvent: DragEvent | PointerEvent, state: Position) => boolean;
|
|
23
74
|
export type MeasuredValue = {
|
|
24
75
|
value: number;
|
|
@@ -48,6 +99,15 @@ export interface DropTargetTargetModel {
|
|
|
48
99
|
};
|
|
49
100
|
exists(): boolean;
|
|
50
101
|
clear(): void;
|
|
102
|
+
/**
|
|
103
|
+
* Clear the overlay on the next tick unless a {@link getElements} call (a
|
|
104
|
+
* target rendering into this container) cancels it first. Used by the HTML5
|
|
105
|
+
* backend on `dragleave`: clearing immediately would kill the overlay's
|
|
106
|
+
* slide between adjacent targets, but never clearing leaves the overlay
|
|
107
|
+
* behind when the drag leaves to somewhere that doesn't re-render here.
|
|
108
|
+
* Optional so lightweight/mocked target models need not implement it.
|
|
109
|
+
*/
|
|
110
|
+
scheduleClear?(): void;
|
|
51
111
|
}
|
|
52
112
|
export interface DroptargetOptions {
|
|
53
113
|
canDisplayOverlay: CanDisplayOverlay;
|
|
@@ -56,6 +116,13 @@ export interface DroptargetOptions {
|
|
|
56
116
|
getOverrideTarget?: () => DropTargetTargetModel | undefined;
|
|
57
117
|
className?: string;
|
|
58
118
|
getOverlayOutline?: () => HTMLElement | null;
|
|
119
|
+
/**
|
|
120
|
+
* Supply a {@link PositionResolver} that overrides how a pointer location
|
|
121
|
+
* resolves to a drop {@link Position}. A lazy getter (like
|
|
122
|
+
* {@link getOverrideTarget}) so the source can change at runtime; returning
|
|
123
|
+
* `undefined` (the default) uses the built-in cursor-quadrant logic.
|
|
124
|
+
*/
|
|
125
|
+
getPositionResolver?: () => PositionResolver | undefined;
|
|
59
126
|
}
|
|
60
127
|
/**
|
|
61
128
|
* Backend-agnostic drop target. Both the HTML5 `Droptarget` and the pointer
|
|
@@ -76,6 +143,8 @@ export declare class Droptarget extends CompositeDisposable implements IDropTarg
|
|
|
76
143
|
private targetElement;
|
|
77
144
|
private overlayElement;
|
|
78
145
|
private _state;
|
|
146
|
+
/** The current state was resolved as an `edge` cell (see DroptargetEvent). */
|
|
147
|
+
private _edge;
|
|
79
148
|
private _acceptedTargetZonesSet;
|
|
80
149
|
private readonly _onDrop;
|
|
81
150
|
readonly onDrop: Event<DroptargetEvent>;
|
|
@@ -101,7 +170,32 @@ export declare class Droptarget extends CompositeDisposable implements IDropTarg
|
|
|
101
170
|
*/
|
|
102
171
|
private isAlreadyUsed;
|
|
103
172
|
private toggleClasses;
|
|
173
|
+
/**
|
|
174
|
+
* Resolve the drop {@link Position} for a pointer location: defer to an
|
|
175
|
+
* injected {@link PositionResolver} when present, otherwise the built-in
|
|
176
|
+
* cursor-quadrant logic (unchanged).
|
|
177
|
+
*/
|
|
178
|
+
private resolvePosition;
|
|
104
179
|
private calculateQuadrant;
|
|
180
|
+
/**
|
|
181
|
+
* Tear down whatever this target is showing, on any frame it resolves to no
|
|
182
|
+
* overlay. Two things make this more than `removeDropTarget`:
|
|
183
|
+
*
|
|
184
|
+
* - With `dndOverlayMounting: 'absolute'` the overlay lives in an anchor
|
|
185
|
+
* container shared by every drop target in the component, and
|
|
186
|
+
* `removeDropTarget` only owns the in-place dropzone — so the container
|
|
187
|
+
* needs clearing explicitly or the last frame's highlight lingers.
|
|
188
|
+
* - It must only clear the container when this target actually put
|
|
189
|
+
* something there. The root edge target sits over every group and
|
|
190
|
+
* declines `center` on each frame in the middle of the layout purely so
|
|
191
|
+
* the event falls through; clearing from there would destroy and rebuild
|
|
192
|
+
* the group's overlay every frame, killing its move transition.
|
|
193
|
+
*
|
|
194
|
+
* Resetting `_state` unconditionally is the other half: a target that
|
|
195
|
+
* resolves to nothing must not stay latched, or a later drop commits a
|
|
196
|
+
* position the cursor left long ago.
|
|
197
|
+
*/
|
|
198
|
+
private clearOwnOverlay;
|
|
105
199
|
private removeDropTarget;
|
|
106
200
|
/**
|
|
107
201
|
* Render the drop overlay at `position` without a live drag, so keyboard
|
package/dist/cjs/dnd/ghost.d.ts
CHANGED
|
@@ -10,8 +10,8 @@ export interface LongPressOptions {
|
|
|
10
10
|
onLongPress: (event: PointerEvent) => void;
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
13
|
+
* Doesn't consume the pointer; movement past `tolerance` cancels
|
|
14
|
+
* silently so a sibling `PointerDragSource` can take over.
|
|
15
15
|
*/
|
|
16
16
|
export declare class LongPressDetector extends CompositeDisposable {
|
|
17
17
|
private readonly element;
|
|
@@ -9,13 +9,13 @@ export interface ActiveDrag {
|
|
|
9
9
|
readonly source: HTMLElement;
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Only one pointer-driven drag can be active at a time.
|
|
13
13
|
*
|
|
14
14
|
* State is shared across every Dockview instance on the page. Targets
|
|
15
15
|
* from instance B receive hit-tests from drags originating in instance A;
|
|
16
16
|
* that's intentional for cross-instance drops since `LocalSelectionTransfer`
|
|
17
17
|
* is also process-wide. The corollary is that every Tabs subscriber to
|
|
18
|
-
* `onDragMove` fires for every pointer drag globally
|
|
18
|
+
* `onDragMove` fires for every pointer drag globally; each subscriber
|
|
19
19
|
* hit-tests against its own DOM, so this is O(N) per pointermove where N
|
|
20
20
|
* is the number of registered listeners across all instances.
|
|
21
21
|
*/
|
|
@@ -26,6 +26,9 @@ export declare class PointerDragController extends CompositeDisposable {
|
|
|
26
26
|
/** Kept in sync with `_targets` so hit-testing is allocation-free. */
|
|
27
27
|
private readonly _targetByElement;
|
|
28
28
|
private _active;
|
|
29
|
+
/** The most recent pointer event of the active drag, used to build the
|
|
30
|
+
* drag-end event when a drag is cancelled (which carries no event). */
|
|
31
|
+
private _lastPointerEvent;
|
|
29
32
|
private _currentTarget;
|
|
30
33
|
private _dataDisposable;
|
|
31
34
|
private _ghost;
|
|
@@ -18,7 +18,7 @@ export interface PointerDragSourceOptions {
|
|
|
18
18
|
* hold for floating-group redock vs docked-group rearrange).
|
|
19
19
|
*/
|
|
20
20
|
touchInitiationDelay?: number | (() => number);
|
|
21
|
-
/** Default 8px. May be a function
|
|
21
|
+
/** Default 8px. May be a function; see `touchInitiationDelay`. */
|
|
22
22
|
pressTolerance?: number | (() => number);
|
|
23
23
|
/** Default true: mouse defers to HTML5; pointer path handles touch / pen only. */
|
|
24
24
|
touchOnly?: boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Event } from '../../events';
|
|
2
2
|
import { CompositeDisposable } from '../../lifecycle';
|
|
3
|
-
import { CanDisplayOverlay, DropTargetTargetModel, DroptargetEvent, DroptargetOverlayModel, IDropTarget, Position, WillShowOverlayEvent } from '../droptarget';
|
|
3
|
+
import { CanDisplayOverlay, DropTargetTargetModel, DroptargetEvent, DroptargetOverlayModel, IDropTarget, Position, PositionResolver, WillShowOverlayEvent } from '../droptarget';
|
|
4
4
|
export interface PointerDropTargetOptions {
|
|
5
5
|
canDisplayOverlay: CanDisplayOverlay;
|
|
6
6
|
acceptedTargetZones: Position[];
|
|
@@ -10,6 +10,12 @@ export interface PointerDropTargetOptions {
|
|
|
10
10
|
/** Outline element for positioning; falls back to the drop element. */
|
|
11
11
|
getOverlayOutline?: () => HTMLElement | null;
|
|
12
12
|
className?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Supply a {@link PositionResolver} that overrides how a pointer location
|
|
15
|
+
* resolves to a drop {@link Position}. A lazy getter so the source can
|
|
16
|
+
* change at runtime; `undefined` (default) uses the cursor-quadrant logic.
|
|
17
|
+
*/
|
|
18
|
+
getPositionResolver?: () => PositionResolver | undefined;
|
|
13
19
|
}
|
|
14
20
|
/** Pointer-driven counterpart to `Droptarget` with identical visual output. */
|
|
15
21
|
export declare class PointerDropTarget extends CompositeDisposable implements IDropTarget {
|
|
@@ -18,6 +24,7 @@ export declare class PointerDropTarget extends CompositeDisposable implements ID
|
|
|
18
24
|
private _targetElement;
|
|
19
25
|
private _overlayElement;
|
|
20
26
|
private _state;
|
|
27
|
+
private _edge;
|
|
21
28
|
private _acceptedTargetZonesSet;
|
|
22
29
|
private readonly _onDrop;
|
|
23
30
|
readonly onDrop: Event<DroptargetEvent>;
|
|
@@ -34,6 +41,28 @@ export declare class PointerDropTarget extends CompositeDisposable implements ID
|
|
|
34
41
|
private _onDragOver;
|
|
35
42
|
private _onDragLeave;
|
|
36
43
|
private _onDropEvent;
|
|
44
|
+
/**
|
|
45
|
+
* Resolve the drop {@link Position}: defer to an injected
|
|
46
|
+
* {@link PositionResolver} when present, otherwise the built-in
|
|
47
|
+
* cursor-quadrant logic (unchanged). Shares the resolver with the HTML5
|
|
48
|
+
* backend.
|
|
49
|
+
*/
|
|
50
|
+
private _resolvePosition;
|
|
37
51
|
private _calculateQuadrant;
|
|
52
|
+
/**
|
|
53
|
+
* Tear down whatever this target is showing, on any frame it resolves to no
|
|
54
|
+
* overlay. Two things make this more than `_removeOverlay`:
|
|
55
|
+
*
|
|
56
|
+
* - With `dndOverlayMounting: 'absolute'` the overlay lives in an anchor
|
|
57
|
+
* container shared by every drop target in the component, and
|
|
58
|
+
* `_removeOverlay` only owns the in-place dropzone — so the container
|
|
59
|
+
* needs clearing explicitly or the last frame's highlight lingers.
|
|
60
|
+
* - It must only clear the container when this target actually put
|
|
61
|
+
* something there. The root edge target sits over every group and
|
|
62
|
+
* declines `center` on each frame in the middle of the layout purely so
|
|
63
|
+
* the event falls through; clearing from there would destroy and rebuild
|
|
64
|
+
* the group's overlay every frame, killing its move transition.
|
|
65
|
+
*/
|
|
66
|
+
private _clearOwnOverlay;
|
|
38
67
|
private _removeOverlay;
|
|
39
68
|
}
|
|
@@ -9,7 +9,7 @@ export interface PointerGhostOptions {
|
|
|
9
9
|
/** Default 0.8. */
|
|
10
10
|
opacity?: number;
|
|
11
11
|
/**
|
|
12
|
-
* Source element whose `ownerDocument.body` hosts the ghost
|
|
12
|
+
* Source element whose `ownerDocument.body` hosts the ghost. Pass it for
|
|
13
13
|
* popout-window drags so the ghost renders in the popout's document.
|
|
14
14
|
*/
|
|
15
15
|
owner?: Element;
|
|
@@ -16,6 +16,10 @@ export interface DockviewMessages {
|
|
|
16
16
|
groupFloated(title: string): string;
|
|
17
17
|
groupDocked(title: string): string;
|
|
18
18
|
groupPoppedOut(title: string): string;
|
|
19
|
+
/** Accessible name for a tab's close button, qualified with the panel title. */
|
|
20
|
+
closeTab(title: string): string;
|
|
21
|
+
/** Accessible name for a tab's close button when the panel has no title. */
|
|
22
|
+
closeTabPlain(): string;
|
|
19
23
|
/** Target phase: which group is highlighted, and how to proceed. */
|
|
20
24
|
movePickTarget(source: string, target: string, current: number, total: number): string;
|
|
21
25
|
/** Edge phase: which drop position is selected, and how to proceed. */
|
|
@@ -26,6 +30,8 @@ export interface DockviewMessages {
|
|
|
26
30
|
moveCancelled(): string;
|
|
27
31
|
/** A move the layout rejected. */
|
|
28
32
|
moveNotAllowed(): string;
|
|
33
|
+
/** The panel was floated as a terminal move action. */
|
|
34
|
+
moveFloated(source: string): string;
|
|
29
35
|
}
|
|
30
36
|
export declare const DEFAULT_MESSAGES: DockviewMessages;
|
|
31
37
|
/** Merge an app's partial overrides over the English defaults. */
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { IDisposable } from '../lifecycle';
|
|
2
|
+
import { IDragGhostSpec } from '../dnd/backend';
|
|
3
|
+
import { DroptargetOverlayModel, Position } from '../dnd/droptarget';
|
|
4
|
+
import { GroupDragEvent, TabDragEvent } from './components/titlebar/tabsContainer';
|
|
5
|
+
import { DockviewWillDropEvent } from './dockviewGroupPanelModel';
|
|
6
|
+
import { DockviewGroupPanel } from './dockviewGroupPanel';
|
|
7
|
+
import { DockviewGroupDropLocation, DockviewWillShowOverlayLocationEvent } from './events';
|
|
8
|
+
import { IAdvancedDnDHost, IAdvancedDnDService } from './moduleContracts';
|
|
9
|
+
/**
|
|
10
|
+
* The narrow surface the {@link AdvancedDnDService} needs from the host
|
|
11
|
+
* (the `DockviewComponent`).
|
|
12
|
+
*
|
|
13
|
+
* The `onWill*` emitters stay on the component so the public event shape is
|
|
14
|
+
* unchanged whether or not this module is registered; the service is only the
|
|
15
|
+
* dispatch point those fires are routed through. Engine policy (e.g. the
|
|
16
|
+
* `disableDnd` guard) stays on the component, ahead of the dispatch.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Owns the dispatch of the advanced drag-and-drop hooks: `onWillDragPanel`,
|
|
20
|
+
* `onWillDragGroup`, `onWillDrop` and `onWillShowOverlay`.
|
|
21
|
+
*
|
|
22
|
+
* At this stage the service is a thin dispatcher that forwards to the host's
|
|
23
|
+
* emitters; the customisation surface it gates (custom drop overlays, custom
|
|
24
|
+
* group drag ghosts, hook veto/transform behaviour) is currently inlined in
|
|
25
|
+
* core and is extracted into this service in later phases. Routing the
|
|
26
|
+
* dispatch through a module slot is what lets that customisation layer move
|
|
27
|
+
* into a separately-distributed package in a future major version without
|
|
28
|
+
* changing the public event surface.
|
|
29
|
+
*
|
|
30
|
+
* The service holds no drag state of its own. The gesture is driven by the
|
|
31
|
+
* DnD backends, and the per-group subscriptions live on the component's group
|
|
32
|
+
* lifecycle (so groups created mid-move are not missed).
|
|
33
|
+
*/
|
|
34
|
+
export declare class AdvancedDnDService implements IAdvancedDnDService {
|
|
35
|
+
private readonly host;
|
|
36
|
+
constructor(host: IAdvancedDnDHost);
|
|
37
|
+
dispatchWillDragPanel(event: TabDragEvent): void;
|
|
38
|
+
dispatchWillDragGroup(event: GroupDragEvent): void;
|
|
39
|
+
dispatchWillDrop(event: DockviewWillDropEvent): void;
|
|
40
|
+
dispatchWillShowOverlay(event: DockviewWillShowOverlayLocationEvent): void;
|
|
41
|
+
buildGroupDragGhost(group: DockviewGroupPanel): IDragGhostSpec | undefined;
|
|
42
|
+
resolveOverlayModel(location: DockviewGroupDropLocation, group?: DockviewGroupPanel): DroptargetOverlayModel | undefined;
|
|
43
|
+
showPreviewOverlay(group: DockviewGroupPanel, position: Position): IDisposable;
|
|
44
|
+
dispose(): void;
|
|
45
|
+
}
|
|
46
|
+
export declare const AdvancedDnDModule: import("./modules").DockviewModule<IAdvancedDnDHost>;
|
|
@@ -40,7 +40,7 @@ export declare class ContentContainer extends CompositeDisposable implements ICo
|
|
|
40
40
|
hide(): void;
|
|
41
41
|
setLabelledBy(tabElementId: string | undefined): void;
|
|
42
42
|
renderPanel(panel: IDockviewPanel, options?: {
|
|
43
|
-
asActive
|
|
43
|
+
asActive?: boolean;
|
|
44
44
|
}): void;
|
|
45
45
|
openPanel(panel: IDockviewPanel): void;
|
|
46
46
|
layout(_width: number, _height: number): void;
|
|
@@ -5,6 +5,8 @@ export declare class DefaultTab extends CompositeDisposable implements ITabRende
|
|
|
5
5
|
private readonly _content;
|
|
6
6
|
private readonly action;
|
|
7
7
|
private _title;
|
|
8
|
+
/** English defaults until `init` supplies the app's resolved catalog. */
|
|
9
|
+
private _messages;
|
|
8
10
|
get element(): HTMLElement;
|
|
9
11
|
constructor();
|
|
10
12
|
init(params: GroupPanelPartInitParameters): void;
|
|
@@ -18,6 +18,7 @@ export declare class Tab extends CompositeDisposable {
|
|
|
18
18
|
private readonly pointerDragSource;
|
|
19
19
|
private readonly panelTransfer;
|
|
20
20
|
private _direction;
|
|
21
|
+
private _pinIndicator;
|
|
21
22
|
private readonly _onPointDown;
|
|
22
23
|
readonly onPointerDown: Event<MouseEvent>;
|
|
23
24
|
private readonly _onTabClick;
|
|
@@ -31,6 +32,7 @@ export declare class Tab extends CompositeDisposable {
|
|
|
31
32
|
readonly onWillShowOverlay: Event<WillShowOverlayEvent>;
|
|
32
33
|
get element(): HTMLElement;
|
|
33
34
|
constructor(panel: IDockviewPanel, accessor: DockviewComponent, group: DockviewGroupPanel);
|
|
35
|
+
private _updatePinnedClasses;
|
|
34
36
|
setActive(isActive: boolean): void;
|
|
35
37
|
setContent(part: ITabRenderer): void;
|
|
36
38
|
private _buildOverlayModel;
|
|
@@ -10,7 +10,7 @@ import { DockviewGroupPanel } from '../../dockviewGroupPanel';
|
|
|
10
10
|
* group to redock it into the grid. The redock half is provided by the shared
|
|
11
11
|
* {@link GroupDragSource}; the move half is owned by the overlay.
|
|
12
12
|
*
|
|
13
|
-
* The bar is intentionally contentless
|
|
13
|
+
* The bar is intentionally contentless; styling is driven entirely through
|
|
14
14
|
* the `--dv-floating-titlebar-*` theme variables.
|
|
15
15
|
*/
|
|
16
16
|
export declare class FloatingTitleBar extends CompositeDisposable {
|
|
@@ -21,7 +21,7 @@ export declare class FloatingTitleBar extends CompositeDisposable {
|
|
|
21
21
|
private readonly _onDragStart;
|
|
22
22
|
readonly onDragStart: import("../../../events").Event<PointerEvent | DragEvent>;
|
|
23
23
|
get element(): HTMLElement;
|
|
24
|
-
/** The window's current anchor group
|
|
24
|
+
/** The window's current anchor group, the one this bar drags/activates. */
|
|
25
25
|
get group(): DockviewGroupPanel;
|
|
26
26
|
/**
|
|
27
27
|
* Retarget the bar at a new anchor group. Called when the original anchor
|
|
@@ -7,7 +7,7 @@ export interface GroupDragSourceOptions {
|
|
|
7
7
|
readonly accessor: DockviewComponent;
|
|
8
8
|
/**
|
|
9
9
|
* The group this handle drags. Pass a function when the handle outlives the
|
|
10
|
-
* group it represents and can be retargeted
|
|
10
|
+
* group it represents and can be retargeted, e.g. a floating window's
|
|
11
11
|
* dedicated title bar, whose anchor group is reassigned when the original
|
|
12
12
|
* anchor leaves a multi-group window. A fixed reference (the tab-bar void
|
|
13
13
|
* container, which lives inside its own group's DOM) is also accepted.
|
|
@@ -8,7 +8,7 @@ import { DockviewApi } from '../../../api/component.api';
|
|
|
8
8
|
* Visual chip for a tab group. Owns the DOM element, label, click /
|
|
9
9
|
* context-menu interactions, and exposes a long-press gesture as a
|
|
10
10
|
* second `onContextMenu` source. Drag-and-drop wiring lives in
|
|
11
|
-
* `TabGroupManager
|
|
11
|
+
* `TabGroupManager`, which constructs the drag sources on this
|
|
12
12
|
* chip's element so it can include tabs-list context (custom group
|
|
13
13
|
* drag image, tab-group transfer payload).
|
|
14
14
|
*/
|
|
@@ -3,6 +3,12 @@ import { DockviewHeaderDirection, DockviewHeaderPosition } from '../../options';
|
|
|
3
3
|
import { Tab } from '../tab/tab';
|
|
4
4
|
import { ITabGroup } from '../../tabGroup';
|
|
5
5
|
import { TabGroupColorPalette } from '../../tabGroupAccent';
|
|
6
|
+
/**
|
|
7
|
+
* Class for the small accent pip drawn at the leading edge of each wrapped
|
|
8
|
+
* row a tab group spans beyond its first. Echoes the group chip so a
|
|
9
|
+
* multi-row group reads as one group on every row it occupies.
|
|
10
|
+
*/
|
|
11
|
+
export declare const TAB_GROUP_CHIP_CONTINUATION_CLASS = "dv-tab-group-chip-continuation";
|
|
6
12
|
export interface TabGroupIndicatorContext {
|
|
7
13
|
readonly tabsList: HTMLElement;
|
|
8
14
|
getTabGroups(): readonly ITabGroup[];
|
|
@@ -28,6 +34,12 @@ export interface ITabGroupIndicator {
|
|
|
28
34
|
declare abstract class BaseTabGroupIndicator implements ITabGroupIndicator {
|
|
29
35
|
protected readonly _ctx: TabGroupIndicatorContext;
|
|
30
36
|
protected readonly _underlines: Map<string, HTMLElement>;
|
|
37
|
+
/**
|
|
38
|
+
* Per-group pool of continuation-marker pips (one per wrapped row the
|
|
39
|
+
* group spans beyond its first). Absolutely positioned so they sit
|
|
40
|
+
* outside the flex-wrap flow, exactly like the underline element.
|
|
41
|
+
*/
|
|
42
|
+
private readonly _continuationMarkers;
|
|
31
43
|
private _rafId;
|
|
32
44
|
get underlines(): ReadonlyMap<string, HTMLElement>;
|
|
33
45
|
constructor(_ctx: TabGroupIndicatorContext);
|
|
@@ -40,12 +52,71 @@ declare abstract class BaseTabGroupIndicator implements ITabGroupIndicator {
|
|
|
40
52
|
syncUnderlineElements(activeGroupIds: Set<string>): void;
|
|
41
53
|
getUnderline(groupId: string): HTMLElement | undefined;
|
|
42
54
|
dispose(): void;
|
|
55
|
+
/**
|
|
56
|
+
* Grow/shrink a group's continuation-marker pool to `count` pips,
|
|
57
|
+
* creating/removing DOM nodes as needed, and return the pool.
|
|
58
|
+
*/
|
|
59
|
+
private _syncContinuationMarkers;
|
|
60
|
+
/**
|
|
61
|
+
* Remove continuation markers for a single group, or (when `groupId`
|
|
62
|
+
* is omitted) for every group. Used when a group dissolves, stops
|
|
63
|
+
* wrapping, or the indicator is disposed.
|
|
64
|
+
*/
|
|
65
|
+
private _clearContinuationMarkers;
|
|
43
66
|
/**
|
|
44
67
|
* Apply the visual shape to the underline element.
|
|
45
68
|
* Called once per tab group per frame with the computed geometry.
|
|
46
69
|
*/
|
|
47
70
|
protected abstract applyShape(underline: HTMLElement, tg: ITabGroup, startEdge: number, span: number, containerCrossSize: number, activePanelId: string | undefined, containerRect: DOMRect, isVertical: boolean): void;
|
|
48
71
|
private _positionUnderlinesSync;
|
|
72
|
+
/**
|
|
73
|
+
* Position a group's underline across a multi-line (wrapped) tab strip. The
|
|
74
|
+
* single-bar model can't span lines, so the element is sized to cover the
|
|
75
|
+
* group's line span and an SVG draws one straight segment per line-run of
|
|
76
|
+
* the group's tabs: a horizontal segment per row (horizontal header) or a
|
|
77
|
+
* vertical segment per column (vertical header). Tabs are bucketed into
|
|
78
|
+
* runs by their cross-axis offset: `top` for rows, `left` for columns.
|
|
79
|
+
* (The active-tab wrap-around bump is omitted in wrap; the per-line lines
|
|
80
|
+
* still convey membership.)
|
|
81
|
+
*/
|
|
82
|
+
private _positionWrappedUnderline;
|
|
83
|
+
/**
|
|
84
|
+
* Bucket a group's visible tabs into line-runs by their cross-axis offset
|
|
85
|
+
* (rows by `top`, columns by `left`), with a 2px sub-pixel tolerance.
|
|
86
|
+
* `firstRun` is the run holding the group's first tab (the chip's line),
|
|
87
|
+
* tracked by reference so it is correct regardless of axis or header side (a
|
|
88
|
+
* `vertical-rl` first column is right-most, not left-most).
|
|
89
|
+
*/
|
|
90
|
+
private _computeWrappedRuns;
|
|
91
|
+
/**
|
|
92
|
+
* Build the SVG `path` data for a group's per-line underline segments: a
|
|
93
|
+
* horizontal segment along each row's edge (`svg-y` offset by `minTop`) or a
|
|
94
|
+
* vertical segment down each column's leading edge (`svg-x` offset by
|
|
95
|
+
* `minLeft`). `inverted` moves the line to the header-facing edge.
|
|
96
|
+
*/
|
|
97
|
+
private _wrappedPathData;
|
|
98
|
+
/**
|
|
99
|
+
* Draw a small accent pip at the leading edge of every wrapped line-run a
|
|
100
|
+
* group spans beyond its first. The group's real chip already marks the
|
|
101
|
+
* first run; these lightweight markers echo it on the continuation runs so
|
|
102
|
+
* a group that wraps onto rows/columns 2–3 reads as one group on each line
|
|
103
|
+
* instead of losing its colour after the first.
|
|
104
|
+
*
|
|
105
|
+
* `runs` are the group's line-runs (container-relative geometry) as
|
|
106
|
+
* bucketed by {@link _positionWrappedUnderline}; `firstRun` is the run that
|
|
107
|
+
* holds the chip and is skipped. The pip sits at each continuation run's
|
|
108
|
+
* main-axis start (top of a column, left of a row), centred on the cross
|
|
109
|
+
* axis.
|
|
110
|
+
*/
|
|
111
|
+
private _positionContinuationMarkers;
|
|
112
|
+
/**
|
|
113
|
+
* Ensure the underline element holds a single reusable `<svg><path/></svg>`
|
|
114
|
+
* (created once, reused across frames) and return them.
|
|
115
|
+
*/
|
|
116
|
+
protected ensureSvgPath(underline: HTMLElement): {
|
|
117
|
+
svg: SVGSVGElement;
|
|
118
|
+
path: SVGPathElement;
|
|
119
|
+
};
|
|
49
120
|
}
|
|
50
121
|
/**
|
|
51
122
|
* Chrome-style wrap-around indicator using SVG paths.
|
|
@@ -63,8 +134,8 @@ export declare class WrapTabGroupIndicator extends BaseTabGroupIndicator {
|
|
|
63
134
|
protected applyShape(underline: HTMLElement, tg: ITabGroup, groupStart: number, groupSpan: number, containerCrossSize: number, activePanelId: string | undefined, containerRect: DOMRect, isVertical: boolean): void;
|
|
64
135
|
}
|
|
65
136
|
/**
|
|
66
|
-
* Flat continuous bar indicator
|
|
67
|
-
*
|
|
137
|
+
* Flat continuous bar indicator: a plain colored line spanning the full tab
|
|
138
|
+
* group width, with no wrap-around.
|
|
68
139
|
*/
|
|
69
140
|
export declare class NoneTabGroupIndicator extends BaseTabGroupIndicator {
|
|
70
141
|
protected applyShape(underline: HTMLElement, tg: ITabGroup, _startEdge: number, span: number, _containerCrossSize: number, _activePanelId: string | undefined, _containerRect: DOMRect, isVertical: boolean): void;
|
|
@@ -75,7 +75,7 @@ export declare class TabGroupManager {
|
|
|
75
75
|
/**
|
|
76
76
|
* Synchronously dispose the chip drag sources for an in-flight chip
|
|
77
77
|
* drag. Called from `_commitGroupMove` so the transfer payload +
|
|
78
|
-
* iframe shield are released
|
|
78
|
+
* iframe shield are released before the cross-group move detaches
|
|
79
79
|
* the chip (chip dispose is scheduled on a microtask via
|
|
80
80
|
* `_scheduleTabGroupUpdate`, which is too late for callers that read
|
|
81
81
|
* `getPanelData()` synchronously after the move).
|