mediawiki-skins-Citizen/resources/skins.citizen.styles/components/Pagetools.less

208 lines
4 KiB
Plaintext
Raw Normal View History

.page-actions {
2019-12-26 10:21:50 +00:00
display: flex;
gap: var( --space-xxs );
align-items: center;
2019-12-26 10:21:50 +00:00
// 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 ) {
transform-origin: var( --transform-origin-offset-end ) var( --transform-origin-offset-start );
}
}
&__dropdown {
position: relative;
&Button {
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 );
}
2019-12-26 10:21:50 +00:00
li > a {
gap: 0;
padding-right: var( --space-sm );
padding-left: var( --space-sm );
font-size: 0;
border-radius: var( --border-radius--medium );
2019-12-26 10:21:50 +00:00
&:hover {
background-color: var( --background-color-quiet--hover );
}
2019-12-26 10:21:50 +00:00
&:active {
background-color: var( --background-color-quiet--active );
}
2020-06-12 05:56:42 +00:00
}
}
2019-12-26 10:21:50 +00:00
li {
margin: 0;
}
// Hide menu labels
> .citizen-menu > .citizen-menu__heading {
.mixin-screen-reader-text;
}
}
// Language counter badge
.citizen-page-languages {
> .citizen-menu__dropdownButton {
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;
color: #fff;
content: attr( data-counter-text );
background: var( --color-primary );
border-radius: var( --border-radius--pill );
}
}
}
// Edit button
#ca-edit,
#ca-ve-edit {
> a {
color: #fff;
background-color: var( --color-primary );
&:hover {
background-color: var( --color-primary--hover );
}
&:active {
background-color: var( --color-primary--active );
}
}
.citizen-ui-icon {
&::before {
filter: invert( 1 );
// 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-primary--hover );
> a {
gap: 0;
font-size: 0; // hide edit source text
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
}
2020-06-12 05:56:42 +00:00
}
2019-12-26 10:21:50 +00:00
// 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;
2024-05-28 03:18:13 +00:00
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%;
}
}
}
@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;
}
}
}