@tutti-os/workbench-surface 0.0.17 → 0.0.18
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/dist/index.d.ts +13 -4
- package/dist/index.js +595 -59
- package/dist/index.js.map +1 -1
- package/dist/styles/workbench.css +51 -12
- package/dist/styles/workbenchStyle.test.ts +26 -2
- package/package.json +5 -5
|
@@ -244,8 +244,8 @@
|
|
|
244
244
|
transform: translateY(0);
|
|
245
245
|
pointer-events: auto;
|
|
246
246
|
transition:
|
|
247
|
-
opacity 0.16s ease
|
|
248
|
-
transform 0.2s cubic-bezier(0.4, 0, 0.2, 1)
|
|
247
|
+
opacity 0.16s ease,
|
|
248
|
+
transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
249
249
|
}
|
|
250
250
|
|
|
251
251
|
.workbench-window[data-display-mode="fullscreen"]:has(
|
|
@@ -268,7 +268,7 @@
|
|
|
268
268
|
right: 0;
|
|
269
269
|
left: 0;
|
|
270
270
|
z-index: 2;
|
|
271
|
-
height:
|
|
271
|
+
height: 16px;
|
|
272
272
|
pointer-events: auto;
|
|
273
273
|
}
|
|
274
274
|
|
|
@@ -739,6 +739,7 @@
|
|
|
739
739
|
--desktop-dock-scroll-button-z-index: 120;
|
|
740
740
|
--desktop-dock-scroll-fade-size: 48px;
|
|
741
741
|
--desktop-dock-tooltip-gap: 32px;
|
|
742
|
+
--desktop-dock-hover-panel-gap: 12px;
|
|
742
743
|
position: relative;
|
|
743
744
|
z-index: 1;
|
|
744
745
|
display: block;
|
|
@@ -1562,6 +1563,40 @@
|
|
|
1562
1563
|
background: color-mix(in srgb, var(--background-panel) 70%, black 4%);
|
|
1563
1564
|
}
|
|
1564
1565
|
|
|
1566
|
+
.desktop-dock__minimized-preview--component {
|
|
1567
|
+
align-items: stretch;
|
|
1568
|
+
justify-content: stretch;
|
|
1569
|
+
gap: 0;
|
|
1570
|
+
padding: 0;
|
|
1571
|
+
background: var(--background-panel);
|
|
1572
|
+
}
|
|
1573
|
+
|
|
1574
|
+
.desktop-dock__minimized-preview--component > * {
|
|
1575
|
+
width: 100%;
|
|
1576
|
+
height: 100%;
|
|
1577
|
+
min-width: 0;
|
|
1578
|
+
min-height: 0;
|
|
1579
|
+
}
|
|
1580
|
+
|
|
1581
|
+
.desktop-dock__minimized-preview-freeze-source {
|
|
1582
|
+
position: absolute;
|
|
1583
|
+
inset: 0;
|
|
1584
|
+
visibility: hidden;
|
|
1585
|
+
pointer-events: none;
|
|
1586
|
+
}
|
|
1587
|
+
|
|
1588
|
+
.desktop-dock__minimized-preview-frozen-content {
|
|
1589
|
+
display: block;
|
|
1590
|
+
overflow: hidden;
|
|
1591
|
+
}
|
|
1592
|
+
|
|
1593
|
+
.desktop-dock__minimized-preview-frozen-content > * {
|
|
1594
|
+
width: 100%;
|
|
1595
|
+
height: 100%;
|
|
1596
|
+
min-width: 0;
|
|
1597
|
+
min-height: 0;
|
|
1598
|
+
}
|
|
1599
|
+
|
|
1565
1600
|
.desktop-dock__minimized-preview-line {
|
|
1566
1601
|
display: block;
|
|
1567
1602
|
width: 74%;
|
|
@@ -1730,7 +1765,7 @@
|
|
|
1730
1765
|
opacity: 1;
|
|
1731
1766
|
pointer-events: auto;
|
|
1732
1767
|
transform: translateX(-50%)
|
|
1733
|
-
translateY(calc(-100% - var(--desktop-dock-
|
|
1768
|
+
translateY(calc(-100% - var(--desktop-dock-hover-panel-gap, 12px)));
|
|
1734
1769
|
transition:
|
|
1735
1770
|
opacity 0.12s ease,
|
|
1736
1771
|
transform 0.12s ease;
|
|
@@ -1744,7 +1779,10 @@
|
|
|
1744
1779
|
var(--desktop-dock-label-tooltip-anchor-width) / 2
|
|
1745
1780
|
);
|
|
1746
1781
|
z-index: var(--workbench-z-dock-tooltip);
|
|
1747
|
-
|
|
1782
|
+
box-sizing: border-box;
|
|
1783
|
+
width: max-content;
|
|
1784
|
+
max-width: min(220px, calc(100vw - 32px));
|
|
1785
|
+
overflow: hidden;
|
|
1748
1786
|
padding: 7px 10px;
|
|
1749
1787
|
border: 1px solid var(--border-1);
|
|
1750
1788
|
border-radius: 8px;
|
|
@@ -1755,13 +1793,14 @@
|
|
|
1755
1793
|
font-weight: 700;
|
|
1756
1794
|
line-height: 1.3;
|
|
1757
1795
|
opacity: 1;
|
|
1758
|
-
overflow-wrap: anywhere;
|
|
1759
1796
|
pointer-events: none;
|
|
1797
|
+
text-overflow: ellipsis;
|
|
1760
1798
|
transform: translateX(-50%)
|
|
1761
1799
|
translateY(calc(-100% - var(--desktop-dock-tooltip-gap, 32px)));
|
|
1762
1800
|
transition:
|
|
1763
1801
|
opacity 0.12s ease,
|
|
1764
1802
|
transform 0.12s ease;
|
|
1803
|
+
white-space: nowrap;
|
|
1765
1804
|
}
|
|
1766
1805
|
|
|
1767
1806
|
.desktop-dock__label-tooltip[data-dock-placement="left"] {
|
|
@@ -1785,7 +1824,7 @@
|
|
|
1785
1824
|
left: calc(
|
|
1786
1825
|
var(--desktop-dock-hover-panel-anchor-left) +
|
|
1787
1826
|
var(--desktop-dock-hover-panel-anchor-width) +
|
|
1788
|
-
var(--desktop-dock-
|
|
1827
|
+
var(--desktop-dock-hover-panel-gap, 12px)
|
|
1789
1828
|
);
|
|
1790
1829
|
transform: translateY(-50%);
|
|
1791
1830
|
}
|
|
@@ -1793,9 +1832,9 @@
|
|
|
1793
1832
|
.desktop-dock__hover-panel::before {
|
|
1794
1833
|
position: absolute;
|
|
1795
1834
|
right: 0;
|
|
1796
|
-
bottom: calc(-1 * var(--desktop-dock-
|
|
1835
|
+
bottom: calc(-1 * var(--desktop-dock-hover-panel-gap, 12px));
|
|
1797
1836
|
left: 0;
|
|
1798
|
-
height: var(--desktop-dock-
|
|
1837
|
+
height: var(--desktop-dock-hover-panel-gap, 12px);
|
|
1799
1838
|
content: "";
|
|
1800
1839
|
}
|
|
1801
1840
|
|
|
@@ -1803,8 +1842,8 @@
|
|
|
1803
1842
|
top: 0;
|
|
1804
1843
|
right: auto;
|
|
1805
1844
|
bottom: 0;
|
|
1806
|
-
left: calc(-1 * var(--desktop-dock-
|
|
1807
|
-
width: var(--desktop-dock-
|
|
1845
|
+
left: calc(-1 * var(--desktop-dock-hover-panel-gap, 12px));
|
|
1846
|
+
width: var(--desktop-dock-hover-panel-gap, 12px);
|
|
1808
1847
|
height: auto;
|
|
1809
1848
|
}
|
|
1810
1849
|
|
|
@@ -2755,7 +2794,7 @@ body[data-desktop-dock-minimized-stack-open="true"] .desktop-dock {
|
|
|
2755
2794
|
|
|
2756
2795
|
animation: workspace-launchpad-hover-panel-enter 160ms
|
|
2757
2796
|
cubic-bezier(0.16, 1, 0.3, 1) both;
|
|
2758
|
-
bottom: calc(100% + var(--desktop-dock-tooltip-gap,
|
|
2797
|
+
bottom: calc(100% + var(--desktop-dock-tooltip-gap, 12px));
|
|
2759
2798
|
left: 50%;
|
|
2760
2799
|
right: auto;
|
|
2761
2800
|
top: auto;
|
|
@@ -29,7 +29,7 @@ test("left dock placement owns vertical frame and popup placement styles", () =>
|
|
|
29
29
|
);
|
|
30
30
|
assert.match(
|
|
31
31
|
css,
|
|
32
|
-
/\.desktop-dock__hover-panel\[data-dock-placement="left"\]\s*{[^}]*left:\s*calc\(\s*var\(--desktop-dock-hover-panel-anchor-left\)\s*\+\s*var\(--desktop-dock-hover-panel-anchor-width\)\s*\+\s*var\(--desktop-dock-
|
|
32
|
+
/\.desktop-dock__hover-panel\[data-dock-placement="left"\]\s*{[^}]*left:\s*calc\(\s*var\(--desktop-dock-hover-panel-anchor-left\)\s*\+\s*var\(--desktop-dock-hover-panel-anchor-width\)\s*\+\s*var\(--desktop-dock-hover-panel-gap, 12px\)\s*\);/s
|
|
33
33
|
);
|
|
34
34
|
assert.match(
|
|
35
35
|
css,
|
|
@@ -115,12 +115,20 @@ test("dock overflow keeps scroll controls viewport-bound", () => {
|
|
|
115
115
|
);
|
|
116
116
|
assert.match(
|
|
117
117
|
css,
|
|
118
|
-
/\.desktop-
|
|
118
|
+
/\.desktop-dock\s*{[^}]*--desktop-dock-hover-panel-gap:\s*12px;/s
|
|
119
|
+
);
|
|
120
|
+
assert.match(
|
|
121
|
+
css,
|
|
122
|
+
/\.desktop-dock__hover-panel\s*{[^}]*top:\s*var\(--desktop-dock-hover-panel-anchor-top\);[^}]*pointer-events:\s*auto;[^}]*var\(--desktop-dock-hover-panel-gap, 12px\)/s
|
|
119
123
|
);
|
|
120
124
|
assert.match(
|
|
121
125
|
css,
|
|
122
126
|
/\.desktop-dock__label-tooltip\s*{[^}]*top:\s*var\(--desktop-dock-label-tooltip-anchor-top\);[^}]*pointer-events:\s*none;[^}]*var\(--desktop-dock-tooltip-gap, 32px\)/s
|
|
123
127
|
);
|
|
128
|
+
assert.match(
|
|
129
|
+
css,
|
|
130
|
+
/\.desktop-dock__label-tooltip\s*{[^}]*width:\s*max-content;[^}]*overflow:\s*hidden;[^}]*text-overflow:\s*ellipsis;[^}]*white-space:\s*nowrap;/s
|
|
131
|
+
);
|
|
124
132
|
assert.match(
|
|
125
133
|
css,
|
|
126
134
|
/\.desktop-dock__label-tooltip\[data-dock-placement="left"\]\s*{[^}]*left:\s*calc\(\s*var\(--desktop-dock-label-tooltip-anchor-left\)\s*\+\s*var\(--desktop-dock-label-tooltip-anchor-width\)\s*\+\s*var\(--desktop-dock-tooltip-gap, 32px\)\s*\);/s
|
|
@@ -173,6 +181,22 @@ test("dock overflow keeps scroll controls viewport-bound", () => {
|
|
|
173
181
|
css,
|
|
174
182
|
/\.desktop-dock\[data-dock-placement="left"\]\s+\.desktop-dock__minimized-preview\s*{[^}]*transform-origin:\s*left center;/s
|
|
175
183
|
);
|
|
184
|
+
assert.match(
|
|
185
|
+
css,
|
|
186
|
+
/\.desktop-dock__minimized-preview--component\s*{[^}]*padding:\s*0;[^}]*background:\s*var\(--background-panel\);/s
|
|
187
|
+
);
|
|
188
|
+
assert.match(
|
|
189
|
+
css,
|
|
190
|
+
/\.desktop-dock__minimized-preview--component > \*\s*{[^}]*width:\s*100%;[^}]*height:\s*100%;/s
|
|
191
|
+
);
|
|
192
|
+
assert.match(
|
|
193
|
+
css,
|
|
194
|
+
/\.desktop-dock__minimized-preview-freeze-source\s*{[^}]*visibility:\s*hidden;[^}]*pointer-events:\s*none;/s
|
|
195
|
+
);
|
|
196
|
+
assert.match(
|
|
197
|
+
css,
|
|
198
|
+
/\.desktop-dock__minimized-preview-frozen-content\s*{[^}]*display:\s*block;[^}]*overflow:\s*hidden;/s
|
|
199
|
+
);
|
|
176
200
|
assert.match(css, /\.desktop-dock__slot\s*{[^}]*flex:\s*0 0 auto;/s);
|
|
177
201
|
assert.match(
|
|
178
202
|
css,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tutti-os/workbench-surface",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.18",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -34,10 +34,10 @@
|
|
|
34
34
|
"@tutti-os/config-tsconfig": "0.0.0"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@tutti-os/ui-i18n-runtime": "0.0.
|
|
38
|
-
"@tutti-os/ui-react-hooks": "0.0.
|
|
39
|
-
"@tutti-os/workbench-snapshot": "0.0.
|
|
40
|
-
"@tutti-os/ui-system": "0.0.
|
|
37
|
+
"@tutti-os/ui-i18n-runtime": "0.0.18",
|
|
38
|
+
"@tutti-os/ui-react-hooks": "0.0.18",
|
|
39
|
+
"@tutti-os/workbench-snapshot": "0.0.18",
|
|
40
|
+
"@tutti-os/ui-system": "0.0.18"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
43
|
"react": "^19.1.0",
|