mediawiki-skins-Citizen/resources/skins.citizen.styles/components/Sections.less
alistair3149 a7f9c55c88
feat(core): update hover transition styles and implementation
The timing and easing function are defined separately than the property.
It is now accessible as a CSS variable (transition-hover)
2023-07-07 16:36:38 -04:00

98 lines
1.6 KiB
Plaintext

.citizen-sections-enabled {
.section {
&-heading {
cursor: pointer;
// So that double clicking won't highlight everything
-webkit-user-select: none;
user-select: none;
&--collapsed {
.section-indicator {
transform: rotate3d( 1, 0, 0, 180deg );
}
.mw-headline,
/* T13555 */
.mw-heading h1,
.mw-heading h2 {
opacity: var( --opacity-icon-base );
}
}
.mw-headline,
/* T13555 */
.mw-heading h1,
.mw-heading h2 {
transition: var( --transition-hover );
transition-property: opacity;
&:hover {
opacity: var( --opacity-icon-base--hover );
}
&:active {
opacity: var( --opacity-icon-base--active );
}
}
}
&-indicator {
width: 1rem;
height: 1rem;
order: -2;
margin-right: var( --space-md );
cursor: pointer;
transition: var( --transition-hover );
transition-property: transform;
}
// Fix button alignment
&-heading,
&-subheading {
display: flex;
align-items: center;
// Right-align the editsection
.mw-headline {
flex-grow: 1;
order: -1;
}
}
&-collapsible {
&--collapsed {
display: none;
}
}
}
}
// Hide indicator when client is noscript
.client-nojs {
.section {
&-indicator {
display: none;
}
}
}
// Fix hover state on touch devices
@media ( hover: none ) {
.citizen-sections-enabled .section {
&-heading .mw-headline,
&-indicator {
&:hover,
&:active {
opacity: 1;
}
}
&-heading--collapsed .mw-headline {
&:hover,
&:active {
opacity: var( --opacity-icon-base );
}
}
}
}