/* Copyright 2024 Mozilla Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ .messageBar { --closing-button-icon: url(images/messageBar_closingButton.svg); --message-bar-close-button-color: var(--text-primary-color); --message-bar-close-button-color-hover: var(--text-primary-color); --message-bar-close-button-border-radius: 4px; --message-bar-close-button-border: none; --message-bar-close-button-hover-bg-color: rgb(21 20 26 / 0.14); --message-bar-close-button-active-bg-color: rgb(21 20 26 / 0.21); --message-bar-close-button-focus-bg-color: rgb(21 20 26 / 0.07); @media (prefers-color-scheme: dark) { --message-bar-close-button-hover-bg-color: rgb(251 251 254 / 0.14); --message-bar-close-button-active-bg-color: rgb(251 251 254 / 0.21); --message-bar-close-button-focus-bg-color: rgb(251 251 254 / 0.07); } @media screen and (forced-colors: active) { --message-bar-close-button-color: ButtonText; --message-bar-close-button-border: 1px solid ButtonText; --message-bar-close-button-hover-bg-color: ButtonText; --message-bar-close-button-active-bg-color: ButtonText; --message-bar-close-button-focus-bg-color: ButtonText; --message-bar-close-button-color-hover: HighlightText; } display: flex; position: relative; padding: 8px 8px 8px 16px; flex-direction: column; justify-content: center; align-items: center; gap: 8px; user-select: none; border-radius: 4px; border: 1px solid var(--message-bar-border-color); background: var(--message-bar-bg-color); color: var(--message-bar-fg-color); > div { display: flex; align-items: flex-start; gap: 8px; align-self: stretch; &::before { content: ""; display: inline-block; width: 16px; height: 16px; mask-image: var(--message-bar-icon); mask-size: cover; background-color: var(--message-bar-icon-color); flex-shrink: 0; } } button { cursor: pointer; &:focus-visible { outline: var(--focus-ring-outline); outline-offset: 2px; } } .closeButton { width: 32px; height: 32px; background: none; border-radius: var(--message-bar-close-button-border-radius); border: var(--message-bar-close-button-border); display: flex; align-items: center; justify-content: center; &::before { content: ""; display: inline-block; width: 16px; height: 16px; mask-image: var(--closing-button-icon); mask-size: cover; background-color: var(--message-bar-close-button-color); } &:is(:hover, :active, :focus)::before { background-color: var(--message-bar-close-button-color-hover); } &:hover { background-color: var(--message-bar-close-button-hover-bg-color); } &:active { background-color: var(--message-bar-close-button-active-bg-color); } &:focus { background-color: var(--message-bar-close-button-focus-bg-color); } > span { display: inline-block; width: 0; height: 0; overflow: hidden; } } }