@@ -1372,16 +1372,17 @@ body.no-scroll {
13721372.workspace-pad-selector {
13731373 flex : 0 0 auto;
13741374 display : grid;
1375- grid-template-columns : auto minmax (0 , 1fr ) 34 px 34 px ;
1375+ grid-template-columns : auto minmax (0 , 1fr ) auto ;
13761376 align-items : center;
13771377 column-gap : 10px ;
1378+ row-gap : 6px ;
13781379 min-height : 48px ;
13791380 padding : 7px 10px ;
13801381 border-bottom : 1px solid var (--border-color );
13811382 background : color-mix (in srgb, var (--background-secondary ) 84% , transparent);
13821383}
13831384
1384- .workspace-pad-selector label {
1385+ .workspace-pad-selector- label {
13851386 height : 34px ;
13861387 display : inline-flex;
13871388 align-items : center;
@@ -1394,38 +1395,149 @@ body.no-scroll {
13941395 white-space : nowrap;
13951396}
13961397
1397- .workspace-pad-selector select {
1398- appearance : none;
1398+ .workspace-pad-layout-trigger {
13991399 min-width : 0 ;
14001400 width : 100% ;
14011401 height : 34px ;
14021402 box-sizing : border-box;
14031403 margin : 0 ;
1404- padding : 0 30px 0 10px ;
1404+ display : inline-flex;
1405+ align-items : center;
1406+ justify-content : space-between;
1407+ gap : 8px ;
1408+ padding : 0 8px 0 10px ;
14051409 border : 1px solid var (--border-color );
14061410 border-radius : 6px ;
1407- background :
1408- linear-gradient (45deg , transparent 50% , var (--text-secondary ) 50% ) calc (100% - 17px ) 14px / 5px 5px no-repeat,
1409- linear-gradient (135deg , var (--text-secondary ) 50% , transparent 50% ) calc (100% - 12px ) 14px / 5px 5px no-repeat,
1410- var (--background-color );
1411+ background : var (--background-color );
14111412 color : var (--text-color );
14121413 font-size : 0.78rem ;
14131414 font-weight : 700 ;
14141415 line-height : normal;
14151416 cursor : pointer;
1416- transition : border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
1417+ box-shadow : inset 0 1px 0 color-mix (in srgb, # fff 8% , transparent);
1418+ transition : border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease, color 0.15s ease;
14171419}
14181420
1419- .workspace-pad-selector select : hover {
1421+ .workspace-pad-layout-trigger : hover ,
1422+ .workspace-pad-layout-trigger .is-open {
14201423 border-color : color-mix (in srgb, var (--primary-color ) 58% , var (--border-color ));
1424+ color : var (--primary-color );
14211425}
14221426
1423- .workspace-pad-selector select : focus {
1427+ .workspace-pad-layout-trigger : focus-visible {
14241428 outline : none;
14251429 border-color : var (--primary-color );
14261430 box-shadow : 0 0 0 2px color-mix (in srgb, var (--primary-color ) 18% , transparent);
14271431}
14281432
1433+ .workspace-pad-layout-trigger-name {
1434+ min-width : 0 ;
1435+ overflow : hidden;
1436+ text-overflow : ellipsis;
1437+ white-space : nowrap;
1438+ }
1439+
1440+ .workspace-pad-layout-trigger-icon {
1441+ width : 16px ;
1442+ height : 16px ;
1443+ flex : 0 0 16px ;
1444+ display : inline-flex;
1445+ transition : transform 0.15s ease;
1446+ }
1447+
1448+ .workspace-pad-layout-trigger-icon svg {
1449+ width : 16px ;
1450+ height : 16px ;
1451+ }
1452+
1453+ .workspace-pad-layout-trigger .is-open .workspace-pad-layout-trigger-icon {
1454+ transform : rotate (180deg );
1455+ }
1456+
1457+ .workspace-pad-layout-menu {
1458+ z-index : 1600 ;
1459+ display : grid;
1460+ gap : 5px ;
1461+ padding : 8px ;
1462+ overflow : auto;
1463+ box-sizing : border-box;
1464+ border : 1px solid var (--border-color );
1465+ border-radius : 8px ;
1466+ background : var (--card-bg );
1467+ color : var (--text-color );
1468+ box-shadow : 0 16px 38px rgba (0 , 0 , 0 , 0.34 );
1469+ animation : workspace-menu-enter 150ms ease-out;
1470+ scrollbar-width : thin;
1471+ scrollbar-color : var (--primary-color ) var (--background-secondary );
1472+ }
1473+
1474+ .workspace-pad-layout-option {
1475+ width : 100% ;
1476+ min-height : 40px ;
1477+ display : grid;
1478+ grid-template-columns : auto minmax (0 , 1fr ) 18px ;
1479+ align-items : center;
1480+ gap : 8px ;
1481+ padding : 7px 8px ;
1482+ border : 1px solid transparent;
1483+ border-radius : 6px ;
1484+ background : transparent;
1485+ color : var (--text-color );
1486+ text-align : left;
1487+ cursor : pointer;
1488+ transition : border-color 0.14s ease, background 0.14s ease, color 0.14s ease, transform 0.14s ease;
1489+ }
1490+
1491+ .workspace-pad-layout-option : hover ,
1492+ .workspace-pad-layout-option .is-selected {
1493+ border-color : color-mix (in srgb, var (--primary-color ) 42% , var (--border-color ));
1494+ background : color-mix (in srgb, var (--primary-color ) 9% , var (--background-secondary ));
1495+ }
1496+
1497+ .workspace-pad-layout-option : hover {
1498+ transform : translateX (2px );
1499+ }
1500+
1501+ .workspace-pad-layout-option-text {
1502+ min-width : 0 ;
1503+ display : grid;
1504+ gap : 2px ;
1505+ }
1506+
1507+ .workspace-pad-layout-option-name ,
1508+ .workspace-pad-layout-option-kind {
1509+ min-width : 0 ;
1510+ overflow : hidden;
1511+ text-overflow : ellipsis;
1512+ white-space : nowrap;
1513+ }
1514+
1515+ .workspace-pad-layout-option-name {
1516+ font-size : 0.82rem ;
1517+ font-weight : 800 ;
1518+ }
1519+
1520+ .workspace-pad-layout-option-kind {
1521+ color : var (--text-secondary );
1522+ font-size : 0.68rem ;
1523+ font-weight : 800 ;
1524+ text-transform : uppercase;
1525+ }
1526+
1527+ .workspace-pad-layout-option-check {
1528+ width : 18px ;
1529+ height : 18px ;
1530+ display : inline-flex;
1531+ align-items : center;
1532+ justify-content : center;
1533+ color : var (--primary-color );
1534+ }
1535+
1536+ .workspace-pad-layout-option-check svg {
1537+ width : 16px ;
1538+ height : 16px ;
1539+ }
1540+
14291541.workspace-pad-selector-empty {
14301542 min-width : 0 ;
14311543 flex : 1 1 auto;
@@ -1437,6 +1549,14 @@ body.no-scroll {
14371549 white-space : nowrap;
14381550}
14391551
1552+ .workspace-pad-selector-actions {
1553+ display : inline-flex;
1554+ align-items : center;
1555+ justify-content : flex-end;
1556+ gap : 6px ;
1557+ min-width : 0 ;
1558+ }
1559+
14401560.workspace-pad-action-button {
14411561 width : 34px ;
14421562 height : 34px ;
@@ -1461,6 +1581,12 @@ body.no-scroll {
14611581 color : var (--primary-color );
14621582}
14631583
1584+ .workspace-pad-delete-button : hover : not (: disabled ) {
1585+ border-color : var (--error-color , # dc3545 );
1586+ background : color-mix (in srgb, var (--error-color , # dc3545 ) 10% , var (--background-color ));
1587+ color : var (--error-color , # dc3545 );
1588+ }
1589+
14641590.workspace-pad-action-button : focus-visible {
14651591 outline : none;
14661592 border-color : var (--primary-color );
@@ -1478,6 +1604,26 @@ body.no-scroll {
14781604 height : 15px ;
14791605}
14801606
1607+ .workspace-pad-transfer-notice {
1608+ grid-column : 2 / -1 ;
1609+ min-width : 0 ;
1610+ padding : 5px 8px ;
1611+ border-radius : 6px ;
1612+ font-size : 0.72rem ;
1613+ font-weight : 700 ;
1614+ line-height : 1.25 ;
1615+ }
1616+
1617+ .workspace-pad-transfer-notice .success {
1618+ color : var (--success-color , # 2e7d32 );
1619+ background : color-mix (in srgb, var (--success-color , # 2e7d32 ) 12% , transparent);
1620+ }
1621+
1622+ .workspace-pad-transfer-notice .error {
1623+ color : var (--error-color , # dc3545 );
1624+ background : color-mix (in srgb, var (--error-color , # dc3545 ) 12% , transparent);
1625+ }
1626+
14811627.workspace-pad-body {
14821628 flex : 1 1 auto;
14831629 min-width : 0 ;
@@ -1754,17 +1900,44 @@ body.no-scroll {
17541900 font-size : 0.72rem ;
17551901 line-height : 1.1 ;
17561902 }
1903+
1904+ .workspace-pad-selector {
1905+ grid-template-columns : minmax (0 , 1fr ) auto;
1906+ column-gap : 6px ;
1907+ padding-inline : 8px ;
1908+ }
1909+
1910+ .workspace-pad-selector-label {
1911+ position : absolute;
1912+ width : 1px ;
1913+ height : 1px ;
1914+ margin : -1px ;
1915+ padding : 0 ;
1916+ border : 0 ;
1917+ overflow : hidden;
1918+ clip : rect (0 0 0 0 );
1919+ white-space : nowrap;
1920+ }
1921+
1922+ .workspace-pad-transfer-notice {
1923+ grid-column : 1 / -1 ;
1924+ }
17571925}
17581926
17591927@media (max-width : 1023px ) {
17601928 .top-bar : not (.workspace-active ) {
1761- justify-content : flex-start;
1929+ display : grid;
1930+ grid-template-columns : minmax (0 , 1fr ) auto minmax (0 , 1fr );
1931+ justify-content : stretch;
17621932 gap : 5px ;
17631933 padding-left : 6px ;
17641934 padding-right : 6px ;
17651935 }
17661936
17671937 .top-bar .view-toggle {
1938+ grid-column : 1 ;
1939+ justify-self : start;
1940+ min-width : 0 ;
17681941 gap : 1px ;
17691942 padding : 3px ;
17701943 }
@@ -1779,6 +1952,8 @@ body.no-scroll {
17791952 }
17801953
17811954 .layout-controls {
1955+ grid-column : 2 ;
1956+ justify-self : center;
17821957 display : flex;
17831958 position : static;
17841959 left : auto;
@@ -1794,14 +1969,32 @@ body.no-scroll {
17941969 }
17951970
17961971 .top-bar : not (.workspace-active ) .status-controls {
1797- margin-left : auto;
1972+ grid-column : 3 ;
1973+ justify-self : end;
1974+ margin-left : 0 ;
17981975 }
17991976}
18001977
18011978@media (max-width : 420px ) {
18021979 .mobile-workspace-active-label {
18031980 display : none;
18041981 }
1982+
1983+ .workspace-pad-selector-actions {
1984+ gap : 4px ;
1985+ }
1986+
1987+ .workspace-pad-action-button {
1988+ width : 30px ;
1989+ height : 30px ;
1990+ min-width : 30px ;
1991+ flex-basis : 30px ;
1992+ }
1993+
1994+ .workspace-pad-action-button svg {
1995+ width : 14px ;
1996+ height : 14px ;
1997+ }
18051998}
18061999
18072000@media (max-width : 350px ) {
0 commit comments