@codegouvfr/react-dsfr
Version:
French State Design System React integration library
359 lines (302 loc) • 10.2 kB
CSS
/*!
* DSFR v1.12.1 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions)
*/
@charset "UTF-8";
/* ¯¯¯¯¯¯¯¯¯ *\
ALERT
\* ˍˍˍˍˍˍˍˍˍ */
.fr-notice {
position: relative;
--title-spacing: 0;
--text-spacing: 0;
padding-top: 1rem;
padding-bottom: 1rem;
background-color: var(--background-contrast-grey);
color: var(--text-title-grey);
}
.fr-notice__body {
position: relative;
padding: 0 2.25rem 0 0;
}
.fr-notice__title {
position: relative;
margin-right: 0.25rem;
font-weight: 700;
}
.fr-notice__title::before {
--icon-size: 1.5rem;
flex: 0 0 auto;
display: inline-block;
vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
background-color: currentColor;
width: var(--icon-size);
height: var(--icon-size);
-webkit-mask-size: 100% 100%;
mask-size: 100% 100%;
margin-right: 0.5rem;
}
.fr-notice__desc {
margin-right: 0.25rem;
}
.fr-notice__title,
.fr-notice__desc {
display: block;
}
.fr-notice__title,
.fr-notice__desc,
.fr-notice__link {
font-size: 0.875rem;
line-height: 1.5rem;
}
.fr-notice--no-icon .fr-notice__title::before {
display: none;
}
.fr-notice .fr-btn--close {
font-size: 0.875rem;
line-height: 1.5rem;
min-height: 2rem;
padding: 0.25rem 0.75rem;
overflow: hidden;
white-space: nowrap;
max-width: 2rem;
max-height: 2rem;
padding-left: 0.5rem;
padding-right: 0.5rem;
position: absolute;
top: -0.25rem;
right: 0;
color: inherit;
}
.fr-notice .fr-btn--close::before {
--icon-size: 1rem;
margin-left: 0;
margin-right: 0.5rem;
flex: 0 0 auto;
display: inline-block;
vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
background-color: currentColor;
width: var(--icon-size);
height: var(--icon-size);
-webkit-mask-size: 100% 100%;
mask-size: 100% 100%;
-webkit-mask-image: url("../../icons/system/close-line.svg");
mask-image: url("../../icons/system/close-line.svg");
content: "";
}
.fr-notice--info .fr-notice__title::before,
.fr-notice--warning .fr-notice__title::before,
.fr-notice--alert .fr-notice__title::before,
.fr-notice--weather-orange .fr-notice__title::before,
.fr-notice--weather-red .fr-notice__title::before,
.fr-notice--weather-purple .fr-notice__title::before,
.fr-notice--witness .fr-notice__title::before,
.fr-notice--kidnapping .fr-notice__title::before,
.fr-notice--attack .fr-notice__title::before,
.fr-notice--cyberattack .fr-notice__title::before {
content: "";
}
.fr-notice--info .fr-notice__title:not([class^=fr-icon-]):not([class*=" fr-icon-"]):not([class^=fr-fi-]):not([class*=" fr-fi-"])::before {
-webkit-mask-image: url("../../icons/system/fr--info-fill.svg");
mask-image: url("../../icons/system/fr--info-fill.svg");
}
.fr-notice--warning .fr-notice__title:not([class^=fr-icon-]):not([class*=" fr-icon-"]):not([class^=fr-fi-]):not([class*=" fr-fi-"])::before,
.fr-notice--alert .fr-notice__title:not([class^=fr-icon-]):not([class*=" fr-icon-"]):not([class^=fr-fi-]):not([class*=" fr-fi-"])::before {
-webkit-mask-image: url("../../icons/system/fr--warning-fill.svg");
mask-image: url("../../icons/system/fr--warning-fill.svg");
}
.fr-notice--alert .fr-notice__title:not([class^=fr-icon-]):not([class*=" fr-icon-"]):not([class^=fr-fi-]):not([class*=" fr-fi-"])::before {
-webkit-mask-image: url("../../icons/system/error-warning-fill.svg");
mask-image: url("../../icons/system/error-warning-fill.svg");
}
.fr-notice--weather-orange .fr-notice__title:not([class^=fr-icon-]):not([class*=" fr-icon-"]):not([class^=fr-fi-]):not([class*=" fr-fi-"])::before {
-webkit-mask-image: url("../../icons/weather/heavy-showers-fill.svg");
mask-image: url("../../icons/weather/heavy-showers-fill.svg");
}
.fr-notice--weather-red .fr-notice__title:not([class^=fr-icon-]):not([class*=" fr-icon-"]):not([class^=fr-fi-]):not([class*=" fr-fi-"])::before {
-webkit-mask-image: url("../../icons/weather/tornado-fill.svg");
mask-image: url("../../icons/weather/tornado-fill.svg");
}
.fr-notice--weather-purple .fr-notice__title:not([class^=fr-icon-]):not([class*=" fr-icon-"]):not([class^=fr-fi-]):not([class*=" fr-fi-"])::before {
-webkit-mask-image: url("../../icons/weather/typhoon-fill.svg");
mask-image: url("../../icons/weather/typhoon-fill.svg");
}
.fr-notice--witness,
.fr-notice--kidnapping,
.fr-notice--attack,
.fr-notice--cyberattack {
padding-top: 1.375rem;
background-position: 0 0;
background-size: 100% 0.375rem;
background-repeat: no-repeat;
}
.fr-notice--witness .fr-notice__title,
.fr-notice--kidnapping .fr-notice__title,
.fr-notice--attack .fr-notice__title,
.fr-notice--cyberattack .fr-notice__title {
text-transform: uppercase;
}
.fr-notice--witness .fr-notice__title::before,
.fr-notice--cyberattack .fr-notice__title::before {
-webkit-mask-image: url("../../icons/system/fr--warning-fill.svg");
mask-image: url("../../icons/system/fr--warning-fill.svg");
}
.fr-notice--kidnapping .fr-notice__title::before {
-webkit-mask-image: url("../../icons/system/fr--alert-warning-fill.svg");
mask-image: url("../../icons/system/fr--alert-warning-fill.svg");
}
.fr-notice--attack .fr-notice__title::before {
-webkit-mask-image: url("../../icons/system/fr--alert-warning-2-fill.svg");
mask-image: url("../../icons/system/fr--alert-warning-2-fill.svg");
}
.fr-notice--info {
background-color: var(--background-contrast-info);
--idle: transparent;
--hover: var(--background-contrast-info-hover);
--active: var(--background-contrast-info-active);
color: var(--text-default-info);
}
.fr-notice--warning,
.fr-notice--weather-orange {
background-color: var(--background-contrast-warning);
--idle: transparent;
--hover: var(--background-contrast-warning-hover);
--active: var(--background-contrast-warning-active);
color: var(--text-default-warning);
}
.fr-notice--alert {
background-color: var(--background-contrast-error);
--idle: transparent;
--hover: var(--background-contrast-error-hover);
--active: var(--background-contrast-error-active);
color: var(--text-default-error);
}
.fr-notice--weather-red {
background-color: var(--background-flat-error);
--idle: transparent;
--hover: var(--background-flat-error-hover);
--active: var(--background-flat-error-active);
color: var(--text-inverted-grey);
}
.fr-notice--weather-red .fr-btn--close {
background-color: var(--background-action-high-error);
--idle: transparent;
--hover: var(--background-action-high-error-hover);
--active: var(--background-action-high-error-active);
}
.fr-notice--weather-purple {
background-color: var(--background-flat-purple-glycine);
--idle: transparent;
--hover: var(--background-flat-purple-glycine-hover);
--active: var(--background-flat-purple-glycine-active);
color: var(--text-inverted-grey);
}
.fr-notice--weather-purple .fr-btn--close {
background-color: var(--background-action-high-purple-glycine);
--idle: transparent;
--hover: var(--background-action-high-purple-glycine-hover);
--active: var(--background-action-high-purple-glycine-active);
}
.fr-notice--witness {
background-color: var(--background-flat-grey);
--idle: transparent;
--hover: var(--background-flat-grey-hover);
--active: var(--background-flat-grey-active);
color: var(--text-inverted-grey);
background-image: linear-gradient(0deg, var(--border-plain-error), var(--border-plain-error));
}
.fr-notice--witness .fr-btn--close {
background-color: var(--background-action-high-grey);
--idle: transparent;
--hover: var(--background-action-high-grey-hover);
--active: var(--background-action-high-grey-active);
}
.fr-notice--kidnapping,
.fr-notice--attack {
background-color: var(--background-flat-error);
--idle: transparent;
--hover: var(--background-flat-error-hover);
--active: var(--background-flat-error-active);
color: var(--text-inverted-grey);
background-image: linear-gradient(0deg, var(--border-plain-grey), var(--border-plain-grey));
}
.fr-notice--kidnapping .fr-btn--close,
.fr-notice--attack .fr-btn--close {
background-color: var(--background-action-high-error);
--idle: transparent;
--hover: var(--background-action-high-error-hover);
--active: var(--background-action-high-error-active);
}
.fr-notice--cyberattack {
background-color: var(--background-flat-grey);
--idle: transparent;
--hover: var(--background-flat-grey-hover);
--active: var(--background-flat-grey-active);
color: var(--text-inverted-grey);
background-image: linear-gradient(0deg, var(--border-plain-info), var(--border-plain-info));
}
.fr-notice--cyberattack .fr-btn--close {
background-color: var(--background-action-high-grey);
--idle: transparent;
--hover: var(--background-action-high-grey-hover);
--active: var(--background-action-high-grey-active);
}
@media (min-width: 36em) {
/*! media sm */
.fr-notice__title,
.fr-notice__desc {
display: inline;
}
}
@media (min-width: 48em) {
/*! media md */
.fr-notice__body {
padding: 0 3rem 0 0;
}
.fr-notice__title,
.fr-notice__desc,
.fr-notice__link {
font-size: 1rem;
line-height: 1.5rem;
}
}
@media (min-width: 62em) {
/*! media lg */
}
@media (min-width: 78em) {
/*! media xl */
}
@media (-ms-high-contrast: active), (forced-colors: active) {
.fr-notice {
outline: 1px solid;
}
.fr-notice__title::before {
forced-color-adjust: none;
background-color: canvastext;
}
.fr-notice .fr-btn--close::before {
forced-color-adjust: none;
background-color: buttontext;
}
.fr-notice--weather-red,
.fr-notice--weather-purple {
color: highlight;
}
.fr-notice--weather-red .fr-notice__title::before,
.fr-notice--weather-purple .fr-notice__title::before {
forced-color-adjust: none;
background-color: highlight;
}
.fr-notice--witness .fr-notice__title::before,
.fr-notice--kidnapping .fr-notice__title::before,
.fr-notice--attack .fr-notice__title::before,
.fr-notice--cyberattack .fr-notice__title::before {
forced-color-adjust: none;
background-color: highlight;
}
.fr-notice--witness,
.fr-notice--kidnapping,
.fr-notice--attack,
.fr-notice--cyberattack {
color: highlight;
}
}