summaryrefslogtreecommitdiffstats
path: root/toolkit/themes/windows/global/button.css
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/themes/windows/global/button.css')
-rw-r--r--toolkit/themes/windows/global/button.css86
1 files changed, 86 insertions, 0 deletions
diff --git a/toolkit/themes/windows/global/button.css b/toolkit/themes/windows/global/button.css
new file mode 100644
index 0000000000..54d2a725d4
--- /dev/null
+++ b/toolkit/themes/windows/global/button.css
@@ -0,0 +1,86 @@
+/* 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/. */
+
+/* ===== button.css =====================================================
+ == Styles used by the XUL button element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* :::::::::: button :::::::::: */
+
+button {
+ margin: 1px 5px 2px;
+ min-width: 6.3em;
+ color: ButtonText;
+ background-color: ButtonFace;
+ text-shadow: none;
+ border: 1px solid ThreeDLightShadow;
+ padding: 2px 3px;
+ /* TODO: In Windows 11 perhaps we want some border-radius */
+}
+
+button:where(:hover) {
+ background-color: -moz-ButtonHoverFace;
+}
+
+button:where(:hover:active) {
+ background-color: -moz-ButtonActiveFace;
+}
+
+.button-text {
+ margin: 0;
+ text-align: center;
+}
+
+/* .......... focused state .......... */
+
+button:focus-visible {
+ outline: var(--default-focusring);
+ outline-offset: calc(-1 * var(--default-focusring-width) - 2px);
+}
+
+@media (prefers-color-scheme: dark) {
+ button:focus-visible {
+ outline: 1px auto;
+ outline-offset: initial;
+ }
+}
+
+/* .......... default/hover/focused state .......... */
+
+@media (prefers-contrast) {
+ /* This is for high-contrast black and white themes on Windows 8 and later,
+ where the native appearance renders a different background (which
+ appears to be equivalent to the Highlight color) if the button is in the
+ default, hovered or focused state. However, if these states overlap with
+ the active, disabled, open or checked state, the appearance reverts back
+ to the default background. */
+ button:where([default="true"],:hover,:focus):where(:not(:active,[disabled="true"],[open="true"],[checked="true"])) {
+ color: HighlightText;
+ }
+}
+
+/* .......... disabled state .......... */
+
+button:where([disabled="true"]) {
+ color: GrayText;
+ background-color: ButtonFace;
+}
+
+/* ::::: menu buttons ::::: */
+
+.button-menu-dropmarker {
+ appearance: none;
+ content: url("chrome://global/skin/icons/arrow-down-12.svg");
+ -moz-context-properties: fill;
+ fill: currentColor;
+}
+
+/* ::::: plain buttons ::::: */
+
+button.plain {
+ margin: 0 !important;
+ padding: 0 !important;
+}