mirror of
https://github.com/StarCitizenTools/mediawiki-skins-Citizen.git
synced 2024-11-26 07:15:37 +00:00
516ef3a1cb
Putting the dropdown content in the details elemenet have been inconsistent. Transition are not working correctly and different browsers are not handling it well. Furthermore, the previous implementation does not allow an always visible state of dropdown content. Fixes: #882
216 lines
4.3 KiB
Plaintext
216 lines
4.3 KiB
Plaintext
.page-actions {
|
|
display: flex;
|
|
gap: var( --space-xxs );
|
|
align-items: center;
|
|
|
|
// TODO: Merge this with header__item
|
|
&__item {
|
|
display: flex;
|
|
}
|
|
|
|
.citizen-menu {
|
|
&__card {
|
|
position: absolute;
|
|
right: ~'calc( var( --space-xs ) * -1 )'; // counteract margin
|
|
z-index: @z-index-page-header; // So the popups inside will be higher than content
|
|
display: grid;
|
|
gap: var( --space-xs );
|
|
max-height: 60vh;
|
|
padding: var( --space-xs ) 0;
|
|
transform-origin: var( --transform-origin-offset-end ) var( --transform-origin-offset-end );
|
|
|
|
@media ( min-width: @min-width-breakpoint-desktop ) {
|
|
top: 100%;
|
|
transform-origin: var( --transform-origin-offset-end ) var( --transform-origin-offset-start );
|
|
}
|
|
}
|
|
}
|
|
|
|
.citizen-dropdown {
|
|
@media ( min-width: @min-width-breakpoint-desktop ) {
|
|
// Only attach dropdown menu to the button on desktop mode
|
|
position: relative;
|
|
}
|
|
|
|
&-summary {
|
|
display: grid;
|
|
place-items: center;
|
|
width: 2.5rem; // Same width as other buttons
|
|
height: 2.25rem; // Same height as other buttons
|
|
border-radius: var( --border-radius--medium );
|
|
}
|
|
}
|
|
|
|
// Visible page tools styles
|
|
> .mw-portlet {
|
|
ul {
|
|
display: flex;
|
|
gap: var( --space-xxs );
|
|
}
|
|
|
|
li > a {
|
|
gap: 0;
|
|
padding-right: var( --space-sm );
|
|
padding-left: var( --space-sm );
|
|
font-size: 0;
|
|
border-radius: var( --border-radius--medium );
|
|
|
|
&:hover {
|
|
background-color: var( --background-color-button-quiet--hover );
|
|
}
|
|
|
|
&:active {
|
|
background-color: var( --background-color-button-quiet--active );
|
|
}
|
|
}
|
|
}
|
|
|
|
li {
|
|
margin: 0;
|
|
}
|
|
|
|
// Hide menu labels
|
|
> .citizen-menu > .citizen-menu__heading {
|
|
.sr-only;
|
|
}
|
|
}
|
|
|
|
// Language counter badge
|
|
.citizen-page-languages {
|
|
> .citizen-dropdown-summary {
|
|
position: relative; // So that the badge doesn't take a stroll to the far left
|
|
|
|
&::after {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
display: block;
|
|
padding: 0.1em 0.4em;
|
|
font-size: 0.65rem;
|
|
content: attr( data-counter-text );
|
|
background: var( --color-surface-0 );
|
|
border-radius: var( --border-radius--pill );
|
|
}
|
|
}
|
|
}
|
|
|
|
// Edit button
|
|
#ca-edit,
|
|
#ca-ve-edit {
|
|
> a {
|
|
color: var( --color-inverted-primary );
|
|
background-color: var( --color-progressive );
|
|
|
|
&:hover {
|
|
background-color: var( --color-progressive--hover );
|
|
}
|
|
|
|
&:active {
|
|
background-color: var( --color-progressive--active );
|
|
}
|
|
}
|
|
|
|
.citizen-ui-icon {
|
|
&::before {
|
|
filter: var( --filter-invert-fixed );
|
|
// white icon
|
|
opacity: 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
// VE styles shouldn't be core but it is just a few lines :/
|
|
#ca-ve-edit {
|
|
order: 98; // Before source edit
|
|
}
|
|
|
|
#ca-edit {
|
|
order: 99; // Align to last
|
|
}
|
|
|
|
// Merge two buttons together
|
|
.client-js .citizen-ve-edit-merged {
|
|
&#ca-ve-edit {
|
|
> a {
|
|
border-top-right-radius: 0;
|
|
border-bottom-right-radius: 0;
|
|
}
|
|
}
|
|
|
|
&#ca-edit {
|
|
margin-left: ~'calc( var( --space-xxs ) * -1 )';
|
|
border-left: 1px solid var( --color-progressive--hover );
|
|
|
|
> a {
|
|
gap: 0;
|
|
font-size: 0; // hide edit source text
|
|
border-top-left-radius: 0;
|
|
border-bottom-left-radius: 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
// To avoid more menu from overflow in narrow screen
|
|
@media ( max-width: @max-width-breakpoint-tablet ) {
|
|
.page-actions {
|
|
position: fixed;
|
|
right: 0;
|
|
bottom: ~'calc( var( --header-size ) + var( --space-xs ) )';
|
|
height: var( --toolbar-size );
|
|
margin: var( --space-xs );
|
|
background: var( --color-surface-1 );
|
|
border-radius: var( --border-radius--medium );
|
|
box-shadow: var( --box-shadow-dialog );
|
|
|
|
.citizen-scroll--down & {
|
|
box-shadow: none;
|
|
opacity: 0;
|
|
transform: translateY( 250% );
|
|
}
|
|
|
|
.citizen-scroll--up & {
|
|
opacity: 1;
|
|
transition: var( --transition-menu );
|
|
transition-delay: 250ms;
|
|
transition-property: opacity, transform;
|
|
}
|
|
|
|
:not( .citizen-menu__card ) .mw-list-item {
|
|
--size-icon: 1rem;
|
|
}
|
|
|
|
> .mw-portlet li > a {
|
|
height: var( --toolbar-size );
|
|
}
|
|
|
|
&__item {
|
|
position: unset;
|
|
}
|
|
|
|
.citizen-menu__card {
|
|
bottom: 100%;
|
|
}
|
|
}
|
|
|
|
.citizen-page-languages > .citizen-dropdown-summary::after {
|
|
// Blend with background
|
|
background: var( --color-surface-1 );
|
|
}
|
|
}
|
|
|
|
@media ( min-width: @min-width-breakpoint-desktop ) {
|
|
.page-actions {
|
|
> .mw-portlet {
|
|
li > a {
|
|
gap: var( --space-xs );
|
|
font-size: var( --font-size-small );
|
|
}
|
|
}
|
|
|
|
.citizen-menu__card {
|
|
// Expand the width on narrow screens might overflow the page
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
}
|