dockview-core 7.0.4 → 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
|
@@ -1,316 +0,0 @@
|
|
|
1
|
-
import { DockviewEvent, Emitter } from '../events';
|
|
2
|
-
import { CompositeDisposable } from '../lifecycle';
|
|
3
|
-
import { DragAndDropObserver } from './dnd';
|
|
4
|
-
import { createOverlayElements, renderAnchoredOverlay, renderInPlaceOverlay, } from './dropOverlay';
|
|
5
|
-
export class WillShowOverlayEvent extends DockviewEvent {
|
|
6
|
-
get nativeEvent() {
|
|
7
|
-
return this.options.nativeEvent;
|
|
8
|
-
}
|
|
9
|
-
get position() {
|
|
10
|
-
return this.options.position;
|
|
11
|
-
}
|
|
12
|
-
constructor(options) {
|
|
13
|
-
super();
|
|
14
|
-
this.options = options;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
export function directionToPosition(direction) {
|
|
18
|
-
switch (direction) {
|
|
19
|
-
case 'above':
|
|
20
|
-
return 'top';
|
|
21
|
-
case 'below':
|
|
22
|
-
return 'bottom';
|
|
23
|
-
case 'left':
|
|
24
|
-
return 'left';
|
|
25
|
-
case 'right':
|
|
26
|
-
return 'right';
|
|
27
|
-
case 'within':
|
|
28
|
-
return 'center';
|
|
29
|
-
default:
|
|
30
|
-
throw new Error(`invalid direction '${direction}'`);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
export function positionToDirection(position) {
|
|
34
|
-
switch (position) {
|
|
35
|
-
case 'top':
|
|
36
|
-
return 'above';
|
|
37
|
-
case 'bottom':
|
|
38
|
-
return 'below';
|
|
39
|
-
case 'left':
|
|
40
|
-
return 'left';
|
|
41
|
-
case 'right':
|
|
42
|
-
return 'right';
|
|
43
|
-
case 'center':
|
|
44
|
-
return 'within';
|
|
45
|
-
default:
|
|
46
|
-
throw new Error(`invalid position '${position}'`);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
const DEFAULT_ACTIVATION_SIZE = {
|
|
50
|
-
value: 20,
|
|
51
|
-
type: 'percentage',
|
|
52
|
-
};
|
|
53
|
-
export class Droptarget extends CompositeDisposable {
|
|
54
|
-
get disabled() {
|
|
55
|
-
return this._disabled;
|
|
56
|
-
}
|
|
57
|
-
set disabled(value) {
|
|
58
|
-
this._disabled = value;
|
|
59
|
-
}
|
|
60
|
-
get state() {
|
|
61
|
-
return this._state;
|
|
62
|
-
}
|
|
63
|
-
constructor(element, options) {
|
|
64
|
-
super();
|
|
65
|
-
this.element = element;
|
|
66
|
-
this.options = options;
|
|
67
|
-
this._onDrop = new Emitter();
|
|
68
|
-
this.onDrop = this._onDrop.event;
|
|
69
|
-
this._onWillShowOverlay = new Emitter();
|
|
70
|
-
this.onWillShowOverlay = this._onWillShowOverlay.event;
|
|
71
|
-
this._disabled = false;
|
|
72
|
-
// use a set to take advantage of #<set>.has
|
|
73
|
-
this._acceptedTargetZonesSet = new Set(this.options.acceptedTargetZones);
|
|
74
|
-
this.dnd = new DragAndDropObserver(this.element, {
|
|
75
|
-
onDragEnter: () => {
|
|
76
|
-
var _a, _b, _c;
|
|
77
|
-
(_c = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a)) === null || _c === void 0 ? void 0 : _c.getElements();
|
|
78
|
-
},
|
|
79
|
-
onDragOver: (e) => {
|
|
80
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
81
|
-
Droptarget.ACTUAL_TARGET = this;
|
|
82
|
-
const overrideTarget = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
83
|
-
if (this._acceptedTargetZonesSet.size === 0) {
|
|
84
|
-
if (overrideTarget) {
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
this.removeDropTarget();
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
const target = (_e = (_d = (_c = this.options).getOverlayOutline) === null || _d === void 0 ? void 0 : _d.call(_c)) !== null && _e !== void 0 ? _e : this.element;
|
|
91
|
-
const width = target.offsetWidth;
|
|
92
|
-
const height = target.offsetHeight;
|
|
93
|
-
if (width === 0 || height === 0) {
|
|
94
|
-
return; // avoid div!0
|
|
95
|
-
}
|
|
96
|
-
const rect = e.currentTarget.getBoundingClientRect();
|
|
97
|
-
const x = ((_f = e.clientX) !== null && _f !== void 0 ? _f : 0) - rect.left;
|
|
98
|
-
const y = ((_g = e.clientY) !== null && _g !== void 0 ? _g : 0) - rect.top;
|
|
99
|
-
const quadrant = this.calculateQuadrant(this._acceptedTargetZonesSet, x, y, width, height);
|
|
100
|
-
/**
|
|
101
|
-
* If the event has already been used by another DropTarget instance
|
|
102
|
-
* then don't show a second drop target, only one target should be
|
|
103
|
-
* active at any one time
|
|
104
|
-
*/
|
|
105
|
-
if (this.isAlreadyUsed(e) || quadrant === null) {
|
|
106
|
-
// no drop target should be displayed
|
|
107
|
-
this.removeDropTarget();
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
if (!this.options.canDisplayOverlay(e, quadrant)) {
|
|
111
|
-
if (overrideTarget) {
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
this.removeDropTarget();
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
const willShowOverlayEvent = new WillShowOverlayEvent({
|
|
118
|
-
nativeEvent: e,
|
|
119
|
-
position: quadrant,
|
|
120
|
-
});
|
|
121
|
-
/**
|
|
122
|
-
* Provide an opportunity to prevent the overlay appearing and in turn
|
|
123
|
-
* any dnd behaviours
|
|
124
|
-
*/
|
|
125
|
-
this._onWillShowOverlay.fire(willShowOverlayEvent);
|
|
126
|
-
if (willShowOverlayEvent.defaultPrevented) {
|
|
127
|
-
this.removeDropTarget();
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
this.markAsUsed(e);
|
|
131
|
-
if (overrideTarget) {
|
|
132
|
-
//
|
|
133
|
-
}
|
|
134
|
-
else if (!this.targetElement) {
|
|
135
|
-
const els = createOverlayElements();
|
|
136
|
-
this.targetElement = els.dropzone;
|
|
137
|
-
this.overlayElement = els.selection;
|
|
138
|
-
this._state = 'center';
|
|
139
|
-
target.classList.add('dv-drop-target');
|
|
140
|
-
target.append(this.targetElement);
|
|
141
|
-
}
|
|
142
|
-
this.toggleClasses(quadrant, width, height);
|
|
143
|
-
this._state = quadrant;
|
|
144
|
-
},
|
|
145
|
-
onDragLeave: () => {
|
|
146
|
-
var _a, _b;
|
|
147
|
-
const target = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
148
|
-
if (target) {
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
this.removeDropTarget();
|
|
152
|
-
},
|
|
153
|
-
onDragEnd: (e) => {
|
|
154
|
-
var _a, _b;
|
|
155
|
-
const target = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
156
|
-
if (target && Droptarget.ACTUAL_TARGET === this) {
|
|
157
|
-
if (this._state) {
|
|
158
|
-
// only stop the propagation of the event if we are dealing with it
|
|
159
|
-
// which is only when the target has state
|
|
160
|
-
e.stopPropagation();
|
|
161
|
-
this._onDrop.fire({
|
|
162
|
-
position: this._state,
|
|
163
|
-
nativeEvent: e,
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
this.removeDropTarget();
|
|
168
|
-
target === null || target === void 0 ? void 0 : target.clear();
|
|
169
|
-
},
|
|
170
|
-
onDrop: (e) => {
|
|
171
|
-
var _a, _b, _c;
|
|
172
|
-
e.preventDefault();
|
|
173
|
-
const state = this._state;
|
|
174
|
-
this.removeDropTarget();
|
|
175
|
-
(_c = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a)) === null || _c === void 0 ? void 0 : _c.clear();
|
|
176
|
-
if (state) {
|
|
177
|
-
// only stop the propagation of the event if we are dealing with it
|
|
178
|
-
// which is only when the target has state
|
|
179
|
-
e.stopPropagation();
|
|
180
|
-
this._onDrop.fire({ position: state, nativeEvent: e });
|
|
181
|
-
}
|
|
182
|
-
},
|
|
183
|
-
});
|
|
184
|
-
this.addDisposables(this._onDrop, this._onWillShowOverlay, this.dnd);
|
|
185
|
-
}
|
|
186
|
-
setTargetZones(acceptedTargetZones) {
|
|
187
|
-
this._acceptedTargetZonesSet = new Set(acceptedTargetZones);
|
|
188
|
-
}
|
|
189
|
-
setOverlayModel(model) {
|
|
190
|
-
this.options.overlayModel = model;
|
|
191
|
-
}
|
|
192
|
-
dispose() {
|
|
193
|
-
this.removeDropTarget();
|
|
194
|
-
super.dispose();
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Add a property to the event object for other potential listeners to check
|
|
198
|
-
*/
|
|
199
|
-
markAsUsed(event) {
|
|
200
|
-
event[Droptarget.USED_EVENT_ID] = true;
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* Check is the event has already been used by another instance of DropTarget
|
|
204
|
-
*/
|
|
205
|
-
isAlreadyUsed(event) {
|
|
206
|
-
const value = event[Droptarget.USED_EVENT_ID];
|
|
207
|
-
return typeof value === 'boolean' && value;
|
|
208
|
-
}
|
|
209
|
-
toggleClasses(quadrant, width, height) {
|
|
210
|
-
var _a, _b, _c, _d, _e;
|
|
211
|
-
const target = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
212
|
-
if (target) {
|
|
213
|
-
const outlineEl = (_e = (_d = (_c = this.options).getOverlayOutline) === null || _d === void 0 ? void 0 : _d.call(_c)) !== null && _e !== void 0 ? _e : this.element;
|
|
214
|
-
renderAnchoredOverlay({
|
|
215
|
-
outlineElement: outlineEl,
|
|
216
|
-
targetModel: target,
|
|
217
|
-
quadrant,
|
|
218
|
-
width,
|
|
219
|
-
height,
|
|
220
|
-
overlayModel: this.options.overlayModel,
|
|
221
|
-
className: this.options.className,
|
|
222
|
-
});
|
|
223
|
-
return;
|
|
224
|
-
}
|
|
225
|
-
if (!this.overlayElement) {
|
|
226
|
-
return;
|
|
227
|
-
}
|
|
228
|
-
renderInPlaceOverlay(this.overlayElement, quadrant, width, height, this.options.overlayModel);
|
|
229
|
-
}
|
|
230
|
-
calculateQuadrant(overlayType, x, y, width, height) {
|
|
231
|
-
var _a, _b;
|
|
232
|
-
const activationSizeOptions = (_b = (_a = this.options.overlayModel) === null || _a === void 0 ? void 0 : _a.activationSize) !== null && _b !== void 0 ? _b : DEFAULT_ACTIVATION_SIZE;
|
|
233
|
-
const isPercentage = activationSizeOptions.type === 'percentage';
|
|
234
|
-
if (isPercentage) {
|
|
235
|
-
return calculateQuadrantAsPercentage(overlayType, x, y, width, height, activationSizeOptions.value);
|
|
236
|
-
}
|
|
237
|
-
return calculateQuadrantAsPixels(overlayType, x, y, width, height, activationSizeOptions.value);
|
|
238
|
-
}
|
|
239
|
-
removeDropTarget() {
|
|
240
|
-
var _a;
|
|
241
|
-
if (this.targetElement) {
|
|
242
|
-
this._state = undefined;
|
|
243
|
-
(_a = this.targetElement.parentElement) === null || _a === void 0 ? void 0 : _a.classList.remove('dv-drop-target');
|
|
244
|
-
this.targetElement.remove();
|
|
245
|
-
this.targetElement = undefined;
|
|
246
|
-
this.overlayElement = undefined;
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* Render the drop overlay at `position` without a live drag, so keyboard
|
|
251
|
-
* docking shows the exact same preview as a mouse drag. Mirrors the
|
|
252
|
-
* `onDragOver` render path (in-place or anchored). Pair with `clearOverlay`.
|
|
253
|
-
*/
|
|
254
|
-
showOverlay(position) {
|
|
255
|
-
var _a, _b, _c, _d, _e;
|
|
256
|
-
const overrideTarget = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
257
|
-
const target = (_e = (_d = (_c = this.options).getOverlayOutline) === null || _d === void 0 ? void 0 : _d.call(_c)) !== null && _e !== void 0 ? _e : this.element;
|
|
258
|
-
const width = target.offsetWidth;
|
|
259
|
-
const height = target.offsetHeight;
|
|
260
|
-
if (!overrideTarget && !this.targetElement) {
|
|
261
|
-
const els = createOverlayElements();
|
|
262
|
-
this.targetElement = els.dropzone;
|
|
263
|
-
this.overlayElement = els.selection;
|
|
264
|
-
target.classList.add('dv-drop-target');
|
|
265
|
-
target.append(this.targetElement);
|
|
266
|
-
}
|
|
267
|
-
this.toggleClasses(position, width, height);
|
|
268
|
-
this._state = position;
|
|
269
|
-
}
|
|
270
|
-
/** Clear an overlay shown via {@link showOverlay} (in-place or anchored). */
|
|
271
|
-
clearOverlay() {
|
|
272
|
-
var _a, _b, _c;
|
|
273
|
-
this.removeDropTarget();
|
|
274
|
-
(_c = (_b = (_a = this.options).getOverrideTarget) === null || _b === void 0 ? void 0 : _b.call(_a)) === null || _c === void 0 ? void 0 : _c.clear();
|
|
275
|
-
this._state = undefined;
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
Droptarget.USED_EVENT_ID = '__dockview_droptarget_event_is_used__';
|
|
279
|
-
export function calculateQuadrantAsPercentage(overlayType, x, y, width, height, threshold) {
|
|
280
|
-
const xp = (100 * x) / width;
|
|
281
|
-
const yp = (100 * y) / height;
|
|
282
|
-
if (overlayType.has('left') && xp < threshold) {
|
|
283
|
-
return 'left';
|
|
284
|
-
}
|
|
285
|
-
if (overlayType.has('right') && xp > 100 - threshold) {
|
|
286
|
-
return 'right';
|
|
287
|
-
}
|
|
288
|
-
if (overlayType.has('top') && yp < threshold) {
|
|
289
|
-
return 'top';
|
|
290
|
-
}
|
|
291
|
-
if (overlayType.has('bottom') && yp > 100 - threshold) {
|
|
292
|
-
return 'bottom';
|
|
293
|
-
}
|
|
294
|
-
if (!overlayType.has('center')) {
|
|
295
|
-
return null;
|
|
296
|
-
}
|
|
297
|
-
return 'center';
|
|
298
|
-
}
|
|
299
|
-
export function calculateQuadrantAsPixels(overlayType, x, y, width, height, threshold) {
|
|
300
|
-
if (overlayType.has('left') && x < threshold) {
|
|
301
|
-
return 'left';
|
|
302
|
-
}
|
|
303
|
-
if (overlayType.has('right') && x > width - threshold) {
|
|
304
|
-
return 'right';
|
|
305
|
-
}
|
|
306
|
-
if (overlayType.has('top') && y < threshold) {
|
|
307
|
-
return 'top';
|
|
308
|
-
}
|
|
309
|
-
if (overlayType.has('bottom') && y > height - threshold) {
|
|
310
|
-
return 'bottom';
|
|
311
|
-
}
|
|
312
|
-
if (!overlayType.has('center')) {
|
|
313
|
-
return null;
|
|
314
|
-
}
|
|
315
|
-
return 'center';
|
|
316
|
-
}
|
package/dist/esm/dnd/ghost.d.ts
DELETED
package/dist/esm/dnd/ghost.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { addClasses, removeClasses } from '../dom';
|
|
2
|
-
export function addGhostImage(dataTransfer, ghostElement, options) {
|
|
3
|
-
var _a, _b;
|
|
4
|
-
// class dockview provides to force ghost image to be drawn on a different layer and prevent weird rendering issues
|
|
5
|
-
addClasses(ghostElement, 'dv-dragged');
|
|
6
|
-
// move the element off-screen initially otherwise it may in some cases be rendered at (0,0) momentarily
|
|
7
|
-
ghostElement.style.top = '-9999px';
|
|
8
|
-
document.body.appendChild(ghostElement);
|
|
9
|
-
dataTransfer.setDragImage(ghostElement, (_a = options === null || options === void 0 ? void 0 : options.x) !== null && _a !== void 0 ? _a : 0, (_b = options === null || options === void 0 ? void 0 : options.y) !== null && _b !== void 0 ? _b : 0);
|
|
10
|
-
setTimeout(() => {
|
|
11
|
-
removeClasses(ghostElement, 'dv-dragged');
|
|
12
|
-
ghostElement.remove();
|
|
13
|
-
}, 0);
|
|
14
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export { PointerDragController } from './pointerDragController';
|
|
2
|
-
export type { ActiveDrag } from './pointerDragController';
|
|
3
|
-
export { PointerDragSource } from './pointerDragSource';
|
|
4
|
-
export type { PointerDragSourceOptions } from './pointerDragSource';
|
|
5
|
-
export { PointerDropTarget } from './pointerDropTarget';
|
|
6
|
-
export type { PointerDropTargetOptions } from './pointerDropTarget';
|
|
7
|
-
export type { PointerDragEvent, PointerDroptargetEvent, IPointerDropTargetHandle, } from './types';
|
|
8
|
-
export { LongPressDetector } from './longPress';
|
|
9
|
-
export type { LongPressOptions } from './longPress';
|
|
10
|
-
export { PointerGhost } from './pointerGhost';
|
|
11
|
-
export type { PointerGhostOptions } from './pointerGhost';
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { PointerDragController } from './pointerDragController';
|
|
2
|
-
export { PointerDragSource } from './pointerDragSource';
|
|
3
|
-
export { PointerDropTarget } from './pointerDropTarget';
|
|
4
|
-
export { LongPressDetector } from './longPress';
|
|
5
|
-
export { PointerGhost } from './pointerGhost';
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { CompositeDisposable } from '../../lifecycle';
|
|
2
|
-
export interface LongPressOptions {
|
|
3
|
-
/** Default 500ms. */
|
|
4
|
-
delay?: number;
|
|
5
|
-
/** Default 8px. */
|
|
6
|
-
tolerance?: number;
|
|
7
|
-
/** Default true: mouse users have right-click and don't need this. */
|
|
8
|
-
touchOnly?: boolean;
|
|
9
|
-
/** Receives the `pointerdown` event so consumers can read `clientX/Y`. */
|
|
10
|
-
onLongPress: (event: PointerEvent) => void;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Passive — does not consume the pointer; movement past `tolerance`
|
|
14
|
-
* cancels silently so a sibling `PointerDragSource` can take over.
|
|
15
|
-
*/
|
|
16
|
-
export declare class LongPressDetector extends CompositeDisposable {
|
|
17
|
-
private readonly element;
|
|
18
|
-
private readonly options;
|
|
19
|
-
private _pointerId;
|
|
20
|
-
private _startX;
|
|
21
|
-
private _startY;
|
|
22
|
-
private _timer;
|
|
23
|
-
private _moveListener;
|
|
24
|
-
private _upListener;
|
|
25
|
-
private _cancelListener;
|
|
26
|
-
constructor(element: HTMLElement, options: LongPressOptions);
|
|
27
|
-
private _onPointerDown;
|
|
28
|
-
private _installContextMenuGuard;
|
|
29
|
-
private _installClickGuard;
|
|
30
|
-
private _cancelPending;
|
|
31
|
-
dispose(): void;
|
|
32
|
-
}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { addDisposableListener } from '../../events';
|
|
2
|
-
import { CompositeDisposable } from '../../lifecycle';
|
|
3
|
-
const DEFAULT_DELAY = 500;
|
|
4
|
-
const DEFAULT_TOLERANCE = 8;
|
|
5
|
-
/**
|
|
6
|
-
* Passive — does not consume the pointer; movement past `tolerance`
|
|
7
|
-
* cancels silently so a sibling `PointerDragSource` can take over.
|
|
8
|
-
*/
|
|
9
|
-
export class LongPressDetector extends CompositeDisposable {
|
|
10
|
-
constructor(element, options) {
|
|
11
|
-
super();
|
|
12
|
-
this.element = element;
|
|
13
|
-
this.options = options;
|
|
14
|
-
this._startX = 0;
|
|
15
|
-
this._startY = 0;
|
|
16
|
-
this.addDisposables(addDisposableListener(this.element, 'pointerdown', (e) => {
|
|
17
|
-
this._onPointerDown(e);
|
|
18
|
-
}));
|
|
19
|
-
}
|
|
20
|
-
_onPointerDown(event) {
|
|
21
|
-
var _a, _b, _c, _d, _e;
|
|
22
|
-
const touchOnly = (_a = this.options.touchOnly) !== null && _a !== void 0 ? _a : true;
|
|
23
|
-
if (touchOnly &&
|
|
24
|
-
event.pointerType !== 'touch' &&
|
|
25
|
-
event.pointerType !== 'pen') {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
// Defensive — supersede any in-flight press.
|
|
29
|
-
this._cancelPending();
|
|
30
|
-
this._pointerId = event.pointerId;
|
|
31
|
-
this._startX = event.clientX;
|
|
32
|
-
this._startY = event.clientY;
|
|
33
|
-
const delay = (_b = this.options.delay) !== null && _b !== void 0 ? _b : DEFAULT_DELAY;
|
|
34
|
-
const tolerance = (_c = this.options.tolerance) !== null && _c !== void 0 ? _c : DEFAULT_TOLERANCE;
|
|
35
|
-
// Source's owning window — popout drags fire on their own window.
|
|
36
|
-
const targetWindow = (_e = (_d = this.element.ownerDocument) === null || _d === void 0 ? void 0 : _d.defaultView) !== null && _e !== void 0 ? _e : globalThis.window;
|
|
37
|
-
this._timer = setTimeout(() => {
|
|
38
|
-
this._timer = undefined;
|
|
39
|
-
this._cancelPending();
|
|
40
|
-
// Touch browsers synthesize a compatibility `contextmenu` event
|
|
41
|
-
// for long-press. preventDefault on the original pointerdown is
|
|
42
|
-
// too late (already dispatched), so install a one-shot
|
|
43
|
-
// capture-phase guard for the next contextmenu. Without this,
|
|
44
|
-
// consumers that don't preventDefault inside their onLongPress
|
|
45
|
-
// (or that early-return before doing so) leak the browser's
|
|
46
|
-
// native menu on top of theirs.
|
|
47
|
-
this._installContextMenuGuard(targetWindow);
|
|
48
|
-
// Same idea for `click`: when the user releases their finger
|
|
49
|
-
// after the long-press, touch browsers dispatch a `click` to
|
|
50
|
-
// the element the touch ended on (the source). Consumers
|
|
51
|
-
// typically wire click to a primary action (e.g. tab activate,
|
|
52
|
-
// tab-group chip collapse-toggle). Without this guard, the
|
|
53
|
-
// long-press immediately fires both the context menu AND the
|
|
54
|
-
// primary action — and the action's side effects (e.g. a chip
|
|
55
|
-
// collapse animation) read as a screen wobble while the menu
|
|
56
|
-
// is supposed to be open. Scoped to the source element so
|
|
57
|
-
// clicks on menu items elsewhere remain effective.
|
|
58
|
-
this._installClickGuard(targetWindow);
|
|
59
|
-
this.options.onLongPress(event);
|
|
60
|
-
}, delay);
|
|
61
|
-
this._moveListener = addDisposableListener(targetWindow, 'pointermove', (moveEvent) => {
|
|
62
|
-
if (moveEvent.pointerId !== this._pointerId) {
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
const dx = moveEvent.clientX - this._startX;
|
|
66
|
-
const dy = moveEvent.clientY - this._startY;
|
|
67
|
-
if (Math.hypot(dx, dy) > tolerance) {
|
|
68
|
-
this._cancelPending();
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
this._upListener = addDisposableListener(targetWindow, 'pointerup', (upEvent) => {
|
|
72
|
-
if (upEvent.pointerId !== this._pointerId) {
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
this._cancelPending();
|
|
76
|
-
});
|
|
77
|
-
this._cancelListener = addDisposableListener(targetWindow, 'pointercancel', (cancelEvent) => {
|
|
78
|
-
if (cancelEvent.pointerId !== this._pointerId) {
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
this._cancelPending();
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
_installContextMenuGuard(targetWindow) {
|
|
85
|
-
let guard;
|
|
86
|
-
const timeout = setTimeout(() => guard === null || guard === void 0 ? void 0 : guard.dispose(), 500);
|
|
87
|
-
guard = addDisposableListener(targetWindow, 'contextmenu', (event) => {
|
|
88
|
-
event.preventDefault();
|
|
89
|
-
clearTimeout(timeout);
|
|
90
|
-
guard === null || guard === void 0 ? void 0 : guard.dispose();
|
|
91
|
-
}, { capture: true });
|
|
92
|
-
}
|
|
93
|
-
_installClickGuard(targetWindow) {
|
|
94
|
-
let guard;
|
|
95
|
-
const timeout = setTimeout(() => guard === null || guard === void 0 ? void 0 : guard.dispose(), 500);
|
|
96
|
-
guard = addDisposableListener(targetWindow, 'click', (event) => {
|
|
97
|
-
// Only suppress clicks targeted at the long-pressed element
|
|
98
|
-
// or its descendants. A user tap on a context menu item (or
|
|
99
|
-
// anywhere else) still gets through unchanged.
|
|
100
|
-
const target = event.target;
|
|
101
|
-
if (target && this.element.contains(target)) {
|
|
102
|
-
event.preventDefault();
|
|
103
|
-
event.stopPropagation();
|
|
104
|
-
}
|
|
105
|
-
clearTimeout(timeout);
|
|
106
|
-
guard === null || guard === void 0 ? void 0 : guard.dispose();
|
|
107
|
-
}, { capture: true });
|
|
108
|
-
}
|
|
109
|
-
_cancelPending() {
|
|
110
|
-
var _a, _b, _c;
|
|
111
|
-
if (this._timer !== undefined) {
|
|
112
|
-
clearTimeout(this._timer);
|
|
113
|
-
this._timer = undefined;
|
|
114
|
-
}
|
|
115
|
-
this._pointerId = undefined;
|
|
116
|
-
(_a = this._moveListener) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
117
|
-
(_b = this._upListener) === null || _b === void 0 ? void 0 : _b.dispose();
|
|
118
|
-
(_c = this._cancelListener) === null || _c === void 0 ? void 0 : _c.dispose();
|
|
119
|
-
this._moveListener = undefined;
|
|
120
|
-
this._upListener = undefined;
|
|
121
|
-
this._cancelListener = undefined;
|
|
122
|
-
}
|
|
123
|
-
dispose() {
|
|
124
|
-
this._cancelPending();
|
|
125
|
-
super.dispose();
|
|
126
|
-
}
|
|
127
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { Event } from '../../events';
|
|
2
|
-
import { CompositeDisposable, IDisposable } from '../../lifecycle';
|
|
3
|
-
import { PointerGhost } from './pointerGhost';
|
|
4
|
-
import { IPointerDropTargetHandle, PointerDragEvent } from './types';
|
|
5
|
-
export interface ActiveDrag {
|
|
6
|
-
readonly pointerId: number;
|
|
7
|
-
readonly startX: number;
|
|
8
|
-
readonly startY: number;
|
|
9
|
-
readonly source: HTMLElement;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Singleton — only one pointer-driven drag active at a time.
|
|
13
|
-
*
|
|
14
|
-
* State is shared across every Dockview instance on the page. Targets
|
|
15
|
-
* from instance B receive hit-tests from drags originating in instance A;
|
|
16
|
-
* that's intentional for cross-instance drops since `LocalSelectionTransfer`
|
|
17
|
-
* is also process-wide. The corollary is that every Tabs subscriber to
|
|
18
|
-
* `onDragMove` fires for every pointer drag globally — each subscriber
|
|
19
|
-
* hit-tests against its own DOM, so this is O(N) per pointermove where N
|
|
20
|
-
* is the number of registered listeners across all instances.
|
|
21
|
-
*/
|
|
22
|
-
export declare class PointerDragController extends CompositeDisposable {
|
|
23
|
-
private static _instance;
|
|
24
|
-
static getInstance(): PointerDragController;
|
|
25
|
-
private readonly _targets;
|
|
26
|
-
/** Kept in sync with `_targets` so hit-testing is allocation-free. */
|
|
27
|
-
private readonly _targetByElement;
|
|
28
|
-
private _active;
|
|
29
|
-
private _currentTarget;
|
|
30
|
-
private _dataDisposable;
|
|
31
|
-
private _ghost;
|
|
32
|
-
private _moveListener;
|
|
33
|
-
private _upListener;
|
|
34
|
-
private _cancelListener;
|
|
35
|
-
private _iframeShield;
|
|
36
|
-
private _onDragMoveCallback?;
|
|
37
|
-
private _onDragEndCallback?;
|
|
38
|
-
private readonly _onDragStart;
|
|
39
|
-
readonly onDragStart: Event<PointerDragEvent>;
|
|
40
|
-
private readonly _onDragMove;
|
|
41
|
-
readonly onDragMove: Event<PointerDragEvent>;
|
|
42
|
-
private readonly _onDragEnd;
|
|
43
|
-
readonly onDragEnd: Event<PointerDragEvent>;
|
|
44
|
-
private constructor();
|
|
45
|
-
get active(): ActiveDrag | undefined;
|
|
46
|
-
registerTarget(target: IPointerDropTargetHandle): IDisposable;
|
|
47
|
-
beginDrag(args: {
|
|
48
|
-
pointerEvent: PointerEvent;
|
|
49
|
-
source: HTMLElement;
|
|
50
|
-
getData: () => IDisposable;
|
|
51
|
-
ghost?: PointerGhost;
|
|
52
|
-
onDragMove?: (e: PointerDragEvent) => void;
|
|
53
|
-
onDragEnd?: (e: PointerDragEvent, dropped: boolean) => void;
|
|
54
|
-
}): void;
|
|
55
|
-
cancel(): void;
|
|
56
|
-
private _findTargetUnder;
|
|
57
|
-
private _handleMove;
|
|
58
|
-
private _handleEnd;
|
|
59
|
-
private _teardown;
|
|
60
|
-
}
|