dockview 6.3.0 → 6.5.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/README.md +1 -0
- package/dist/dockview.js +2 -2
- package/dist/dockview.min.js +2 -2
- package/dist/dockview.min.js.map +1 -1
- package/dist/package/main.cjs.js +1 -1
- package/dist/package/main.cjs.min.js +1 -1
- package/dist/package/main.esm.min.mjs +1 -1
- package/dist/package/main.esm.mjs +1 -1
- package/dist/styles/dockview.css +117 -1
- package/package.json +4 -2
package/dist/styles/dockview.css
CHANGED
|
@@ -2344,6 +2344,16 @@
|
|
|
2344
2344
|
/* Enhanced GPU acceleration during drag */
|
|
2345
2345
|
will-change: transform, opacity;
|
|
2346
2346
|
}
|
|
2347
|
+
.dv-resize-container .dv-resize-handle-top,
|
|
2348
|
+
.dv-resize-container .dv-resize-handle-bottom,
|
|
2349
|
+
.dv-resize-container .dv-resize-handle-left,
|
|
2350
|
+
.dv-resize-container .dv-resize-handle-right,
|
|
2351
|
+
.dv-resize-container .dv-resize-handle-topleft,
|
|
2352
|
+
.dv-resize-container .dv-resize-handle-topright,
|
|
2353
|
+
.dv-resize-container .dv-resize-handle-bottomleft,
|
|
2354
|
+
.dv-resize-container .dv-resize-handle-bottomright {
|
|
2355
|
+
touch-action: none;
|
|
2356
|
+
}
|
|
2347
2357
|
.dv-resize-container .dv-resize-handle-top {
|
|
2348
2358
|
height: 4px;
|
|
2349
2359
|
width: calc(100% - 8px);
|
|
@@ -2416,6 +2426,55 @@
|
|
|
2416
2426
|
position: absolute;
|
|
2417
2427
|
cursor: se-resize;
|
|
2418
2428
|
}
|
|
2429
|
+
@media (pointer: coarse) {
|
|
2430
|
+
.dv-resize-container .dv-resize-handle-top,
|
|
2431
|
+
.dv-resize-container .dv-resize-handle-bottom {
|
|
2432
|
+
height: 16px;
|
|
2433
|
+
width: calc(100% - 48px);
|
|
2434
|
+
left: 24px;
|
|
2435
|
+
}
|
|
2436
|
+
.dv-resize-container .dv-resize-handle-top {
|
|
2437
|
+
top: -10px;
|
|
2438
|
+
}
|
|
2439
|
+
.dv-resize-container .dv-resize-handle-bottom {
|
|
2440
|
+
bottom: -10px;
|
|
2441
|
+
}
|
|
2442
|
+
.dv-resize-container .dv-resize-handle-left,
|
|
2443
|
+
.dv-resize-container .dv-resize-handle-right {
|
|
2444
|
+
width: 16px;
|
|
2445
|
+
height: calc(100% - 48px);
|
|
2446
|
+
top: 24px;
|
|
2447
|
+
}
|
|
2448
|
+
.dv-resize-container .dv-resize-handle-left {
|
|
2449
|
+
left: -10px;
|
|
2450
|
+
}
|
|
2451
|
+
.dv-resize-container .dv-resize-handle-right {
|
|
2452
|
+
right: -10px;
|
|
2453
|
+
}
|
|
2454
|
+
.dv-resize-container .dv-resize-handle-topleft,
|
|
2455
|
+
.dv-resize-container .dv-resize-handle-topright,
|
|
2456
|
+
.dv-resize-container .dv-resize-handle-bottomleft,
|
|
2457
|
+
.dv-resize-container .dv-resize-handle-bottomright {
|
|
2458
|
+
height: 24px;
|
|
2459
|
+
width: 24px;
|
|
2460
|
+
}
|
|
2461
|
+
.dv-resize-container .dv-resize-handle-topleft {
|
|
2462
|
+
top: -12px;
|
|
2463
|
+
left: -12px;
|
|
2464
|
+
}
|
|
2465
|
+
.dv-resize-container .dv-resize-handle-topright {
|
|
2466
|
+
top: -12px;
|
|
2467
|
+
right: -12px;
|
|
2468
|
+
}
|
|
2469
|
+
.dv-resize-container .dv-resize-handle-bottomleft {
|
|
2470
|
+
bottom: -12px;
|
|
2471
|
+
left: -12px;
|
|
2472
|
+
}
|
|
2473
|
+
.dv-resize-container .dv-resize-handle-bottomright {
|
|
2474
|
+
bottom: -12px;
|
|
2475
|
+
right: -12px;
|
|
2476
|
+
}
|
|
2477
|
+
}
|
|
2419
2478
|
.dv-render-overlay {
|
|
2420
2479
|
--dv-overlay-z-index: var(--dv-overlay-z-index, 999);
|
|
2421
2480
|
position: absolute;
|
|
@@ -2633,6 +2692,25 @@
|
|
|
2633
2692
|
transition-duration: var(--dv-active-sash-transition-duration, 0.1s);
|
|
2634
2693
|
transition-delay: var(--dv-active-sash-transition-delay, 0.5s);
|
|
2635
2694
|
}
|
|
2695
|
+
@media (pointer: coarse) {
|
|
2696
|
+
.dv-split-view-container .dv-sash-container > .dv-sash:not(.dv-disabled)::before {
|
|
2697
|
+
content: "";
|
|
2698
|
+
position: absolute;
|
|
2699
|
+
background: transparent;
|
|
2700
|
+
}
|
|
2701
|
+
.dv-split-view-container.dv-horizontal > .dv-sash-container > .dv-sash:not(.dv-disabled)::before {
|
|
2702
|
+
top: 0;
|
|
2703
|
+
bottom: 0;
|
|
2704
|
+
left: -10px;
|
|
2705
|
+
right: -10px;
|
|
2706
|
+
}
|
|
2707
|
+
.dv-split-view-container.dv-vertical > .dv-sash-container > .dv-sash:not(.dv-disabled)::before {
|
|
2708
|
+
left: 0;
|
|
2709
|
+
right: 0;
|
|
2710
|
+
top: -10px;
|
|
2711
|
+
bottom: -10px;
|
|
2712
|
+
}
|
|
2713
|
+
}
|
|
2636
2714
|
.dv-split-view-container .dv-view-container {
|
|
2637
2715
|
position: relative;
|
|
2638
2716
|
height: 100%;
|
|
@@ -2704,6 +2782,11 @@
|
|
|
2704
2782
|
.dv-tab.dv-inactive-tab .dv-default-tab:hover .dv-default-tab-action {
|
|
2705
2783
|
visibility: visible;
|
|
2706
2784
|
}
|
|
2785
|
+
@media (hover: none) {
|
|
2786
|
+
.dv-tab.dv-inactive-tab .dv-default-tab .dv-default-tab-action {
|
|
2787
|
+
visibility: visible;
|
|
2788
|
+
}
|
|
2789
|
+
}
|
|
2707
2790
|
.dv-tab .dv-default-tab {
|
|
2708
2791
|
position: relative;
|
|
2709
2792
|
height: 100%;
|
|
@@ -2728,6 +2811,11 @@
|
|
|
2728
2811
|
border-radius: 2px;
|
|
2729
2812
|
background-color: var(--dv-icon-hover-background-color);
|
|
2730
2813
|
}
|
|
2814
|
+
@media (pointer: coarse) {
|
|
2815
|
+
.dv-tab .dv-default-tab .dv-default-tab-action {
|
|
2816
|
+
padding: 8px;
|
|
2817
|
+
}
|
|
2818
|
+
}
|
|
2731
2819
|
.dv-tabs-overflow-dropdown-default {
|
|
2732
2820
|
height: 100%;
|
|
2733
2821
|
color: var(--dv-activegroup-hiddenpanel-tab-color);
|
|
@@ -2748,6 +2836,7 @@
|
|
|
2748
2836
|
border-radius: 2px;
|
|
2749
2837
|
background-color: var(--dv-icon-hover-background-color);
|
|
2750
2838
|
}
|
|
2839
|
+
@charset "UTF-8";
|
|
2751
2840
|
.dv-tabs-container {
|
|
2752
2841
|
display: flex;
|
|
2753
2842
|
position: relative;
|
|
@@ -2757,12 +2846,29 @@
|
|
|
2757
2846
|
/* GPU optimizations for smooth scrolling */
|
|
2758
2847
|
will-change: scroll-position;
|
|
2759
2848
|
transform: translate3d(0, 0, 0);
|
|
2849
|
+
/**
|
|
2850
|
+
* Stop scroll-chaining at the tab strip so that wheel / trackpad
|
|
2851
|
+
* overscroll past the strip's edges doesn't trigger the browser's
|
|
2852
|
+
* swipe-to-go-back-or-forward gesture (and doesn't scroll the page
|
|
2853
|
+
* either). `contain` keeps the native bounce visuals; `none` would
|
|
2854
|
+
* also disable them.
|
|
2855
|
+
*/
|
|
2856
|
+
overscroll-behavior: contain;
|
|
2857
|
+
/**
|
|
2858
|
+
* Empty space between tabs (and the scrollbar lane) keeps pan-x so a
|
|
2859
|
+
* flick on those areas produces native momentum scroll. The tab and
|
|
2860
|
+
* chip elements themselves opt out (`touch-action: none`) so the
|
|
2861
|
+
* pointer drag source owns the gesture from pointerdown — a flick on
|
|
2862
|
+
* a tab or chip always becomes a drag, regardless of direction.
|
|
2863
|
+
*/
|
|
2864
|
+
touch-action: pan-x;
|
|
2760
2865
|
}
|
|
2761
2866
|
.dv-tabs-container.dv-tabs-container-vertical {
|
|
2762
2867
|
width: 100%;
|
|
2763
2868
|
height: fit-content;
|
|
2764
2869
|
max-height: 100%;
|
|
2765
2870
|
writing-mode: vertical-rl;
|
|
2871
|
+
touch-action: pan-y;
|
|
2766
2872
|
}
|
|
2767
2873
|
.dv-tabs-container.dv-horizontal .dv-tab:not(:first-child)::before, .dv-tabs-container.dv-vertical .dv-tab:not(:first-child)::before {
|
|
2768
2874
|
content: " ";
|
|
@@ -2802,7 +2908,10 @@
|
|
|
2802
2908
|
}
|
|
2803
2909
|
|
|
2804
2910
|
.dv-tab {
|
|
2805
|
-
|
|
2911
|
+
user-select: none;
|
|
2912
|
+
-webkit-user-select: none;
|
|
2913
|
+
-moz-user-select: none;
|
|
2914
|
+
-ms-user-select: none;
|
|
2806
2915
|
outline: none;
|
|
2807
2916
|
padding: 0.25rem 0.5rem;
|
|
2808
2917
|
cursor: pointer;
|
|
@@ -2810,6 +2919,7 @@
|
|
|
2810
2919
|
box-sizing: border-box;
|
|
2811
2920
|
font-size: var(--dv-tab-font-size);
|
|
2812
2921
|
margin: var(--dv-tab-margin);
|
|
2922
|
+
touch-action: none;
|
|
2813
2923
|
}
|
|
2814
2924
|
.dv-tab.dv-tab--shifting {
|
|
2815
2925
|
will-change: transform, margin-left, margin-right, margin-top, margin-bottom;
|
|
@@ -2860,6 +2970,7 @@
|
|
|
2860
2970
|
white-space: nowrap;
|
|
2861
2971
|
box-sizing: border-box;
|
|
2862
2972
|
line-height: 1;
|
|
2973
|
+
touch-action: none;
|
|
2863
2974
|
background-color: var(--dv-tab-group-color);
|
|
2864
2975
|
color: white;
|
|
2865
2976
|
}
|
|
@@ -3037,6 +3148,11 @@
|
|
|
3037
3148
|
.dv-tabs-and-actions-container .dv-void-container {
|
|
3038
3149
|
display: flex;
|
|
3039
3150
|
flex-grow: 1;
|
|
3151
|
+
user-select: none;
|
|
3152
|
+
-webkit-user-select: none;
|
|
3153
|
+
-moz-user-select: none;
|
|
3154
|
+
-ms-user-select: none;
|
|
3155
|
+
touch-action: none;
|
|
3040
3156
|
}
|
|
3041
3157
|
.dv-tabs-and-actions-container .dv-void-container.dv-draggable {
|
|
3042
3158
|
cursor: grab;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dockview",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.5.0",
|
|
4
4
|
"description": "React docking layout manager — tabs, groups, grids, splitviews, drag and drop, floating panels",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"splitview",
|
|
@@ -20,6 +20,8 @@
|
|
|
20
20
|
"drag-and-drop",
|
|
21
21
|
"drag",
|
|
22
22
|
"drop",
|
|
23
|
+
"touch",
|
|
24
|
+
"mobile",
|
|
23
25
|
"typescript",
|
|
24
26
|
"zero-dependency",
|
|
25
27
|
"ide-layout",
|
|
@@ -68,7 +70,7 @@
|
|
|
68
70
|
"format:check": "prettier --check 'src/**/*.{ts,tsx,js,jsx}'"
|
|
69
71
|
},
|
|
70
72
|
"dependencies": {
|
|
71
|
-
"dockview-core": "^6.
|
|
73
|
+
"dockview-core": "^6.5.0"
|
|
72
74
|
},
|
|
73
75
|
"peerDependencies": {
|
|
74
76
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
|