@@ -1196,6 +1196,14 @@ input:focus:invalid:focus, textarea:focus:invalid:focus, select:focus:invalid:fo
11961196 margin-bottom : -1px !important ;
11971197 position : relative ;
11981198}
1199+ #view-package-page .package-header {
1200+ border-bottom : 1px solid var (--color-brand-orange );
1201+ margin-bottom : 15px ;
1202+ }
1203+ #view-package-page h2 .title {
1204+ border-bottom : 0 ;
1205+ margin-bottom : 0 !important ;
1206+ }
11991207.package .force-update-trigger {
12001208 cursor : pointer ;
12011209}
@@ -1212,13 +1220,6 @@ input:focus:invalid:focus, textarea:focus:invalid:focus, select:focus:invalid:fo
12121220 background-repeat : no-repeat ;
12131221 padding-left : 35px ;
12141222}
1215- // the row mixes inline-block <form>s with a bare <button>, whose inline baselines don't match, so
1216- // lay it out with flex - which also keeps the wrapping that .btn-group's nowrap took away
1217- .package .package-actions {
1218- display : flex ;
1219- flex-wrap : wrap ;
1220- align-items : flex-start ;
1221- }
12221223.package .action {
12231224 margin-right : 5px ;
12241225 margin-bottom : 15px ;
@@ -1249,19 +1250,69 @@ input:focus:invalid:focus, textarea:focus:invalid:focus, select:focus:invalid:fo
12491250.package .details p , .package .facts p {
12501251 margin : 0 ;
12511252}
1252- .package .details .maintainers {
1253- padding-bottom : 6px ;
1253+ // the tiny font-size collapses the whitespace between the inline <a>s so the avatars pack tightly
1254+ .package .package-maintainers {
1255+ text-align : right ;
1256+ }
1257+ .package .package-maintainers .maintainers {
1258+ // the negative top margin lets bigger avatars grow into the title's line box
1259+ // rather than making the header row taller
1260+ margin : -8px 0 15px ;
12541261 font-size : 0.0001px ;
12551262}
1256- .package .details .maintainers img {
1257- margin-bottom : 4px ;
1258- margin-right : 4 px ;
1263+ .package .package-maintainers .maintainers img {
1264+ margin-left : 4px ;
1265+ border-radius : 2 px ;
12591266}
1260- .package .details .maintainer-actions {
1261- a {
1262- font-size : 34px ;
1263- cursor : pointer ;
1264- }
1267+ .package .package-maintainers .more-maintainers {
1268+ margin-left : 6px ;
1269+ font-size : 14px ;
1270+ color : var (--color-muted );
1271+ vertical-align : top ;
1272+ }
1273+ @media (max-width : 767px ) {
1274+ .package .package-maintainers {
1275+ text-align : left ;
1276+ }
1277+ .package .package-maintainers .maintainers img {
1278+ margin-left : 0 ;
1279+ margin-right : 4px ;
1280+ }
1281+ }
1282+
1283+ // maintainer/admin-only controls: two menus in the column beside the description, with the
1284+ // forms they toggle in their own block below the row
1285+ .package-admin-bar {
1286+ .package-admin-buttons {
1287+ display : flex ;
1288+ flex-wrap : wrap ;
1289+ align-items : flex-start ;
1290+ gap : 5px ;
1291+ margin-bottom : 15px ;
1292+ }
1293+
1294+ // the action forms keep their class for the submit spinner, but .package .action's
1295+ // inline-block margins would space the menu items apart
1296+ .dropdown-menu .action {
1297+ display : block ;
1298+ margin : 0 ;
1299+ }
1300+
1301+ // caps the width once the column goes full-width below lg
1302+ .package-admin-form {
1303+ max-width : 420px ;
1304+ margin-bottom : 15px ;
1305+ }
1306+
1307+ // .package i forces the dark brand colour, which vanishes on the dark fill, and 12px
1308+ // glyphs get lost there anyway; line-height keeps them out of the button's line box
1309+ .package-admin-buttons .btn i {
1310+ color : inherit ;
1311+ font-size : 15px ;
1312+ line-height : 0 ;
1313+ vertical-align : -2px ;
1314+ margin-right : 2px ;
1315+ }
12651316}
12661317.package .details .canonical ,
12671318.package .details .purl ,
@@ -1272,12 +1323,15 @@ input:focus:invalid:focus, textarea:focus:invalid:focus, select:focus:invalid:fo
12721323 white-space : nowrap ;
12731324}
12741325
1275- .package .facts span {
1326+ // label column for "Installs: 123" / "Language: C" rows. .purl is excluded because its span
1327+ // is the whole value, not a label - a fixed width would move where its ellipsis lands.
1328+ .package .facts span ,
1329+ .package .details p :not (.purl ) > span {
12761330 display : inline-block ;
12771331 width : 100px ;
12781332}
12791333
1280- .package .facts . package-downloads-chart {
1334+ .package .package-downloads-chart {
12811335 height : 110px ;
12821336 width : 100% ;
12831337 margin-bottom : 10px ;
@@ -1371,18 +1425,11 @@ input:focus:invalid:focus, textarea:focus:invalid:focus, select:focus:invalid:fo
13711425
13721426 margin : 10px 0 0 ;
13731427 padding : 0 ;
1374-
1375- & :first-child {
1376- margin-top : 0 ;
1377- }
13781428}
13791429.package .package-aside.versions-wrapper {
13801430 margin-left : 15px ;
13811431 margin-right : 15px ;
13821432}
1383- .package-aside .details {
1384- padding-left : 0 ;
1385- }
13861433.package .package-aside i {
13871434 color : var (--color-secondary );
13881435}
@@ -1505,16 +1552,21 @@ input:focus:invalid:focus, textarea:focus:invalid:focus, select:focus:invalid:fo
15051552 margin-left : auto ;
15061553 }
15071554
1508- .package-aside .details {
1509- padding-left : 15px ;
1510- }
15111555 .package .package-aside {
15121556 background : #fff ;
15131557 border-radius : 2px ;
15141558 border-top : 0 ;
1515- padding : 0 0 10px 0 ;
1516- margin-left : -15px ;
1517- margin-right : -15px ;
1559+ margin : 0 ;
1560+ padding : 10px 15px ;
1561+ }
1562+ // equal-height cards across the band, whatever each one contains
1563+ #view-package-page .package-facts .package-aside {
1564+ height : 100% ;
1565+ }
1566+ // long unbreakable strings (purl, repo URL) would otherwise set a min-content
1567+ // floor and push one card past its share of the row
1568+ #view-package-page .package-facts > [class *= " col-" ] {
1569+ min-width : 0 ;
15181570 }
15191571 .package .package-aside.versions-wrapper {
15201572 margin-left : 0 ;
@@ -1529,9 +1581,6 @@ input:focus:invalid:focus, textarea:focus:invalid:focus, select:focus:invalid:fo
15291581 }
15301582}
15311583@media (max-width : 767px ) {
1532- .package-aside .facts {
1533- padding-left : 0 ;
1534- }
15351584 .wrapper-footer {
15361585 font-size : 12px ;
15371586 }
0 commit comments