summaryrefslogtreecommitdiffstats
path: root/toolkit/themes/shared/global-shared.css
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/themes/shared/global-shared.css')
-rw-r--r--toolkit/themes/shared/global-shared.css352
1 files changed, 352 insertions, 0 deletions
diff --git a/toolkit/themes/shared/global-shared.css b/toolkit/themes/shared/global-shared.css
new file mode 100644
index 0000000000..c478b2745e
--- /dev/null
+++ b/toolkit/themes/shared/global-shared.css
@@ -0,0 +1,352 @@
+/* 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/. */
+
+/* all localizable skin settings shall live here */
+
+@import url("chrome://global/skin/design-system/tokens-platform.css");
+@import url("chrome://global/skin/design-system/text-and-typography.css");
+
+@import url("chrome://global/locale/intl.css");
+@import url("chrome://global/content/widgets.css");
+
+@import url("close-icon.css");
+
+@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+:root {
+ --default-focusring-width: 2px;
+ --default-focusring: var(--default-focusring-width) dotted;
+
+ --arrowpanel-background: Field;
+ --arrowpanel-color: FieldText;
+ --arrowpanel-border-color: ThreeDShadow;
+ --arrowpanel-border-radius: 8px;
+ --arrowpanel-padding: 16px;
+
+ --arrowpanel-dimmed: color-mix(in srgb, currentColor 17%, transparent);
+ --arrowpanel-dimmed-further: color-mix(in srgb, currentColor 30%, transparent);
+
+ --panel-separator-color: color-mix(in srgb, currentColor 25%, transparent);
+ --panel-disabled-color: color-mix(in srgb, currentColor 40%, transparent);
+
+ --popup-notification-body-width: calc(31em - calc(2 * var(--arrowpanel-padding)));
+
+ --toolbarbutton-icon-fill: currentColor;
+ --toolbarbutton-disabled-opacity: 0.4;
+
+ --toolbar-field-background-color: Field;
+ --toolbar-field-color: FieldText;
+ --toolbar-field-border-color: ThreeDShadow;
+ --toolbar-field-focus-background-color: Field;
+ --toolbar-field-focus-color: FieldText;
+ --toolbar-field-focus-border-color: color-mix(in srgb, var(--focus-outline-color) 50%, transparent);
+
+ --toolbar-non-lwt-bgcolor: color-mix(in srgb, -moz-dialog 85%, white);
+ --toolbar-non-lwt-textcolor: -moz-dialogtext;
+ --toolbar-bgcolor: var(--toolbar-non-lwt-bgcolor);
+ --toolbar-color: var(--toolbar-non-lwt-textcolor);
+
+ &:-moz-lwtheme {
+ --toolbar-bgcolor: rgba(255,255,255,.4);
+ --toolbar-color: var(--lwt-text-color, inherit);
+ }
+
+ /* This color scheme should match --toolbar-color. However, note that
+ * individual toolbars might override this (see ToolbarIconColor and the
+ * brighttext attribute). */
+ --toolbar-color-scheme: light dark;
+ &[lwt-toolbar="light"] {
+ --toolbar-color-scheme: light;
+ }
+ &[lwt-toolbar="dark"] {
+ --toolbar-color-scheme: dark;
+ }
+
+ @media (prefers-contrast) {
+ /* Reduce the opacity of disabled toolbar buttons in order to increase
+ contrast with the enabled state. */
+ --toolbarbutton-disabled-opacity: 0.3;
+
+ --panel-separator-color: currentColor;
+ --toolbar-field-focus-border-color: var(--focus-outline-color);
+
+ &:not(:-moz-lwtheme) {
+ --panel-disabled-color: GrayText;
+ }
+ }
+
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+ font: message-box;
+
+ &[dialogroot] {
+ font: menu;
+ }
+}
+
+:is(menupopup, panel):where([type=arrow]) {
+ --panel-background: var(--arrowpanel-background);
+ --panel-color: var(--arrowpanel-color);
+ --panel-border-color: var(--arrowpanel-border-color);
+ --panel-border-radius: var(--arrowpanel-border-radius);
+ --panel-padding: var(--arrowpanel-padding);
+}
+
+/* Lightweight theme roots */
+
+:root:-moz-lwtheme {
+ toolbar,
+ &[lwt-popup="light"] panel {
+ color-scheme: light;
+ }
+ toolbar[brighttext],
+ &[lwt-popup="dark"] panel {
+ color-scheme: dark;
+ }
+}
+
+:root[lwtheme-image] {
+ text-shadow: 0 -0.5px 1.5px white;
+}
+
+:root[lwtheme-image][lwtheme-brighttext] {
+ text-shadow: 1px 1px 1.5px black;
+}
+
+/* General styles */
+
+.plain {
+ appearance: none;
+ margin: 0 !important;
+ border: none;
+ padding: 0;
+}
+
+moz-input-box,
+html|input {
+ min-width: 0;
+}
+
+html|button,
+html|input,
+html|textarea {
+ font: inherit;
+}
+
+.header {
+ font-weight: var(--font-weight-bold);
+}
+
+.indent {
+ margin-inline-start: 23px;
+}
+
+.box-padded {
+ padding: 5px;
+}
+
+/* XUL iframe */
+
+xul|iframe {
+ border: none;
+ min-width: 10px;
+ min-height: 10px;
+}
+
+/* Label/description formatting */
+
+xul|description,
+xul|label {
+ cursor: default;
+ margin-block: 1px 2px;
+ margin-inline: 6px 5px;
+}
+
+xul|description {
+ margin-bottom: 4px;
+}
+
+xul|label[disabled="true"] {
+ color: GrayText;
+}
+
+.tooltip-label {
+ margin: 0;
+ word-wrap: break-word;
+ /* We must specify a min-width, otherwise word-wrap:break-word doesn't work.
+ See Bug 630864. */
+ min-width: 1px;
+}
+
+/* Links */
+
+.text-link,
+a {
+ color: var(--link-color);
+ cursor: pointer;
+ text-decoration: underline;
+
+ &:focus-visible {
+ outline: var(--focus-outline);
+ outline-offset: var(--link-focus-outline-offset);
+ border-radius: 1px;
+ }
+}
+
+
+/* Override properties set on buttons, to display the links without unwanted styling */
+button.text-link {
+ appearance: none;
+ background-color: transparent;
+ border: none;
+ min-width: 0;
+ margin: 0;
+ padding: 0;
+ font: inherit;
+}
+
+button.text-link .button-text {
+ /* Cancel out the default internal margin */
+ margin: 0;
+}
+
+/* Textbox context menu */
+
+.textbox-contextmenu:-moz-locale-dir(rtl) {
+ direction: rtl;
+}
+
+/* Panel footer buttons */
+
+.panel-footer {
+ margin: 8px 16px 16px;
+}
+
+.footer-button {
+ appearance: none;
+ border: 0;
+ border-radius: 4px;
+ color: var(--button-color, inherit);
+ background-color: var(--button-bgcolor, color-mix(in srgb, currentColor 13%, transparent));
+ padding: .45em 1em;
+ min-height: var(--size-item-large);
+ font-weight: 600;
+ min-width: 0;
+ margin-inline: 8px 0;
+ margin-bottom: 0;
+
+ &.small-button {
+ margin: 0;
+ min-height: var(--size-item-medium);
+ font-size: var(--font-size-small);
+ align-items: center;
+ }
+
+ &[disabled] {
+ opacity: 0.4;
+ }
+
+ &:focus-visible {
+ outline: var(--focus-outline);
+ outline-offset: var(--focus-outline-offset);
+ }
+
+ &:not([disabled]) {
+ &:hover {
+ background-color: var(--button-hover-bgcolor, color-mix(in srgb, currentColor 17%, transparent));
+ }
+ &:hover:active {
+ background-color: var(--button-active-bgcolor, color-mix(in srgb, currentColor 30%, transparent));
+ }
+ &[default],
+ &.primary {
+ color: var(--button-primary-color);
+ background-color: var(--button-primary-bgcolor);
+
+ &:hover {
+ background-color: var(--button-primary-hover-bgcolor);
+ }
+ &:hover:active {
+ background-color: var(--button-primary-active-bgcolor);
+ }
+ }
+ }
+
+ &[type=menu] > .button-box > .button-menu-dropmarker {
+ appearance: none;
+ display: flex;
+ content: url("chrome://global/skin/icons/arrow-down-12.svg");
+ -moz-context-properties: fill;
+ fill: currentColor;
+ }
+}
+
+/* Autoscroll popup */
+
+.autoscroller {
+ appearance: none;
+
+ /* Resets the native styles in windows and macOS */
+ border: none;
+ background-color: transparent;
+ -moz-window-shadow: none;
+
+ --autoscroll-background-image: url("chrome://global/skin/icons/autoscroll.svg");
+ --panel-border-color: rgba(0,0,0,.4);
+ --panel-padding: 0;
+ --panel-background: rgba(249,249,250,.8) no-repeat center var(--autoscroll-background-image);
+ --panel-shadow-margin: 4px;
+ /* Set pointer-events: none; so that mousemove events can be handled by AutoScrollChild.jsm. */
+ pointer-events: none;
+}
+
+.autoscroller::part(content) {
+ border-radius: 100%;
+ background-clip: padding-box;
+ box-shadow: 0 0 var(--panel-shadow-margin) rgba(0,0,0,.2);
+ width: 100%;
+ height: 100%;
+}
+
+.autoscroller[scrolldir="NS"] {
+ --autoscroll-background-image: url("chrome://global/skin/icons/autoscroll-vertical.svg");
+}
+
+.autoscroller[scrolldir="EW"] {
+ --autoscroll-background-image: url("chrome://global/skin/icons/autoscroll-horizontal.svg");
+}
+
+/* Combobox dropdown renderer */
+#ContentSelectDropdown > menupopup {
+ /* The menupopup itself should always be rendered LTR to ensure the scrollbar aligns with
+ * the dropdown arrow on the dropdown widget. If a menuitem is RTL, its style will be set accordingly */
+ direction: ltr;
+}
+
+#ContentSelectDropdown > menupopup::part(arrowscrollbox-scrollbox) {
+ scrollbar-width: var(--content-select-scrollbar-width, auto);
+}
+
+#ContentSelectDropdown > menupopup[customoptionstyling="true"]::part(arrowscrollbox) {
+ /* When authors specify a custom background, we use background-image to specify the author-supplied color.
+ * In that case, we don't want stuff like custom appearance or custom
+ * backgrounds, so we make sure to apply it on top of the default background. */
+ background-image: var(--content-select-background-image, none);
+ background-color: -moz-Combobox;
+}
+
+/* Full width separator in select */
+#ContentSelectDropdown menuseparator {
+ padding-inline: 0;
+}
+
+/* Indent options in optgroups */
+.contentSelectDropdown-ingroup .menu-iconic-text {
+ padding-inline-start: 2em;
+}
+
+.deemphasized {
+ color: var(--text-color-deemphasized);
+}