1
0
Fork 0
firefox/toolkit/content/widgets/moz-page-nav/moz-page-nav-button.css
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

148 lines
3.8 KiB
CSS

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
:host {
--page-nav-button-border-radius: var(--button-border-radius);
--page-nav-button-text-color: var(--button-text-color-ghost);
--page-nav-button-text-color-hover: var(--button-text-color-ghost-hover);
--page-nav-button-text-color-active: var(--button-text-color-ghost-active);
--page-nav-button-background-color: var(--button-background-color-ghost);
--page-nav-button-background-color-hover: var(--button-background-color-ghost-hover);
--page-nav-button-background-color-active: var(--button-background-color-ghost-active);
--page-nav-button-background-color-selected: color-mix(in srgb, currentColor 8%, transparent);
--page-nav-button-padding: var(--space-small) var(--space-medium);
--page-nav-button-border-color-hover: var(--button-border-color-ghost-hover);
--page-nav-button-border-color-active: var(--button-border-color-ghost-active);
border-radius: var(--border-radius-small);
@media (max-width: 52rem) {
--page-nav-button-padding: var(--space-small);
}
}
:host(:not([hidden])) {
display: flex;
flex-direction: column;
}
:host([iconsrc]) {
@media (max-width: 52rem) {
width: var(--button-size-icon);
}
}
a[href],
button {
background-color: var(--page-nav-button-background-color);
transition: background-color 150ms;
border: unset;
-moz-context-properties: fill, fill-opacity;
fill: var(--icon-color);
display: flex;
gap: var(--space-medium);
align-items: center;
font-family: inherit;
font-size: inherit;
font-weight: normal;
border-radius: var(--page-nav-button-border-radius);
color: var(--page-nav-button-text-color);
text-align: start;
padding: var(--page-nav-button-padding);
position: relative;
@media (forced-colors) {
transition: none;
}
@media (prefers-contrast) {
border: 1px solid var(--page-nav-border-color);
}
}
a[href] {
text-decoration: none;
box-sizing: border-box;
}
a[href]:hover,
button:hover:not([selected]) {
color: var(--page-nav-button-text-color-hover);
background-color: var(--page-nav-button-background-color-hover);
border-color: var(--page-nav-button-border-color-hover);
&:active {
color: var(--page-nav-button-text-color-active);
background-color: var(--page-nav-button-background-color-active);
border-color: var(--page-nav-button-border-color-active);
}
}
button {
&:hover {
cursor: pointer;
}
&[selected] {
color: var(--color-accent-primary);
background-color: var(--page-nav-button-background-color-selected);
font-weight: var(--font-weight-bold);
@media (prefers-contrast) {
border-color: var(--color-accent-primary);
}
&::before {
background-color: var(--color-accent-primary);
}
}
&::before {
content: "";
display: block;
position: absolute;
inset-block: 0;
inset-inline-start: 0;
width: 4px;
background-color: transparent;
border-start-start-radius: var(--page-nav-button-border-radius);
border-end-start-radius: var(--page-nav-button-border-radius);
@media (prefers-contrast) {
border-radius: 0;
}
}
}
a[href]:focus-visible,
button:focus-visible,
button[selected]:focus-visible {
outline: var(--focus-outline);
outline-offset: var(--page-nav-focus-outline-inset);
border-radius: var(--border-radius-small);
}
.page-nav-icon {
height: var(--icon-size-default);
width: var(--icon-size-default);
-moz-context-properties: fill;
fill: currentColor;
}
slot {
margin: 0;
padding-inline-start: 0;
user-select: none;
@media (max-width: 52rem) {
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
.page-nav-icon + & {
display: none;
}
}
}