@import 'mediawiki.skin.variables.less'; @import '../mmv.variables.less'; @import 'mediawiki.mixins.less'; @import '../mmv.mixins.less'; // Common to all buttons // We override the codex background and borders to be their forced darkmode variant // We use transparency on the background and on the icon color .cdx-button.mw-mmv-button { background-color: @buttons-background-color-faded; position: fixed; z-index: 1003; // Cancel out default outline border-width: 0; outline: 0; transition-property: background-color, opacity, border-width, border-color, box-shadow, transform; &.mw-mmv-dialog-open, /* A button that has opened a dialog */ &:active, &:hover { background-color: @buttons-background-color; } &:focus { background-color: @buttons-background-color; border-width: 1px; } &::after { // Default transparency of the icon content: ''; opacity: 0.8; } &.mw-mmv-dialog-open::after, &:active::after, &:focus::after, &:hover::after { transition: opacity 0.1s ease-in; opacity: 1; } // when the cursor is hidden, the buttons are hidden as well .user-inactive & { opacity: 0; transform: scale( 0 ); } } // Positioning of buttons .mw-mmv-download-button, .mw-mmv-reuse-button, .mw-mmv-options-button, .mw-mmv-close, .mw-mmv-fullscreen { right: @buttons-offset-edge; left: auto; min-width: @buttons-size; min-height: @buttons-size; } // Vertical positioning of left/right button .mw-mmv-next-image, .mw-mmv-prev-image { &.disabled { display: none; cursor: none; } &&::after { mask-size: @buttons-icon-size-large; } } // Per button positioning and providing icons .mw-mmv-close { top: @buttons-offset-edge; &::after { .cdx-mixin-css-icon( @cdx-icon-close, @param-fill-color: @color-inverted-fixed ); } } .mw-mmv-fullscreen { top: ( @buttons-offset-edge + ( @buttons-offset-each ) ); &::after { .cdx-mixin-css-icon( @cdx-icon-full-screen, @param-fill-color: @color-inverted-fixed ); } } .mw-mmv-options-button { top: ( @buttons-offset-edge + ( 2 * @buttons-offset-each ) ); &::after { .cdx-mixin-css-icon( @cdx-icon-settings, @param-fill-color: @color-inverted-fixed ); } } .jq-fullscreened { .mw-mmv-fullscreen::after { .cdx-mixin-css-icon( @cdx-icon-exit-fullscreen, @param-fill-color: @color-inverted-fixed ); } } .mw-mmv-next-image { right: @size-icon-medium; &::after { .cdx-mixin-css-icon( @cdx-icon-next, @param-fill-color: @color-inverted-fixed, @param-size-icon: @size-icon-medium ); } } .mw-mmv-prev-image { left: @size-icon-medium; &::after { .cdx-mixin-css-icon( @cdx-icon-previous, @param-fill-color: @color-inverted-fixed, @param-size-icon: @size-icon-medium ); } } .mw-mmv-reuse-button { bottom: @buttons-offset-edge + @metadatabar-above-fold-height; .jq-fullscreened & { bottom: @buttons-offset-edge + @progress-bar-height; } &::after { .cdx-mixin-css-icon( @cdx-icon-share, @param-fill-color: @color-inverted-fixed ); } } .mw-mmv-download-button { bottom: @buttons-offset-edge + @metadatabar-above-fold-height + @buttons-offset-each; .jq-fullscreened & { bottom: @buttons-offset-edge + @progress-bar-height + @buttons-offset-each; } &::after { .cdx-mixin-css-icon( @cdx-icon-download, @param-fill-color: @color-inverted-fixed ); } }