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
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import { Emitter } from '../events';
|
|
2
|
-
import { remove } from '../array';
|
|
3
|
-
import { defineModule } from './modules';
|
|
4
|
-
export class PopoutWindowService {
|
|
5
|
-
constructor(host) {
|
|
6
|
-
this._entries = [];
|
|
7
|
-
this._popupServices = new Map();
|
|
8
|
-
this._restorationCleanups = new Set();
|
|
9
|
-
this._restorationPromise = Promise.resolve();
|
|
10
|
-
this._onDidRemove = new Emitter();
|
|
11
|
-
this.onDidRemove = this._onDidRemove.event;
|
|
12
|
-
this._host = host;
|
|
13
|
-
}
|
|
14
|
-
get entries() {
|
|
15
|
-
return this._entries;
|
|
16
|
-
}
|
|
17
|
-
get restorationPromise() {
|
|
18
|
-
return this._restorationPromise;
|
|
19
|
-
}
|
|
20
|
-
add(entry) {
|
|
21
|
-
this._entries.push(entry);
|
|
22
|
-
}
|
|
23
|
-
remove(entry) {
|
|
24
|
-
// Fire only on a genuine removal, and not while the host component is
|
|
25
|
-
// tearing down (consumers don't want popout-removed events during
|
|
26
|
-
// dispose).
|
|
27
|
-
if (remove(this._entries, entry) && !this._host.isDisposed) {
|
|
28
|
-
this._onDidRemove.fire(entry);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
findByGroup(group) {
|
|
32
|
-
// A popout window may host several groups in a nested gridview, so
|
|
33
|
-
// match by membership (DOM containment) rather than only the anchor.
|
|
34
|
-
return this._entries.find((entry) => entry.popoutGroup === group ||
|
|
35
|
-
entry.gridview.element.contains(group.element));
|
|
36
|
-
}
|
|
37
|
-
findReferenceGroupId(group) {
|
|
38
|
-
var _a;
|
|
39
|
-
return (_a = this._entries.find((entry) => entry.popoutGroup === group)) === null || _a === void 0 ? void 0 : _a.referenceGroup;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* The popout window's innerWidth/innerHeight are often 0/stale until it has
|
|
43
|
-
* painted, and the nested gridview lays its children out to the size passed
|
|
44
|
-
* to layout() (a plain group fills via CSS instead). To stop content
|
|
45
|
-
* rendering into a zero box until a manual resize — and to avoid the race a
|
|
46
|
-
* fixed number of animation frames had — observe the gridview element with
|
|
47
|
-
* a ResizeObserver created in the POPOUT window's OWN realm. A parent-realm
|
|
48
|
-
* observer fires unreliably across the window boundary; a same-realm one
|
|
49
|
-
* fires reliably, including the initial observation once the window is
|
|
50
|
-
* sized.
|
|
51
|
-
*
|
|
52
|
-
* @returns a disposable that disconnects the observer, or `undefined` when
|
|
53
|
-
* the popout realm has no ResizeObserver (e.g. jsdom).
|
|
54
|
-
*/
|
|
55
|
-
observeGridviewSize(popoutWindow, gridview, overlayRenderContainer) {
|
|
56
|
-
var _a;
|
|
57
|
-
const PopoutResizeObserver = (_a = popoutWindow.window) === null || _a === void 0 ? void 0 : _a.ResizeObserver;
|
|
58
|
-
if (!PopoutResizeObserver) {
|
|
59
|
-
return undefined;
|
|
60
|
-
}
|
|
61
|
-
let lastWidth = -1;
|
|
62
|
-
let lastHeight = -1;
|
|
63
|
-
const relayout = () => {
|
|
64
|
-
const win = popoutWindow.window;
|
|
65
|
-
if (this._host.isDisposed || !win || win.closed) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
const width = Math.round(gridview.element.clientWidth);
|
|
69
|
-
const height = Math.round(gridview.element.clientHeight);
|
|
70
|
-
if (width === lastWidth && height === lastHeight) {
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
lastWidth = width;
|
|
74
|
-
lastHeight = height;
|
|
75
|
-
if (width > 0 && height > 0) {
|
|
76
|
-
gridview.layout(width, height);
|
|
77
|
-
}
|
|
78
|
-
overlayRenderContainer.updateAllPositions();
|
|
79
|
-
};
|
|
80
|
-
const observer = new PopoutResizeObserver(() => {
|
|
81
|
-
var _a;
|
|
82
|
-
// Defer out of the observer callback into the popout's own frame to
|
|
83
|
-
// size against the settled layout and to avoid resize-loop warnings.
|
|
84
|
-
const raf = (_a = popoutWindow.window) === null || _a === void 0 ? void 0 : _a.requestAnimationFrame;
|
|
85
|
-
if (raf) {
|
|
86
|
-
raf.call(popoutWindow.window, relayout);
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
relayout();
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
observer.observe(gridview.element);
|
|
93
|
-
return { dispose: () => observer.disconnect() };
|
|
94
|
-
}
|
|
95
|
-
getPopupService(groupId) {
|
|
96
|
-
return this._popupServices.get(groupId);
|
|
97
|
-
}
|
|
98
|
-
setPopupService(groupId, service) {
|
|
99
|
-
this._popupServices.set(groupId, service);
|
|
100
|
-
}
|
|
101
|
-
deletePopupService(groupId) {
|
|
102
|
-
this._popupServices.delete(groupId);
|
|
103
|
-
}
|
|
104
|
-
scheduleRestoration(delayMs, work, onCancel) {
|
|
105
|
-
return new Promise((resolve) => {
|
|
106
|
-
const cleanup = () => {
|
|
107
|
-
this._restorationCleanups.delete(cleanup);
|
|
108
|
-
clearTimeout(handle);
|
|
109
|
-
onCancel === null || onCancel === void 0 ? void 0 : onCancel();
|
|
110
|
-
resolve();
|
|
111
|
-
};
|
|
112
|
-
const handle = setTimeout(() => {
|
|
113
|
-
this._restorationCleanups.delete(cleanup);
|
|
114
|
-
// Guard against the component being disposed before this
|
|
115
|
-
// timer fires. Under React StrictMode the component is
|
|
116
|
-
// mounted -> disposed -> remounted, and without this guard
|
|
117
|
-
// the first instance's queued restoration would open a
|
|
118
|
-
// second popout window. See issue #851.
|
|
119
|
-
if (this._host.isDisposed) {
|
|
120
|
-
resolve();
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
work();
|
|
124
|
-
resolve();
|
|
125
|
-
}, delayMs);
|
|
126
|
-
this._restorationCleanups.add(cleanup);
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
finishRestoration(promises) {
|
|
130
|
-
this._restorationPromise = Promise.all(promises).then(() => void 0);
|
|
131
|
-
}
|
|
132
|
-
cancelPendingRestorations() {
|
|
133
|
-
for (const cleanup of [...this._restorationCleanups]) {
|
|
134
|
-
cleanup();
|
|
135
|
-
}
|
|
136
|
-
this._restorationCleanups.clear();
|
|
137
|
-
}
|
|
138
|
-
serialize() {
|
|
139
|
-
return this._entries.map((entry) => {
|
|
140
|
-
const grid = entry.gridview.serialize();
|
|
141
|
-
const root = grid.root;
|
|
142
|
-
const url = entry.popoutGroup.api.location.type === 'popout'
|
|
143
|
-
? entry.popoutGroup.api.location.popoutUrl
|
|
144
|
-
: undefined;
|
|
145
|
-
const base = {
|
|
146
|
-
gridReferenceGroup: entry.referenceGroup,
|
|
147
|
-
position: entry.window.dimensions(),
|
|
148
|
-
url,
|
|
149
|
-
};
|
|
150
|
-
// Single-group window keeps the legacy `data` shape so layouts
|
|
151
|
-
// round-trip byte-stably and older readers keep working.
|
|
152
|
-
if (root.type === 'branch' &&
|
|
153
|
-
root.data.length === 1 &&
|
|
154
|
-
root.data[0].type === 'leaf') {
|
|
155
|
-
return Object.assign(Object.assign({}, base), { data: root.data[0].data });
|
|
156
|
-
}
|
|
157
|
-
return Object.assign(Object.assign({}, base), { grid });
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
disposeAll() {
|
|
161
|
-
for (const entry of [...this._entries]) {
|
|
162
|
-
entry.disposable.dispose();
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
dispose() {
|
|
166
|
-
this.cancelPendingRestorations();
|
|
167
|
-
this.disposeAll();
|
|
168
|
-
this._onDidRemove.dispose();
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
export const PopoutWindowModule = defineModule({
|
|
172
|
-
name: 'PopoutWindow',
|
|
173
|
-
serviceKey: 'popoutWindowService',
|
|
174
|
-
create: (host) => new PopoutWindowService(host),
|
|
175
|
-
});
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { IDisposable } from '../lifecycle';
|
|
2
|
-
import { Event } from '../events';
|
|
3
|
-
import { DroptargetEvent, DropTargetTargetModel, Position, WillShowOverlayEvent } from '../dnd/droptarget';
|
|
4
|
-
import { DockviewComponentOptions } from './options';
|
|
5
|
-
export interface IRootDropTargetHost {
|
|
6
|
-
readonly id: string;
|
|
7
|
-
readonly element: HTMLElement;
|
|
8
|
-
readonly options: DockviewComponentOptions;
|
|
9
|
-
isGridEmpty(): boolean;
|
|
10
|
-
rootDropTargetOverrideTarget(): DropTargetTargetModel | undefined;
|
|
11
|
-
/**
|
|
12
|
-
* Build, fire, and return the verdict for an unhandled-drag-over event.
|
|
13
|
-
* Implemented on the component side so the service stays free of
|
|
14
|
-
* circular imports with the event class declared in dockviewComponent.
|
|
15
|
-
*/
|
|
16
|
-
dispatchUnhandledDragOver(nativeEvent: DragEvent | PointerEvent, position: Position): boolean;
|
|
17
|
-
}
|
|
18
|
-
export interface IRootDropTargetService extends IDisposable {
|
|
19
|
-
/** Merged stream from both DnD backends. */
|
|
20
|
-
readonly onWillShowOverlay: Event<WillShowOverlayEvent>;
|
|
21
|
-
/** Merged stream from both DnD backends. */
|
|
22
|
-
readonly onDrop: Event<DroptargetEvent>;
|
|
23
|
-
/** Apply changed options (dndEdges). */
|
|
24
|
-
setOptions(options: Partial<DockviewComponentOptions>): void;
|
|
25
|
-
}
|
|
26
|
-
export declare class RootDropTargetService implements IRootDropTargetService {
|
|
27
|
-
private readonly _html5Target;
|
|
28
|
-
private readonly _pointerTarget;
|
|
29
|
-
readonly onWillShowOverlay: Event<WillShowOverlayEvent>;
|
|
30
|
-
readonly onDrop: Event<DroptargetEvent>;
|
|
31
|
-
constructor(host: IRootDropTargetHost);
|
|
32
|
-
setOptions(options: Partial<DockviewComponentOptions>): void;
|
|
33
|
-
dispose(): void;
|
|
34
|
-
}
|
|
35
|
-
export declare const RootDropTargetModule: import("./modules").DockviewModule<IRootDropTargetHost>;
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { Event } from '../events';
|
|
2
|
-
import { html5Backend, pointerBackend } from '../dnd/backend';
|
|
3
|
-
import { getPanelData } from '../dnd/dataTransfer';
|
|
4
|
-
import { defineModule } from './modules';
|
|
5
|
-
const DEFAULT_ROOT_OVERLAY_MODEL = {
|
|
6
|
-
activationSize: { type: 'pixels', value: 10 },
|
|
7
|
-
size: { type: 'pixels', value: 20 },
|
|
8
|
-
};
|
|
9
|
-
export class RootDropTargetService {
|
|
10
|
-
constructor(host) {
|
|
11
|
-
const canDisplayOverlay = (event, position) => {
|
|
12
|
-
const data = getPanelData();
|
|
13
|
-
if (data) {
|
|
14
|
-
if (data.viewId !== host.id) {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
if (position === 'center') {
|
|
18
|
-
// center drop target only allowed if no panels in primary
|
|
19
|
-
// grid; floating panels are allowed
|
|
20
|
-
return host.isGridEmpty();
|
|
21
|
-
}
|
|
22
|
-
return true;
|
|
23
|
-
}
|
|
24
|
-
if (position === 'center' && !host.isGridEmpty()) {
|
|
25
|
-
// for external events only show the four-corner drag overlays,
|
|
26
|
-
// disable center so external drag events can fall through to
|
|
27
|
-
// the group and panel drop target handlers
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
return host.dispatchUnhandledDragOver(event, position);
|
|
31
|
-
};
|
|
32
|
-
const overlayModel = typeof host.options.dndEdges === 'object' &&
|
|
33
|
-
host.options.dndEdges !== null
|
|
34
|
-
? host.options.dndEdges
|
|
35
|
-
: DEFAULT_ROOT_OVERLAY_MODEL;
|
|
36
|
-
this._html5Target = html5Backend.createDropTarget(host.element, {
|
|
37
|
-
className: 'dv-drop-target-edge',
|
|
38
|
-
canDisplayOverlay,
|
|
39
|
-
acceptedTargetZones: ['top', 'bottom', 'left', 'right', 'center'],
|
|
40
|
-
overlayModel,
|
|
41
|
-
getOverrideTarget: () => host.rootDropTargetOverrideTarget(),
|
|
42
|
-
});
|
|
43
|
-
this._pointerTarget = pointerBackend.createDropTarget(host.element, {
|
|
44
|
-
className: 'dv-drop-target-edge',
|
|
45
|
-
canDisplayOverlay,
|
|
46
|
-
acceptedTargetZones: ['top', 'bottom', 'left', 'right', 'center'],
|
|
47
|
-
overlayModel,
|
|
48
|
-
getOverrideTarget: () => host.rootDropTargetOverrideTarget(),
|
|
49
|
-
});
|
|
50
|
-
this.onWillShowOverlay = Event.any(this._html5Target.onWillShowOverlay, this._pointerTarget.onWillShowOverlay);
|
|
51
|
-
this.onDrop = Event.any(this._html5Target.onDrop, this._pointerTarget.onDrop);
|
|
52
|
-
// Apply initial-state options now that the targets exist; setOptions
|
|
53
|
-
// handles dndEdges (disable + overlay model) and late changes.
|
|
54
|
-
this.setOptions(host.options);
|
|
55
|
-
}
|
|
56
|
-
setOptions(options) {
|
|
57
|
-
if ('dndEdges' in options) {
|
|
58
|
-
const disabled = typeof options.dndEdges === 'boolean' &&
|
|
59
|
-
options.dndEdges === false;
|
|
60
|
-
this._html5Target.disabled = disabled;
|
|
61
|
-
this._pointerTarget.disabled = disabled;
|
|
62
|
-
if (typeof options.dndEdges === 'object' &&
|
|
63
|
-
options.dndEdges !== null) {
|
|
64
|
-
this._html5Target.setOverlayModel(options.dndEdges);
|
|
65
|
-
this._pointerTarget.setOverlayModel(options.dndEdges);
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
this._html5Target.setOverlayModel(DEFAULT_ROOT_OVERLAY_MODEL);
|
|
69
|
-
this._pointerTarget.setOverlayModel(DEFAULT_ROOT_OVERLAY_MODEL);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
dispose() {
|
|
74
|
-
this._html5Target.dispose();
|
|
75
|
-
this._pointerTarget.dispose();
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
export const RootDropTargetModule = defineModule({
|
|
79
|
-
name: 'RootDropTarget',
|
|
80
|
-
serviceKey: 'rootDropTargetService',
|
|
81
|
-
create: (host) => new RootDropTargetService(host),
|
|
82
|
-
});
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { CompositeDisposable } from '../lifecycle';
|
|
2
|
-
import { DockviewComponent } from './dockviewComponent';
|
|
3
|
-
export declare class StrictEventsSequencing extends CompositeDisposable {
|
|
4
|
-
private readonly accessor;
|
|
5
|
-
constructor(accessor: DockviewComponent);
|
|
6
|
-
private init;
|
|
7
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { CompositeDisposable } from '../lifecycle';
|
|
2
|
-
export class StrictEventsSequencing extends CompositeDisposable {
|
|
3
|
-
constructor(accessor) {
|
|
4
|
-
super();
|
|
5
|
-
this.accessor = accessor;
|
|
6
|
-
this.init();
|
|
7
|
-
}
|
|
8
|
-
init() {
|
|
9
|
-
const panels = new Set();
|
|
10
|
-
const groups = new Set();
|
|
11
|
-
this.addDisposables(this.accessor.onDidAddPanel((panel) => {
|
|
12
|
-
if (panels.has(panel.api.id)) {
|
|
13
|
-
throw new Error(`dockview: Invalid event sequence. [onDidAddPanel] called for panel ${panel.api.id} but panel already exists`);
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
panels.add(panel.api.id);
|
|
17
|
-
}
|
|
18
|
-
}), this.accessor.onDidRemovePanel((panel) => {
|
|
19
|
-
if (panels.has(panel.api.id)) {
|
|
20
|
-
panels.delete(panel.api.id);
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
throw new Error(`dockview: Invalid event sequence. [onDidRemovePanel] called for panel ${panel.api.id} but panel does not exists`);
|
|
24
|
-
}
|
|
25
|
-
}), this.accessor.onDidAddGroup((group) => {
|
|
26
|
-
if (groups.has(group.api.id)) {
|
|
27
|
-
throw new Error(`dockview: Invalid event sequence. [onDidAddGroup] called for group ${group.api.id} but group already exists`);
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
groups.add(group.api.id);
|
|
31
|
-
}
|
|
32
|
-
}), this.accessor.onDidRemoveGroup((group) => {
|
|
33
|
-
if (groups.has(group.api.id)) {
|
|
34
|
-
groups.delete(group.api.id);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
throw new Error(`dockview: Invalid event sequence. [onDidRemoveGroup] called for group ${group.api.id} but group does not exists`);
|
|
38
|
-
}
|
|
39
|
-
}));
|
|
40
|
-
}
|
|
41
|
-
}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { Event } from '../events';
|
|
2
|
-
import { CompositeDisposable } from '../lifecycle';
|
|
3
|
-
/**
|
|
4
|
-
* The accent color associated with a tab group.
|
|
5
|
-
*
|
|
6
|
-
* This is any CSS color expression: a palette id (e.g. `'grey'`, `'blue'`),
|
|
7
|
-
* a raw color literal (`'#abc123'`, `'rgb(0,0,0)'`), or `undefined` to inherit
|
|
8
|
-
* the default. Resolution to a concrete CSS value is handled by the
|
|
9
|
-
* dockview's `TabGroupColorPalette` (see `tabGroupAccent.ts`).
|
|
10
|
-
*/
|
|
11
|
-
export type DockviewTabGroupColor = string;
|
|
12
|
-
export interface SerializedTabGroup {
|
|
13
|
-
id: string;
|
|
14
|
-
label?: string;
|
|
15
|
-
color?: string;
|
|
16
|
-
collapsed: boolean;
|
|
17
|
-
panelIds: string[];
|
|
18
|
-
componentParams?: Record<string, unknown>;
|
|
19
|
-
}
|
|
20
|
-
export interface TabGroupOptions {
|
|
21
|
-
label?: string;
|
|
22
|
-
color?: string;
|
|
23
|
-
collapsed?: boolean;
|
|
24
|
-
/**
|
|
25
|
-
* Free-form data passed to a custom chip renderer
|
|
26
|
-
* (`createTabGroupChipComponent`). Read via `tabGroup.componentParams`
|
|
27
|
-
* inside the renderer's `init` / `update`. Must be JSON-serializable to
|
|
28
|
-
* round-trip through layout serialization.
|
|
29
|
-
*/
|
|
30
|
-
componentParams?: Record<string, unknown>;
|
|
31
|
-
}
|
|
32
|
-
export interface ITabGroup {
|
|
33
|
-
readonly id: string;
|
|
34
|
-
readonly label: string;
|
|
35
|
-
readonly color: string | undefined;
|
|
36
|
-
readonly collapsed: boolean;
|
|
37
|
-
readonly panelIds: readonly string[];
|
|
38
|
-
readonly size: number;
|
|
39
|
-
readonly isEmpty: boolean;
|
|
40
|
-
readonly componentParams: Record<string, unknown> | undefined;
|
|
41
|
-
readonly onDidChange: Event<void>;
|
|
42
|
-
readonly onDidPanelChange: Event<{
|
|
43
|
-
panelId: string;
|
|
44
|
-
type: 'add' | 'remove';
|
|
45
|
-
}>;
|
|
46
|
-
readonly onDidCollapseChange: Event<boolean>;
|
|
47
|
-
readonly onDidDestroy: Event<void>;
|
|
48
|
-
addPanel(panelId: string, index?: number): void;
|
|
49
|
-
removePanel(panelId: string): boolean;
|
|
50
|
-
indexOfPanel(panelId: string): number;
|
|
51
|
-
containsPanel(panelId: string): boolean;
|
|
52
|
-
setLabel(value: string): void;
|
|
53
|
-
setColor(value: string | undefined): void;
|
|
54
|
-
setComponentParams(value: Record<string, unknown> | undefined): void;
|
|
55
|
-
collapse(): void;
|
|
56
|
-
expand(): void;
|
|
57
|
-
toggle(): void;
|
|
58
|
-
toJSON(): SerializedTabGroup;
|
|
59
|
-
dispose(): void;
|
|
60
|
-
}
|
|
61
|
-
export declare class TabGroup extends CompositeDisposable implements ITabGroup {
|
|
62
|
-
readonly id: string;
|
|
63
|
-
private _label;
|
|
64
|
-
private _color;
|
|
65
|
-
private _collapsed;
|
|
66
|
-
private _componentParams;
|
|
67
|
-
private readonly _panelIds;
|
|
68
|
-
private readonly _onDidChange;
|
|
69
|
-
readonly onDidChange: Event<void>;
|
|
70
|
-
private readonly _onDidPanelChange;
|
|
71
|
-
readonly onDidPanelChange: Event<{
|
|
72
|
-
panelId: string;
|
|
73
|
-
type: "add" | "remove";
|
|
74
|
-
}>;
|
|
75
|
-
private readonly _onDidCollapseChange;
|
|
76
|
-
readonly onDidCollapseChange: Event<boolean>;
|
|
77
|
-
private readonly _onDidDestroy;
|
|
78
|
-
readonly onDidDestroy: Event<void>;
|
|
79
|
-
get label(): string;
|
|
80
|
-
get color(): string | undefined;
|
|
81
|
-
get componentParams(): Record<string, unknown> | undefined;
|
|
82
|
-
setLabel(value: string): void;
|
|
83
|
-
setColor(value: string | undefined): void;
|
|
84
|
-
setComponentParams(value: Record<string, unknown> | undefined): void;
|
|
85
|
-
get collapsed(): boolean;
|
|
86
|
-
get panelIds(): readonly string[];
|
|
87
|
-
get size(): number;
|
|
88
|
-
get isEmpty(): boolean;
|
|
89
|
-
constructor(id: string, options?: TabGroupOptions);
|
|
90
|
-
addPanel(panelId: string, index?: number): void;
|
|
91
|
-
removePanel(panelId: string): boolean;
|
|
92
|
-
indexOfPanel(panelId: string): number;
|
|
93
|
-
containsPanel(panelId: string): boolean;
|
|
94
|
-
collapse(): void;
|
|
95
|
-
expand(): void;
|
|
96
|
-
toggle(): void;
|
|
97
|
-
toJSON(): SerializedTabGroup;
|
|
98
|
-
dispose(): void;
|
|
99
|
-
}
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { Emitter } from '../events';
|
|
2
|
-
import { CompositeDisposable } from '../lifecycle';
|
|
3
|
-
export class TabGroup extends CompositeDisposable {
|
|
4
|
-
get label() {
|
|
5
|
-
return this._label;
|
|
6
|
-
}
|
|
7
|
-
get color() {
|
|
8
|
-
return this._color;
|
|
9
|
-
}
|
|
10
|
-
get componentParams() {
|
|
11
|
-
return this._componentParams;
|
|
12
|
-
}
|
|
13
|
-
setLabel(value) {
|
|
14
|
-
if (this.isDisposed || this._label === value) {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
this._label = value;
|
|
18
|
-
this._onDidChange.fire();
|
|
19
|
-
}
|
|
20
|
-
setColor(value) {
|
|
21
|
-
if (this.isDisposed) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
const next = value === '' ? undefined : value;
|
|
25
|
-
if (this._color === next) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
this._color = next;
|
|
29
|
-
this._onDidChange.fire();
|
|
30
|
-
}
|
|
31
|
-
setComponentParams(value) {
|
|
32
|
-
if (this.isDisposed) {
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
this._componentParams = value;
|
|
36
|
-
this._onDidChange.fire();
|
|
37
|
-
}
|
|
38
|
-
get collapsed() {
|
|
39
|
-
return this._collapsed;
|
|
40
|
-
}
|
|
41
|
-
get panelIds() {
|
|
42
|
-
return this._panelIds;
|
|
43
|
-
}
|
|
44
|
-
get size() {
|
|
45
|
-
return this._panelIds.length;
|
|
46
|
-
}
|
|
47
|
-
get isEmpty() {
|
|
48
|
-
return this._panelIds.length === 0;
|
|
49
|
-
}
|
|
50
|
-
constructor(id, options) {
|
|
51
|
-
var _a, _b;
|
|
52
|
-
super();
|
|
53
|
-
this.id = id;
|
|
54
|
-
this._collapsed = false;
|
|
55
|
-
this._panelIds = [];
|
|
56
|
-
this._onDidChange = new Emitter();
|
|
57
|
-
this.onDidChange = this._onDidChange.event;
|
|
58
|
-
this._onDidPanelChange = new Emitter();
|
|
59
|
-
this.onDidPanelChange = this._onDidPanelChange.event;
|
|
60
|
-
this._onDidCollapseChange = new Emitter();
|
|
61
|
-
this.onDidCollapseChange = this._onDidCollapseChange.event;
|
|
62
|
-
this._onDidDestroy = new Emitter();
|
|
63
|
-
this.onDidDestroy = this._onDidDestroy.event;
|
|
64
|
-
this._label = (_a = options === null || options === void 0 ? void 0 : options.label) !== null && _a !== void 0 ? _a : '';
|
|
65
|
-
this._color = (options === null || options === void 0 ? void 0 : options.color) === '' ? undefined : options === null || options === void 0 ? void 0 : options.color;
|
|
66
|
-
this._collapsed = (_b = options === null || options === void 0 ? void 0 : options.collapsed) !== null && _b !== void 0 ? _b : false;
|
|
67
|
-
this._componentParams = options === null || options === void 0 ? void 0 : options.componentParams;
|
|
68
|
-
this.addDisposables(this._onDidChange, this._onDidPanelChange, this._onDidCollapseChange, this._onDidDestroy);
|
|
69
|
-
}
|
|
70
|
-
addPanel(panelId, index) {
|
|
71
|
-
if (this.isDisposed) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
if (this._panelIds.includes(panelId)) {
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
const insertIndex = index === undefined
|
|
78
|
-
? this._panelIds.length
|
|
79
|
-
: Math.max(0, Math.min(index, this._panelIds.length));
|
|
80
|
-
this._panelIds.splice(insertIndex, 0, panelId);
|
|
81
|
-
this._onDidPanelChange.fire({ panelId, type: 'add' });
|
|
82
|
-
}
|
|
83
|
-
removePanel(panelId) {
|
|
84
|
-
if (this.isDisposed) {
|
|
85
|
-
return false;
|
|
86
|
-
}
|
|
87
|
-
const index = this._panelIds.indexOf(panelId);
|
|
88
|
-
if (index === -1) {
|
|
89
|
-
return false;
|
|
90
|
-
}
|
|
91
|
-
this._panelIds.splice(index, 1);
|
|
92
|
-
this._onDidPanelChange.fire({ panelId, type: 'remove' });
|
|
93
|
-
return true;
|
|
94
|
-
}
|
|
95
|
-
indexOfPanel(panelId) {
|
|
96
|
-
return this._panelIds.indexOf(panelId);
|
|
97
|
-
}
|
|
98
|
-
containsPanel(panelId) {
|
|
99
|
-
return this._panelIds.includes(panelId);
|
|
100
|
-
}
|
|
101
|
-
collapse() {
|
|
102
|
-
if (this.isDisposed || this._collapsed) {
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
this._collapsed = true;
|
|
106
|
-
this._onDidCollapseChange.fire(true);
|
|
107
|
-
}
|
|
108
|
-
expand() {
|
|
109
|
-
if (this.isDisposed || !this._collapsed) {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
this._collapsed = false;
|
|
113
|
-
this._onDidCollapseChange.fire(false);
|
|
114
|
-
}
|
|
115
|
-
toggle() {
|
|
116
|
-
if (this._collapsed) {
|
|
117
|
-
this.expand();
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
this.collapse();
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
toJSON() {
|
|
124
|
-
const result = {
|
|
125
|
-
id: this.id,
|
|
126
|
-
collapsed: this._collapsed,
|
|
127
|
-
panelIds: [...this._panelIds],
|
|
128
|
-
};
|
|
129
|
-
if (this._label) {
|
|
130
|
-
result.label = this._label;
|
|
131
|
-
}
|
|
132
|
-
if (this._color !== undefined) {
|
|
133
|
-
result.color = this._color;
|
|
134
|
-
}
|
|
135
|
-
if (this._componentParams !== undefined) {
|
|
136
|
-
result.componentParams = this._componentParams;
|
|
137
|
-
}
|
|
138
|
-
return result;
|
|
139
|
-
}
|
|
140
|
-
dispose() {
|
|
141
|
-
this._onDidDestroy.fire();
|
|
142
|
-
super.dispose();
|
|
143
|
-
}
|
|
144
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A single entry in the tab-group color palette.
|
|
3
|
-
*
|
|
4
|
-
* `id` is the value stored on `ITabGroup.color` and serialized in
|
|
5
|
-
* `SerializedTabGroup.color`. `value` is any CSS color expression — a hex
|
|
6
|
-
* literal, an rgb()/hsl()/oklch() function, or a `var(...)` reference.
|
|
7
|
-
*
|
|
8
|
-
* The default palette ships with `var(--dv-tab-group-color-${id})` values so
|
|
9
|
-
* themes can override the defaults purely in CSS. User-supplied palettes
|
|
10
|
-
* typically use raw color literals.
|
|
11
|
-
*/
|
|
12
|
-
export interface DockviewTabGroupColorEntry {
|
|
13
|
-
id: string;
|
|
14
|
-
value: string;
|
|
15
|
-
label?: string;
|
|
16
|
-
}
|
|
17
|
-
export declare const DEFAULT_TAB_GROUP_COLORS: readonly DockviewTabGroupColorEntry[];
|
|
18
|
-
/**
|
|
19
|
-
* Runtime palette for tab-group color accents.
|
|
20
|
-
*
|
|
21
|
-
* Resolves a stored `color` string to a CSS color expression, with three
|
|
22
|
-
* fall-through modes:
|
|
23
|
-
* 1. `id` matches an entry → entry's `value`
|
|
24
|
-
* 2. `id` doesn't match → `id` itself (raw CSS literal pass-through)
|
|
25
|
-
* 3. `id` is empty or undefined → undefined (caller skips assignment)
|
|
26
|
-
*
|
|
27
|
-
* When `enabled` is false the palette returns undefined for everything; this
|
|
28
|
-
* is the `tabGroupAccent: 'off'` opt-out path.
|
|
29
|
-
*/
|
|
30
|
-
export declare class TabGroupColorPalette {
|
|
31
|
-
private _entries;
|
|
32
|
-
private _byId;
|
|
33
|
-
private _enabled;
|
|
34
|
-
constructor(entries: readonly DockviewTabGroupColorEntry[], enabled?: boolean);
|
|
35
|
-
get enabled(): boolean;
|
|
36
|
-
set enabled(value: boolean);
|
|
37
|
-
/**
|
|
38
|
-
* Replace the entry list in place. Used by `updateOptions` so that
|
|
39
|
-
* existing palette references (held by chips, indicators, etc.) see
|
|
40
|
-
* the new palette without needing to be re-wired.
|
|
41
|
-
*/
|
|
42
|
-
setEntries(entries: readonly DockviewTabGroupColorEntry[]): void;
|
|
43
|
-
entries(): readonly DockviewTabGroupColorEntry[];
|
|
44
|
-
has(id: string): boolean;
|
|
45
|
-
get(id: string): DockviewTabGroupColorEntry | undefined;
|
|
46
|
-
/** First entry's id; used as the default when a color is unset. */
|
|
47
|
-
defaultId(): string | undefined;
|
|
48
|
-
/**
|
|
49
|
-
* Resolve a stored color to its CSS value, or undefined if no value
|
|
50
|
-
* should be written (palette disabled, or color empty/undefined).
|
|
51
|
-
*/
|
|
52
|
-
resolveValue(color: string | undefined): string | undefined;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Set the `--dv-tab-group-color` custom property on `el` to the resolved
|
|
56
|
-
* accent value, or remove it when the palette is disabled / color is unset.
|
|
57
|
-
*/
|
|
58
|
-
export declare function applyTabGroupAccent(el: HTMLElement, color: string | undefined, palette: TabGroupColorPalette | undefined): void;
|
|
59
|
-
/**
|
|
60
|
-
* Return the resolved CSS color for a tab group, or undefined when the
|
|
61
|
-
* palette is disabled or no color is set. Use this when you need the raw
|
|
62
|
-
* value to assign to a non-custom-property style (e.g. SVG stroke,
|
|
63
|
-
* backgroundColor on the indicator underline).
|
|
64
|
-
*/
|
|
65
|
-
export declare function resolveTabGroupAccent(color: string | undefined, palette: TabGroupColorPalette | undefined): string | undefined;
|