diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /toolkit/themes/windows | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'toolkit/themes/windows')
29 files changed, 1105 insertions, 0 deletions
diff --git a/toolkit/themes/windows/global/arrow/panelarrow-vertical.svg b/toolkit/themes/windows/global/arrow/panelarrow-vertical.svg new file mode 100644 index 0000000000..50fe6b63b4 --- /dev/null +++ b/toolkit/themes/windows/global/arrow/panelarrow-vertical.svg @@ -0,0 +1,7 @@ +<!-- 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/. --> +<svg xmlns="http://www.w3.org/2000/svg" width="20" height="10"> + <path d="M 0,10 L 10,0 20,10 z" fill="context-stroke"/> + <path d="M 1,10 L 10,1 19,10 z" fill="context-fill"/> +</svg> diff --git a/toolkit/themes/windows/global/autocomplete.css b/toolkit/themes/windows/global/autocomplete.css new file mode 100644 index 0000000000..de7d9d8886 --- /dev/null +++ b/toolkit/themes/windows/global/autocomplete.css @@ -0,0 +1,89 @@ +/* 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/. */ + +/* ===== autocomplete.css ================================================= + == Styles used by the autocomplete widget. + ======================================================================= */ + +@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); +@namespace html url("http://www.w3.org/1999/xhtml"); + +/* ::::: autocomplete ::::: */ + +html|input[nomatch="true"][highlightnonmatches="true"] { + color: red; +} + +/* ::::: autocomplete popups ::::: */ + +panel[type="autocomplete-richlistbox"] { + appearance: none; + --panel-color: FieldText; + --panel-background: Field; + --panel-padding: 0; +} + +/* ::::: richlistbox autocomplete ::::: */ + +.autocomplete-richlistbox { + appearance: none; + margin: 0; + border: 0; +} + +.autocomplete-richlistitem[selected] { + background-color: SelectedItem; + color: SelectedItemText; +} + +.ac-type-icon { + display: none; + min-width: 16px; + min-height: 16px; + max-width: 16px; + max-height: 16px; + margin-inline-start: 6px; + margin-inline-end: 6px; +} + +.ac-site-icon { + display: none; + min-width: 16px; + min-height: 16px; + max-width: 16px; + max-height: 16px; + margin-inline-start: 6px; + margin-inline-end: 8px; + -moz-context-properties: fill; + fill: currentColor; +} + +.ac-title { + margin-inline-start: 0; + margin-inline-end: 6px; +} + +.ac-separator { + display: none; + margin-inline-start: 0; + margin-inline-end: 6px; +} + +.ac-url { + display: none; +} + +/* Better align the URL with the title. */ +.ac-separator, +.ac-url { + margin-bottom: -2px; +} + +.ac-title-text, +.ac-separator-text, +.ac-url-text, +.ac-text-overflow-container { + padding: 0 !important; + margin: 0 !important; +} 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; +} diff --git a/toolkit/themes/windows/global/dialog.css b/toolkit/themes/windows/global/dialog.css new file mode 100644 index 0000000000..16e47fa412 --- /dev/null +++ b/toolkit/themes/windows/global/dialog.css @@ -0,0 +1,23 @@ +/* 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/. */ + +/* ===== dialog.css ===================================================== + == Styles used by the XUL dialog element. + ======================================================================= */ + +@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +/* ::::: dialog ::::: */ + +:host { + padding-block: 8px 10px; + padding-inline: 8px 10px; +} + +/* ::::: dialog buttons ::::: */ + +button { + font: menu; + margin-top: 6px; +} diff --git a/toolkit/themes/windows/global/global.css b/toolkit/themes/windows/global/global.css new file mode 100644 index 0000000000..aa4cd2b7b3 --- /dev/null +++ b/toolkit/themes/windows/global/global.css @@ -0,0 +1,139 @@ +/* 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/. */ + +/* ===== global.css ===================================================== + == Styles that apply everywhere. + ======================================================================= */ + +@import url("chrome://global/skin/global-shared.css"); + +@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); +@namespace html url("http://www.w3.org/1999/xhtml"); + +@media (prefers-contrast) { + :root { + /* In high-contrast mode on Windows, ThreeDLightShadow provides more + contrast than ThreeDShadow. See bug 1022564. */ + --arrowpanel-border-color: ThreeDLightShadow; + } +} + +/* ::::: Alert icons :::::*/ + +.message-icon, +.alert-dialog #infoIcon, +.alert-icon, +.error-icon, +.question-icon { + width: 32px; + height: 32px; + -moz-context-properties: fill; + fill: currentColor; +} + +.message-icon { + list-style-image: url("chrome://global/skin/icons/info.svg"); +} + +.alert-dialog #infoIcon, +.alert-icon { + list-style-image: url("chrome://global/skin/icons/warning.svg"); + fill: #ffa436; +} + +.error-icon { + list-style-image: url("chrome://global/skin/icons/error.svg"); + fill: #e22850; +} + +.question-icon { + list-style-image: url("chrome://global/skin/icons/help.svg"); + -moz-context-properties: fill, fill-opacity; + fill-opacity: 0.8; +} + +/* XXX(ntim): [mode="text"] is only used by comm-central */ + +xul|toolbar[mode="text"] .toolbarbutton-text { + padding: 0 !important; + margin: 3px 5px !important; +} + +/* Separators */ + +xul|separator:not([orient="vertical"]) { + height: 1.5em; +} +xul|separator[orient="vertical"] { + width: 1.5em; +} + +xul|separator.thin:not([orient="vertical"]) { + height: 0.5em; +} +xul|separator.thin[orient="vertical"] { + width: 0.5em; +} + +xul|separator.groove:not([orient="vertical"]) { + border-top: 1px solid ThreeDShadow; + border-bottom: 1px solid ThreeDHighlight; + height: 0; + margin-block: 0.4em; +} +xul|separator.groove[orient="vertical"] { + border-left: 1px solid ThreeDShadow; + border-right: 1px solid ThreeDHighlight; + width: 0; + margin-inline: 0.4em; +} + +/* Input margins */ + +html|input { + margin: 2px 4px; +} + +/* Content select */ + +.contentSelectDropdown-ingroup > .menu-iconic-text { + padding-inline-start: 20px; +} + +#ContentSelectDropdown > menupopup > menucaption, +#ContentSelectDropdown > menupopup > menuitem { + padding: 0 6px; + border-width: 0; +} + +#ContentSelectDropdown > menupopup { + font: -moz-list; +} + +#ContentSelectDropdown > menupopup > menucaption > .menu-iconic-text, +#ContentSelectDropdown > menupopup > menuitem > .menu-iconic-text { + /* Padding should follow the 4/12 ratio, where 12px is the default font-size + with 4px being the preferred padding size. */ + padding-block: .3333em; +} + +#ContentSelectDropdown > menupopup > menucaption > .menu-iconic-text { + font-weight: bold; +} + +#ContentSelectDropdown > menupopup > menuitem[_moz-menuactive="true"][disabled="true"] { + color: GrayText; + background-color: unset; +} + +#ContentSelectDropdown > menupopup > menucaption[disabled="true"] { + color: GrayText; +} + +#ContentSelectDropdown > .isOpenedViaTouch > menucaption > .menu-iconic-text, +#ContentSelectDropdown > .isOpenedViaTouch > menuitem > .menu-iconic-text { + /* Touch padding should follow the 11/12 ratio, where 12px is the default + font-size with 11px being the preferred padding size. */ + padding-block: .9167em; +} diff --git a/toolkit/themes/windows/global/icons/Landscape.png b/toolkit/themes/windows/global/icons/Landscape.png Binary files differnew file mode 100644 index 0000000000..fad822281e --- /dev/null +++ b/toolkit/themes/windows/global/icons/Landscape.png diff --git a/toolkit/themes/windows/global/icons/Portrait.png b/toolkit/themes/windows/global/icons/Portrait.png Binary files differnew file mode 100644 index 0000000000..afe9ee83f0 --- /dev/null +++ b/toolkit/themes/windows/global/icons/Portrait.png diff --git a/toolkit/themes/windows/global/icons/menu-check.svg b/toolkit/themes/windows/global/icons/menu-check.svg new file mode 100644 index 0000000000..48778afb42 --- /dev/null +++ b/toolkit/themes/windows/global/icons/menu-check.svg @@ -0,0 +1,6 @@ +<!-- 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/. --> +<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"> + <path d="M13.8639 3.65609C14.0533 3.85704 14.0439 4.17348 13.8429 4.36288L5.91309 11.8368C5.67573 12.0605 5.30311 12.0536 5.07417 11.8213L2.39384 9.10093C2.20003 8.90422 2.20237 8.58765 2.39907 8.39384C2.59578 8.20003 2.91235 8.20237 3.10616 8.39908L5.51192 10.8407L13.1571 3.63517C13.358 3.44577 13.6745 3.45513 13.8639 3.65609Z" fill="context-fill" fill-opacity="context-fill-opacity"/> +</svg> diff --git a/toolkit/themes/windows/global/icons/search-textbox.svg b/toolkit/themes/windows/global/icons/search-textbox.svg new file mode 100644 index 0000000000..c2d9f3a8eb --- /dev/null +++ b/toolkit/themes/windows/global/icons/search-textbox.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- 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/. --> +<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"> + <path fill="#939393" fill-rule="evenodd" d="M11.354,10.646l-0.707.707L7.295,8A4.483,4.483,0,1,1,9,4.5,4.458,4.458,0,0,1,8,7.295ZM4.5,1A3.5,3.5,0,1,0,8,4.5,3.5,3.5,0,0,0,4.5,1Z" transform="scale(-1, 1) translate(-12, 0)"/> +</svg>
\ No newline at end of file diff --git a/toolkit/themes/windows/global/icons/warning-large.png b/toolkit/themes/windows/global/icons/warning-large.png Binary files differnew file mode 100644 index 0000000000..7e30398c8c --- /dev/null +++ b/toolkit/themes/windows/global/icons/warning-large.png diff --git a/toolkit/themes/windows/global/in-content/common.css b/toolkit/themes/windows/global/in-content/common.css new file mode 100644 index 0000000000..d9ee9ba31b --- /dev/null +++ b/toolkit/themes/windows/global/in-content/common.css @@ -0,0 +1,23 @@ +/* - 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/. */ + +@import url("chrome://global/skin/in-content/common-shared.css"); + +@namespace html "http://www.w3.org/1999/xhtml"; +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +xul|checkbox, +xul|radio { + padding-inline-start: 0; +} + +/* Override menulist.css */ +xul|menulist[disabled="true"] { + background-color: var(--in-content-button-background); +} + +html|button { + /* XUL button min-width */ + min-width: 6.3em; +} diff --git a/toolkit/themes/windows/global/jar.mn b/toolkit/themes/windows/global/jar.mn new file mode 100644 index 0000000000..fc4d66835a --- /dev/null +++ b/toolkit/themes/windows/global/jar.mn @@ -0,0 +1,21 @@ +# 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/. + +#include ../../shared/desktop-non-mac.jar.inc.mn + +toolkit.jar: + skin/classic/global/autocomplete.css + skin/classic/global/button.css + skin/classic/global/menu.css + skin/classic/global/menulist.css + skin/classic/global/tabbox.css + skin/classic/global/global.css + skin/classic/global/printPageSetup.css + skin/classic/global/richlistbox.css + skin/classic/global/toolbar.css + skin/classic/global/icons/Landscape.png (icons/Landscape.png) + skin/classic/global/icons/menu-check.svg (icons/menu-check.svg) + skin/classic/global/icons/Portrait.png (icons/Portrait.png) + skin/classic/global/icons/warning-large.png (icons/warning-large.png) + skin/classic/global/in-content/common.css (in-content/common.css) diff --git a/toolkit/themes/windows/global/menu.css b/toolkit/themes/windows/global/menu.css new file mode 100644 index 0000000000..4868f41ed1 --- /dev/null +++ b/toolkit/themes/windows/global/menu.css @@ -0,0 +1,142 @@ +/* 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/. */ + +@import url("chrome://global/skin/menu-shared.css"); + +/* ===== menu.css ======================================================= + == Styles used by XUL menu-related elements. + ======================================================================= */ + +@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +/* ::::: menu/menuitem ::::: */ + +menubar > menu:-moz-window-inactive { + color: ThreeDShadow; +} + +/* ..... Internal content .... */ + +.menu-accel, +.menu-iconic-accel, +.menu-text, +.menu-iconic-text { + margin: 0; + padding: 1px 0; +} + +.menu-accel, +.menu-iconic-accel { + margin-inline: 0.74em 1.35em; +} + +.menu-iconic-icon { + width: 16px; + height: 16px; +} + +.menu-iconic > .menu-iconic-left, +.menuitem-iconic > .menu-iconic-left { + padding-top: 2px; +} + +menuitem:is([type="checkbox"], [type="radio"]):not([checked="true"]) > .menu-iconic-left > .menu-iconic-icon { + display: none; +} + +/* ::::: menu/menuitems in menubar ::::: */ + +menubar > menu[_moz-menuactive="true"]:not([disabled="true"]) { + color: -moz-menubarhovertext; +} + +menubar > menu:-moz-lwtheme { + appearance: none; + border-color: transparent; +} + +menubar > menu:-moz-lwtheme:not([disabled="true"]) { + color: inherit; +} + +menubar > menu:-moz-lwtheme[_moz-menuactive="true"]:not([disabled="true"]) { + background-color: SelectedItem; + color: SelectedItemText; + text-shadow: none; +} + +/* ..... internal content .... */ + +.menubar-text { + margin: 1px 6px 2px; +} + +/* ::::: menu/menuitems in menulist popups ::::: */ + +menulist > menupopup > menuitem, +menulist > menupopup > menucaption, +menulist > menupopup > menu { + max-width: none; +} + +menulist > menupopup > menuitem { + padding-inline-end: 1em; +} + + +menulist > menupopup > menuitem > .menu-iconic-left, +menulist > menupopup > menucaption > .menu-iconic-left, +menulist > menupopup > menu > .menu-iconic-left { + display: none; +} + +menulist > menupopup > menuitem > label, +menulist > menupopup > menucaption > label, +menulist > menupopup > menu > label { + padding-block: 0; +} + +menulist > menupopup > menuitem[_moz-menuactive="true"][disabled="true"] { + color: GrayText; +} + +menulist > menupopup > :is(menuitem, menucaption):not(.menuitem-iconic) > .menu-iconic-text { + margin: 0; +} + +/* ::::: checkbox and radio menuitems ::::: */ + +menupopup[needsgutter] menu:not([icon], .menu-iconic), +menupopup[needsgutter] menuitem:not([checked="true"], [icon], .menuitem-iconic) { + padding-inline-start: 36px; +} + +.menu-iconic > .menu-iconic-left, +.menuitem-iconic > .menu-iconic-left { + margin-inline-end: 8px; +} + +menuitem[checked="true"] { + padding-inline-start: 12px; +} + +/* We need to do something to override the default style for selected + checkboxes and radio buttons because the native drawing we use on other + Windows versions looks pretty bad with the Win10 styles, so for now we'll + insert a generic checkmark icon for both types. */ +menuitem[checked="true"] > .menu-iconic-left { + -moz-context-properties: fill, fill-opacity; + fill: currentColor; + fill-opacity: var(--menu-icon-opacity); + list-style-image: url("chrome://global/skin/icons/menu-check.svg"); + width: 16px; + margin-inline-end: 8px; +} + +/* ::::: menuseparator ::::: */ + +menuseparator { + /* The side padding should align with the start of the menu item text. */ + padding-inline: 1em; +} diff --git a/toolkit/themes/windows/global/menulist.css b/toolkit/themes/windows/global/menulist.css new file mode 100644 index 0000000000..c89fc73616 --- /dev/null +++ b/toolkit/themes/windows/global/menulist.css @@ -0,0 +1,29 @@ +/* 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/. */ + +@import url("chrome://global/skin/menulist-shared.css"); + +:host([native]) { + margin: 2px 4px; + color: FieldText; +} + +@media (prefers-contrast) { + :host([native]:not([open="true"]):focus) > #label-box { + background-color: SelectedItem; + color: SelectedItemText; + } +} + +:host([native]:not([open="true"]):focus-visible) > #label-box { + outline: var(--default-focusring); +} + +:host([native]) :is(image, label) { + margin-block: -1px; +} + +:host([native]) dropmarker { + margin-inline: 3px -3px; +} diff --git a/toolkit/themes/windows/global/moz.build b/toolkit/themes/windows/global/moz.build new file mode 100644 index 0000000000..d988c0ff9b --- /dev/null +++ b/toolkit/themes/windows/global/moz.build @@ -0,0 +1,7 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# 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/. + +JAR_MANIFESTS += ["jar.mn"] diff --git a/toolkit/themes/windows/global/printPageSetup.css b/toolkit/themes/windows/global/printPageSetup.css new file mode 100644 index 0000000000..eec8315f8b --- /dev/null +++ b/toolkit/themes/windows/global/printPageSetup.css @@ -0,0 +1,26 @@ +/* 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/. */ + +fieldset { + border: 0.5px groove ThreeDLightShadow; + margin: 6px 3px; +} + +.groupbox-body { + /* We cannot use padding on the groupbox due to its -moz-appearance. */ + margin: 3px 3px 6px; +} + +.portrait-page .radio-icon { + list-style-image: url("chrome://global/skin/icons/Portrait.png"); +} + +.landscape-page .radio-icon { + list-style-image: url("chrome://global/skin/icons/Landscape.png"); +} + +#header-footer-grid { + display: grid; + grid-template-columns: auto auto auto; +} diff --git a/toolkit/themes/windows/global/richlistbox.css b/toolkit/themes/windows/global/richlistbox.css new file mode 100644 index 0000000000..316f00e9c3 --- /dev/null +++ b/toolkit/themes/windows/global/richlistbox.css @@ -0,0 +1,121 @@ +/* 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/. */ + +@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +richlistbox { + margin: 2px 4px; + background-color: Field; + color: FieldText; + border: 1px solid ThreeDShadow; +} + +richlistbox[disabled="true"] { + color: GrayText; +} + +richlistitem[selected="true"] { + background-color: -moz-cellhighlight; + color: -moz-cellhighlighttext; +} + +richlistbox:where(:focus) > richlistitem[selected="true"] { + background-color: SelectedItem; + color: SelectedItemText; +} + +richlistbox[seltype="multiple"]:focus > richlistitem[current="true"], +richlistbox.theme-listbox:focus > richlistitem[current="true"] { + outline: var(--default-focusring); + outline-color: SelectedItem; + outline-offset: calc(-1 * var(--default-focusring-width)); +} + +richlistbox[seltype="multiple"]:focus > richlistitem[current="true"][selected="true"], +richlistbox.theme-listbox:focus > richlistitem[current="true"][selected="true"] { + outline-color: #F3D982; /* TODO: find a suitable system color */ +} + +richlistbox.theme-listbox > richlistitem { + border: 1px solid transparent; +} + +richlistbox.theme-listbox > richlistitem[selected="true"] { + background-color: -moz-cellhighlight; + color: -moz-cellhighlighttext; +} + +richlistbox.theme-listbox:focus > richlistitem[selected="true"] { + background-color: SelectedItem; + color: SelectedItemText; +} + +richlistbox.theme-listbox > richlistitem > label { + margin: 0; + padding-block: 0 1px; + padding-inline: 4px 0; + white-space: nowrap; +} + +@media not (prefers-contrast) { + richlistbox.theme-listbox > richlistitem { + --listitem-selectedTextColor: rgb(0,0,0); + --listitem-selectedColor: rgb(217,217,217); + --listitem-selectedBorder: var(--listitem-selectedColor); + --listitem-selectedBottomBorder: rgb(204,204,204); + --listitem-selectedBackground: var(--listitem-selectedColor); + --listitem-selectedImage: none; + --listitem-selectedCurrentBorder: rgb(123,195,255); + --listitem-selectedFocusColor: rgb(205,232,255); + --listitem-selectedFocusBorder: var(--listitem-selectedFocusColor); + --listitem-selectedFocusBottomBorder: rgb(165,214,255); + --listitem-selectedFocusBackground: var(--listitem-selectedFocusColor); + --listitem-selectedFocusImage: none; + --listitem-selectedFocusCurrentBorder: var(--listitem-selectedFocusColor); + --listitem-selectedFocusCurrentBottomBorder: var(--listitem-selectedFocusBottomBorder); + --listitem-selectedFocusCurrentBackground: var(--listitem-selectedFocusColor); + + color: FieldText; + margin-inline: 1px; + padding-block: 1px; + border-width: 1px; + background-repeat: no-repeat; + background-size: 100% 100%; + } + + richlistbox.theme-listbox > richlistitem[selected="true"] { + border-top-color: var(--listitem-selectedBorder); + border-inline-color: var(--listitem-selectedBorder); + border-bottom-color: var(--listitem-selectedBottomBorder); + background-image: var(--listitem-selectedImage); + background-color: var(--listitem-selectedBackground); + color: var(--listitem-selectedTextColor); + } + + richlistbox.theme-listbox:focus > richlistitem[selected="true"] { + border-top-color: var(--listitem-selectedFocusBorder); + border-inline-color: var(--listitem-selectedFocusBorder); + border-bottom-color: var(--listitem-selectedFocusBottomBorder); + background-image: var(--listitem-selectedFocusImage); + background-color: var(--listitem-selectedFocusBackground); + color: var(--listitem-selectedTextColor); + } + + richlistbox.theme-listbox:focus > richlistitem[current="true"] { + border-color: var(--listitem-selectedCurrentBorder); + outline: none; + } + + richlistbox.theme-listbox:focus > richlistitem[selected="true"][current="true"] { + border-top-color: var(--listitem-selectedFocusCurrentBorder); + border-inline-color: var(--listitem-selectedFocusCurrentBorder); + border-bottom-color: var(--listitem-selectedFocusCurrentBottomBorder); + background-color: var(--listitem-selectedFocusCurrentBackground); + outline: none; + } +} + +listheader { + color: -moz-DialogText; +} diff --git a/toolkit/themes/windows/global/tabbox.css b/toolkit/themes/windows/global/tabbox.css new file mode 100644 index 0000000000..32d13a384b --- /dev/null +++ b/toolkit/themes/windows/global/tabbox.css @@ -0,0 +1,51 @@ +/* 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/. */ + +/* ===== tabbox.css ================================================= + == Styles used by XUL tab-related elements. + ======================================================================= */ + +@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +/* ::::: tabpanels ::::: */ + +tabpanels { + appearance: auto; + -moz-default-appearance: tabpanels; + padding: 8px; + color: -moz-DialogText; + /* These don't have non-native theme support, so force them to light mode to + * use the native windows theme. */ + color-scheme: light; +} + +/* ::::: tab ::::: */ + +tab { + appearance: auto; + -moz-default-appearance: tab; + margin-top: 2px; + padding: 1px 4px 2px; + color: -moz-DialogText; + /* These don't have non-native theme support, so force them to light mode to + * use the native windows theme. */ + color-scheme: light; +} + +tab:where([visuallyselected]) { + margin-top: 0; + padding: 1px 6px 4px; +} + +tab:where(:first-of-type[visuallyselected]) { + padding-inline: 5px; +} + +.tab-text { + margin: 0 !important; +} + +tab:-moz-focusring > .tab-middle { + outline: var(--default-focusring); +} diff --git a/toolkit/themes/windows/global/tabprompts.css b/toolkit/themes/windows/global/tabprompts.css new file mode 100644 index 0000000000..2b5fbdf55f --- /dev/null +++ b/toolkit/themes/windows/global/tabprompts.css @@ -0,0 +1,25 @@ +/* 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/. */ + +/* Tab Modal Prompt boxes */ +.tabModalBackground, +tabmodalprompt { + background-color: hsla(0,0%,10%,.5); +} + +tabmodalprompt { + font-family: sans-serif; /* use content font not system UI font */ +} + +.tabmodalprompt-mainContainer { + color: FieldText; + background-color: Field; + border-radius: 2px; + border: 1px solid threeDDarkShadow; +} + +.tabmodalprompt-buttonContainer { + background-color: hsla(0,0%,0%,.05); + border-top: 1px solid hsla(0,0%,0%,.05); +} diff --git a/toolkit/themes/windows/global/toolbar.css b/toolkit/themes/windows/global/toolbar.css new file mode 100644 index 0000000000..45b79eafdd --- /dev/null +++ b/toolkit/themes/windows/global/toolbar.css @@ -0,0 +1,58 @@ +/* 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/. */ + +/* ===== toolbar.css ==================================================== + == Styles used by XUL toolbar-related elements. + ======================================================================= */ + +@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +toolbox { + appearance: auto; + -moz-default-appearance: toolbox; +} + +toolbar { + appearance: auto; + -moz-default-appearance: toolbar; + min-width: 1px; + min-height: 19px; +} + +toolbar:first-child { + min-width: 1px; +} + +toolbox:-moz-lwtheme, +toolbar:-moz-lwtheme { + appearance: none; +} + +toolbarseparator { + appearance: auto; + -moz-default-appearance: separator; +} + +toolbarspacer { + width: 15px; +} + +toolbarpaletteitem { + cursor: grab; +} + +/* Drag and drop feedback */ + +toolbarpaletteitem[place="toolbar"] { + margin-inline: -2px; + border-inline: 2px solid transparent; +} + +toolbarpaletteitem[dragover="left"] { + border-left-color: #000000; +} + +toolbarpaletteitem[dragover="right"] { + border-right-color: #000000; +} diff --git a/toolkit/themes/windows/global/tree/sort-asc.svg b/toolkit/themes/windows/global/tree/sort-asc.svg new file mode 100644 index 0000000000..917fa96cf3 --- /dev/null +++ b/toolkit/themes/windows/global/tree/sort-asc.svg @@ -0,0 +1,6 @@ +<!-- 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/. --> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 7" width="9" height="7" fill="context-fill"> + <path d="M4.5 1.24a.9.9 0 0 0-.7.2l-2.6 2.7c-.8.87.43 2.1 1.3 1.3l2-2 2 2c.84.53 1.8-.5 1.2-1.3l-2.6-2.7a.9.9 0 0 0-.6-.2z"/> +</svg> diff --git a/toolkit/themes/windows/global/tree/sort-dsc.svg b/toolkit/themes/windows/global/tree/sort-dsc.svg new file mode 100644 index 0000000000..97cbfc6917 --- /dev/null +++ b/toolkit/themes/windows/global/tree/sort-dsc.svg @@ -0,0 +1,6 @@ +<!-- 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/. --> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 7" width="9" height="7" fill="context-fill"> + <path d="M4.5 5.67a.9.9 0 0 1-.7-.2l-2.6-2.7c-.8-.87.43-2.1 1.3-1.3l2 2 2-2c.84-.53 1.8.5 1.2 1.3l-2.6 2.7a.9.9 0 0 1-.6.2z"/> +</svg> diff --git a/toolkit/themes/windows/global/wizard.css b/toolkit/themes/windows/global/wizard.css new file mode 100644 index 0000000000..5a097980dc --- /dev/null +++ b/toolkit/themes/windows/global/wizard.css @@ -0,0 +1,53 @@ +/* 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/. */ + +@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); +@namespace html url("http://www.w3.org/1999/xhtml"); + +.wizard-header { + border-bottom: 2px groove ThreeDFace; + background-color: Window; + color: WindowText; +} + +.wizard-header-box-1 { + padding: 5px 0; +} + +.wizard-header-label { + margin-inline-start: 23px; + font-weight: bold; +} + +.wizard-header-description { + margin-inline-start: 44px; +} + +:host([data-branded="true"]) .wizard-header-icon { + list-style-image: url("chrome://branding/content/icon128.png"); + width: 48px; + height: 48px; + margin-inline-end: 5px; +} + +html|*.wizard-page-box { + margin: 10px 44px; +} + +.wizard-buttons-separator { + margin-bottom: 0 !important; +} + +.wizard-buttons-box-2 { + margin: 10px; +} + +.wizard-button[dlgtype="finish"], +.wizard-button[dlgtype="next"] { + margin-inline-start: 0 !important; +} + +.wizard-button[dlgtype="back"] { + margin-inline-end: 0 !important; +} diff --git a/toolkit/themes/windows/moz.build b/toolkit/themes/windows/moz.build new file mode 100644 index 0000000000..096017b685 --- /dev/null +++ b/toolkit/themes/windows/moz.build @@ -0,0 +1,7 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# 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/. + +DIRS += ["global", "mozapps"] diff --git a/toolkit/themes/windows/mozapps/downloads/unknownContentType.css b/toolkit/themes/windows/mozapps/downloads/unknownContentType.css new file mode 100644 index 0000000000..53e2f0ce00 --- /dev/null +++ b/toolkit/themes/windows/mozapps/downloads/unknownContentType.css @@ -0,0 +1,38 @@ +/* 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/. */ + +#type { + flex: 1; + background-color: transparent; + color: inherit; +} + +#from { + margin-top: 1px; +} + +#location { + font-weight: bold; +} + +#contentTypeImage { + height: 16px; + width: 16px; + margin-block: 0; + margin-inline-start: 0; + margin-inline-end: 5px; +} + +.small-indent { + margin-inline: 15px; +} + +.small-indent label { + margin-inline-start: 0; +} + +#source, +#location { + contain: inline-size; +} diff --git a/toolkit/themes/windows/mozapps/handling/handling.css b/toolkit/themes/windows/mozapps/handling/handling.css new file mode 100644 index 0000000000..1f18f18ba5 --- /dev/null +++ b/toolkit/themes/windows/mozapps/handling/handling.css @@ -0,0 +1,31 @@ +/* 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/. */ + +richlistitem[type] { + min-height: 36px; /* Don't forget to update the richlistbox height! */ + padding-inline-start: 2px; + } + +richlistitem { + align-items: center; +} + +richlistbox { + /* 3 items high, plus 4px for top and bottom margins, less 2px for border */ + min-height: 110px; +} + +.name { + font-weight: bold; +} + +.description { + color: GrayText; +} + +@media (prefers-contrast) { + richlistitem[selected] .description { + color: inherit; + } +} diff --git a/toolkit/themes/windows/mozapps/jar.mn b/toolkit/themes/windows/mozapps/jar.mn new file mode 100644 index 0000000000..2f031eb5be --- /dev/null +++ b/toolkit/themes/windows/mozapps/jar.mn @@ -0,0 +1,7 @@ +# 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/. + +toolkit.jar: +#include ../../shared/mozapps.inc.mn + skin/classic/mozapps/update/updates.css (update/updates.css) diff --git a/toolkit/themes/windows/mozapps/moz.build b/toolkit/themes/windows/mozapps/moz.build new file mode 100644 index 0000000000..d988c0ff9b --- /dev/null +++ b/toolkit/themes/windows/mozapps/moz.build @@ -0,0 +1,7 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# 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/. + +JAR_MANIFESTS += ["jar.mn"] diff --git a/toolkit/themes/windows/mozapps/update/updates.css b/toolkit/themes/windows/mozapps/update/updates.css new file mode 100644 index 0000000000..d971beba90 --- /dev/null +++ b/toolkit/themes/windows/mozapps/update/updates.css @@ -0,0 +1,90 @@ +/* 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/. */ + +/* Elevation Dialog */ +/* Specify the size for the UI so it has a fixed size. 3rd + party themes should typically specify the same values. */ +#elevationBox, .update-content { + height: 360px; + width: 700px; +} + +/* Remove margin and padding so the inner UI will extend to the edge of the + window. 3rd party themes should typically specify the same values. */ +#updates { + margin: 0; + padding: 0; +} + +.update-header { + border-bottom: 2px groove ThreeDFace; + background-color: Window; + color: WindowText; + padding: 0 10px; +} + +.update-header-box-1 { + padding: 5px 0; +} + +.update-header-label { + font-weight: bold; +} + +#update-button-box { + margin: 0; + padding: 5px 10px 10px; +} + +.update-content { + padding: 10px; +} + +.update-buttons-separator { + margin-block: 0 !important; +} + +#updateFinishedName { + font-weight: bold; + font-size: larger; +} + +/* Update History Window */ +update { + border-bottom: 1px dotted #C0C0C0; +} + +.update-name { + font-weight: bold; +} + +.update-label-column { + align-items: flex-end; +} + +.update-type { + font-weight: bold; + color: #990000; +} + +.update-status-value, +.update-installedOn-value { + margin-inline-start: 1ch; +} + +#historyItems { + height: 200px; + flex: 1 auto; + margin: 1px 5px; +} + +#historyItems .update { + padding: 5px; + display: flex; + flex-direction: column; +} + +.update-name { + flex: 1; +} |